-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathpolychart.latest.min.js
More file actions
536 lines (535 loc) · 263 KB
/
polychart.latest.min.js
File metadata and controls
536 lines (535 loc) · 263 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
/*
Copyright 2012 Beta Cubed. All rights reserved.
Polychart.js charting library.
This library uses the following projects.
JSON2.js
d3.js
underscore.js
underscore.string.js
raphael.js
*/
var gg=function(){function zf(a){for(var b=-1,c=a.length,d=[];++b<c;)d.push(a[b]);return d}function Tb(){}function Af(a,b,c){return function(){var d=c.apply(b,arguments);return arguments.length?a:d}}function Oc(a){return null!=a&&!isNaN(a)}function Bf(a){return a.length}function Cf(a){return null==a}function Td(){}function Df(a){function b(){for(var b=c,d=-1,g=b.length,k;++d<g;)(k=b[d].on)&&k.apply(this,arguments);return a}var c=[],d=new Tb;b.on=function(b,f){var g=d.get(b),k;if(2>arguments.length)return g&&
g.on;g&&(g.on=null,c=c.slice(0,k=c.indexOf(g)).concat(c.slice(k+1)),d.remove(b));f&&c.push(d.set(b,{on:f}));return a};return b}function Ud(a,b){return b-(a?1+Math.floor(Math.log(a+Math.pow(10,1+Math.floor(Math.log(a)/Math.LN10)-b))/Math.LN10):1)}function Ef(a){return a+""}function Vd(a){for(var b=a.lastIndexOf("."),c=0<=b?a.substring(b):(b=a.length,""),d=[];0<b;)d.push(a.substring(b-=3,b+3));return d.reverse().join(",")+c}function Wd(a){return function(b){return 1-a(1-b)}}function Xd(a){return function(b){return 0.5*
(0.5>b?a(2*b):2-a(2-2*b))}}function Pc(a){return a}function Qc(a){return function(b){return Math.pow(b,a)}}function Ff(a){return 1-Math.cos(a*Math.PI/2)}function Gf(a){return Math.pow(2,10*(a-1))}function Hf(a){return 1-Math.sqrt(1-a*a)}function If(a){return a<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+0.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+0.9375:7.5625*(a-=2.625/2.75)*a+0.984375}function Jf(a,b){b=b-(a=+a)?1/(b-a):0;return function(c){return(c-a)*b}}function Kf(a,b){b=b-(a=+a)?1/(b-a):0;
return function(c){return Math.max(0,Math.min(1,(c-a)*b))}}function ib(a,b,c){return new rb(a,b,c)}function rb(a,b,c){this.r=a;this.g=b;this.b=c}function Hb(a){return 16>a?"0"+Math.max(0,a).toString(16):Math.min(255,a).toString(16)}function Rc(a,b,c){var d=0,e=0,f=0,g,k;if(g=/([a-z]+)\((.*)\)/i.exec(a))switch(k=g[2].split(","),g[1]){case "hsl":return c(parseFloat(k[0]),parseFloat(k[1])/100,parseFloat(k[2])/100);case "rgb":return b(Sc(k[0]),Sc(k[1]),Sc(k[2]))}if(c=jc.get(a))return b(c.r,c.g,c.b);null!=
a&&"#"===a.charAt(0)&&(4===a.length?(d=a.charAt(1),d+=d,e=a.charAt(2),e+=e,f=a.charAt(3),f+=f):7===a.length&&(d=a.substring(1,3),e=a.substring(3,5),f=a.substring(5,7)),d=parseInt(d,16),e=parseInt(e,16),f=parseInt(f,16));return b(d,e,f)}function Yd(a,b,c){var d=Math.min(a/=255,b/=255,c/=255),e=Math.max(a,b,c),f=e-d,g=(e+d)/2;f?(d=0.5>g?f/(e+d):f/(2-e-d),a=60*(a==e?(b-c)/f+(b<c?6:0):b==e?(c-a)/f+2:(a-b)/f+4)):d=a=0;return Ib(a,d,g)}function Sc(a){var b=parseFloat(a);return"%"===a.charAt(a.length-1)?
Math.round(2.55*b):b}function Ib(a,b,c){return new sb(a,b,c)}function sb(a,b,c){this.h=a;this.s=b;this.l=c}function kc(a,b,c){function d(a){360<a?a-=360:0>a&&(a+=360);return 60>a?e+(f-e)*a/60:180>a?f:240>a?e+(f-e)*(240-a)/60:e}var e,f;a%=360;0>a&&(a+=360);b=0>b?0:1<b?1:b;c=0>c?0:1<c?1:c;f=0.5>=c?c*(1+b):c+b-c*b;e=2*c-f;return ib(Math.round(255*d(a+120)),Math.round(255*d(a)),Math.round(255*d(a-120)))}function Lf(a){return la(a,Mf).join(",")}function Mf(a){return/[",\n]/.test(a)?'"'+a.replace(/\"/g,
'""')+'"':a}function Tc(a){var b=a[0];a=a[a.length-1];return b<a?[b,a]:[a,b]}function Uc(a,b){var c=0,d=a.length-1,e=a[c],f=a[d],g;f<e&&(g=c,c=d,d=g,g=e,e=f,f=g);if(g=f-e)b=b(g),a[c]=b.floor(e),a[d]=b.ceil(f);return a}function Nf(){return Math}function Zd(a,b,c,d){function e(){var e=2<Math.min(a.length,b.length)?Of:Pf,F=d?Kf:Jf;g=e(a,b,F,c);k=e(b,a,F,j.interpolate);return f}function f(a){return g(a)}var g,k;f.invert=function(a){return k(a)};f.domain=function(b){if(!arguments.length)return a;a=la(b,
Number);return e()};f.range=function(a){if(!arguments.length)return b;b=a;return e()};f.rangeRound=function(a){return f.range(a).interpolate(j.interpolateRound)};f.clamp=function(a){if(!arguments.length)return d;d=a;return e()};f.interpolate=function(a){if(!arguments.length)return c;c=a;return e()};f.ticks=function(b){return Vc(a,b)};f.tickFormat=function(b){return Wc(a,b)};f.nice=function(){Uc(a,$d);return e()};f.copy=function(){return Zd(a,b,c,d)};return e()}function ae(a,b){return j.rebind(a,b,
"range","rangeRound","interpolate","clamp")}function $d(a){a=Math.pow(10,Math.round(Math.log(a)/Math.LN10)-1);return{floor:function(b){return Math.floor(b/a)*a},ceil:function(b){return Math.ceil(b/a)*a}}}function be(a,b){var c=Tc(a),d=c[1]-c[0],e=Math.pow(10,Math.floor(Math.log(d/b)/Math.LN10)),d=b/d*e;0.15>=d?e*=10:0.35>=d?e*=5:0.75>=d&&(e*=2);c[0]=Math.ceil(c[0]/e)*e;c[1]=Math.floor(c[1]/e)*e+0.5*e;c[2]=e;return c}function Vc(a,b){return j.range.apply(j,be(a,b))}function Wc(a,b){return j.format(",."+
Math.max(0,-Math.floor(Math.log(be(a,b)[2])/Math.LN10+0.01))+"f")}function Pf(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 Of(a,b,c,d){var e=[],f=[],g=0,k=Math.min(a.length,b.length)-1;a[k]<a[0]&&(a=a.slice().reverse(),b=b.slice().reverse());for(;++g<=k;)e.push(c(a[g-1],a[g])),f.push(d(b[g-1],b[g]));return function(b){var c=j.bisect(a,b,1,k)-1;return f[c](e[c](b))}}function ce(a,b){function c(c){return a(b(c))}var d=b.pow;c.invert=function(b){return d(a.invert(b))};
c.domain=function(e){if(!arguments.length)return la(a.domain(),d);b=0>e[0]?lc:Xc;d=b.pow;a.domain(la(e,b));return c};c.nice=function(){a.domain(Uc(a.domain(),Nf));return c};c.ticks=function(){var c=Tc(a.domain()),f=[];if(c.every(isFinite)){var g=Math.floor(c[0]),k=Math.ceil(c[1]),p=d(c[0]),c=d(c[1]);if(b===lc)for(f.push(d(g));g++<k;)for(var F=9;0<F;F--)f.push(d(g)*F);else{for(;g<k;g++)for(F=1;10>F;F++)f.push(d(g)*F);f.push(d(g))}for(g=0;f[g]<p;g++);for(k=f.length;f[k-1]>c;k--);f=f.slice(g,k)}return f};
c.tickFormat=function(a,f){2>arguments.length&&(f=Qf);if(1>arguments.length)return f;var g=a/c.ticks().length,k=b===lc?(p=-1E-12,Math.floor):(p=1E-12,Math.ceil),p;return function(a){return a/d(k(b(a)+p))<g?f(a):""}};c.copy=function(){return ce(a.copy(),b)};return ae(c,a)}function Xc(a){return Math.log(0>a?0:a)/Math.LN10}function lc(a){return-Math.log(0<a?0:-a)/Math.LN10}function de(a,b){function c(b){return a(d(b))}var d=mc(b),e=mc(1/b);c.invert=function(b){return e(a.invert(b))};c.domain=function(b){if(!arguments.length)return la(a.domain(),
e);a.domain(la(b,d));return c};c.ticks=function(a){return Vc(c.domain(),a)};c.tickFormat=function(a){return Wc(c.domain(),a)};c.nice=function(){return c.domain(Uc(c.domain(),$d))};c.exponent=function(a){if(!arguments.length)return b;var g=c.domain();d=mc(b=a);e=mc(1/b);return c.domain(g)};c.copy=function(){return de(a.copy(),b)};return ae(c,a)}function mc(a){return function(b){return 0>b?-Math.pow(-b,a):Math.pow(b,a)}}function ee(a,b){function c(b){return f[((e.get(b)||e.set(b,a.push(b)))-1)%f.length]}
function d(b,c){return la(j.range(a.length),function(a){return b+c*a})}var e,f,g;c.domain=function(d){if(!arguments.length)return a;a=[];e=new Tb;for(var f=-1,g=d.length,h;++f<g;)e.has(h=d[f])||e.set(h,a.push(h));return c[b.t](b.x,b.p)};c.range=function(a){if(!arguments.length)return f;f=a;g=0;b={t:"range",x:a};return c};c.rangePoints=function(e,p){2>arguments.length&&(p=0);var F=e[0],h=e[1],n=(h-F)/(a.length-1+p);f=d(2>a.length?(F+h)/2:F+n*p/2,n);g=0;b={t:"rangePoints",x:e,p:p};return c};c.rangeBands=
function(e,p){2>arguments.length&&(p=0);var F=e[1]<e[0],h=e[F-0],n=(e[1-F]-h)/(a.length+p);f=d(h+n*p,n);F&&f.reverse();g=n*(1-p);b={t:"rangeBands",x:e,p:p};return c};c.rangeRoundBands=function(e,p){2>arguments.length&&(p=0);var F=e[1]<e[0],h=e[F-0],n=e[1-F],j=Math.floor((n-h)/(a.length+p));f=d(h+Math.round((n-h-(a.length-p)*j)/2),j);F&&f.reverse();g=Math.round(j*(1-p));b={t:"rangeRoundBands",x:e,p:p};return c};c.rangeBand=function(){return g};c.rangeExtent=function(){return Tc(b.x)};c.copy=function(){return ee(a,
b)};return c.domain(a)}function fe(a,b){function c(){var c=0,g=b.length;for(e=[];++c<g;)e[c-1]=j.quantile(a,c/g);return d}function d(a){return isNaN(a=+a)?NaN:b[j.bisect(e,a)]}var e;d.domain=function(b){if(!arguments.length)return a;a=b.filter(function(a){return!isNaN(a)}).sort(j.ascending);return c()};d.range=function(a){if(!arguments.length)return b;b=a;return c()};d.quantiles=function(){return e};d.copy=function(){return fe(a,b)};return c()}function ge(a,b,c){function d(b){return c[Math.max(0,
Math.min(g,Math.floor(f*(b-a))))]}function e(){f=c.length/(b-a);g=c.length-1;return d}var f,g;d.domain=function(c){if(!arguments.length)return[a,b];a=+c[0];b=+c[c.length-1];return e()};d.range=function(a){if(!arguments.length)return c;c=a;return e()};d.copy=function(){return ge(a,b,c)};return e()}function he(a){function b(a){return+a}b.invert=b;b.domain=b.range=function(c){if(!arguments.length)return a;a=la(c,b);return b};b.ticks=function(b){return Vc(a,b)};b.tickFormat=function(b){return Wc(a,b)};
b.copy=function(){return he(a)};return b}function tb(){this._=new Date(1<arguments.length?Date.UTC.apply(this,arguments):arguments[0])}function nc(a,b,c,d){for(var e,f=0,g=b.length,k=c.length;f<g;){if(d>=k)return-1;e=b.charCodeAt(f++);if(37==e){if(e=Rf[b.charAt(f++)],!e||0>(d=e(a,c,d)))return-1}else if(e!=c.charCodeAt(d++))return-1}return d}function ie(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+2)))?(a.d=+b[0],c+b[0].length):-1}function je(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,
c+2)))?(a.H=+b[0],c+b[0].length):-1}function Yc(a){return a.toISOString()}function ub(a,b,c){function d(b){var c=a(b),d=f(c,1);return b-c<d-b?c:d}function e(c){b(c=a(new fa(c-1)),1);return c}function f(a,c){b(a=new fa(+a),c);return a}function g(a,d,f){a=e(a);var g=[];if(1<f)for(;a<d;)c(a)%f||g.push(new Date(+a)),b(a,1);else for(;a<d;)g.push(new Date(+a)),b(a,1);return g}a.floor=a;a.round=d;a.ceil=e;a.offset=f;a.range=g;var k=a.utc=oc(a);k.floor=k;k.round=oc(d);k.ceil=oc(e);k.offset=oc(f);k.range=
function(a,b,c){try{fa=tb;var d=new tb;d._=a;return g(d,b,c)}finally{fa=Date}};return a}function oc(a){return function(b,c){try{fa=tb;var d=new tb;d._=b;return a(d,c)._}finally{fa=Date}}}function Zc(a,b,c){function d(b){return a(b)}d.invert=function(b){return $c(a.invert(b))};d.domain=function(b){if(!arguments.length)return la(a.domain(),$c);a.domain(b);return d};d.nice=function(a){var b=ke(d.domain());return d.domain([a.floor(b[0]),a.ceil(b[1])])};d.ticks=function(c,f){var g=ke(d.domain());if("function"!==
typeof c){var k=(g[1]-g[0])/c,p=j.bisect(pc,k);if(p==pc.length)return b.year(g,c);if(!p)return la(a.ticks(c),$c);Math.log(k/pc[p-1])<Math.log(pc[p]/k)&&--p;c=b[p];f=c[1];c=c[0].range}return c(g[0],new Date(+g[1]+1),f)};d.tickFormat=function(){return c};d.copy=function(){return Zc(a.copy(),b,c)};return j.rebind(d,a,"range","rangeRound","interpolate","clamp")}function ke(a){var b=a[0];a=a[a.length-1];return b<a?[b,a]:[a,b]}function $c(a){return new Date(a)}function le(a){return function(b){for(var c=
a.length-1,d=a[c];!d[1](b);)d=a[--c];return d[0](b)}}function ad(a){var b=new Date(a,0,1);b.setFullYear(a);return b}function Sf(a){var b=a.getFullYear(),c=ad(b),d=ad(b+1);return b+(a-c)/(d-c)}function bd(a){var b=new Date(Date.UTC(a,0,1));b.setUTCFullYear(a);return b}function Tf(a){var b=a.getUTCFullYear(),c=bd(b),d=bd(b+1);return b+(a-c)/(d-c)}(function(){function a(b,c,d){if(b===c)return 0!==b||1/b==1/c;if(null==b||null==c)return b===c;b._chain&&(b=b._wrapped);c._chain&&(c=c._wrapped);if(b.isEqual&&
s.isFunction(b.isEqual))return b.isEqual(c);if(c.isEqual&&s.isFunction(c.isEqual))return c.isEqual(b);var e=p.call(b);if(e!=p.call(c))return!1;switch(e){case "[object String]":return b==String(c);case "[object Number]":return b!=+b?c!=+c:0==b?1/b==1/c:b==+c;case "[object Date]":case "[object Boolean]":return+b==+c;case "[object RegExp]":return b.source==c.source&&b.global==c.global&&b.multiline==c.multiline&&b.ignoreCase==c.ignoreCase}if("object"!=typeof b||"object"!=typeof c)return!1;for(var f=d.length;f--;)if(d[f]==
b)return!0;d.push(b);var f=0,g=!0;if("[object Array]"==e){if(f=b.length,g=f==c.length)for(;f--&&(g=f in b==f in c&&a(b[f],c[f],d)););}else{if("constructor"in b!="constructor"in c||b.constructor!=c.constructor)return!1;for(var k in b)if(s.has(b,k)&&(f++,!(g=s.has(c,k)&&a(b[k],c[k],d))))break;if(g){for(k in c)if(s.has(c,k)&&!f--)break;g=!f}}d.pop();return g}var b=this,c=b._,d={},e=Array.prototype,f=Object.prototype,g=e.slice,k=e.unshift,p=f.toString,F=f.hasOwnProperty,h=e.forEach,n=e.map,j=e.reduce,
r=e.reduceRight,l=e.filter,m=e.every,H=e.some,y=e.indexOf,z=e.lastIndexOf,f=Array.isArray,q=Object.keys,v=Function.prototype.bind,s=function(a){return new I(a)};"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(exports=module.exports=s),exports._=s):b._=s;s.VERSION="1.3.1";var t=s.each=s.forEach=function(a,b,c){if(null!=a)if(h&&a.forEach===h)a.forEach(b,c);else if(a.length===+a.length)for(var e=0,f=a.length;e<f&&!(e in a&&b.call(c,a[e],e,a)===d);e++);else for(e in a)if(s.has(a,
e)&&b.call(c,a[e],e,a)===d)break};s.map=s.collect=function(a,b,c){var d=[];if(null==a)return d;if(n&&a.map===n)return a.map(b,c);t(a,function(a,e,f){d[d.length]=b.call(c,a,e,f)});a.length===+a.length&&(d.length=a.length);return d};s.reduce=s.foldl=s.inject=function(a,b,c,d){var e=2<arguments.length;null==a&&(a=[]);if(j&&a.reduce===j)return d&&(b=s.bind(b,d)),e?a.reduce(b,c):a.reduce(b);t(a,function(a,f,g){e?c=b.call(d,c,a,f,g):(c=a,e=!0)});if(!e)throw new TypeError("Reduce of empty array with no initial value");
return c};s.reduceRight=s.foldr=function(a,b,c,d){var e=2<arguments.length;null==a&&(a=[]);if(r&&a.reduceRight===r)return d&&(b=s.bind(b,d)),e?a.reduceRight(b,c):a.reduceRight(b);var f=s.toArray(a).reverse();d&&!e&&(b=s.bind(b,d));return e?s.reduce(f,b,c,d):s.reduce(f,b)};s.find=s.detect=function(a,b,c){var d;w(a,function(a,e,f){if(b.call(c,a,e,f))return d=a,!0});return d};s.filter=s.select=function(a,b,c){var d=[];if(null==a)return d;if(l&&a.filter===l)return a.filter(b,c);t(a,function(a,e,f){b.call(c,
a,e,f)&&(d[d.length]=a)});return d};s.reject=function(a,b,c){var d=[];if(null==a)return d;t(a,function(a,e,f){b.call(c,a,e,f)||(d[d.length]=a)});return d};s.every=s.all=function(a,b,c){var e=!0;if(null==a)return e;if(m&&a.every===m)return a.every(b,c);t(a,function(a,f,g){if(!(e=e&&b.call(c,a,f,g)))return d});return!!e};var w=s.some=s.any=function(a,b,c){b||(b=s.identity);var e=!1;if(null==a)return e;if(H&&a.some===H)return a.some(b,c);t(a,function(a,f,g){if(e||(e=b.call(c,a,f,g)))return d});return!!e};
s.include=s.contains=function(a,b){var c=!1;return null==a?c:y&&a.indexOf===y?-1!=a.indexOf(b):c=w(a,function(a){return a===b})};s.invoke=function(a,b){var c=g.call(arguments,2);return s.map(a,function(a){return(s.isFunction(b)?b||a:a[b]).apply(a,c)})};s.pluck=function(a,b){return s.map(a,function(a){return a[b]})};s.max=function(a,b,c){if(!b&&s.isArray(a)&&a[0]===+a[0])return Math.max.apply(Math,a);if(!b&&s.isEmpty(a))return-Infinity;var d={computed:-Infinity};t(a,function(a,e,f){e=b?b.call(c,a,
e,f):a;e>=d.computed&&(d={value:a,computed:e})});return d.value};s.min=function(a,b,c){if(!b&&s.isArray(a)&&a[0]===+a[0])return Math.min.apply(Math,a);if(!b&&s.isEmpty(a))return Infinity;var d={computed:Infinity};t(a,function(a,e,f){e=b?b.call(c,a,e,f):a;e<d.computed&&(d={value:a,computed:e})});return d.value};s.shuffle=function(a){var b=[],c;t(a,function(a,d){0==d?b[0]=a:(c=Math.floor(Math.random()*(d+1)),b[d]=b[c],b[c]=a)});return b};s.sortBy=function(a,b,c){return s.pluck(s.map(a,function(a,d,
e){return{value:a,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};s.groupBy=function(a,b){var c={},d=s.isFunction(b)?b:function(a){return a[b]};t(a,function(a,b){var e=d(a,b);(c[e]||(c[e]=[])).push(a)});return c};s.sortedIndex=function(a,b,c){c||(c=s.identity);for(var d=0,e=a.length;d<e;){var f=d+e>>1;c(a[f])<c(b)?d=f+1:e=f}return d};s.toArray=function(a){return!a?[]:a.toArray?a.toArray():s.isArray(a)||s.isArguments(a)?g.call(a):s.values(a)};
s.size=function(a){return s.isArray(a)?a.length:s.keys(a).length};s.first=s.head=function(a,b,c){return null!=b&&!c?g.call(a,0,b):a[0]};s.initial=function(a,b,c){return g.call(a,0,a.length-(null==b||c?1:b))};s.last=function(a,b,c){return null!=b&&!c?g.call(a,Math.max(a.length-b,0)):a[a.length-1]};s.rest=s.tail=function(a,b,c){return g.call(a,null==b||c?1:b)};s.compact=function(a){return s.filter(a,function(a){return!!a})};s.flatten=function(a,b){return s.reduce(a,function(a,c){if(s.isArray(c))return a.concat(b?
c:s.flatten(c));a[a.length]=c;return a},[])};s.without=function(a){return s.difference(a,g.call(arguments,1))};s.uniq=s.unique=function(a,b,c){c=c?s.map(a,c):a;var d=[];3>a.length&&(b=!0);s.reduce(c,function(c,e,f){if(b?s.last(c)!==e||!c.length:!s.include(c,e))c.push(e),d.push(a[f]);return c},[]);return d};s.union=function(){return s.uniq(s.flatten(arguments,!0))};s.intersection=s.intersect=function(a){var b=g.call(arguments,1);return s.filter(s.uniq(a),function(a){return s.every(b,function(b){return 0<=
s.indexOf(b,a)})})};s.difference=function(a){var b=s.flatten(g.call(arguments,1),!0);return s.filter(a,function(a){return!s.include(b,a)})};s.zip=function(){for(var a=g.call(arguments),b=s.max(s.pluck(a,"length")),c=Array(b),d=0;d<b;d++)c[d]=s.pluck(a,""+d);return c};s.indexOf=function(a,b,c){if(null==a)return-1;var d;if(c)return c=s.sortedIndex(a,b),a[c]===b?c:-1;if(y&&a.indexOf===y)return a.indexOf(b);c=0;for(d=a.length;c<d;c++)if(c in a&&a[c]===b)return c;return-1};s.lastIndexOf=function(a,b){if(null==
a)return-1;if(z&&a.lastIndexOf===z)return a.lastIndexOf(b);for(var c=a.length;c--;)if(c in a&&a[c]===b)return c;return-1};s.range=function(a,b,c){1>=arguments.length&&(b=a||0,a=0);c=arguments[2]||1;for(var d=Math.max(Math.ceil((b-a)/c),0),e=0,f=Array(d);e<d;)f[e++]=a,a+=c;return f};var A=function(){};s.bind=function(a,b){var c,d;if(a.bind===v&&v)return v.apply(a,g.call(arguments,1));if(!s.isFunction(a))throw new TypeError;d=g.call(arguments,2);return c=function(){if(!(this instanceof c))return a.apply(b,
d.concat(g.call(arguments)));A.prototype=a.prototype;var e=new A,f=a.apply(e,d.concat(g.call(arguments)));return Object(f)===f?f:e}};s.bindAll=function(a){var b=g.call(arguments,1);0==b.length&&(b=s.functions(a));t(b,function(b){a[b]=s.bind(a[b],a)});return a};s.memoize=function(a,b){var c={};b||(b=s.identity);return function(){var d=b.apply(this,arguments);return s.has(c,d)?c[d]:c[d]=a.apply(this,arguments)}};s.delay=function(a,b){var c=g.call(arguments,2);return setTimeout(function(){return a.apply(a,
c)},b)};s.defer=function(a){return s.delay.apply(s,[a,1].concat(g.call(arguments,1)))};s.throttle=function(a,b){var c,d,e,f,g,k=s.debounce(function(){g=f=!1},b);return function(){c=this;d=arguments;e||(e=setTimeout(function(){e=null;g&&a.apply(c,d);k()},b));f?g=!0:a.apply(c,d);k();f=!0}};s.debounce=function(a,b,c){var d;return function(){var e=this,f=arguments;c&&!d&&a.apply(e,f);clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(e,f)},b)}};s.once=function(a){var b=!1,c;return function(){if(b)return c;
b=!0;return c=a.apply(this,arguments)}};s.wrap=function(a,b){return function(){var c=[a].concat(g.call(arguments,0));return b.apply(this,c)}};s.compose=function(){var a=arguments;return function(){for(var b=arguments,c=a.length-1;0<=c;c--)b=[a[c].apply(this,b)];return b[0]}};s.after=function(a,b){return 0>=a?b():function(){if(1>--a)return b.apply(this,arguments)}};s.keys=q||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var b=[],c;for(c in a)s.has(a,c)&&(b[b.length]=c);return b};
s.values=function(a){return s.map(a,s.identity)};s.functions=s.methods=function(a){var b=[],c;for(c in a)s.isFunction(a[c])&&b.push(c);return b.sort()};s.extend=function(a){t(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]});return a};s.defaults=function(a){t(g.call(arguments,1),function(b){for(var c in b)null==a[c]&&(a[c]=b[c])});return a};s.clone=function(a){return!s.isObject(a)?a:s.isArray(a)?a.slice():s.extend({},a)};s.tap=function(a,b){b(a);return a};s.isEqual=function(b,c){return a(b,
c,[])};s.isEmpty=function(a){if(null==a)return!0;if(s.isArray(a)||s.isString(a))return 0===a.length;for(var b in a)if(s.has(a,b))return!1;return!0};s.isElement=function(a){return!!(a&&1==a.nodeType)};s.isArray=f||function(a){return"[object Array]"==p.call(a)};s.isObject=function(a){return a===Object(a)};s.isArguments=function(a){return"[object Arguments]"==p.call(a)};s.isArguments(arguments)||(s.isArguments=function(a){return!(!a||!s.has(a,"callee"))});s.isFunction=function(a){return"[object Function]"==
p.call(a)};s.isString=function(a){return"[object String]"==p.call(a)};s.isNumber=function(a){return"[object Number]"==p.call(a)};s.isNaN=function(a){return a!==a};s.isBoolean=function(a){return!0===a||!1===a||"[object Boolean]"==p.call(a)};s.isDate=function(a){return"[object Date]"==p.call(a)};s.isRegExp=function(a){return"[object RegExp]"==p.call(a)};s.isNull=function(a){return null===a};s.isUndefined=function(a){return void 0===a};s.has=function(a,b){return F.call(a,b)};s.noConflict=function(){b._=
c;return this};s.identity=function(a){return a};s.times=function(a,b,c){for(var d=0;d<a;d++)b.call(c,d)};s.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};s.result=function(a,b){if(null==a)return null;var c=a[b];return s.isFunction(c)?c.call(a):c};s.mixin=function(a){t(s.functions(a),function(b){var c=s[b]=a[b];I.prototype[b]=function(){var a=g.call(arguments);k.call(a,this._wrapped);
return Y(c.apply(s,a),this._chain)}})};var C=0;s.uniqueId=function(a){var b=C++;return a?a+b:b};s.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var E=/.^/,B={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},D;for(D in B)B[B[D]]=D;var G=/\\|'|\r|\n|\t|\u2028|\u2029/g,K=/\\(\\|'|r|n|t|u2028|u2029)/g,J=function(a){return a.replace(K,function(a,b){return B[b]})};s.template=function(a,b){var c=s.templateSettings,c="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+
a.replace(G,function(a){return"\\"+B[a]}).replace(c.escape||E,function(a,b){return"',\n_.escape("+J(b)+"),\n'"}).replace(c.interpolate||E,function(a,b){return"',\n"+J(b)+",\n'"}).replace(c.evaluate||E,function(a,b){return"');\n"+J(b)+"\n;__p.push('"})+"');\n}\nreturn __p.join('');",d=new Function("obj","_",c);if(b)return d(b,s);var e=function(a){return d.call(this,a,s)};e.source="function(obj){\n"+c+"\n}";return e};s.chain=function(a){return s(a).chain()};var I=function(a){this._wrapped=a};s.prototype=
I.prototype;var Y=function(a,b){return b?s(a).chain():a};s.mixin(s);t("pop push reverse shift sort splice unshift".split(" "),function(a){var b=e[a];I.prototype[a]=function(){var c=this._wrapped;b.apply(c,arguments);var d=c.length;("shift"==a||"splice"==a)&&0===d&&delete c[0];return Y(c,this._chain)}});t(["concat","join","slice"],function(a){var b=e[a];I.prototype[a]=function(){return Y(b.apply(this._wrapped,arguments),this._chain)}});I.prototype.chain=function(){this._chain=!0;return this};I.prototype.value=
function(){return this._wrapped}}).call(this);var me=String.prototype.trim,ne=String.prototype.trimRight,oe=String.prototype.trimLeft,Jb=function(a,b,c){a+="";b=~~b;for(var d=[];0<b;d[--b]=a);return d.join(null==c?"":c)},qc=function(a){return null!=a?"["+K.escapeRegExp(""+a)+"]":"\\s"},rc={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},pe={},dd;for(dd in rc)pe[rc[dd]]=dd;var Ub,ed=function(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()},Ya=function(){Ya.cache.hasOwnProperty(arguments[0])||
(Ya.cache[arguments[0]]=Ya.parse(arguments[0]));return Ya.format.call(null,Ya.cache[arguments[0]],arguments)};Ya.format=function(a,b){var c=1,d=a.length,e="",f=[],g,k,p,F;for(g=0;g<d;g++)if(e=ed(a[g]),"string"===e)f.push(a[g]);else if("array"===e){p=a[g];if(p[2]){e=b[c];for(k=0;k<p[2].length;k++){if(!e.hasOwnProperty(p[2][k]))throw Error(Ub('[_.sprintf] property "%s" does not exist',p[2][k]));e=e[p[2][k]]}}else e=p[1]?b[p[1]]:b[c++];if(/[^s]/.test(p[8])&&"number"!=ed(e))throw Error(Ub("[_.sprintf] expecting number but found %s",
ed(e)));switch(p[8]){case "b":e=e.toString(2);break;case "c":e=String.fromCharCode(e);break;case "d":e=parseInt(e,10);break;case "e":e=p[7]?e.toExponential(p[7]):e.toExponential();break;case "f":e=p[7]?parseFloat(e).toFixed(p[7]):parseFloat(e);break;case "o":e=e.toString(8);break;case "s":e=(e=String(e))&&p[7]?e.substring(0,p[7]):e;break;case "u":e=Math.abs(e);break;case "x":e=e.toString(16);break;case "X":e=e.toString(16).toUpperCase()}e=/[def]/.test(p[8])&&p[3]&&0<=e?"+"+e:e;k=p[4]?"0"==p[4]?"0":
p[4].charAt(1):" ";F=p[6]-String(e).length;k=p[6]?Jb(k,F):"";f.push(p[5]?e+k:k+e)}return f.join("")};Ya.cache={};Ya.parse=function(a){for(var b=[],c=[],d=0;a;){if(null!==(b=/^[^\x25]+/.exec(a)))c.push(b[0]);else if(null!==(b=/^\x25{2}/.exec(a)))c.push("%");else if(null!==(b=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(a))){if(b[2]){var d=d|1,e=[],f=b[2],g=[];if(null!==(g=/^([a-z_][a-z_\d]*)/i.exec(f)))for(e.push(g[1]);""!==(f=f.substring(g[0].length));)if(null!==
(g=/^\.([a-z_][a-z_\d]*)/i.exec(f)))e.push(g[1]);else if(null!==(g=/^\[(\d+)\]/.exec(f)))e.push(g[1]);else throw Error("[_.sprintf] huh?");else throw Error("[_.sprintf] huh?");b[2]=e}else d|=2;if(3===d)throw Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");c.push(b)}else throw Error("[_.sprintf] huh?");a=a.substring(b[0].length)}return c};Ub=Ya;var K={VERSION:"2.2.0rc",isBlank:function(a){return/^\s*$/.test(a)},stripTags:function(a){return(""+a).replace(/<\/?[^>]+>/g,
"")},capitalize:function(a){a+="";return a.charAt(0).toUpperCase()+a.substring(1)},chop:function(a,b){a+="";b=~~b||a.length;for(var c=[],d=0;d<a.length;d+=b)c.push(a.slice(d,d+b));return c},clean:function(a){return K.strip(a).replace(/\s+/g," ")},count:function(a,b){return(a+"").split(b+"").length-1},chars:function(a){return(""+a).split("")},escapeHTML:function(a){return(""+a).replace(/[&<>"']/g,function(a){return"&"+pe[a]+";"})},unescapeHTML:function(a){return(""+a).replace(/\&([^;]+);/g,function(a,
c){var d;return c in rc?rc[c]:(d=c.match(/^#x([\da-fA-F]+)$/))?String.fromCharCode(parseInt(d[1],16)):(d=c.match(/^#(\d+)$/))?String.fromCharCode(~~d[1]):a})},escapeRegExp:function(a){return a.replace(/([-.*+?^${}()|[\]\/\\])/g,"\\$1")},insert:function(a,b,c){a=K.chars(a);a.splice(~~b,0,""+c);return a.join("")},include:function(a,b){return!!~(""+a).indexOf(b)},join:function(){var a=Array.prototype.slice.call(arguments);return a.join(a.shift())},lines:function(a){return(""+a).split("\n")},reverse:function(a){return K.chars(a).reverse().join("")},
splice:function(a,b,c,d){a=K.chars(a);a.splice(~~b,~~c,d);return a.join("")},startsWith:function(a,b){a+="";b+="";return a.length>=b.length&&a.substring(0,b.length)===b},endsWith:function(a,b){a+="";b+="";return a.length>=b.length&&a.substring(a.length-b.length)===b},succ:function(a){a+="";var b=K.chars(a);b.splice(a.length-1,1,String.fromCharCode(a.charCodeAt(a.length-1)+1));return b.join("")},titleize:function(a){return(""+a).replace(/\b./g,function(a){return a.toUpperCase()})},camelize:function(a){return K.trim(a).replace(/[-_\s]+(.)?/g,
function(a,c){return c&&c.toUpperCase()})},underscored:function(a){return K.trim(a).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(a){return K.trim(a).replace(/[_\s]+/g,"-").replace(/([A-Z])/g,"-$1").replace(/-+/g,"-").toLowerCase()},classify:function(a){return K.titleize((a+"").replace(/_/g," ")).replace(/\s/g,"")},humanize:function(a){return K.capitalize(this.underscored(a).replace(/_id$/,"").replace(/_/g," "))},trim:function(a,b){a+="";if(!b&&me)return me.call(a);
b=qc(b);return a.replace(RegExp("^"+b+"+|"+b+"+$","g"),"")},ltrim:function(a,b){a+="";if(!b&&oe)return oe.call(a);b=qc(b);return a.replace(RegExp("^"+b+"+"),"")},rtrim:function(a,b){a+="";if(!b&&ne)return ne.call(a);b=qc(b);return a.replace(RegExp(b+"+$"),"")},truncate:function(a,b,c){a+="";b=~~b;return a.length>b?a.slice(0,b)+(c||"..."):a},prune:function(a,b,c){a+="";b=~~b;c=null!=c?""+c:"...";var d,e=a.replace(/\W/g,function(a){return a.toUpperCase()!==a.toLowerCase()?"A":" "});d=e.charAt(b);b=
e.slice(0,b);d&&d.match(/\S/)&&(b=b.replace(/\s\S+$/,""));b=K.rtrim(b);return(b+c).length>a.length?a:a.substring(0,b.length)+c},words:function(a,b){return K.trim(a,b).split(b||/\s+/)},pad:function(a,b,c,d){a+="";var e=0;b=~~b;c?1<c.length&&(c=c.charAt(0)):c=" ";switch(d){case "right":return e=b-a.length,a+Jb(c,e);case "both":return e=b-a.length,Jb(c,Math.ceil(e/2))+a+Jb(c,Math.floor(e/2));default:return e=b-a.length,Jb(c,e)+a}},lpad:function(a,b,c){return K.pad(a,b,c)},rpad:function(a,b,c){return K.pad(a,
b,c,"right")},lrpad:function(a,b,c){return K.pad(a,b,c,"both")},sprintf:Ub,vsprintf:function(a,b){b.unshift(a);return Ub.apply(null,b)},toNumber:function(a,b){a+="";var c;c=1*(1*a||0).toFixed(~~b)||0;return 0===c&&!a.match(/^0+$/)?Number.NaN:c},strRight:function(a,b){a+="";b=null!=b?""+b:b;var c=!b?-1:a.indexOf(b);return~c?a.slice(c+b.length,a.length):a},strRightBack:function(a,b){a+="";b=null!=b?""+b:b;var c=!b?-1:a.lastIndexOf(b);return~c?a.slice(c+b.length,a.length):a},strLeft:function(a,b){a+=
"";b=null!=b?""+b:b;var c=!b?-1:a.indexOf(b);return~c?a.slice(0,c):a},strLeftBack:function(a,b){a+="";var c=a.lastIndexOf(null!=b?""+b:b);return~c?a.slice(0,c):a},toSentence:function(a,b,c){b||(b=", ");c||(c=" and ");for(var d=a.length,e="",f=0;f<d;f++)e+=a[f],f===d-2?e+=c:f<d-1&&(e+=b);return e},slugify:function(a){var b=RegExp(qc("\u0105\u00e0\u00e1\u00e4\u00e2\u00e3\u0107\u0119\u00e8\u00e9\u00eb\u00ea\u00ec\u00ed\u00ef\u00ee\u0142\u0144\u00f2\u00f3\u00f6\u00f4\u00f5\u00f9\u00fa\u00fc\u00fb\u00f1\u00e7\u017c\u017a"),
"g");a=(""+a).toLowerCase();a=a.replace(b,function(a){a="\u0105\u00e0\u00e1\u00e4\u00e2\u00e3\u0107\u0119\u00e8\u00e9\u00eb\u00ea\u00ec\u00ed\u00ef\u00ee\u0142\u0144\u00f2\u00f3\u00f6\u00f4\u00f5\u00f9\u00fa\u00fc\u00fb\u00f1\u00e7\u017c\u017a".indexOf(a);return"aaaaaaceeeeeiiiilnooooouuuunczz".charAt(a)||"-"});return K.trim(a.replace(/[^\w\s-]/g,"").replace(/[-\s]+/g,"-"),"-")},exports:function(){var a={},b;for(b in this)this.hasOwnProperty(b)&&!~["include","contains","reverse"].indexOf(b)&&(a[b]=
this[b]);return a},repeat:Jb};K.strip=K.trim;K.lstrip=K.ltrim;K.rstrip=K.rtrim;K.center=K.lrpad;K.rjust=K.lpad;K.ljust=K.rpad;K.contains=K.include;"undefined"!==typeof exports?("undefined"!==typeof module&&module.exports&&(module.exports=K),exports._s=K):"function"===typeof define&&define.amd?define("underscore.string",function(){return K}):(this._=this._||{},this._.string=this._.str=K);!0;var h=window._,fd=/[\.\/]/,Uf=function(){},Vf=function(a,b){return a-b},Vb,Za,gd={n:{}},ra=function(a,b){var c=
Za,d=Array.prototype.slice.call(arguments,2),e=ra.listeners(a),f=0,g,k=[],p={},F=[],h=Vb;Vb=a;for(var n=Za=0,j=e.length;n<j;n++)"zIndex"in e[n]&&(k.push(e[n].zIndex),0>e[n].zIndex&&(p[e[n].zIndex]=e[n]));for(k.sort(Vf);0>k[f];)if(g=p[k[f++]],F.push(g.apply(b,d)),Za)return Za=c,F;for(n=0;n<j;n++)if(g=e[n],"zIndex"in g)if(g.zIndex==k[f]){F.push(g.apply(b,d));if(Za)break;do if(f++,(g=p[k[f]])&&F.push(g.apply(b,d)),Za)break;while(g)}else p[g.zIndex]=g;else if(F.push(g.apply(b,d)),Za)break;Za=c;Vb=h;return F.length?
F:null};ra.listeners=function(a){a=a.split(fd);var b=gd,c,d,e,f,g,k,p,F=[b],h=[];e=0;for(f=a.length;e<f;e++){p=[];g=0;for(k=F.length;g<k;g++){b=F[g].n;c=[b[a[e]],b["*"]];for(d=2;d--;)if(b=c[d])p.push(b),h=h.concat(b.f||[])}F=p}return h};ra.on=function(a,b){for(var c=a.split(fd),d=gd,e=0,f=c.length;e<f;e++)d=d.n,!d[c[e]]&&(d[c[e]]={n:{}}),d=d[c[e]];d.f=d.f||[];e=0;for(f=d.f.length;e<f;e++)if(d.f[e]==b)return Uf;d.f.push(b);return function(a){+a==+a&&(b.zIndex=+a)}};ra.stop=function(){Za=1};ra.nt=function(a){return a?
RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)").test(Vb):Vb};ra.off=ra.unbind=function(a,b){var c=a.split(fd),d,e,f,g,k,p,F=[gd];g=0;for(k=c.length;g<k;g++)for(p=0;p<F.length;p+=f.length-2){f=[p,1];d=F[p].n;if("*"!=c[g])d[c[g]]&&f.push(d[c[g]]);else for(e in d)d.hasOwnProperty(e)&&f.push(d[e]);F.splice.apply(F,f)}g=0;for(k=F.length;g<k;g++)for(d=F[g];d.n;){if(b){if(d.f){p=0;for(c=d.f.length;p<c;p++)if(d.f[p]==b){d.f.splice(p,1);break}!d.f.length&&delete d.f}for(e in d.n)if(d.n.hasOwnProperty(e)&&d.n[e].f){f=
d.n[e].f;p=0;for(c=f.length;p<c;p++)if(f[p]==b){f.splice(p,1);break}!f.length&&delete d.n[e].f}}else for(e in delete d.f,d.n)d.n.hasOwnProperty(e)&&d.n[e].f&&delete d.n[e].f;d=d.n}};ra.once=function(a,b){var c=function(){var d=b.apply(this,arguments);ra.unbind(a,c);return d};return ra.on(a,c)};ra.version="0.3.4";ra.toString=function(){return"You are running Eve 0.3.4"};"undefined"!=typeof module&&module.exports?module.exports=ra:"undefined"!=typeof define?define("eve",[],function(){return ra}):this.eve=
ra;a:{var m=function(a){if(m.is(a,"function"))return hd?a():eve.on("raphael.DOMload",a);if(m.is(a,Da))return m._engine.create[aa](m,a.splice(0,3+m.is(a[0],ga))).add(a);var b=Array.prototype.slice.call(arguments,0);if(m.is(b[b.length-1],"function")){var c=b.pop();return hd?c.call(m._engine.create[aa](m,b)):eve.on("raphael.DOMload",function(){c.call(m._engine.create[aa](m,b))})}return m._engine.create[aa](m,arguments)},id=function(a){if(Object(a)!==a)return a;var b=new a.constructor,c;for(c in a)a[V](c)&&
(b[c]=id(a[c]));return b},Ma=function(a,b,c){function d(){var e=Array.prototype.slice.call(arguments,0),f=e.join("\u2400"),g=d.cache=d.cache||{},k=d.count=d.count||[];if(g[V](f)){a:for(var e=k,k=f,p=0,F=e.length;p<F;p++)if(e[p]===k){e.push(e.splice(p,1)[0]);break a}return c?c(g[f]):g[f]}1E3<=k.length&&delete g[k.shift()];k.push(f);g[f]=a[aa](b,e);return c?c(g[f]):g[f]}return d},sc=function(){return this.hex},qe=function(a,b){for(var c=[],d=0,e=a.length;e-2*!b>d;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},
{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4==d?f[3]={x:+a[0],y:+a[1]}:e-2==d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4==d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]});c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c},Kb=function(a,b,c,d,e,f,g,k,p){null==p&&(p=1);p=(1<p?1:0>p?0:p)/2;for(var F=[-0.1252,0.1252,-0.3678,0.3678,-0.5873,0.5873,-0.7699,
0.7699,-0.9041,0.9041,-0.9816,0.9816],h=[0.2491,0.2491,0.2335,0.2335,0.2032,0.2032,0.1601,0.1601,0.1069,0.1069,0.0472,0.0472],n=0,j=0;12>j;j++)var r=p*F[j]+p,l=r*(r*(-3*a+9*c-9*e+3*g)+6*a-12*c+6*e)-3*a+3*c,r=r*(r*(-3*b+9*d-9*f+3*k)+6*b-12*d+6*f)-3*b+3*d,n=n+h[j]*G.sqrt(l*l+r*r);return p*n},Wf=function(a,b,c,d,e,f,g,k,p){if(!(0>p||Kb(a,b,c,d,e,f,g,k)<p)){var F=0.5,h=1-F,n;for(n=Kb(a,b,c,d,e,f,g,k,h);0.01<da(n-p);)F/=2,h+=(n<p?1:-1)*F,n=Kb(a,b,c,d,e,f,g,k,h);return h}},jd=function(a,b,c){a=m._path2curve(a);
b=m._path2curve(b);for(var d,e,f,g,k,p,h,N,n,j,r=c?0:[],l=0,u=a.length;l<u;l++)if(n=a[l],"M"==n[0])d=k=n[1],e=p=n[2];else{"C"==n[0]?(n=[d,e].concat(n.slice(1)),d=n[6],e=n[7]):(n=[d,e,d,e,k,p,k,p],d=k,e=p);for(var H=0,y=b.length;H<y;H++)if(j=b[H],"M"==j[0])f=h=j[1],g=N=j[2];else{"C"==j[0]?(j=[f,g].concat(j.slice(1)),f=j[6],g=j[7]):(j=[f,g,f,g,h,N,h,N],f=h,g=N);var z;var t=n,q=j;z=c;var s=m.bezierBBox(t),v=m.bezierBBox(q);if(m.isBBoxIntersect(s,v)){for(var s=Kb.apply(0,t),v=Kb.apply(0,q),s=~~(s/5),
v=~~(v/5),w=[],A=[],C={},E=z?0:[],B=0;B<s+1;B++){var D=m.findDotsAtSegment.apply(m,t.concat(B/s));w.push({x:D.x,y:D.y,t:B/s})}for(B=0;B<v+1;B++)D=m.findDotsAtSegment.apply(m,q.concat(B/v)),A.push({x:D.x,y:D.y,t:B/v});for(B=0;B<s;B++)for(t=0;t<v;t++){var G=w[B],I=w[B+1],q=A[t],D=A[t+1],J=0.001>da(I.x-G.x)?"y":"x",K=0.001>da(D.x-q.x)?"y":"x",Y;b:{Y=G.x;var L=G.y,M=I.x,O=I.y,P=q.x,Q=q.y,R=D.x,S=D.y;if(!(X(Y,M)<ba(P,R)||ba(Y,M)>X(P,R)||X(L,O)<ba(Q,S)||ba(L,O)>X(Q,S))){var U=(Y*O-L*M)*(P-R)-(Y-M)*(P*S-
Q*R),V=(Y*O-L*M)*(Q-S)-(L-O)*(P*S-Q*R),T=(Y-M)*(Q-S)-(L-O)*(P-R);if(T){var U=U/T,V=V/T,T=+U.toFixed(2),W=+V.toFixed(2);if(!(T<+ba(Y,M).toFixed(2)||T>+X(Y,M).toFixed(2)||T<+ba(P,R).toFixed(2)||T>+X(P,R).toFixed(2)||W<+ba(L,O).toFixed(2)||W>+X(L,O).toFixed(2)||W<+ba(Q,S).toFixed(2)||W>+X(Q,S).toFixed(2))){Y={x:U,y:V};break b}}}Y=void 0}Y&&C[Y.x.toFixed(4)]!=Y.y.toFixed(4)&&(C[Y.x.toFixed(4)]=Y.y.toFixed(4),G=G.t+da((Y[J]-G[J])/(I[J]-G[J]))*(I.t-G.t),q=q.t+da((Y[K]-q[K])/(D[K]-q[K]))*(D.t-q.t),0<=G&&
(1>=G&&0<=q&&1>=q)&&(z?E++:E.push({x:Y.x,y:Y.y,t1:G,t2:q})))}z=E}else z=z?0:[];if(c)r+=z;else{s=0;for(v=z.length;s<v;s++)z[s].segment1=l,z[s].segment2=H,z[s].bez1=n,z[s].bez2=j;r=r.concat(z)}}}return r},vb=function(a,b,c,d,e,f){null!=a?(this.a=+a,this.b=+b,this.c=+c,this.d=+d,this.e=+e,this.f=+f):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)},re=function(){return this.x+Wb+this.y+Wb+this.width+" \u00d7 "+this.height},$a=function(a,b){var c=[],d={};this.ms=b;this.times=1;if(a){for(var e in a)a[V](e)&&
(d[R(e)]=a[e],c.push(R(e)));c.sort(Xf)}this.anim=d;this.top=c[c.length-1];this.percents=c},Yb=function(a,b,c,d,e,f){c=R(c);var g,k,p,h,N,n,j=a.ms,r={},l={},u={};if(d){n=0;for(y=J.length;n<y;n++){var H=J[n];if(H.el.id==b.id&&H.anim==a){H.percent!=c?(J.splice(n,1),p=1):k=H;b.attr(H.totalOrigin);break}}}else d=+l;n=0;for(var y=a.percents.length;n<y;n++)if(a.percents[n]==c||a.percents[n]>d*a.top){c=a.percents[n];N=a.percents[n-1]||0;j=j/a.top*(c-N);h=a.percents[n+1];g=a.anim[c];break}else d&&b.attr(a.anim[a.percents[n]]);
if(g){if(k)k.initstatus=d,k.start=new Date-k.ms*d;else{for(var z in g)if(g[V](z)&&(kd[V](z)||b.paper.customAttributes[V](z)))switch(r[z]=b.attr(z),null==r[z]&&(r[z]=Yf[z]),l[z]=g[z],kd[z]){case ga:u[z]=(l[z]-r[z])/j;break;case "colour":r[z]=m.getRGB(r[z]);n=m.getRGB(l[z]);u[z]={r:(n.r-r[z].r)/j,g:(n.g-r[z].g)/j,b:(n.b-r[z].b)/j};break;case "path":n=Xb(r[z],l[z]);H=n[1];r[z]=n[0];u[z]=[];n=0;for(y=r[z].length;n<y;n++){u[z][n]=[0];for(var q=1,t=r[z][n].length;q<t;q++)u[z][n][q]=(H[n][q]-r[z][n][q])/
j}break;case "transform":n=b._;if(y=Zf(n[z],l[z])){r[z]=y.from;l[z]=y.to;u[z]=[];u[z].real=!0;n=0;for(y=r[z].length;n<y;n++){u[z][n]=[r[z][n][0]];q=1;for(t=r[z][n].length;q<t;q++)u[z][n][q]=(l[z][n][q]-r[z][n][q])/j}}else y=b.matrix||new vb,n={_:{transform:n.transform},getBBox:function(){return b.getBBox(1)}},r[z]=[y.a,y.b,y.c,y.d,y.e,y.f],se(n,l[z]),l[z]=n._.transform,u[z]=[(n.matrix.a-y.a)/j,(n.matrix.b-y.b)/j,(n.matrix.c-y.c)/j,(n.matrix.d-y.d)/j,(n.matrix.e-y.e)/j,(n.matrix.f-y.f)/j];break;case "csv":y=
sa(g[z])[Va](ld);H=sa(r[z])[Va](ld);if("clip-rect"==z){r[z]=H;u[z]=[];for(n=H.length;n--;)u[z][n]=(y[n]-r[z][n])/j}l[z]=y;break;default:y=[][P](g[z]);H=[][P](r[z]);u[z]=[];for(n=b.paper.customAttributes[z].length;n--;)u[z][n]=((y[n]||0)-(H[n]||0))/j}n=g.easing;z=m.easing_formulas[n];if(!z)if((z=sa(n).match($f))&&5==z.length){var s=z;z=function(a){var b=+s[1],c=+s[2],d=3*b,e=3*(+s[3]-b)-d,f=1-d-e,b=3*c,c=3*(+s[4]-c)-b,g=1-b-c;a=function(a,b){var c,g,k,p;k=a;for(g=0;8>g;g++){p=((f*k+e)*k+d)*k-a;if(da(p)<
b)return k;c=(3*f*k+2*e)*k+d;if(1E-6>da(c))break;k-=p/c}c=0;g=1;k=a;if(k<c)return c;if(k>g)return g;for(;c<g;){p=((f*k+e)*k+d)*k;if(da(p-a)<b)break;a>p?c=k:g=k;k=(g-c)/2+c}return k}(a,1/(200*j));return((g*a+c)*a+b)*a}}else z=ag;n=g.start||a.start||+new Date;H={anim:a,percent:c,timestamp:n,start:n+(a.del||0),status:0,initstatus:d||0,stop:!1,ms:j,easing:z,from:r,diff:u,to:l,el:b,callback:g.callback,prev:N,next:h,repeat:f||a.times,origin:b.attr(),totalOrigin:e};J.push(H);if(d&&(!k&&!p)&&(H.stop=!0,H.start=
new Date-j*d,1==J.length))return md();p&&(H.start=new Date-H.ms*d);1==J.length&&te(md)}eve("raphael.anim.start."+b.id,b,a)}},ue=function(a){for(var b=0;b<J.length;b++)J[b].el.paper==a&&J.splice(b--,1)};m.version="2.1.0";m.eve=eve;var hd,ld=/[, ]+/,bg={circle:1,rect:1,path:1,ellipse:1,text:1,image:1},cg=/\{(\d+)\}/g,V="hasOwnProperty",D={doc:document,win:window},ve=Object.prototype[V].call(D.win,"Raphael"),dg=D.win.Raphael,we=function(){this.ca=this.customAttributes={}},U,aa="apply",P="concat",nd=
"createTouch"in D.doc,Wb=" ",sa=String,Va="split",xe="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[Va](Wb),od={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},tc=sa.prototype.toLowerCase,G=Math,X=G.max,ba=G.min,da=G.abs,Ea=G.pow,ta=G.PI,ga="number",Da="array",eg=Object.prototype.toString;m._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var fg=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,
hg={NaN:1,Infinity:1,"-Infinity":1},$f=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,pd=G.round,R=parseFloat,wb=parseInt,ye=sa.prototype.toUpperCase,Yf=m._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"http://raphaeljs.com/","letter-spacing":0,opacity:1,path:"M0,0",
r:0,rx:0,ry:0,src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",title:"Raphael",transform:"",width:0,x:0,y:0},kd=m._availableAnimAttrs={blur:ga,"clip-rect":"csv",cx:ga,cy:ga,fill:"colour","fill-opacity":ga,"font-size":ga,height:ga,opacity:ga,path:"path",r:ga,rx:ga,ry:ga,stroke:"colour","stroke-opacity":ga,"stroke-width":ga,transform:"transform",width:ga,x:ga,y:ga},
qd=/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,ig={hs:1,rg:1},jg=/,?([achlmqrstvxz]),?/gi,kg=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
lg=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,ze=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
m._radial_gradient=/^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/;var Zb={},Xf=function(a,b){return R(a)-R(b)},mg=function(){},ag=function(a){return a},rd=m._rectPath=function(a,b,c,d,e){return e?[["M",a+e,b],["l",c-2*e,0],["a",e,e,0,0,1,
e,e],["l",0,d-2*e],["a",e,e,0,0,1,-e,e],["l",2*e-c,0],["a",e,e,0,0,1,-e,-e],["l",0,2*e-d],["a",e,e,0,0,1,e,-e],["z"]]:[["M",a,b],["l",c,0],["l",0,d],["l",-c,0],["z"]]},Ae=function(a,b,c,d){null==d&&(d=c);return[["M",a,b],["m",0,-d],["a",c,d,0,1,1,0,2*d],["a",c,d,0,1,1,0,-2*d],["z"]]},uc=m._getPath={path:function(a){return a.attr("path")},circle:function(a){a=a.attrs;return Ae(a.cx,a.cy,a.r)},ellipse:function(a){a=a.attrs;return Ae(a.cx,a.cy,a.rx,a.ry)},rect:function(a){a=a.attrs;return rd(a.x,a.y,
a.width,a.height,a.r)},image:function(a){a=a.attrs;return rd(a.x,a.y,a.width,a.height)},text:function(a){a=a._getBBox();return rd(a.x,a.y,a.width,a.height)}},sd=m.mapPath=function(a,b){if(!b)return a;var c,d,e,f,g,k,p;a=Xb(a);e=0;for(g=a.length;e<g;e++){p=a[e];f=1;for(k=p.length;f<k;f+=2)c=b.x(p[f],p[f+1]),d=b.y(p[f],p[f+1]),p[f]=c,p[f+1]=d}return a};m._g=D;m.type=D.win.SVGAngle||D.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")?"SVG":"VML";if("VML"==m.type){var td=
D.doc.createElement("div"),vc;td.innerHTML='<v:shape adj="1"/>';vc=td.firstChild;vc.style.behavior="url(#default#VML)";if(!(vc&&"object"==typeof vc.adj)){m.type="";break a}td=null}m.svg=!(m.vml="VML"==m.type);m._Paper=we;m.fn=U=we.prototype=m.prototype;m._id=0;m._oid=0;m.is=function(a,b){b=tc.call(b);return"finite"==b?!hg[V](+a):"array"==b?a instanceof Array:"null"==b&&null===a||b==typeof a&&null!==a||"object"==b&&a===Object(a)||"array"==b&&Array.isArray&&Array.isArray(a)||eg.call(a).slice(8,-1).toLowerCase()==
b};m.angle=function(a,b,c,d,e,f){return null==e?(a-=c,b-=d,!a&&!b?0:(180*G.atan2(-b,-a)/ta+540)%360):m.angle(a,b,e,f)-m.angle(c,d,e,f)};m.rad=function(a){return a%360*ta/180};m.deg=function(a){return 180*a/ta%360};m.snapTo=function(a,b,c){c=m.is(c,"finite")?c:10;if(m.is(a,Da))for(var d=a.length;d--;){if(da(a[d]-b)<=c)return a[d]}else{a=+a;d=b%a;if(d<c)return b-d;if(d>a-c)return b-d+a}return b};var ng=/[xy]/g,og=function(a){var b=16*G.random()|0;return("x"==a?b:b&3|8).toString(16)};m.createUUID=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(ng,
og).toUpperCase()};m.setWindow=function(a){eve("raphael.setWindow",m,D.win,a);D.win=a;D.doc=D.win.document;m._engine.initWin&&m._engine.initWin(D.win)};var wc=function(a){if(m.vml){var b=/^\s+|\s+$/g,c;try{var d=new ActiveXObject("htmlfile");d.write("<body>");d.close();c=d.body}catch(e){c=createPopup().document.body}var f=c.createTextRange();wc=Ma(function(a){try{c.style.color=sa(a).replace(b,"");var d=f.queryCommandValue("ForeColor");return"#"+("000000"+((d&255)<<16|d&65280|(d&16711680)>>>16).toString(16)).slice(-6)}catch(e){return"none"}})}else{var g=
D.doc.createElement("i");g.title="Rapha\u00ebl Colour Picker";g.style.display="none";D.doc.body.appendChild(g);wc=Ma(function(a){g.style.color=a;return D.doc.defaultView.getComputedStyle(g,"").getPropertyValue("color")})}return wc(a)},pg=function(){return"hsb("+[this.h,this.s,this.b]+")"},qg=function(){return"hsl("+[this.h,this.s,this.l]+")"},Be=function(){return this.hex},Ce=function(a,b,c){null==b&&(m.is(a,"object")&&"r"in a&&"g"in a&&"b"in a)&&(c=a.b,b=a.g,a=a.r);null==b&&m.is(a,"string")&&(c=
m.getRGB(a),a=c.r,b=c.g,c=c.b);if(1<a||1<b||1<c)a/=255,b/=255,c/=255;return[a,b,c]},De=function(a,b,c,d){a*=255;b*=255;c*=255;a={r:a,g:b,b:c,hex:m.rgb(a,b,c),toString:Be};m.is(d,"finite")&&(a.opacity=d);return a};m.color=function(a){var b;m.is(a,"object")&&"h"in a&&"s"in a&&"b"in a?(b=m.hsb2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):m.is(a,"object")&&"h"in a&&"s"in a&&"l"in a?(b=m.hsl2rgb(a),a.r=b.r,a.g=b.g,a.b=b.b,a.hex=b.hex):(m.is(a,"string")&&(a=m.getRGB(a)),m.is(a,"object")&&"r"in a&&"g"in a&&
"b"in a?(b=m.rgb2hsl(a),a.h=b.h,a.s=b.s,a.l=b.l,b=m.rgb2hsb(a),a.v=b.b):(a={hex:"none"},a.r=a.g=a.b=a.h=a.s=a.v=a.l=-1));a.toString=Be;return a};m.hsb2rgb=function(a,b,c,d){this.is(a,"object")&&("h"in a&&"s"in a&&"b"in a)&&(c=a.b,b=a.s,a=a.h,d=a.o);var e,f,g;a=360*a%360/60;g=c*b;b=g*(1-da(a%2-1));c=e=f=c-g;a=~~a;c+=[g,b,0,0,b,g][a];e+=[b,g,g,b,0,0][a];f+=[0,0,b,g,g,b][a];return De(c,e,f,d)};m.hsl2rgb=function(a,b,c,d){this.is(a,"object")&&("h"in a&&"s"in a&&"l"in a)&&(c=a.l,b=a.s,a=a.h);if(1<a||1<
b||1<c)a/=360,b/=100,c/=100;var e,f,g;a=360*a%360/60;g=2*b*(0.5>c?c:1-c);b=g*(1-da(a%2-1));c=e=f=c-g/2;a=~~a;c+=[g,b,0,0,b,g][a];e+=[b,g,g,b,0,0][a];f+=[0,0,b,g,g,b][a];return De(c,e,f,d)};m.rgb2hsb=function(a,b,c){c=Ce(a,b,c);a=c[0];b=c[1];c=c[2];var d,e;d=X(a,b,c);e=d-ba(a,b,c);a=60*(((0==e?0:d==a?(b-c)/e:d==b?(c-a)/e+2:(a-b)/e+4)+360)%6)/360;return{h:a,s:0==e?0:e/d,b:d,toString:pg}};m.rgb2hsl=function(a,b,c){c=Ce(a,b,c);a=c[0];b=c[1];c=c[2];var d,e,f;d=X(a,b,c);e=ba(a,b,c);f=d-e;a=60*(((0==f?0:
d==a?(b-c)/f:d==b?(c-a)/f+2:(a-b)/f+4)+360)%6)/360;d=(d+e)/2;return{h:a,s:0==f?0:0.5>d?f/(2*d):f/(2-2*d),l:d,toString:qg}};m._path2string=function(){return this.join(",").replace(jg,"$1")};m._preload=function(a,b){var c=D.doc.createElement("img");c.style.cssText="position:absolute;left:-9999em;top:-9999em";c.onload=function(){b.call(this);this.onload=null;D.doc.body.removeChild(this)};c.onerror=function(){D.doc.body.removeChild(this)};D.doc.body.appendChild(c);c.src=a};m.getRGB=Ma(function(a){if(!a||
(a=sa(a)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:sc};if("none"==a)return{r:-1,g:-1,b:-1,hex:"none",toString:sc};!(ig[V](a.toLowerCase().substring(0,2))||"#"==a.charAt())&&(a=wc(a));var b,c,d,e,f;if(a=a.match(fg)){a[2]&&(d=wb(a[2].substring(5),16),c=wb(a[2].substring(3,5),16),b=wb(a[2].substring(1,3),16));a[3]&&(d=wb((f=a[3].charAt(3))+f,16),c=wb((f=a[3].charAt(2))+f,16),b=wb((f=a[3].charAt(1))+f,16));a[4]&&(f=a[4][Va](qd),b=R(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=R(f[1]),
"%"==f[1].slice(-1)&&(c*=2.55),d=R(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),"rgba"==a[1].toLowerCase().slice(0,4)&&(e=R(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100));if(a[5])return f=a[5][Va](qd),b=R(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=R(f[1]),"%"==f[1].slice(-1)&&(c*=2.55),d=R(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),("deg"==f[0].slice(-3)||"\u00b0"==f[0].slice(-1))&&(b/=360),"hsba"==a[1].toLowerCase().slice(0,4)&&(e=R(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100),m.hsb2rgb(b,c,d,e);if(a[6])return f=a[6][Va](qd),
b=R(f[0]),"%"==f[0].slice(-1)&&(b*=2.55),c=R(f[1]),"%"==f[1].slice(-1)&&(c*=2.55),d=R(f[2]),"%"==f[2].slice(-1)&&(d*=2.55),("deg"==f[0].slice(-3)||"\u00b0"==f[0].slice(-1))&&(b/=360),"hsla"==a[1].toLowerCase().slice(0,4)&&(e=R(f[3])),f[3]&&"%"==f[3].slice(-1)&&(e/=100),m.hsl2rgb(b,c,d,e);a={r:b,g:c,b:d,toString:sc};a.hex="#"+(16777216|d|c<<8|b<<16).toString(16).slice(1);m.is(e,"finite")&&(a.opacity=e);return a}return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:sc}},m);m.hsb=Ma(function(a,b,c){return m.hsb2rgb(a,
b,c).hex});m.hsl=Ma(function(a,b,c){return m.hsl2rgb(a,b,c).hex});m.rgb=Ma(function(a,b,c){return"#"+(16777216|c|b<<8|a<<16).toString(16).slice(1)});m.getColor=function(a){a=this.getColor.start=this.getColor.start||{h:0,s:1,b:a||0.75};var b=this.hsb2rgb(a.h,a.s,a.b);a.h+=0.075;1<a.h&&(a.h=0,a.s-=0.2,0>=a.s&&(this.getColor.start={h:0,s:1,b:a.b}));return b.hex};m.getColor.reset=function(){delete this.start};m.parsePathString=function(a){if(!a)return null;var b=xb(a);if(b.arr)return Na(b.arr);var c=
{a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},d=[];m.is(a,Da)&&m.is(a[0],Da)&&(d=Na(a));d.length||sa(a).replace(kg,function(a,b,g){var k=[];a=b.toLowerCase();g.replace(ze,function(a,b){b&&k.push(+b)});"m"==a&&2<k.length&&(d.push([b][P](k.splice(0,2))),a="l",b="m"==b?"l":"L");if("r"==a)d.push([b][P](k));else for(;k.length>=c[a]&&!(d.push([b][P](k.splice(0,c[a]))),!c[a]););});d.toString=m._path2string;b.arr=Na(d);return d};m.parseTransformString=Ma(function(a){if(!a)return null;var b=[];m.is(a,Da)&&
m.is(a[0],Da)&&(b=Na(a));b.length||sa(a).replace(lg,function(a,d,e){var f=[];tc.call(d);e.replace(ze,function(a,b){b&&f.push(+b)});b.push([d][P](f))});b.toString=m._path2string;return b});var xb=function(a){var b=xb.ps=xb.ps||{};b[a]?b[a].sleep=100:b[a]={sleep:100};setTimeout(function(){for(var c in b)b[V](c)&&c!=a&&(b[c].sleep--,!b[c].sleep&&delete b[c])});return b[a]};m.findDotsAtSegment=function(a,b,c,d,e,f,g,k,p){var h=1-p,N=Ea(h,3),n=Ea(h,2),j=p*p,r=j*p,l=N*a+3*n*p*c+3*h*p*p*e+r*g,N=N*b+3*n*
p*d+3*h*p*p*f+r*k,n=a+2*p*(c-a)+j*(e-2*c+a),r=b+2*p*(d-b)+j*(f-2*d+b),m=c+2*p*(e-c)+j*(g-2*e+c),j=d+2*p*(f-d)+j*(k-2*f+d);a=h*a+p*c;b=h*b+p*d;e=h*e+p*g;f=h*f+p*k;k=90-180*G.atan2(n-m,r-j)/ta;(n>m||r<j)&&(k+=180);return{x:l,y:N,m:{x:n,y:r},n:{x:m,y:j},start:{x:a,y:b},end:{x:e,y:f},alpha:k}};m.bezierBBox=function(a,b,c,d,e,f,g,k){m.is(a,"array")||(a=[a,b,c,d,e,f,g,k]);a=Ee.apply(null,a);return{x:a.min.x,y:a.min.y,x2:a.max.x,y2:a.max.y,width:a.max.x-a.min.x,height:a.max.y-a.min.y}};m.isPointInsideBBox=
function(a,b,c){return b>=a.x&&b<=a.x2&&c>=a.y&&c<=a.y2};m.isBBoxIntersect=function(a,b){var c=m.isPointInsideBBox;return c(b,a.x,a.y)||c(b,a.x2,a.y)||c(b,a.x,a.y2)||c(b,a.x2,a.y2)||c(a,b.x,b.y)||c(a,b.x2,b.y)||c(a,b.x,b.y2)||c(a,b.x2,b.y2)||(a.x<b.x2&&a.x>b.x||b.x<a.x2&&b.x>a.x)&&(a.y<b.y2&&a.y>b.y||b.y<a.y2&&b.y>a.y)};m.pathIntersection=function(a,b){return jd(a,b)};m.pathIntersectionNumber=function(a,b){return jd(a,b,1)};m.isPointInsidePath=function(a,b,c){var d=m.pathBBox(a);return m.isPointInsideBBox(d,
b,c)&&1==jd(a,[["M",b,c],["H",d.x2+10]],1)%2};m._removedFactory=function(a){return function(){eve("raphael.log",null,"Rapha\u00ebl: you are calling to method \u201c"+a+"\u201d of removed object",a)}};var ud=m.pathBBox=function(a){var b=xb(a);if(b.bbox)return b.bbox;if(!a)return{x:0,y:0,width:0,height:0,x2:0,y2:0};a=Xb(a);for(var c=0,d=0,e=[],f=[],g,k=0,p=a.length;k<p;k++)g=a[k],"M"==g[0]?(c=g[1],d=g[2],e.push(c),f.push(d)):(c=Ee(c,d,g[1],g[2],g[3],g[4],g[5],g[6]),e=e[P](c.min.x,c.max.x),f=f[P](c.min.y,
c.max.y),c=g[5],d=g[6]);a=ba[aa](0,e);g=ba[aa](0,f);e=X[aa](0,e);f=X[aa](0,f);f={x:a,y:g,x2:e,y2:f,width:e-a,height:f-g};b.bbox=id(f);return f},Na=function(a){a=id(a);a.toString=m._path2string;return a},rg=m._pathToRelative=function(a){var b=xb(a);if(b.rel)return Na(b.rel);if(!m.is(a,Da)||!m.is(a&&a[0],Da))a=m.parsePathString(a);var c=[],d=0,e=0,f=0,g=0,k=0;"M"==a[0][0]&&(d=a[0][1],e=a[0][2],f=d,g=e,k++,c.push(["M",d,e]));for(var p=a.length;k<p;k++){var h=c[k]=[],N=a[k];if(N[0]!=tc.call(N[0]))switch(h[0]=
tc.call(N[0]),h[0]){case "a":h[1]=N[1];h[2]=N[2];h[3]=N[3];h[4]=N[4];h[5]=N[5];h[6]=+(N[6]-d).toFixed(3);h[7]=+(N[7]-e).toFixed(3);break;case "v":h[1]=+(N[1]-e).toFixed(3);break;case "m":f=N[1],g=N[2];default:for(var n=1,j=N.length;n<j;n++)h[n]=+(N[n]-(n%2?d:e)).toFixed(3)}else{c[k]=[];"m"==N[0]&&(f=N[1]+d,g=N[2]+e);h=0;for(n=N.length;h<n;h++)c[k][h]=N[h]}N=c[k].length;switch(c[k][0]){case "z":d=f;e=g;break;case "h":d+=+c[k][N-1];break;case "v":e+=+c[k][N-1];break;default:d+=+c[k][N-2],e+=+c[k][N-
1]}}c.toString=m._path2string;b.rel=Na(c);return c},Fe=m._pathToAbsolute=function(a){var b=xb(a);if(b.abs)return Na(b.abs);if(!m.is(a,Da)||!m.is(a&&a[0],Da))a=m.parsePathString(a);if(!a||!a.length)return[["M",0,0]];var c=[],d=0,e=0,f=0,g=0,k=0;"M"==a[0][0]&&(d=+a[0][1],e=+a[0][2],f=d,g=e,k++,c[0]=["M",d,e]);for(var p=3==a.length&&"M"==a[0][0]&&"R"==a[1][0].toUpperCase()&&"Z"==a[2][0].toUpperCase(),h,j=k,n=a.length;j<n;j++){c.push(k=[]);h=a[j];if(h[0]!=ye.call(h[0]))switch(k[0]=ye.call(h[0]),k[0]){case "A":k[1]=
h[1];k[2]=h[2];k[3]=h[3];k[4]=h[4];k[5]=h[5];k[6]=+(h[6]+d);k[7]=+(h[7]+e);break;case "V":k[1]=+h[1]+e;break;case "H":k[1]=+h[1]+d;break;case "R":for(var l=[d,e][P](h.slice(1)),r=2,cd=l.length;r<cd;r++)l[r]=+l[r]+d,l[++r]=+l[r]+e;c.pop();c=c[P](qe(l,p));break;case "M":f=+h[1]+d,g=+h[2]+e;default:r=1;for(cd=h.length;r<cd;r++)k[r]=+h[r]+(r%2?d:e)}else if("R"==h[0])l=[d,e][P](h.slice(1)),c.pop(),c=c[P](qe(l,p)),k=["R"][P](h.slice(-2));else{l=0;for(r=h.length;l<r;l++)k[l]=h[l]}switch(k[0]){case "Z":d=
f;e=g;break;case "H":d=k[1];break;case "V":e=k[1];break;case "M":f=k[k.length-2],g=k[k.length-1];default:d=k[k.length-2],e=k[k.length-1]}}c.toString=m._path2string;b.abs=Na(c);return c},Ge=function(a,b,c,d,e,f){var g=1/3,k=2/3;return[g*a+k*c,g*b+k*d,g*e+k*c,g*f+k*d,e,f]},He=function(a,b,c,d,e,f,g,k,p,h){var j=120*ta/180,n=ta/180*(+e||0),l=[],r,m=Ma(function(a,b,c){var d=a*G.cos(c)-b*G.sin(c);a=a*G.sin(c)+b*G.cos(c);return{x:d,y:a}});if(h)y=h[0],r=h[1],f=h[2],u=h[3];else{r=m(a,b,-n);a=r.x;b=r.y;r=
m(k,p,-n);k=r.x;p=r.y;G.cos(ta/180*e);G.sin(ta/180*e);r=(a-k)/2;y=(b-p)/2;u=r*r/(c*c)+y*y/(d*d);1<u&&(u=G.sqrt(u),c*=u,d*=u);var u=c*c,H=d*d,u=(f==g?-1:1)*G.sqrt(da((u*H-u*y*y-H*r*r)/(u*y*y+H*r*r)));f=u*c*y/d+(a+k)/2;var u=u*-d*r/c+(b+p)/2,y=G.asin(((b-u)/d).toFixed(9));r=G.asin(((p-u)/d).toFixed(9));y=a<f?ta-y:y;r=k<f?ta-r:r;0>y&&(y=2*ta+y);0>r&&(r=2*ta+r);g&&y>r&&(y-=2*ta);!g&&r>y&&(r-=2*ta)}if(da(r-y)>j){var l=r,H=k,z=p;r=y+j*(g&&r>y?1:-1);k=f+c*G.cos(r);p=u+d*G.sin(r);l=He(k,p,c,d,e,0,g,H,z,[r,
l,f,u])}f=r-y;e=G.cos(y);j=G.sin(y);g=G.cos(r);r=G.sin(r);f=G.tan(f/4);c=4/3*c*f;f*=4/3*d;d=[a,b];a=[a+c*j,b-f*e];b=[k+c*r,p-f*g];k=[k,p];a[0]=2*d[0]-a[0];a[1]=2*d[1]-a[1];if(h)return[a,b,k][P](l);l=[a,b,k][P](l).join()[Va](",");h=[];k=0;for(p=l.length;k<p;k++)h[k]=k%2?m(l[k-1],l[k],n).y:m(l[k],l[k+1],n).x;return h},xc=function(a,b,c,d,e,f,g,k,p){var h=1-p;return{x:Ea(h,3)*a+3*Ea(h,2)*p*c+3*h*p*p*e+Ea(p,3)*g,y:Ea(h,3)*b+3*Ea(h,2)*p*d+3*h*p*p*f+Ea(p,3)*k}},Ee=Ma(function(a,b,c,d,e,f,g,k){var p=e-2*
c+a-(g-2*e+c),h=2*(c-a)-2*(e-c),j=a-c,n=(-h+G.sqrt(h*h-4*p*j))/2/p,p=(-h-G.sqrt(h*h-4*p*j))/2/p,l=[b,k],r=[a,g];"1e12"<da(n)&&(n=0.5);"1e12"<da(p)&&(p=0.5);0<n&&1>n&&(n=xc(a,b,c,d,e,f,g,k,n),r.push(n.x),l.push(n.y));0<p&&1>p&&(n=xc(a,b,c,d,e,f,g,k,p),r.push(n.x),l.push(n.y));p=f-2*d+b-(k-2*f+d);h=2*(d-b)-2*(f-d);j=b-d;n=(-h+G.sqrt(h*h-4*p*j))/2/p;p=(-h-G.sqrt(h*h-4*p*j))/2/p;"1e12"<da(n)&&(n=0.5);"1e12"<da(p)&&(p=0.5);0<n&&1>n&&(n=xc(a,b,c,d,e,f,g,k,n),r.push(n.x),l.push(n.y));0<p&&1>p&&(n=xc(a,b,
c,d,e,f,g,k,p),r.push(n.x),l.push(n.y));return{min:{x:ba[aa](0,r),y:ba[aa](0,l)},max:{x:X[aa](0,r),y:X[aa](0,l)}}}),Xb=m._path2curve=Ma(function(a,b){var c=!b&&xb(a);if(!b&&c.curve)return Na(c.curve);var d=Fe(a),e=b&&Fe(b),f={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},g={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},k=function(a,b){var c,d;if(!a)return["C",b.x,b.y,b.x,b.y,b.x,b.y];!(a[0]in{T:1,Q:1})&&(b.qx=b.qy=null);switch(a[0]){case "M":b.X=a[1];b.Y=a[2];break;case "A":a=["C"][P](He[aa](0,[b.x,b.y][P](a.slice(1))));
break;case "S":c=b.x+(b.x-(b.bx||b.x));d=b.y+(b.y-(b.by||b.y));a=["C",c,d][P](a.slice(1));break;case "T":b.qx=b.x+(b.x-(b.qx||b.x));b.qy=b.y+(b.y-(b.qy||b.y));a=["C"][P](Ge(b.x,b.y,b.qx,b.qy,a[1],a[2]));break;case "Q":b.qx=a[1];b.qy=a[2];a=["C"][P](Ge(b.x,b.y,a[1],a[2],a[3],a[4]));break;case "L":a=["C"][P]([b.x,b.y,a[1],a[2],a[1],a[2]]);break;case "H":a=["C"][P]([b.x,b.y,a[1],b.y,a[1],b.y]);break;case "V":a=["C"][P]([b.x,b.y,b.x,a[1],b.x,a[1]]);break;case "Z":a=["C"][P]([b.x,b.y,b.X,b.Y,b.X,b.Y])}return a},
p=function(a,b){if(7<a[b].length){a[b].shift();for(var c=a[b];c.length;)a.splice(b++,0,["C"][P](c.splice(0,6)));a.splice(b,1);n=X(d.length,e&&e.length||0)}},h=function(a,b,c,f,g){a&&(b&&"M"==a[g][0]&&"M"!=b[g][0])&&(b.splice(g,0,["M",f.x,f.y]),c.bx=0,c.by=0,c.x=a[g][1],c.y=a[g][2],n=X(d.length,e&&e.length||0))},j=0,n=X(d.length,e&&e.length||0);for(;j<n;j++){d[j]=k(d[j],f);p(d,j);e&&(e[j]=k(e[j],g));e&&p(e,j);h(d,e,f,g,j);h(e,d,g,f,j);var l=d[j],r=e&&e[j],m=l.length,u=e&&r.length;f.x=l[m-2];f.y=l[m-
1];f.bx=R(l[m-4])||f.x;f.by=R(l[m-3])||f.y;g.bx=e&&(R(r[u-4])||g.x);g.by=e&&(R(r[u-3])||g.y);g.x=e&&r[u-2];g.y=e&&r[u-1]}e||(c.curve=Na(d));return e?[d,e]:d},null,Na);m._parseDots=Ma(function(a){for(var b=[],c=0,d=a.length;c<d;c++){var e={},f=a[c].match(/^([^:]*):?([\d\.]*)/);e.color=m.getRGB(f[1]);if(e.color.error)return null;e.color=e.color.hex;f[2]&&(e.offset=f[2]+"%");b.push(e)}c=1;for(d=b.length-1;c<d;c++)if(!b[c].offset){a=R(b[c-1].offset||0);f=0;for(e=c+1;e<d;e++)if(b[e].offset){f=b[e].offset;
break}f||(f=100,e=d);f=R(f);for(f=(f-a)/(e-c+1);c<e;c++)a+=f,b[c].offset=a+"%"}return b});var yc=m._tear=function(a,b){a==b.top&&(b.top=a.prev);a==b.bottom&&(b.bottom=a.next);a.next&&(a.next.prev=a.prev);a.prev&&(a.prev.next=a.next)};m._tofront=function(a,b){b.top!==a&&(yc(a,b),a.next=null,a.prev=b.top,b.top.next=a,b.top=a)};m._toback=function(a,b){b.bottom!==a&&(yc(a,b),a.next=b.bottom,a.prev=null,b.bottom.prev=a,b.bottom=a)};m._insertafter=function(a,b,c){yc(a,c);b==c.top&&(c.top=a);b.next&&(b.next.prev=
a);a.next=b.next;a.prev=b;b.next=a};m._insertbefore=function(a,b,c){yc(a,c);b==c.bottom&&(c.bottom=a);b.prev&&(b.prev.next=a);a.prev=b.prev;b.prev=a;a.next=b};var sg=m.toMatrix=function(a,b){var c=ud(a),d={_:{transform:""},getBBox:function(){return c}};se(d,b);return d.matrix};m.transformPath=function(a,b){return sd(a,sg(a,b))};var se=m._extractTransform=function(a,b){if(null==b)return a._.transform;b=sa(b).replace(/\.{3}|\u2026/g,a._.transform||"");var c=m.parseTransformString(b),d=0,e=0,f=0,g=1,
k=1,p=a._,f=new vb;p.transform=c||[];if(c)for(var e=0,h=c.length;e<h;e++){var j=c[e],n=j.length,l=sa(j[0]).toLowerCase(),r=j[0]!=l,q=r?f.invert():0,u;"t"==l&&3==n?r?(n=q.x(0,0),l=q.y(0,0),r=q.x(j[1],j[2]),q=q.y(j[1],j[2]),f.translate(r-n,q-l)):f.translate(j[1],j[2]):"r"==l?2==n?(u=u||a.getBBox(1),f.rotate(j[1],u.x+u.width/2,u.y+u.height/2),d+=j[1]):4==n&&(r?(r=q.x(j[2],j[3]),q=q.y(j[2],j[3]),f.rotate(j[1],r,q)):f.rotate(j[1],j[2],j[3]),d+=j[1]):"s"==l?2==n||3==n?(u=u||a.getBBox(1),f.scale(j[1],j[n-
1],u.x+u.width/2,u.y+u.height/2),g*=j[1],k*=j[n-1]):5==n&&(r?(r=q.x(j[3],j[4]),q=q.y(j[3],j[4]),f.scale(j[1],j[2],r,q)):f.scale(j[1],j[2],j[3],j[4]),g*=j[1],k*=j[2]):"m"==l&&7==n&&f.add(j[1],j[2],j[3],j[4],j[5],j[6]);p.dirtyT=1;a.matrix=f}a.matrix=f;p.sx=g;p.sy=k;p.deg=d;p.dx=e=f.e;p.dy=f=f.f;1==g&&1==k&&!d&&p.bbox?(p.bbox.x+=+e,p.bbox.y+=+f):p.dirtyT=1},Ie=function(a){var b=a[0];switch(b.toLowerCase()){case "t":return[b,0,0];case "m":return[b,1,0,0,1,0,0];case "r":return 4==a.length?[b,0,a[2],a[3]]:
[b,0];case "s":return 5==a.length?[b,1,1,a[3],a[4]]:3==a.length?[b,1,1]:[b,1]}},Zf=m._equaliseTransform=function(a,b){b=sa(b).replace(/\.{3}|\u2026/g,a);a=m.parseTransformString(a)||[];b=m.parseTransformString(b)||[];for(var c=X(a.length,b.length),d=[],e=[],f=0,g,k,p,h;f<c;f++){p=a[f]||Ie(b[f]);h=b[f]||Ie(p);if(p[0]!=h[0]||"r"==p[0].toLowerCase()&&(p[2]!=h[2]||p[3]!=h[3])||"s"==p[0].toLowerCase()&&(p[3]!=h[3]||p[4]!=h[4]))return;d[f]=[];e[f]=[];g=0;for(k=X(p.length,h.length);g<k;g++)g in p&&(d[f][g]=
p[g]),g in h&&(e[f][g]=h[g])}return{from:d,to:e}};m._getContainer=function(a,b,c,d){var e;e=null==d&&!m.is(a,"object")?D.doc.getElementById(a):a;if(null!=e)return e.tagName?null==b?{container:e,width:e.style.pixelWidth||e.offsetWidth,height:e.style.pixelHeight||e.offsetHeight}:{container:e,width:b,height:c}:{container:1,x:a,y:b,width:c,height:d}};m.pathToRelative=rg;m._engine={};m.path2curve=Xb;m.matrix=function(a,b,c,d,e,f){return new vb(a,b,c,d,e,f)};var xa=vb.prototype,vd=function(a){return a[0]*
a[0]+a[1]*a[1]},Je=function(a){var b=G.sqrt(vd(a));a[0]&&(a[0]/=b);a[1]&&(a[1]/=b)};xa.add=function(a,b,c,d,e,f){var g=[[],[],[]],k=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];b=[[a,c,e],[b,d,f],[0,0,1]];a&&a instanceof vb&&(b=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]);for(a=0;3>a;a++)for(c=0;3>c;c++){for(d=e=0;3>d;d++)e+=k[a][d]*b[d][c];g[a][c]=e}this.a=g[0][0];this.b=g[1][0];this.c=g[0][1];this.d=g[1][1];this.e=g[0][2];this.f=g[1][2]};xa.invert=function(){var a=this.a*this.d-this.b*this.c;
return new vb(this.d/a,-this.b/a,-this.c/a,this.a/a,(this.c*this.f-this.d*this.e)/a,(this.b*this.e-this.a*this.f)/a)};xa.clone=function(){return new vb(this.a,this.b,this.c,this.d,this.e,this.f)};xa.translate=function(a,b){this.add(1,0,0,1,a,b)};xa.scale=function(a,b,c,d){null==b&&(b=a);(c||d)&&this.add(1,0,0,1,c,d);this.add(a,0,0,b,0,0);(c||d)&&this.add(1,0,0,1,-c,-d)};xa.rotate=function(a,b,c){a=m.rad(a);b=b||0;c=c||0;var d=+G.cos(a).toFixed(9);a=+G.sin(a).toFixed(9);this.add(d,a,-a,d,b,c);this.add(1,
0,0,1,-b,-c)};xa.x=function(a,b){return a*this.a+b*this.c+this.e};xa.y=function(a,b){return a*this.b+b*this.d+this.f};xa.get=function(a){return+this[sa.fromCharCode(97+a)].toFixed(4)};xa.toString=function(){return m.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};xa.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+
", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};xa.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};xa.split=function(){var a={};a.dx=this.e;a.dy=this.f;var b=[[this.a,this.c],[this.b,this.d]];a.scalex=G.sqrt(vd(b[0]));Je(b[0]);a.shear=b[0][0]*b[1][0]+b[0][1]*b[1][1];b[1]=[b[1][0]-b[0][0]*a.shear,b[1][1]-b[0][1]*a.shear];a.scaley=G.sqrt(vd(b[1]));Je(b[1]);a.shear/=a.scaley;var c=-b[0][1],b=b[1][1];0>b?(a.rotate=m.deg(G.acos(b)),0>c&&(a.rotate=
360-a.rotate)):a.rotate=m.deg(G.asin(c));a.isSimple=!+a.shear.toFixed(9)&&(a.scalex.toFixed(9)==a.scaley.toFixed(9)||!a.rotate);a.isSuperSimple=!+a.shear.toFixed(9)&&a.scalex.toFixed(9)==a.scaley.toFixed(9)&&!a.rotate;a.noRotation=!+a.shear.toFixed(9)&&!a.rotate;return a};xa.toTransformString=function(a){a=a||this[Va]();return a.isSimple?(a.scalex=+a.scalex.toFixed(4),a.scaley=+a.scaley.toFixed(4),a.rotate=+a.rotate.toFixed(4),(a.dx||a.dy?"t"+[a.dx,a.dy]:"")+(1!=a.scalex||1!=a.scaley?"s"+[a.scalex,
a.scaley,0,0]:"")+(a.rotate?"r"+[a.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]};var zc=navigator.userAgent.match(/Version\/(.*?)\s/)||navigator.userAgent.match(/Chrome\/(\d+)/);U.safari="Apple Computer, Inc."==navigator.vendor&&(zc&&4>zc[1]||"iP"==navigator.platform.slice(0,2))||"Google Inc."==navigator.vendor&&zc&&8>zc[1]?function(){var a=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){a.remove()})}:mg;
var tg=function(){this.returnValue=!1},ug=function(){return this.originalEvent.preventDefault()},vg=function(){this.cancelBubble=!0},wg=function(){return this.originalEvent.stopPropagation()},Ke;Ke=D.doc.addEventListener?function(a,b,c,d){var e=nd&&od[b]?od[b]:b,f=function(e){var f=e.clientX+(D.doc.documentElement.scrollLeft||D.doc.body.scrollLeft),p=e.clientY+(D.doc.documentElement.scrollTop||D.doc.body.scrollTop);if(nd&&od[V](b))for(var h=0,j=e.targetTouches&&e.targetTouches.length;h<j;h++)if(e.targetTouches[h].target==
a){j=e;e=e.targetTouches[h];e.originalEvent=j;e.preventDefault=ug;e.stopPropagation=wg;break}return c.call(d,e,f,p)};a.addEventListener(e,f,!1);return function(){a.removeEventListener(e,f,!1);return!0}}:D.doc.attachEvent?function(a,b,c,d){var e=function(a){a=a||D.win.event;var b=a.clientX+(D.doc.documentElement.scrollLeft||D.doc.body.scrollLeft),e=a.clientY+(D.doc.documentElement.scrollTop||D.doc.body.scrollTop);a.preventDefault=a.preventDefault||tg;a.stopPropagation=a.stopPropagation||vg;return c.call(d,
a,b,e)};a.attachEvent("on"+b,e);return function(){a.detachEvent("on"+b,e);return!0}}:void 0;for(var yb=[],wd=function(a){for(var b=a.clientX,c=a.clientY,d=D.doc.documentElement.scrollTop||D.doc.body.scrollTop,e=D.doc.documentElement.scrollLeft||D.doc.body.scrollLeft,f,g=yb.length;g--;){f=yb[g];if(nd)for(var k=a.touches.length,p;k--;){if(p=a.touches[k],p.identifier==f.el._drag.id){b=p.clientX;c=p.clientY;(a.originalEvent?a.originalEvent:a).preventDefault();break}}else a.preventDefault();var k=f.el.node,
h=k.nextSibling,j=k.parentNode,n=k.style.display;D.win.opera&&j.removeChild(k);k.style.display="none";p=f.el.paper.getElementByPoint(b,c);k.style.display=n;D.win.opera&&(h?j.insertBefore(k,h):j.appendChild(k));p&&eve("raphael.drag.over."+f.el.id,f.el,p);b+=e;c+=d;eve("raphael.drag.move."+f.el.id,f.move_scope||f.el,b-f.el._drag.x,c-f.el._drag.y,b,c,a)}},xd=function(a){m.unmousemove(wd).unmouseup(xd);for(var b=yb.length,c;b--;)c=yb[b],c.el._drag={},eve("raphael.drag.end."+c.el.id,c.end_scope||c.start_scope||
c.move_scope||c.el,a);yb=[]},O=m.el={},Le=xe.length;Le--;)(function(a){m[a]=O[a]=function(b,c){m.is(b,"function")&&(this.events=this.events||[],this.events.push({name:a,f:b,unbind:Ke(this.shape||this.node||D.doc,a,b,c||this)}));return this};m["un"+a]=O["un"+a]=function(b){for(var c=this.events||[],d=c.length;d--;)if(c[d].name==a&&c[d].f==b){c[d].unbind();c.splice(d,1);!c.length&&delete this.events;break}return this}})(xe[Le]);O.data=function(a,b){var c=Zb[this.id]=Zb[this.id]||{};if(1==arguments.length){if(m.is(a,
"object")){for(var d in a)a[V](d)&&this.data(d,a[d]);return this}eve("raphael.data.get."+this.id,this,c[a],a);return c[a]}c[a]=b;eve("raphael.data.set."+this.id,this,b,a);return this};O.removeData=function(a){null==a?Zb[this.id]={}:Zb[this.id]&&delete Zb[this.id][a];return this};O.hover=function(a,b,c,d){return this.mouseover(a,c).mouseout(b,d||c)};O.unhover=function(a,b){return this.unmouseover(a).unmouseout(b)};var Lb=[];O.drag=function(a,b,c,d,e,f){function g(g){(g.originalEvent||g).preventDefault();
var p=D.doc.documentElement.scrollTop||D.doc.body.scrollTop,h=D.doc.documentElement.scrollLeft||D.doc.body.scrollLeft;this._drag.x=g.clientX+h;this._drag.y=g.clientY+p;this._drag.id=g.identifier;!yb.length&&m.mousemove(wd).mouseup(xd);yb.push({el:this,move_scope:d,start_scope:e,end_scope:f});b&&eve.on("raphael.drag.start."+this.id,b);a&&eve.on("raphael.drag.move."+this.id,a);c&&eve.on("raphael.drag.end."+this.id,c);eve("raphael.drag.start."+this.id,e||d||this,g.clientX+h,g.clientY+p,g)}this._drag=
{};Lb.push({el:this,start:g});this.mousedown(g);return this};O.onDragOver=function(a){a?eve.on("raphael.drag.over."+this.id,a):eve.unbind("raphael.drag.over."+this.id)};O.undrag=function(){for(var a=Lb.length;a--;)Lb[a].el==this&&(this.unmousedown(Lb[a].start),Lb.splice(a,1),eve.unbind("raphael.drag.*."+this.id));!Lb.length&&m.unmousemove(wd).unmouseup(xd)};U.circle=function(a,b,c){a=m._engine.circle(this,a||0,b||0,c||0);this.__set__&&this.__set__.push(a);return a};U.rect=function(a,b,c,d,e){a=m._engine.rect(this,
a||0,b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(a);return a};U.ellipse=function(a,b,c,d){a=m._engine.ellipse(this,a||0,b||0,c||0,d||0);this.__set__&&this.__set__.push(a);return a};U.path=function(a){a&&!m.is(a,"string")&&!m.is(a[0],Da)&&(a+="");var b=m._engine.path(m.format[aa](m,arguments),this);this.__set__&&this.__set__.push(b);return b};U.image=function(a,b,c,d,e){a=m._engine.image(this,a||"about:blank",b||0,c||0,d||0,e||0);this.__set__&&this.__set__.push(a);return a};U.text=function(a,
b,c){a=m._engine.text(this,a||0,b||0,sa(c));this.__set__&&this.__set__.push(a);return a};U.set=function(a){!m.is(a,"array")&&(a=Array.prototype.splice.call(arguments,0,arguments.length));var b=new Mb(a);this.__set__&&this.__set__.push(b);return b};U.setStart=function(a){this.__set__=a||this.set()};U.setFinish=function(){var a=this.__set__;delete this.__set__;return a};U.setSize=function(a,b){return m._engine.setSize.call(this,a,b)};U.setViewBox=function(a,b,c,d,e){return m._engine.setViewBox.call(this,
a,b,c,d,e)};U.top=U.bottom=null;U.raphael=m;U.getElementByPoint=function(a,b){var c,d,e=this.canvas,f=D.doc.elementFromPoint(a,b);if(D.win.opera&&"svg"==f.tagName){d=e.getBoundingClientRect();c=e.ownerDocument;var g=c.body,k=c.documentElement;c=d.top+(D.win.pageYOffset||k.scrollTop||g.scrollTop)-(k.clientTop||g.clientTop||0);d=d.left+(D.win.pageXOffset||k.scrollLeft||g.scrollLeft)-(k.clientLeft||g.clientLeft||0);g=e.createSVGRect();g.x=a-d;g.y=b-c;g.width=g.height=1;c=e.getIntersectionList(g,null);
c.length&&(f=c[c.length-1])}if(!f)return null;for(;f.parentNode&&f!=e.parentNode&&!f.raphael;)f=f.parentNode;f==this.canvas.parentNode&&(f=e);return f=f&&f.raphael?this.getById(f.raphaelid):null};U.getById=function(a){for(var b=this.bottom;b;){if(b.id==a)return b;b=b.next}return null};U.forEach=function(a,b){for(var c=this.bottom;c&&!1!==a.call(b,c);)c=c.next;return this};U.getElementsByPoint=function(a,b){var c=this.set();this.forEach(function(d){d.isPointInside(a,b)&&c.push(d)});return c};O.isPointInside=
function(a,b){var c=this.realPath=this.realPath||uc[this.type](this);return m.isPointInsidePath(c,a,b)};O.getBBox=function(a){if(this.removed)return{};var b=this._;if(a){if(b.dirty||!b.bboxwt)this.realPath=uc[this.type](this),b.bboxwt=ud(this.realPath),b.bboxwt.toString=re,b.dirty=0;return b.bboxwt}if(b.dirty||b.dirtyT||!b.bbox){if(b.dirty||!this.realPath)b.bboxwt=0,this.realPath=uc[this.type](this);b.bbox=ud(sd(this.realPath,this.matrix));b.bbox.toString=re;b.dirty=b.dirtyT=0}return b.bbox};O.clone=
function(){if(this.removed)return null;var a=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(a);return a};O.glow=function(a){if("text"==this.type)return null;a=a||{};var b=(a.width||10)+(+this.attr("stroke-width")||1),c=a.fill||!1,d=a.opacity||0.5,e=a.offsetx||0,f=a.offsety||0;a=a.color||"#000";for(var g=b/2,k=this.paper,p=k.set(),h=this.realPath||uc[this.type](this),h=this.matrix?sd(h,this.matrix):h,j=1;j<g+1;j++)p.push(k.path(h).attr({stroke:a,fill:c?a:"none","stroke-linejoin":"round",
"stroke-linecap":"round","stroke-width":+(b/g*j).toFixed(3),opacity:+(d/g).toFixed(3)}));return p.insertBefore(this).translate(e,f)};var yd=function(a,b,c,d,e,f,g,k,p){return null==p?Kb(a,b,c,d,e,f,g,k):m.findDotsAtSegment(a,b,c,d,e,f,g,k,Wf(a,b,c,d,e,f,g,k,p))},zd=function(a,b){return function(c,d,e){c=Xb(c);for(var f,g,k,p,h="",j={},n=0,l=0,r=c.length;l<r;l++){k=c[l];if("M"==k[0])f=+k[1],g=+k[2];else{p=yd(f,g,k[1],k[2],k[3],k[4],k[5],k[6]);if(n+p>d){if(b&&!j.start){f=yd(f,g,k[1],k[2],k[3],k[4],
k[5],k[6],d-n);h+=["C"+f.start.x,f.start.y,f.m.x,f.m.y,f.x,f.y];if(e)return h;j.start=h;h=["M"+f.x,f.y+"C"+f.n.x,f.n.y,f.end.x,f.end.y,k[5],k[6]].join();n+=p;f=+k[5];g=+k[6];continue}if(!a&&!b)return f=yd(f,g,k[1],k[2],k[3],k[4],k[5],k[6],d-n),{x:f.x,y:f.y,alpha:f.alpha}}n+=p;f=+k[5];g=+k[6]}h+=k.shift()+k}j.end=h;f=a?n:b?j:m.findDotsAtSegment(f,g,k[0],k[1],k[2],k[3],k[4],k[5],1);f.alpha&&(f={x:f.x,y:f.y,alpha:f.alpha});return f}},Me=zd(1),Ne=zd(),Ad=zd(0,1);m.getTotalLength=Me;m.getPointAtLength=
Ne;m.getSubpath=function(a,b,c){if(1E-6>this.getTotalLength(a)-c)return Ad(a,b).end;a=Ad(a,c,1);return b?Ad(a,b).end:a};O.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():Me(this.attrs.path)};O.getPointAtLength=function(a){if("path"==this.type)return Ne(this.attrs.path,a)};O.getSubpath=function(a,b){if("path"==this.type)return m.getSubpath(this.attrs.path,a,b)};var Fa=m.easing_formulas={linear:function(a){return a},"<":function(a){return Ea(a,
1.7)},">":function(a){return Ea(a,0.48)},"<>":function(a){var b=0.48-a/1.04,c=G.sqrt(0.1734+b*b);a=c-b;a=Ea(da(a),1/3)*(0>a?-1:1);b=-c-b;b=Ea(da(b),1/3)*(0>b?-1:1);a=a+b+0.5;return 3*(1-a)*a*a+a*a*a},backIn:function(a){return a*a*(2.70158*a-1.70158)},backOut:function(a){a-=1;return a*a*(2.70158*a+1.70158)+1},elastic:function(a){return a==!!a?a:Ea(2,-10*a)*G.sin((a-0.075)*2*ta/0.3)+1},bounce:function(a){a<1/2.75?a*=7.5625*a:a<2/2.75?(a-=1.5/2.75,a=7.5625*a*a+0.75):a<2.5/2.75?(a-=2.25/2.75,a=7.5625*
a*a+0.9375):(a-=2.625/2.75,a=7.5625*a*a+0.984375);return a}};Fa.easeIn=Fa["ease-in"]=Fa["<"];Fa.easeOut=Fa["ease-out"]=Fa[">"];Fa.easeInOut=Fa["ease-in-out"]=Fa["<>"];Fa["back-in"]=Fa.backIn;Fa["back-out"]=Fa.backOut;var J=[],te=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){setTimeout(a,16)},md=function(){for(var a=+new Date,b=0;b<J.length;b++){var c=J[b];if(!c.el.removed&&
!c.paused){var d=a-c.start,e=c.ms,f=c.easing,g=c.from,k=c.diff,p=c.to,h=c.el,j={},n,l={},r;c.initstatus?(d=(c.initstatus*c.anim.top-c.prev)/(c.percent-c.prev)*e,c.status=c.initstatus,delete c.initstatus,c.stop&&J.splice(b--,1)):c.status=(c.prev+(c.percent-c.prev)*(d/e))/c.anim.top;if(!(0>d))if(d<e){var q=f(d/e),u;for(u in g)if(g[V](u)){switch(kd[u]){case ga:n=+g[u]+q*e*k[u];break;case "colour":n="rgb("+[Bd(pd(g[u].r+q*e*k[u].r)),Bd(pd(g[u].g+q*e*k[u].g)),Bd(pd(g[u].b+q*e*k[u].b))].join()+")";break;
case "path":n=[];d=0;for(f=g[u].length;d<f;d++){n[d]=[g[u][d][0]];p=1;for(l=g[u][d].length;p<l;p++)n[d][p]=+g[u][d][p]+q*e*k[u][d][p];n[d]=n[d].join(Wb)}n=n.join(Wb);break;case "transform":if(k[u].real){n=[];d=0;for(f=g[u].length;d<f;d++){n[d]=[g[u][d][0]];p=1;for(l=g[u][d].length;p<l;p++)n[d][p]=g[u][d][p]+q*e*k[u][d][p]}}else n=function(a){return+g[u][a]+q*e*k[u][a]},n=[["m",n(0),n(1),n(2),n(3),n(4),n(5)]];break;case "csv":if("clip-rect"==u){n=[];for(d=4;d--;)n[d]=+g[u][d]+q*e*k[u][d]}break;default:f=
[][P](g[u]);n=[];for(d=h.paper.customAttributes[u].length;d--;)n[d]=+f[d]+q*e*k[u][d]}j[u]=n}h.attr(j);(function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+a,b,c)})})(h.id,h,c.anim)}else{(function(a,b,c){setTimeout(function(){eve("raphael.anim.frame."+b.id,b,c);eve("raphael.anim.finish."+b.id,b,c);m.is(a,"function")&&a.call(b)})})(c.callback,h,c.anim);h.attr(p);J.splice(b--,1);if(1<c.repeat&&!c.next){for(r in p)p[V](r)&&(l[r]=c.totalOrigin[r]);c.el.attr(l);Yb(c.anim,c.el,c.anim.percents[0],
null,c.totalOrigin,c.repeat-1)}c.next&&!c.stop&&Yb(c.anim,c.el,c.next,null,c.totalOrigin,c.repeat)}}}m.svg&&h&&h.paper&&h.paper.safari();J.length&&te(md)},Bd=function(a){return 255<a?255:0>a?0:a};O.animateWith=function(a,b,c,d,e,f){if(this.removed)return f&&f.call(this),this;c=c instanceof $a?c:m.animation(c,d,e,f);Yb(c,this,c.percents[0],null,this.attr());c=0;for(d=J.length;c<d;c++)if(J[c].anim==b&&J[c].el==a){J[d-1].start=J[c].start;break}return this};O.onAnimation=function(a){a?eve.on("raphael.anim.frame."+
this.id,a):eve.unbind("raphael.anim.frame."+this.id);return this};$a.prototype.delay=function(a){var b=new $a(this.anim,this.ms);b.times=this.times;b.del=+a||0;return b};$a.prototype.repeat=function(a){var b=new $a(this.anim,this.ms);b.del=this.del;b.times=G.floor(X(a,0))||1;return b};m.animation=function(a,b,c,d){if(a instanceof $a)return a;if(m.is(c,"function")||!c)d=d||c||null,c=null;a=Object(a);b=+b||0;var e={},f,g;for(g in a)a[V](g)&&(R(g)!=g&&R(g)+"%"!=g)&&(f=!0,e[g]=a[g]);return f?(c&&(e.easing=
c),d&&(e.callback=d),new $a({100:e},b)):new $a(a,b)};O.animate=function(a,b,c,d){if(this.removed)return d&&d.call(this),this;a=a instanceof $a?a:m.animation(a,b,c,d);Yb(a,this,a.percents[0],null,this.attr());return this};O.setTime=function(a,b){a&&null!=b&&this.status(a,ba(b,a.ms)/a.ms);return this};O.status=function(a,b){var c=[],d=0,e,f;if(null!=b)return Yb(a,this,-1,ba(b,1)),this;for(e=J.length;d<e;d++)if(f=J[d],f.el.id==this.id&&(!a||f.anim==a)){if(a)return f.status;c.push({anim:f.anim,status:f.status})}return a?
0:c};O.pause=function(a){for(var b=0;b<J.length;b++)if(J[b].el.id==this.id&&(!a||J[b].anim==a)&&!1!==eve("raphael.anim.pause."+this.id,this,J[b].anim))J[b].paused=!0;return this};O.resume=function(a){for(var b=0;b<J.length;b++)if(J[b].el.id==this.id&&(!a||J[b].anim==a)){var c=J[b];!1!==eve("raphael.anim.resume."+this.id,this,c.anim)&&(delete c.paused,this.status(c.anim,c.status))}return this};O.stop=function(a){for(var b=0;b<J.length;b++)J[b].el.id==this.id&&(!a||J[b].anim==a)&&!1!==eve("raphael.anim.stop."+
this.id,this,J[b].anim)&&J.splice(b--,1);return this};eve.on("raphael.remove",ue);eve.on("raphael.clear",ue);O.toString=function(){return"Rapha\u00ebl\u2019s object"};var Mb=function(a){this.items=[];this.length=0;this.type="set";if(a)for(var b=0,c=a.length;b<c;b++)if(a[b]&&(a[b].constructor==O.constructor||a[b].constructor==Mb))this[this.items.length]=this.items[this.items.length]=a[b],this.length++},ya=Mb.prototype;ya.push=function(){for(var a,b,c=0,d=arguments.length;c<d;c++)if((a=arguments[c])&&
(a.constructor==O.constructor||a.constructor==Mb))b=this.items.length,this[b]=this.items[b]=a,this.length++;return this};ya.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};ya.forEach=function(a,b){for(var c=0,d=this.items.length;c<d&&!1!==a.call(b,this.items[c],c);c++);return this};for(var Cd in O)O[V](Cd)&&(ya[Cd]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a][aa](c,b)})}}(Cd));ya.attr=function(a,b){if(a&&m.is(a,Da)&&m.is(a[0],"object"))for(var c=
0,d=a.length;c<d;c++)this.items[c].attr(a[c]);else{c=0;for(d=this.items.length;c<d;c++)this.items[c].attr(a,b)}return this};ya.clear=function(){for(;this.length;)this.pop()};ya.splice=function(a,b,c){a=0>a?X(this.length+a,0):a;b=X(0,ba(this.length-a,b));var d=[],e=[],f=[],g;for(g=2;g<arguments.length;g++)f.push(arguments[g]);for(g=0;g<b;g++)e.push(this[a+g]);for(;g<this.length-a;g++)d.push(this[a+g]);var k=f.length;for(g=0;g<k+d.length;g++)this.items[a+g]=this[a+g]=g<k?f[g]:d[g-k];for(g=this.items.length=
this.length-=b-k;this[g];)delete this[g++];return new Mb(e)};ya.exclude=function(a){for(var b=0,c=this.length;b<c;b++)if(this[b]==a)return this.splice(b,1),!0};ya.animate=function(a,b,c,d){(m.is(c,"function")||!c)&&(d=c||null);var e=this.items.length,f=e,g=this,k;if(!e)return this;d&&(k=function(){!--e&&d.call(g)});c=m.is(c,"string")?c:k;b=m.animation(a,b,c,k);for(a=this.items[--f].animate(b);f--;)this.items[f]&&!this.items[f].removed&&this.items[f].animateWith(a,b,b);return this};ya.insertAfter=
function(a){for(var b=this.items.length;b--;)this.items[b].insertAfter(a);return this};ya.getBBox=function(){for(var a=[],b=[],c=[],d=[],e=this.items.length;e--;)if(!this.items[e].removed){var f=this.items[e].getBBox();a.push(f.x);b.push(f.y);c.push(f.x+f.width);d.push(f.y+f.height)}a=ba[aa](0,a);b=ba[aa](0,b);c=X[aa](0,c);d=X[aa](0,d);return{x:a,y:b,x2:c,y2:d,width:c-a,height:d-b}};ya.clone=function(a){a=new Mb;for(var b=0,c=this.items.length;b<c;b++)a.push(this.items[b].clone());return a};ya.toString=
function(){return"Rapha\u00ebl\u2018s set"};m.registerFont=function(a){if(!a.face)return a;this.fonts=this.fonts||{};var b={w:a.w,face:{},glyphs:{}},c=a.face["font-family"],d;for(d in a.face)a.face[V](d)&&(b.face[d]=a.face[d]);this.fonts[c]?this.fonts[c].push(b):this.fonts[c]=[b];if(!a.svg){b.face["units-per-em"]=wb(a.face["units-per-em"],10);for(var e in a.glyphs)if(a.glyphs[V](e)&&(c=a.glyphs[e],b.glyphs[e]={w:c.w,k:{},d:c.d&&"M"+c.d.replace(/[mlcxtrv]/g,function(a){return{l:"L",c:"C",x:"z",t:"m",
r:"l",v:"c"}[a]||"M"})+"z"},c.k))for(var f in c.k)c[V](f)&&(b.glyphs[e].k[f]=c.k[f])}return a};U.getFont=function(a,b,c,d){d=d||"normal";c=c||"normal";b=+b||{normal:400,bold:700,lighter:300,bolder:800}[b]||400;if(m.fonts){var e=m.fonts[a];if(!e){a=RegExp("(^|\\s)"+a.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)","i");for(var f in m.fonts)if(m.fonts[V](f)&&a.test(f)){e=m.fonts[f];break}}var g;if(e){f=0;for(a=e.length;f<a&&!(g=e[f],g.face["font-weight"]==b&&(g.face["font-style"]==c||!g.face["font-style"])&&
g.face["font-stretch"]==d);f++);}return g}};U.print=function(a,b,c,d,e,f,g){f=f||"middle";g=X(ba(g||0,1),-1);var k=sa(c)[Va](""),p=0,h=0,j="";m.is(d,c)&&(d=this.getFont(d));if(d){c=(e||16)/d.face["units-per-em"];var n=d.face.bbox[Va](ld);e=+n[0];var l=n[3]-n[1],r=0;f=+n[1]+("baseline"==f?l+ +d.face.descent:l/2);for(var n=0,q=k.length;n<q;n++){if("\n"==k[n])h=H=p=0,r+=l;else var u=h&&d.glyphs[k[n-1]]||{},H=d.glyphs[k[n]],p=p+(h?(u.w||d.w)+(u.k&&u.k[k[n]]||0)+d.w*g:0),h=1;H&&H.d&&(j+=m.transformPath(H.d,
["t",p*c,r*c,"s",c,c,e,f,"t",(a-e)/c,(b-f)/c]))}}return this.path(j).attr({fill:"#000",stroke:"none"})};U.add=function(a){if(m.is(a,"array"))for(var b=this.set(),c=0,d=a.length,e;c<d;c++)e=a[c]||{},bg[V](e.type)&&b.push(this[e.type]().attr(e));return b};m.format=function(a,b){var c=m.is(b,Da)?[0][P](b):arguments;a&&m.is(a,"string")&&c.length-1&&(a=a.replace(cg,function(a,b){return null==c[++b]?"":c[b]}));return a||""};var xg=/\{([^\}]+)\}/g,yg=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g;
m.fullfill=function(a,b){return String(a).replace(xg,function(a,d){var e=b;d.replace(yg,function(a,b,c,d,h){b=b||d;e&&(b in e&&(e=e[b]),"function"==typeof e&&h&&(e=e()))});return e=(null==e||e==b?a:e)+""})};m.ninja=function(){ve?D.win.Raphael=dg:delete Raphael;return m};m.st=ya;var zb=document,Oe=void 0,Pe=function(){/in/.test(zb.readyState)?setTimeout(Pe,9):m.eve("raphael.DOMload")};null==zb.readyState&&zb.addEventListener&&(zb.addEventListener("DOMContentLoaded",Oe=function(){zb.removeEventListener("DOMContentLoaded",
Oe,!1);zb.readyState="complete"},!1),zb.readyState="loading");Pe();ve?D.win.Raphael=m:Raphael=m;eve.on("raphael.DOMload",function(){hd=!0})}if(window.Raphael.svg){var t=window.Raphael,Ga=String,Ia=parseFloat,Qe=parseInt,Nb=Math,Dd=Nb.max,Ac=Nb.abs,Ed=Nb.pow,$b=/[, ]+/,Bc=t.eve,zg={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},Oa={};t.toString=function(){return"Your browser supports SVG.\nYou are running Rapha\u00ebl "+
this.version};var C=function(a,b){if(b){"string"==typeof a&&(a=C(a));for(var c in b)b.hasOwnProperty(c)&&("xlink:"==c.substring(0,6)?a.setAttributeNS("http://www.w3.org/1999/xlink",c.substring(6),Ga(b[c])):a.setAttribute(c,Ga(b[c])))}else a=t._g.doc.createElementNS("http://www.w3.org/2000/svg",a),a.style&&(a.style.webkitTapHighlightColor="rgba(0,0,0,0)");return a},Re=function(a,b){var c="linear",d=a.id+b,e=0.5,f=0.5,g=a.node,k=a.paper,p=g.style,h=t._g.doc.getElementById(d);if(!h){b=Ga(b).replace(t._radial_gradient,
function(a,b,d){c="radial";b&&d&&(e=Ia(b),f=Ia(d),a=2*(0.5<f)-1,0.25<Ed(e-0.5,2)+Ed(f-0.5,2)&&(f=Nb.sqrt(0.25-Ed(e-0.5,2))*a+0.5)&&0.5!=f&&(f=f.toFixed(5)-1E-5*a));return""});b=b.split(/\s*\-\s*/);if("linear"==c){h=b.shift();h=-Ia(h);if(isNaN(h))return null;var j=[0,0,Nb.cos(t.rad(h)),Nb.sin(t.rad(h))],h=1/(Dd(Ac(j[2]),Ac(j[3]))||1);j[2]*=h;j[3]*=h;0>j[2]&&(j[0]=-j[2],j[2]=0);0>j[3]&&(j[1]=-j[3],j[3]=0)}var n=t._parseDots(b);if(!n)return null;d=d.replace(/[\(\)\s,\xb0#]/g,"_");a.gradient&&d!=a.gradient.id&&
(k.defs.removeChild(a.gradient),delete a.gradient);if(!a.gradient){h=C(c+"Gradient",{id:d});a.gradient=h;C(h,"radial"==c?{fx:e,fy:f}:{x1:j[0],y1:j[1],x2:j[2],y2:j[3],gradientTransform:a.matrix.invert()});k.defs.appendChild(h);k=0;for(j=n.length;k<j;k++)h.appendChild(C("stop",{offset:n[k].offset?n[k].offset:k?"100%":"0%","stop-color":n[k].color||"#fff"}))}}C(g,{fill:"url(#"+d+")",opacity:1,"fill-opacity":1});p.fill="";p.opacity=1;return p.fillOpacity=1},Cc=function(a){var b=a.getBBox(1);C(a.pattern,
{patternTransform:a.matrix.invert()+" translate("+b.x+","+b.y+")"})},jb=function(a,b,c){if("path"==a.type){for(var d=Ga(b).toLowerCase().split("-"),e=a.paper,f=c?"end":"start",g=a.node,k=a.attrs,h=k["stroke-width"],j=d.length,l="classic",n,m,r=3,q=3,u=5;j--;)switch(d[j]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":l=d[j];break;case "wide":q=5;break;case "narrow":q=2;break;case "long":r=5;break;case "short":r=2}"open"==l?(r+=2,q+=2,u+=2,n=1,m=c?4:1,d={fill:"none",
stroke:k.stroke}):(m=n=r/2,d={fill:k.stroke,stroke:"none"});a._.arrows?c?(a._.arrows.endPath&&Oa[a._.arrows.endPath]--,a._.arrows.endMarker&&Oa[a._.arrows.endMarker]--):(a._.arrows.startPath&&Oa[a._.arrows.startPath]--,a._.arrows.startMarker&&Oa[a._.arrows.startMarker]--):a._.arrows={};if("none"!=l){var j="raphael-marker-"+l,H="raphael-marker-"+f+l+r+q;t._g.doc.getElementById(j)?Oa[j]++:(e.defs.appendChild(C(C("path"),{"stroke-linecap":"round",d:zg[l],id:j})),Oa[j]=1);var y=t._g.doc.getElementById(H);
y?(Oa[H]++,r=y.getElementsByTagName("use")[0]):(y=C(C("marker"),{id:H,markerHeight:q,markerWidth:r,orient:"auto",refX:m,refY:q/2}),r=C(C("use"),{"xlink:href":"#"+j,transform:(c?"rotate(180 "+r/2+" "+q/2+") ":"")+"scale("+r/u+","+q/u+")","stroke-width":(1/((r/u+q/u)/2)).toFixed(4)}),y.appendChild(r),e.defs.appendChild(y),Oa[H]=1);C(r,d);e=n*("diamond"!=l&&"oval"!=l);c?(c=a._.arrows.startdx*h||0,h=t.getTotalLength(k.path)-e*h):(c=e*h,h=t.getTotalLength(k.path)-(a._.arrows.enddx*h||0));d={};d["marker-"+
f]="url(#"+H+")";if(h||c)d.d=Raphael.getSubpath(k.path,c,h);C(g,d);a._.arrows[f+"Path"]=j;a._.arrows[f+"Marker"]=H;a._.arrows[f+"dx"]=e;a._.arrows[f+"Type"]=l;a._.arrows[f+"String"]=b}else c?(c=a._.arrows.startdx*h||0,h=t.getTotalLength(k.path)-c):(c=0,h=t.getTotalLength(k.path)-(a._.arrows.enddx*h||0)),a._.arrows[f+"Path"]&&C(g,{d:Raphael.getSubpath(k.path,c,h)}),delete a._.arrows[f+"Path"],delete a._.arrows[f+"Marker"],delete a._.arrows[f+"dx"],delete a._.arrows[f+"Type"],delete a._.arrows[f+"String"];
for(d in Oa)Oa.hasOwnProperty(d)&&!Oa[d]&&(a=t._g.doc.getElementById(d))&&a.parentNode.removeChild(a)}},Ag={"":[0],none:[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},Se=function(a,b,c){if(b=Ag[Ga(b).toLowerCase()]){var d=a.attrs["stroke-width"]||"1";c={round:d,square:d,butt:0}[a.attrs["stroke-linecap"]||c["stroke-linecap"]]||0;for(var e=[],f=b.length;f--;)e[f]=b[f]*d+(f%2?1:-1)*c;C(a.node,{"stroke-dasharray":e.join(",")})}},
Fd=function(a,b){var c=a.node,d=a.attrs,e=c.style.visibility;c.style.visibility="hidden";for(var f in b)if(b.hasOwnProperty(f)&&t._availableAttrs.hasOwnProperty(f)){var g=b[f];d[f]=g;switch(f){case "blur":a.blur(g);break;case "href":case "title":case "target":var k=c.parentNode;if("a"!=k.tagName.toLowerCase()){var h=C("a");k.insertBefore(h,c);h.appendChild(c);k=h}"target"==f?k.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==g?"new":g):k.setAttributeNS("http://www.w3.org/1999/xlink",
f,g);break;case "cursor":c.style.cursor=g;break;case "transform":a.transform(g);break;case "arrow-start":jb(a,g);break;case "arrow-end":jb(a,g,1);break;case "clip-rect":k=Ga(g).split($b);if(4==k.length){a.clip&&a.clip.parentNode.parentNode.removeChild(a.clip.parentNode);var h=C("clipPath"),j=C("rect");h.id=t.createUUID();C(j,{x:k[0],y:k[1],width:k[2],height:k[3]});h.appendChild(j);a.paper.defs.appendChild(h);C(c,{"clip-path":"url(#"+h.id+")"});a.clip=j}if(!g&&(g=c.getAttribute("clip-path")))(g=t._g.doc.getElementById(g.replace(/(^url\(#|\)$)/g,
"")))&&g.parentNode.removeChild(g),C(c,{"clip-path":""}),delete a.clip;break;case "path":"path"==a.type&&(C(c,{d:g?d.path=t._pathToAbsolute(g):"M0,0"}),a._.dirty=1,a._.arrows&&("startString"in a._.arrows&&jb(a,a._.arrows.startString),"endString"in a._.arrows&&jb(a,a._.arrows.endString,1)));break;case "width":if(c.setAttribute(f,g),a._.dirty=1,d.fx)f="x",g=d.x;else break;case "x":d.fx&&(g=-d.x-(d.width||0));case "rx":if("rx"==f&&"rect"==a.type)break;case "cx":c.setAttribute(f,g);a.pattern&&Cc(a);a._.dirty=
1;break;case "height":if(c.setAttribute(f,g),a._.dirty=1,d.fy)f="y",g=d.y;else break;case "y":d.fy&&(g=-d.y-(d.height||0));case "ry":if("ry"==f&&"rect"==a.type)break;case "cy":c.setAttribute(f,g);a.pattern&&Cc(a);a._.dirty=1;break;case "r":"rect"==a.type?C(c,{rx:g,ry:g}):c.setAttribute(f,g);a._.dirty=1;break;case "src":"image"==a.type&&c.setAttributeNS("http://www.w3.org/1999/xlink","href",g);break;case "stroke-width":if(1!=a._.sx||1!=a._.sy)g/=Dd(Ac(a._.sx),Ac(a._.sy))||1;a.paper._vbSize&&(g*=a.paper._vbSize);
c.setAttribute(f,g);d["stroke-dasharray"]&&Se(a,d["stroke-dasharray"],b);a._.arrows&&("startString"in a._.arrows&&jb(a,a._.arrows.startString),"endString"in a._.arrows&&jb(a,a._.arrows.endString,1));break;case "stroke-dasharray":Se(a,g,b);break;case "fill":var l=Ga(g).match(t._ISURL);if(l){var h=C("pattern"),n=C("image");h.id=t.createUUID();C(h,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});C(n,{x:0,y:0,"xlink:href":l[1]});h.appendChild(n);(function(b){t._preload(l[1],function(){var c=
this.offsetWidth,d=this.offsetHeight;C(b,{width:c,height:d});C(n,{width:c,height:d});a.paper.safari()})})(h);a.paper.defs.appendChild(h);C(c,{fill:"url(#"+h.id+")"});a.pattern=h;a.pattern&&Cc(a);break}k=t.getRGB(g);if(k.error){if(("circle"==a.type||"ellipse"==a.type||"r"!=Ga(g).charAt())&&Re(a,g)){if("opacity"in d||"fill-opacity"in d)if(k=t._g.doc.getElementById(c.getAttribute("fill").replace(/^url\(#|\)$/g,"")))k=k.getElementsByTagName("stop"),C(k[k.length-1],{"stop-opacity":("opacity"in d?d.opacity:
1)*("fill-opacity"in d?d["fill-opacity"]:1)});d.gradient=g;d.fill="none";break}}else delete b.gradient,delete d.gradient,!t.is(d.opacity,"undefined")&&t.is(b.opacity,"undefined")&&C(c,{opacity:d.opacity}),!t.is(d["fill-opacity"],"undefined")&&t.is(b["fill-opacity"],"undefined")&&C(c,{"fill-opacity":d["fill-opacity"]});k.hasOwnProperty("opacity")&&C(c,{"fill-opacity":1<k.opacity?k.opacity/100:k.opacity});case "stroke":k=t.getRGB(g);c.setAttribute(f,k.hex);"stroke"==f&&k.hasOwnProperty("opacity")&&
C(c,{"stroke-opacity":1<k.opacity?k.opacity/100:k.opacity});"stroke"==f&&a._.arrows&&("startString"in a._.arrows&&jb(a,a._.arrows.startString),"endString"in a._.arrows&&jb(a,a._.arrows.endString,1));break;case "gradient":("circle"==a.type||"ellipse"==a.type||"r"!=Ga(g).charAt())&&Re(a,g);break;case "opacity":d.gradient&&!d.hasOwnProperty("stroke-opacity")&&C(c,{"stroke-opacity":1<g?g/100:g});case "fill-opacity":if(d.gradient){if(k=t._g.doc.getElementById(c.getAttribute("fill").replace(/^url\(#|\)$/g,
"")))k=k.getElementsByTagName("stop"),C(k[k.length-1],{"stop-opacity":g});break}default:"font-size"==f&&(g=Qe(g,10)+"px"),k=f.replace(/(\-.)/g,function(a){return a.substring(1).toUpperCase()}),c.style[k]=g,a._.dirty=1,c.setAttribute(f,g)}}if(!("text"!=a.type||!b.hasOwnProperty("text")&&!b.hasOwnProperty("font")&&!b.hasOwnProperty("font-size")&&!b.hasOwnProperty("x")&&!b.hasOwnProperty("y"))){f=a.attrs;g=a.node;k=g.firstChild?Qe(t._g.doc.defaultView.getComputedStyle(g.firstChild,"").getPropertyValue("font-size"),
10):10;if(b.hasOwnProperty("text")){for(f.text=b.text;g.firstChild;)g.removeChild(g.firstChild);for(var h=Ga(b.text).split("\n"),d=[],m=0,r=h.length;m<r;m++)j=C("tspan"),m&&C(j,{dy:1.2*k,x:f.x}),j.appendChild(t._g.doc.createTextNode(h[m])),g.appendChild(j),d[m]=j}else{d=g.getElementsByTagName("tspan");m=0;for(r=d.length;m<r;m++)m?C(d[m],{dy:1.2*k,x:f.x}):C(d[0],{dy:0})}C(g,{x:f.x,y:f.y});a._.dirty=1;g=a._getBBox();(f=f.y-(g.y+g.height/2))&&t.is(f,"finite")&&C(d[0],{dy:f})}c.style.visibility=e},kb=
function(a,b){this[0]=this.node=a;a.raphael=!0;this.id=t._oid++;a.raphaelid=this.id;this.matrix=t.matrix();this.realPath=null;this.paper=b;this.attrs=this.attrs||{};this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};!b.bottom&&(b.bottom=this);(this.prev=b.top)&&(b.top.next=this);b.top=this;this.next=null},ha=t.el;kb.prototype=ha;ha.constructor=kb;t._engine.path=function(a,b){var c=C("path");b.canvas&&b.canvas.appendChild(c);c=new kb(c,b);c.type="path";Fd(c,{fill:"none",stroke:"#000",path:a});
return c};ha.rotate=function(a,b,c){if(this.removed)return this;a=Ga(a).split($b);a.length-1&&(b=Ia(a[1]),c=Ia(a[2]));a=Ia(a[0]);null==c&&(b=c);if(null==b||null==c)c=this.getBBox(1),b=c.x+c.width/2,c=c.y+c.height/2;this.transform(this._.transform.concat([["r",a,b,c]]));return this};ha.scale=function(a,b,c,d){if(this.removed)return this;a=Ga(a).split($b);a.length-1&&(b=Ia(a[1]),c=Ia(a[2]),d=Ia(a[3]));a=Ia(a[0]);null==b&&(b=a);null==d&&(c=d);if(null==c||null==d)var e=this.getBBox(1);c=null==c?e.x+e.width/
2:c;d=null==d?e.y+e.height/2:d;this.transform(this._.transform.concat([["s",a,b,c,d]]));return this};ha.translate=function(a,b){if(this.removed)return this;a=Ga(a).split($b);a.length-1&&(b=Ia(a[1]));a=Ia(a[0])||0;this.transform(this._.transform.concat([["t",a,+b||0]]));return this};ha.transform=function(a){var b=this._;if(null==a)return b.transform;t._extractTransform(this,a);this.clip&&C(this.clip,{transform:this.matrix.invert()});this.pattern&&Cc(this);this.node&&C(this.node,{transform:this.matrix});
if(1!=b.sx||1!=b.sy)a=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":a});return this};ha.hide=function(){!this.removed&&this.paper.safari(this.node.style.display="none");return this};ha.show=function(){!this.removed&&this.paper.safari(this.node.style.display="");return this};ha.remove=function(){if(!this.removed&&this.node.parentNode){var a=this.paper;a.__set__&&a.__set__.exclude(this);Bc.unbind("raphael.*.*."+this.id);this.gradient&&a.defs.removeChild(this.gradient);
t._tear(this,a);"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.removeChild(this.node.parentNode):this.node.parentNode.removeChild(this.node);for(var b in this)this[b]="function"==typeof this[b]?t._removedFactory(b):null;this.removed=!0}};ha._getBBox=function(){if("none"==this.node.style.display){this.show();var a=!0}var b={};try{b=this.node.getBBox()}catch(c){}finally{b=b||{}}a&&this.hide();return b};ha.attr=function(a,b){if(this.removed)return this;if(null==a){var c=
{},d;for(d in this.attrs)this.attrs.hasOwnProperty(d)&&(c[d]=this.attrs[d]);c.gradient&&"none"==c.fill&&(c.fill=c.gradient)&&delete c.gradient;c.transform=this._.transform;return c}if(null==b&&t.is(a,"string")){if("fill"==a&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==a)return this._.transform;d=a.split($b);for(var c={},e=0,f=d.length;e<f;e++)a=d[e],c[a]=a in this.attrs?this.attrs[a]:t.is(this.paper.customAttributes[a],"function")?this.paper.customAttributes[a].def:
t._availableAttrs[a];return f-1?c:c[d[0]]}if(null==b&&t.is(a,"array")){c={};e=0;for(f=a.length;e<f;e++)c[a[e]]=this.attr(a[e]);return c}null!=b?(c={},c[a]=b):null!=a&&t.is(a,"object")&&(c=a);for(e in c)Bc("raphael.attr."+e+"."+this.id,this,c[e]);for(e in this.paper.customAttributes)if(this.paper.customAttributes.hasOwnProperty(e)&&c.hasOwnProperty(e)&&t.is(this.paper.customAttributes[e],"function"))for(f in d=this.paper.customAttributes[e].apply(this,[].concat(c[e])),this.attrs[e]=c[e],d)d.hasOwnProperty(f)&&
(c[f]=d[f]);Fd(this,c);return this};ha.toFront=function(){if(this.removed)return this;"a"==this.node.parentNode.tagName.toLowerCase()?this.node.parentNode.parentNode.appendChild(this.node.parentNode):this.node.parentNode.appendChild(this.node);var a=this.paper;a.top!=this&&t._tofront(this,a);return this};ha.toBack=function(){if(this.removed)return this;var a=this.node.parentNode;"a"==a.tagName.toLowerCase()?a.parentNode.insertBefore(this.node.parentNode,this.node.parentNode.parentNode.firstChild):
a.firstChild!=this.node&&a.insertBefore(this.node,this.node.parentNode.firstChild);t._toback(this,this.paper);return this};ha.insertAfter=function(a){if(this.removed)return this;var b=a.node||a[a.length-1].node;b.nextSibling?b.parentNode.insertBefore(this.node,b.nextSibling):b.parentNode.appendChild(this.node);t._insertafter(this,a,this.paper);return this};ha.insertBefore=function(a){if(this.removed)return this;var b=a.node||a[0].node;b.parentNode.insertBefore(this.node,b);t._insertbefore(this,a,
this.paper);return this};ha.blur=function(a){if(0!==+a){var b=C("filter"),c=C("feGaussianBlur");this.attrs.blur=a;b.id=t.createUUID();C(c,{stdDeviation:+a||1.5});b.appendChild(c);this.paper.defs.appendChild(b);this._blur=b;C(this.node,{filter:"url(#"+b.id+")"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),this.node.removeAttribute("filter")};t._engine.circle=function(a,b,c,d){var e=C("circle");a.canvas&&a.canvas.appendChild(e);a=new kb(e,
a);a.attrs={cx:b,cy:c,r:d,fill:"none",stroke:"#000"};a.type="circle";C(e,a.attrs);return a};t._engine.rect=function(a,b,c,d,e,f){var g=C("rect");a.canvas&&a.canvas.appendChild(g);a=new kb(g,a);a.attrs={x:b,y:c,width:d,height:e,r:f||0,rx:f||0,ry:f||0,fill:"none",stroke:"#000"};a.type="rect";C(g,a.attrs);return a};t._engine.ellipse=function(a,b,c,d,e){var f=C("ellipse");a.canvas&&a.canvas.appendChild(f);a=new kb(f,a);a.attrs={cx:b,cy:c,rx:d,ry:e,fill:"none",stroke:"#000"};a.type="ellipse";C(f,a.attrs);
return a};t._engine.image=function(a,b,c,d,e,f){var g=C("image");C(g,{x:c,y:d,width:e,height:f,preserveAspectRatio:"none"});g.setAttributeNS("http://www.w3.org/1999/xlink","href",b);a.canvas&&a.canvas.appendChild(g);a=new kb(g,a);a.attrs={x:c,y:d,width:e,height:f,src:b};a.type="image";return a};t._engine.text=function(a,b,c,d){var e=C("text");a.canvas&&a.canvas.appendChild(e);a=new kb(e,a);a.attrs={x:b,y:c,"text-anchor":"middle",text:d,font:t._availableAttrs.font,stroke:"none",fill:"#000"};a.type=
"text";Fd(a,a.attrs);return a};t._engine.setSize=function(a,b){this.width=a||this.width;this.height=b||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this};t._engine.create=function(){var a=t._getContainer.apply(0,arguments),b=a&&a.container,c=a.x,d=a.y,e=a.width,a=a.height;if(!b)throw Error("SVG container not found.");var f=C("svg"),g,c=c||0,d=d||0,e=e||512,a=a||342;C(f,{height:a,
version:1.1,width:e,xmlns:"http://www.w3.org/2000/svg"});1==b?(f.style.cssText="overflow:hidden;position:absolute;left:"+c+"px;top:"+d+"px",t._g.doc.body.appendChild(f),g=1):(f.style.cssText="overflow:hidden;position:relative",b.firstChild?b.insertBefore(f,b.firstChild):b.appendChild(f));b=new t._Paper;b.width=e;b.height=a;b.canvas=f;b.clear();b._left=b._top=0;g&&(b.renderfix=function(){});b.renderfix();return b};t._engine.setViewBox=function(a,b,c,d,e){Bc("raphael.setViewBox",this,this._viewBox,
[a,b,c,d,e]);var f=Dd(c/this.width,d/this.height),g=this.top,k=e?"meet":"xMinYMin",h;null==a?(this._vbSize&&(f=1),delete this._vbSize,h="0 0 "+this.width+" "+this.height):(this._vbSize=f,h=a+" "+b+" "+c+" "+d);for(C(this.canvas,{viewBox:h,preserveAspectRatio:k});f&&g;)k="stroke-width"in g.attrs?g.attrs["stroke-width"]:1,g.attr({"stroke-width":k}),g._.dirty=1,g._.dirtyT=1,g=g.prev;this._viewBox=[a,b,c,d,!!e];return this};t.prototype.renderfix=function(){var a=this.canvas,b=a.style,c;try{c=a.getScreenCTM()||
a.createSVGMatrix()}catch(d){c=a.createSVGMatrix()}a=-c.e%1;c=-c.f%1;if(a||c)a&&(this._left=(this._left+a)%1,b.left=this._left+"px"),c&&(this._top=(this._top+c)%1,b.top=this._top+"px")};t.prototype.clear=function(){t.eve("raphael.clear",this);for(var a=this.canvas;a.firstChild;)a.removeChild(a.firstChild);this.bottom=this.top=null;(this.desc=C("desc")).appendChild(t._g.doc.createTextNode("Created with Rapha\u00ebl "+t.version));a.appendChild(this.desc);a.appendChild(this.defs=C("defs"))};t.prototype.remove=
function(){Bc("raphael.remove",this);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]="function"==typeof this[a]?t._removedFactory(a):null};var Te=t.st,ac;for(ac in ha)ha.hasOwnProperty(ac)&&!Te.hasOwnProperty(ac)&&(Te[ac]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(ac))}if(window.Raphael.vml){var w=window.Raphael,ea=String,za=parseFloat,bc=Math,Aa=bc.round,Gd=bc.max,Ue=bc.min,Dc=bc.abs,cc=/[, ]+/,
Bg=w.eve,Ve={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},Cg=/([clmz]),?([^clmz]*)/gi,Dg=/ progid:\S+Blur\([^\)]+\)/g,Eg=/-?[^,\s-]+/g,Fg={path:1,rect:1,image:1},Gg={circle:1,ellipse:1},We=function(a,b,c){var d=w.matrix();d.rotate(-a,0.5,0.5);return{dx:d.x(b,c),dy:d.y(b,c)}},Ec=function(a,b,c,d,e,f){var g=a._,k=a.matrix,h=g.fillpos;a=a.node;var j=a.style,l=1,n="",m=21600/b,r=21600/c;j.visibility="hidden";if(b&&c){a.coordsize=Dc(m)+" "+Dc(r);j.rotation=f*(0>b*c?-1:1);f&&(e=We(f,d,e),d=e.dx,e=e.dy);
0>b&&(n+="x");0>c&&(n+=" y")&&(l=-1);j.flip=n;a.coordorigin=d*-m+" "+e*-r;if(h||g.fillsize)d=(d=a.getElementsByTagName("fill"))&&d[0],a.removeChild(d),h&&(e=We(f,k.x(h[0],h[1]),k.y(h[0],h[1])),d.position=e.dx*l+" "+e.dy*l),g.fillsize&&(d.size=g.fillsize[0]*Dc(b)+" "+g.fillsize[1]*Dc(c)),a.appendChild(d);j.visibility="visible"}};w.toString=function(){return"Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\u00ebl "+this.version};var Xe=function(a,b,c){b=ea(b).toLowerCase().split("-");
c=c?"end":"start";for(var d=b.length,e="classic",f="medium",g="medium";d--;)switch(b[d]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":e=b[d];break;case "wide":case "narrow":g=b[d];break;case "long":case "short":f=b[d]}a=a.node.getElementsByTagName("stroke")[0];a[c+"arrow"]=e;a[c+"arrowlength"]=f;a[c+"arrowwidth"]=g},dc=function(a,b){a.attrs=a.attrs||{};var c=a.node,d=a.attrs,e=c.style,f=Fg[a.type]&&(b.x!=d.x||b.y!=d.y||b.width!=d.width||b.height!=d.height||b.cx!=
d.cx||b.cy!=d.cy||b.rx!=d.rx||b.ry!=d.ry||b.r!=d.r),g=Gg[a.type]&&(d.cx!=b.cx||d.cy!=b.cy||d.r!=b.r||d.rx!=b.rx||d.ry!=b.ry),k;for(k in b)b.hasOwnProperty(k)&&(d[k]=b[k]);f&&(d.path=w._getPath[a.type](a),a._.dirty=1);b.href&&(c.href=b.href);b.title&&(c.title=b.title);b.target&&(c.target=b.target);b.cursor&&(e.cursor=b.cursor);"blur"in b&&a.blur(b.blur);if(b.path&&"path"==a.type||f){e=~ea(d.path).toLowerCase().indexOf("r")?w._pathToAbsolute(d.path):d.path;f=/[ahqstv]/ig;k=w._pathToAbsolute;ea(e).match(f)&&
(k=w._path2curve);f=/[clmz]/g;if(k==w._pathToAbsolute&&!ea(e).match(f))e=ea(e).replace(Cg,function(a,b,c){var d=[],e="m"==b.toLowerCase(),f=Ve[b];c.replace(Eg,function(a){e&&2==d.length&&(f+=d+Ve["m"==b?"l":"L"],d=[]);d.push(Aa(21600*a))});return f+d});else{for(var f=k(e),h,e=[],j=0,l=f.length;j<l;j++){k=f[j];h=f[j][0].toLowerCase();"z"==h&&(h="x");for(var n=1,m=k.length;n<m;n++)h+=Aa(21600*k[n])+(n!=m-1?",":"");e.push(h)}e=e.join(" ")}c.path=e;"image"==a.type&&(a._.fillpos=[d.x,d.y],a._.fillsize=
[d.width,d.height],Ec(a,1,1,0,0,0))}"transform"in b&&a.transform(b.transform);g&&(g=+d.cx,e=+d.cy,f=+d.rx||+d.r||0,k=+d.ry||+d.r||0,c.path=w.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",Aa(21600*(g-f)),Aa(21600*(e-k)),Aa(21600*(g+f)),Aa(21600*(e+k)),Aa(21600*g)));"clip-rect"in b&&(g=ea(b["clip-rect"]).split(cc),4==g.length&&(g[2]=+g[2]+ +g[0],g[3]=+g[3]+ +g[1],e=c.clipRect||w._g.doc.createElement("div"),f=e.style,f.clip=w.format("rect({1}px {2}px {3}px {0}px)",g),c.clipRect||(f.position="absolute",
f.top=0,f.left=0,f.width=a.paper.width+"px",f.height=a.paper.height+"px",c.parentNode.insertBefore(e,c),e.appendChild(c),c.clipRect=e)),b["clip-rect"]||c.clipRect&&(c.clipRect.style.clip="auto"));a.textpath&&(g=a.textpath.style,b.font&&(g.font=b.font),b["font-family"]&&(g.fontFamily='"'+b["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),b["font-size"]&&(g.fontSize=b["font-size"]),b["font-weight"]&&(g.fontWeight=b["font-weight"]),b["font-style"]&&(g.fontStyle=b["font-style"]));"arrow-start"in
b&&Xe(a,b["arrow-start"]);"arrow-end"in b&&Xe(a,b["arrow-end"],1);if(null!=b.opacity||null!=b["stroke-width"]||null!=b.fill||null!=b.src||null!=b.stroke||null!=b["stroke-width"]||null!=b["stroke-opacity"]||null!=b["fill-opacity"]||null!=b["stroke-dasharray"]||null!=b["stroke-miterlimit"]||null!=b["stroke-linejoin"]||null!=b["stroke-linecap"]){g=(g=c.getElementsByTagName("fill"))&&g[0];!g&&(g=Wa("fill"));"image"==a.type&&b.src&&(g.src=b.src);b.fill&&(g.on=!0);if(null==g.on||"none"==b.fill||null===
b.fill)g.on=!1;if(g.on&&b.fill)if(e=ea(b.fill).match(w._ISURL)){g.parentNode==c&&c.removeChild(g);g.rotate=!0;g.src=e[1];g.type="tile";var r=a.getBBox(1);g.position=r.x+" "+r.y;a._.fillpos=[r.x,r.y];w._preload(e[1],function(){a._.fillsize=[this.offsetWidth,this.offsetHeight]})}else{g.color=w.getRGB(b.fill).hex;g.src="";g.type="solid";if(e=w.getRGB(b.fill).error)if(e=a.type in{circle:1,ellipse:1}||"r"!=ea(b.fill).charAt())a:{e=a;k=b.fill;f=g;e.attrs=e.attrs||{};var q=Math.pow,u="linear",H=".5 .5";
e.attrs.gradient=k;k=ea(k).replace(w._radial_gradient,function(a,b,c){u="radial";b&&c&&(b=za(b),c=za(c),0.25<q(b-0.5,2)+q(c-0.5,2)&&(c=bc.sqrt(0.25-q(b-0.5,2))*(2*(0.5<c)-1)+0.5),H=b+" "+c);return""});k=k.split(/\s*\-\s*/);if("linear"==u&&(r=k.shift(),r=-za(r),isNaN(r))){e=null;break a}if(k=w._parseDots(k)){e=e.shape||e.node;if(k.length){e.removeChild(f);f.on=!0;f.method="none";f.color=k[0].color;f.color2=k[k.length-1].color;h=[];j=0;for(l=k.length;j<l;j++)k[j].offset&&h.push(k[j].offset+" "+k[j].color);
f.colors=h.length?h.join():"0% "+f.color;"radial"==u?(f.type="gradientTitle",f.focus="100%",f.focussize="0 0",f.focusposition=H,f.angle=0):(f.type="gradient",f.angle=(270-r)%360);e.appendChild(f)}e=1}else e=null}e&&(d.fill="none",d.gradient=b.fill,g.rotate=!1)}if("fill-opacity"in b||"opacity"in b)e=((+d["fill-opacity"]+1||2)-1)*((+d.opacity+1||2)-1)*((+w.getRGB(b.fill).o+1||2)-1),e=Ue(Gd(e,0),1),g.opacity=e,g.src&&(g.color="none");c.appendChild(g);r=c.getElementsByTagName("stroke")&&c.getElementsByTagName("stroke")[0];
g=!1;!r&&(g=r=Wa("stroke"));if(b.stroke&&"none"!=b.stroke||b["stroke-width"]||null!=b["stroke-opacity"]||b["stroke-dasharray"]||b["stroke-miterlimit"]||b["stroke-linejoin"]||b["stroke-linecap"])r.on=!0;("none"==b.stroke||null===b.stroke||null==r.on||0==b.stroke||0==b["stroke-width"])&&(r.on=!1);e=w.getRGB(b.stroke);r.on&&b.stroke&&(r.color=e.hex);e=((+d["stroke-opacity"]+1||2)-1)*((+d.opacity+1||2)-1)*((+e.o+1||2)-1);f=0.75*(za(b["stroke-width"])||1);e=Ue(Gd(e,0),1);null==b["stroke-width"]&&(f=d["stroke-width"]);
b["stroke-width"]&&(r.weight=f);f&&1>f&&(e*=f)&&(r.weight=1);r.opacity=e;b["stroke-linejoin"]&&(r.joinstyle=b["stroke-linejoin"]||"miter");r.miterlimit=b["stroke-miterlimit"]||8;b["stroke-linecap"]&&(r.endcap="butt"==b["stroke-linecap"]?"flat":"square"==b["stroke-linecap"]?"square":"round");b["stroke-dasharray"]&&(e={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},r.dashstyle=
e.hasOwnProperty(b["stroke-dasharray"])?e[b["stroke-dasharray"]]:"");g&&c.appendChild(r)}if("text"==a.type){a.paper.canvas.style.display="";c=a.paper.span;r=d.font&&d.font.match(/\d+(?:\.\d*)?(?=px)/);e=c.style;d.font&&(e.font=d.font);d["font-family"]&&(e.fontFamily=d["font-family"]);d["font-weight"]&&(e.fontWeight=d["font-weight"]);d["font-style"]&&(e.fontStyle=d["font-style"]);r=za(d["font-size"]||r&&r[0])||10;e.fontSize=100*r+"px";a.textpath.string&&(c.innerHTML=ea(a.textpath.string).replace(/</g,
"<").replace(/&/g,"&").replace(/\n/g,"<br>"));c=c.getBoundingClientRect();a.W=d.w=(c.right-c.left)/100;a.H=d.h=(c.bottom-c.top)/100;a.X=d.x;a.Y=d.y+a.H/2;("x"in b||"y"in b)&&(a.path.v=w.format("m{0},{1}l{2},{1}",Aa(21600*d.x),Aa(21600*d.y),Aa(21600*d.x)+1));c="x y text font font-family font-weight font-style font-size".split(" ");r=0;for(g=c.length;r<g;r++)if(c[r]in b){a._.dirty=1;break}switch(d["text-anchor"]){case "start":a.textpath.style["v-text-align"]="left";a.bbx=a.W/2;break;case "end":a.textpath.style["v-text-align"]=
"right";a.bbx=-a.W/2;break;default:a.textpath.style["v-text-align"]="center",a.bbx=0}a.textpath.style["v-text-kern"]=!0}},Fc=function(a,b){this[0]=this.node=a;a.raphael=!0;this.id=w._oid++;a.raphaelid=this.id;this.Y=this.X=0;this.attrs={};this.paper=b;this.matrix=w.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};!b.bottom&&(b.bottom=this);(this.prev=b.top)&&(b.top.next=this);b.top=this;this.next=null},ia=w.el;Fc.prototype=ia;ia.constructor=Fc;ia.transform=function(a){if(null==
a)return this._.transform;var b=this.paper._viewBoxShift,c=b?"s"+[b.scale,b.scale]+"-1-1t"+[b.dx,b.dy]:"",d;b&&(d=a=ea(a).replace(/\.{3}|\u2026/g,this._.transform||""));w._extractTransform(this,c+a);var b=this.matrix.clone(),e=this.skew;a=this.node;var c=~ea(this.attrs.fill).indexOf("-"),f=!ea(this.attrs.fill).indexOf("url(");b.translate(-0.5,-0.5);f||c||"image"==this.type?(e.matrix="1 0 0 1",e.offset="0 0",e=b.split(),c&&e.noRotation||!e.isSimple?(a.style.filter=b.toFilter(),c=this.getBBox(),e=this.getBBox(1),
b=c.x-e.x,c=c.y-e.y,a.coordorigin=-21600*b+" "+-21600*c,Ec(this,1,1,b,c,0)):(a.style.filter="",Ec(this,e.scalex,e.scaley,e.dx,e.dy,e.rotate))):(a.style.filter="",e.matrix=ea(b),e.offset=b.offset());d&&(this._.transform=d);return this};ia.rotate=function(a,b,c){if(this.removed)return this;if(null!=a){a=ea(a).split(cc);a.length-1&&(b=za(a[1]),c=za(a[2]));a=za(a[0]);null==c&&(b=c);if(null==b||null==c)c=this.getBBox(1),b=c.x+c.width/2,c=c.y+c.height/2;this._.dirtyT=1;this.transform(this._.transform.concat([["r",
a,b,c]]));return this}};ia.translate=function(a,b){if(this.removed)return this;a=ea(a).split(cc);a.length-1&&(b=za(a[1]));a=za(a[0])||0;b=+b||0;this._.bbox&&(this._.bbox.x+=a,this._.bbox.y+=b);this.transform(this._.transform.concat([["t",a,b]]));return this};ia.scale=function(a,b,c,d){if(this.removed)return this;a=ea(a).split(cc);a.length-1&&(b=za(a[1]),c=za(a[2]),d=za(a[3]),isNaN(c)&&(c=null),isNaN(d)&&(d=null));a=za(a[0]);null==b&&(b=a);null==d&&(c=d);if(null==c||null==d)var e=this.getBBox(1);c=
null==c?e.x+e.width/2:c;d=null==d?e.y+e.height/2:d;this.transform(this._.transform.concat([["s",a,b,c,d]]));this._.dirtyT=1;return this};ia.hide=function(){!this.removed&&(this.node.style.display="none");return this};ia.show=function(){!this.removed&&(this.node.style.display="");return this};ia._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y-this.H,width:this.W,height:this.H}};ia.remove=function(){if(!this.removed&&this.node.parentNode){this.paper.__set__&&this.paper.__set__.exclude(this);
w.eve.unbind("raphael.*.*."+this.id);w._tear(this,this.paper);this.node.parentNode.removeChild(this.node);this.shape&&this.shape.parentNode.removeChild(this.shape);for(var a in this)this[a]="function"==typeof this[a]?w._removedFactory(a):null;this.removed=!0}};ia.attr=function(a,b){if(this.removed)return this;if(null==a){var c={},d;for(d in this.attrs)this.attrs.hasOwnProperty(d)&&(c[d]=this.attrs[d]);c.gradient&&"none"==c.fill&&(c.fill=c.gradient)&&delete c.gradient;c.transform=this._.transform;
return c}if(null==b&&w.is(a,"string")){if("fill"==a&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;d=a.split(cc);for(var c={},e=0,f=d.length;e<f;e++)a=d[e],c[a]=a in this.attrs?this.attrs[a]:w.is(this.paper.customAttributes[a],"function")?this.paper.customAttributes[a].def:w._availableAttrs[a];return f-1?c:c[d[0]]}if(this.attrs&&null==b&&w.is(a,"array")){c={};e=0;for(f=a.length;e<f;e++)c[a[e]]=this.attr(a[e]);return c}null!=b&&(c={},c[a]=b);null==b&&w.is(a,"object")&&(c=
a);for(e in c)Bg("raphael.attr."+e+"."+this.id,this,c[e]);if(c){for(e in this.paper.customAttributes)if(this.paper.customAttributes.hasOwnProperty(e)&&c.hasOwnProperty(e)&&w.is(this.paper.customAttributes[e],"function"))for(f in d=this.paper.customAttributes[e].apply(this,[].concat(c[e])),this.attrs[e]=c[e],d)d.hasOwnProperty(f)&&(c[f]=d[f]);c.text&&"text"==this.type&&(this.textpath.string=c.text);dc(this,c)}return this};ia.toFront=function(){!this.removed&&this.node.parentNode.appendChild(this.node);
this.paper&&this.paper.top!=this&&w._tofront(this,this.paper);return this};ia.toBack=function(){if(this.removed)return this;this.node.parentNode.firstChild!=this.node&&(this.node.parentNode.insertBefore(this.node,this.node.parentNode.firstChild),w._toback(this,this.paper));return this};ia.insertAfter=function(a){if(this.removed)return this;a.constructor==w.st.constructor&&(a=a[a.length-1]);a.node.nextSibling?a.node.parentNode.insertBefore(this.node,a.node.nextSibling):a.node.parentNode.appendChild(this.node);
w._insertafter(this,a,this.paper);return this};ia.insertBefore=function(a){if(this.removed)return this;a.constructor==w.st.constructor&&(a=a[0]);a.node.parentNode.insertBefore(this.node,a.node);w._insertbefore(this,a,this.paper);return this};ia.blur=function(a){var b=this.node.runtimeStyle,c=b.filter,c=c.replace(Dg,"");0!==+a?(this.attrs.blur=a,b.filter=c+" progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+a||1.5)+")",b.margin=w.format("-{0}px 0 0 -{0}px",Aa(+a||1.5))):(b.filter=c,b.margin=
0,delete this.attrs.blur)};w._engine.path=function(a,b){var c=Wa("shape");c.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";c.coordsize="21600 21600";c.coordorigin=b.coordorigin;var d=new Fc(c,b),e={fill:"none",stroke:"#000"};a&&(e.path=a);d.type="path";d.path=[];d.Path="";dc(d,e);b.canvas.appendChild(c);e=Wa("skew");e.on=!0;c.appendChild(e);d.skew=e;d.transform("");return d};w._engine.rect=function(a,b,c,d,e,f){var g=w._rectPath(b,c,d,e,f);a=a.path(g);var k=a.attrs;a.X=k.x=b;
a.Y=k.y=c;a.W=k.width=d;a.H=k.height=e;k.r=f;k.path=g;a.type="rect";return a};w._engine.ellipse=function(a,b,c,d,e){a=a.path();a.X=b-d;a.Y=c-e;a.W=2*d;a.H=2*e;a.type="ellipse";dc(a,{cx:b,cy:c,rx:d,ry:e});return a};w._engine.circle=function(a,b,c,d){a=a.path();a.X=b-d;a.Y=c-d;a.W=a.H=2*d;a.type="circle";dc(a,{cx:b,cy:c,r:d});return a};w._engine.image=function(a,b,c,d,e,f){var g=w._rectPath(c,d,e,f);a=a.path(g).attr({stroke:"none"});var k=a.attrs,h=a.node,j=h.getElementsByTagName("fill")[0];k.src=b;
a.X=k.x=c;a.Y=k.y=d;a.W=k.width=e;a.H=k.height=f;k.path=g;a.type="image";j.parentNode==h&&h.removeChild(j);j.rotate=!0;j.src=b;j.type="tile";a._.fillpos=[c,d];a._.fillsize=[e,f];h.appendChild(j);Ec(a,1,1,0,0,0);return a};w._engine.text=function(a,b,c,d){var e=Wa("shape"),f=Wa("path"),g=Wa("textpath");b=b||0;c=c||0;d=d||"";f.v=w.format("m{0},{1}l{2},{1}",Aa(21600*b),Aa(21600*c),Aa(21600*b)+1);f.textpathok=!0;g.string=ea(d);g.on=!0;e.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";
e.coordsize="21600 21600";e.coordorigin="0 0";var k=new Fc(e,a),h={fill:"#000",stroke:"none",font:w._availableAttrs.font,text:d};k.shape=e;k.path=f;k.textpath=g;k.type="text";k.attrs.text=ea(d);k.attrs.x=b;k.attrs.y=c;k.attrs.w=1;k.attrs.h=1;dc(k,h);e.appendChild(g);e.appendChild(f);a.canvas.appendChild(e);a=Wa("skew");a.on=!0;e.appendChild(a);k.skew=a;k.transform("");return k};w._engine.setSize=function(a,b){var c=this.canvas.style;this.width=a;this.height=b;a==+a&&(a+="px");b==+b&&(b+="px");c.width=
a;c.height=b;c.clip="rect(0 "+a+" "+b+" 0)";this._viewBox&&w._engine.setViewBox.apply(this,this._viewBox);return this};w._engine.setViewBox=function(a,b,c,d,e){w.eve("raphael.setViewBox",this,this._viewBox,[a,b,c,d,e]);var f=this.width,g=this.height,k=1/Gd(c/f,d/g),h,j;e&&(h=g/d,j=f/c,c*h<f&&(a-=(f-c*h)/2/h),d*j<g&&(b-=(g-d*j)/2/j));this._viewBox=[a,b,c,d,!!e];this._viewBoxShift={dx:-a,dy:-b,scale:k};this.forEach(function(a){a.transform("...")});return this};var Wa;w._engine.initWin=function(a){var b=
a.document;b.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!b.namespaces.rvml&&b.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),Wa=function(a){return b.createElement("<rvml:"+a+' class="rvml">')}}catch(c){Wa=function(a){return b.createElement("<"+a+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">')}}};w._engine.initWin(w._g.win);w._engine.create=function(){var a=w._getContainer.apply(0,arguments),b=a.container,c=a.height,d=a.width,e=a.x,a=a.y;if(!b)throw Error("VML container not found.");
var f=new w._Paper,g=f.canvas=w._g.doc.createElement("div"),k=g.style,e=e||0,a=a||0,d=d||512,c=c||342;f.width=d;f.height=c;d==+d&&(d+="px");c==+c&&(c+="px");f.coordsize="21600000 21600000";f.coordorigin="0 0";f.span=w._g.doc.createElement("span");f.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";g.appendChild(f.span);k.cssText=w.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",
d,c);1==b?(w._g.doc.body.appendChild(g),k.left=e+"px",k.top=a+"px",k.position="absolute"):b.firstChild?b.insertBefore(g,b.firstChild):b.appendChild(g);f.renderfix=function(){};return f};w.prototype.clear=function(){w.eve("raphael.clear",this);this.canvas.innerHTML="";this.span=w._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};w.prototype.remove=
function(){w.eve("raphael.remove",this);this.canvas.parentNode.removeChild(this.canvas);for(var a in this)this[a]="function"==typeof this[a]?w._removedFactory(a):null;return!0};var Ye=w.st,ec;for(ec in ia)ia.hasOwnProperty(ec)&&!Ye.hasOwnProperty(ec)&&(Ye[ec]=function(a){return function(){var b=arguments;return this.forEach(function(c){c[a].apply(c,b)})}}(ec))}var ja;ja||(ja={});(function(){function a(a){return 10>a?"0"+a:a}function b(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var b=
k[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(a,d){var e,k,j,l,m=f,q,y=d[a];y&&("object"===typeof y&&"function"===typeof y.toJSON)&&(y=y.toJSON(a));"function"===typeof h&&(y=h.call(d,a,y));switch(typeof y){case "string":return b(y);case "number":return isFinite(y)?String(y):"null";case "boolean":case "null":return String(y);case "object":if(!y)return"null";f+=g;q=[];if("[object Array]"===Object.prototype.toString.apply(y)){l=y.length;
for(e=0;e<l;e+=1)q[e]=c(e,y)||"null";j=0===q.length?"[]":f?"[\n"+f+q.join(",\n"+f)+"\n"+m+"]":"["+q.join(",")+"]";f=m;return j}if(h&&"object"===typeof h){l=h.length;for(e=0;e<l;e+=1)"string"===typeof h[e]&&(k=h[e],(j=c(k,y))&&q.push(b(k)+(f?": ":":")+j))}else for(k in y)Object.prototype.hasOwnProperty.call(y,k)&&(j=c(k,y))&&q.push(b(k)+(f?": ":":")+j);j=0===q.length?"{}":f?"{\n"+f+q.join(",\n"+f)+"\n"+m+"}":"{"+q.join(",")+"}";f=m;return j}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=
function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var d=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
f,g,k={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},h;"function"!==typeof ja.stringify&&(ja.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((h=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})});"function"!==typeof ja.parse&&(ja.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,
e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=String(a);d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();Date.now||
(Date.now=function(){return+new Date});var la,Hd,Ze=Array.prototype,$e=Ze.forEach,Id=Ze.map,af={};la=function(a,b,c){var d=[];if(null==a)return d;if(Id&&a.map===Id)return a.map(b,c);Hd(a,function(a,f,g){d[d.length]=b.call(c,a,f,g)});a.length===+a.length&&(d.length=a.length);return d};Hd=function(a,b,c){if(null!=a)if($e&&a.forEach===$e)a.forEach(b,c);else if(a.length===+a.length)for(var d=0,e=a.length;d<e&&!(d in a&&b.call(c,a[d],d,a)===af);d++);else for(d in a)if(h.has(a,d)&&b.call(c,a[d],d,a)===
af)break};Id||(Array.prototype.map=function(a){return la(this,a)});document.createElement("div");var j;j={version:"2.8.1"};window?window.d3=j:this.d3=j;var bf=function(a){return Array.prototype.slice.call(a)};try{bf(document.documentElement.childNodes)[0].nodeType}catch(Kh){bf=zf}j.map=function(a){var b=new Tb,c;for(c in a)b.set(c,a[c]);return b};var cf=Tb,Jd={has:function(a){return fc+a in this},get:function(a){return this[fc+a]},set:function(a,b){return this[fc+a]=b},remove:function(a){a=fc+a;return a in
this&&delete this[a]},keys:function(){var a=[];this.forEach(function(b){a.push(b)});return a},values:function(){var a=[];this.forEach(function(b,c){a.push(c)});return a},entries:function(){var a=[];this.forEach(function(b,c){a.push({key:b,value:c})});return a},forEach:function(a){for(var b in this)b.charCodeAt(0)===Hg&&a.call(this,b.substring(1),this[b])}};try{for(var df in Jd)Object.defineProperty(cf.prototype,df,{value:Jd[df],enumerable:!1})}catch(Lh){cf.prototype=Jd}var fc="\x00",Hg=fc.charCodeAt(0);
j.functor=function(a){return"function"===typeof a?a:function(){return a}};j.rebind=function(a,b){for(var c=1,d=arguments.length,e;++c<d;)a[e=arguments[c]]=Af(a,b,b[e]);return a};j.ascending=function(a,b){return a<b?-1:a>b?1:a>=b?0:NaN};j.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN};j.mean=function(a,b){var c=a.length,d,e=0,f=-1,g=0;if(1===arguments.length)for(;++f<c;){if(Oc(d=a[f]))e+=(d-e)/++g}else for(;++f<c;)if(Oc(d=b.call(a,a[f],f)))e+=(d-e)/++g;return g?e:void 0};j.median=function(a,
b){1<arguments.length&&(a=a.map(b));a=a.filter(Oc);return a.length?j.quantile(a.sort(j.ascending),0.5):void 0};j.min=function(a,b){var c=-1,d=a.length,e,f;if(1===arguments.length){for(;++c<d&&(null==(e=a[c])||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=a[c])&&e>f)e=f}else{for(;++c<d&&(null==(e=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c))&&e>f)e=f}return e};j.max=function(a,b){var c=-1,d=a.length,e,f;if(1===arguments.length){for(;++c<d&&(null==(e=a[c])||e!=e);)e=void 0;
for(;++c<d;)if(null!=(f=a[c])&&f>e)e=f}else{for(;++c<d&&(null==(e=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c))&&f>e)e=f}return e};j.extent=function(a,b){var c=-1,d=a.length,e,f,g;if(1===arguments.length){for(;++c<d&&(null==(e=g=a[c])||e!=e);)e=g=void 0;for(;++c<d;)if(null!=(f=a[c]))e>f&&(e=f),g<f&&(g=f)}else{for(;++c<d&&(null==(e=g=b.call(a,a[c],c))||e!=e);)e=void 0;for(;++c<d;)if(null!=(f=b.call(a,a[c],c)))e>f&&(e=f),g<f&&(g=f)}return[e,g]};j.random={normal:function(a,
b){2>arguments.length&&(b=1);1>arguments.length&&(a=0);return function(){var c,d;do c=2*Math.random()-1,d=2*Math.random()-1,d=c*c+d*d;while(!d||1<d);return a+b*c*Math.sqrt(-2*Math.log(d)/d)}}};j.sum=function(a,b){var c=0,d=a.length,e,f=-1;if(1===arguments.length)for(;++f<d;){if(!isNaN(e=+a[f]))c+=e}else for(;++f<d;)if(!isNaN(e=+b.call(a,a[f],f)))c+=e;return c};j.quantile=function(a,b){var c=(a.length-1)*b+1,d=Math.floor(c),e=a[d-1];return(c-=d)?e+c*(a[d]-e):e};j.transpose=function(a){return j.zip.apply(j,
a)};j.zip=function(){if(!(e=arguments.length))return[];for(var a=-1,b=j.min(arguments,Bf),c=Array(b);++a<b;)for(var d=-1,e,f=c[a]=Array(e);++d<e;)f[d]=arguments[d][a];return c};j.bisector=function(a){return{left:function(b,c,d,e){3>arguments.length&&(d=0);4>arguments.length&&(e=b.length);for(;d<e;){var f=d+e>>1;a.call(b,b[f],f)<c?d=f+1:e=f}return d},right:function(b,c,d,e){3>arguments.length&&(d=0);4>arguments.length&&(e=b.length);for(;d<e;){var f=d+e>>1;c<a.call(b,b[f],f)?e=f:d=f+1}return d}}};var ef=
j.bisector(function(a){return a});j.bisectLeft=ef.left;j.bisect=j.bisectRight=ef.right;j.first=function(a,b){var c=0,d=a.length,e=a[0],f;1===arguments.length&&(b=j.ascending);for(;++c<d;)if(0<b.call(a,e,f=a[c]))e=f;return e};j.last=function(a,b){var c=0,d=a.length,e=a[0],f;1===arguments.length&&(b=j.ascending);for(;++c<d;)if(0>=b.call(a,e,f=a[c]))e=f;return e};j.nest=function(){function a(b,e){if(e>=d.length)return g?g.call(c,b):f?b.sort(f):b;for(var h=-1,j=b.length,n=d[e++],l,r,m=new Tb,q,H={};++h<
j;)(q=m.get(l=n(r=b[h])))?q.push(r):m.set(l,[r]);m.forEach(function(b){H[b]=a(m.get(b),e)});return H}function b(a,c){if(c>=d.length)return a;var f=[],g=e[c++],h;for(h in a)f.push({key:h,values:b(a[h],c)});g&&f.sort(function(a,b){return g(a.key,b.key)});return f}var c={},d=[],e=[],f,g;c.map=function(b){return a(b,0)};c.entries=function(c){return b(a(c,0),0)};c.key=function(a){d.push(a);return c};c.sortKeys=function(a){e[d.length-1]=a;return c};c.sortValues=function(a){f=a;return c};c.rollup=function(a){g=
a;return c};return c};j.keys=function(a){var b=[],c;for(c in a)b.push(c);return b};j.values=function(a){var b=[],c;for(c in a)b.push(a[c]);return b};j.entries=function(a){var b=[],c;for(c in a)b.push({key:c,value:a[c]});return b};j.permute=function(a,b){for(var c=[],d=-1,e=b.length;++d<e;)c[d]=a[b[d]];return c};j.merge=function(a){return Array.prototype.concat.apply([],a)};j.split=function(a,b){var c=[],d=[],e,f=-1,g=a.length;for(2>arguments.length&&(b=Cf);++f<g;)b.call(d,e=a[f],f)?d=[]:(d.length||
c.push(d),d.push(e));return c};j.range=function(a,b,c){3>arguments.length&&(c=1,2>arguments.length&&(b=a,a=0));if(Infinity===(b-a)/c)throw Error("infinite range");var d=[],e;e=Math.abs(c);for(var f=1;e*f%1;)f*=10;e=f;var f=-1,g;a*=e;b*=e;c*=e;if(0>c)for(;(g=a+c*++f)>b;)d.push(g/e);else for(;(g=a+c*++f)<b;)d.push(g/e);return d};j.requote=function(a){return a.replace(Ig,"\\$&")};var Ig=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;j.round=function(a,b){return b?Math.round(a*(b=Math.pow(10,b)))/b:Math.round(a)};
j.xhr=function(a,b,c){var d=new XMLHttpRequest;3>arguments.length?(c=b,b=null):b&&d.overrideMimeType&&d.overrideMimeType(b);d.open("GET",a,!0);b&&d.setRequestHeader("Accept",b);d.onreadystatechange=function(){4===d.readyState&&c(300>d.status?d:null)};d.send(null)};j.text=function(a,b,c){3>arguments.length&&(c=b,b=null);j.xhr(a,b,function(a){c(a&&a.responseText)})};j.json=function(a,b){j.text(a,"application/json",function(a){b(a?ja.parse(a):null)})};j.html=function(a,b){j.text(a,"text/html",function(a){if(null!=
a){var d=document.createRange();d.selectNode(document.body);a=d.createContextualFragment(a)}b(a)})};j.xml=function(a,b,c){3>arguments.length&&(c=b,b=null);j.xhr(a,b,function(a){c(a&&a.responseXML)})};var Kd={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",vml:"urn:schemas-microsoft-com:vml"};j.ns={prefix:Kd,qualify:function(a){var b=a.indexOf(":"),c=a;0<=b&&(c=
a.substring(0,b),a=a.substring(b+1));return Kd.hasOwnProperty(c)?{space:Kd[c],local:a}:a}};j.dispatch=function(){for(var a=new Td,b=-1,c=arguments.length;++b<c;)a[arguments[b]]=Df(a);return a};Td.prototype.on=function(a,b){var c=a.indexOf("."),d="";0<c&&(d=a.substring(c+1),a=a.substring(0,c));return 2>arguments.length?this[a].on(d):this[a].on(d,b)};j.format=function(a){a=Jg.exec(a);var b=a[1]||" ",c=a[3]||"",d=a[5],e=+a[6],f=a[7],g=a[8],k=a[9],h=1,l="",m=!1;g&&(g=+g.substring(1));d&&(b="0",f&&(e-=
Math.floor((e-1)/4)));switch(k){case "n":f=!0;k="g";break;case "%":h=100;l="%";k="f";break;case "p":h=100;l="%";k="r";break;case "d":m=!0;g=0;break;case "s":h=-1,k="r"}"r"==k&&!g&&(k="g");k=Kg.get(k)||Ef;return function(a){if(m&&a%1)return"";var q=0>a&&(a=-a)?"\u2212":c;if(0>h){var r=j.formatPrefix(a,g);a*=r.scale;l=r.symbol}else a*=h;a=k(a,g);d?(r=a.length+q.length,r<e&&(a=Array(e-r+1).join(b)+a),f&&(a=Vd(a)),a=q+a):(f&&(a=Vd(a)),a=q+a,r=a.length,r<e&&(a=Array(e-r+1).join(b)+a));return a+l}};var Jg=
/(?:([^{])?([<>=^]))?([+\- ])?(#)?(0)?([0-9]+)?(,)?(\.[0-9]+)?([a-zA-Z%])?/,Kg=j.map({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 j.round(a,b=Ud(a,b)).toFixed(Math.max(0,Math.min(20,b)))}}),Lg=la("y z a f p n \u03bc m k M G T P E Z Y".split(" "),function(a,b){return{scale:Math.pow(10,3*(8-b)),symbol:a}});j.formatPrefix=function(a,b){var c=0;a&&(0>a&&(a*=-1),b&&(a=j.round(a,Ud(a,b))),c=1+Math.floor(1E-12+
Math.log(a)/Math.LN10),c=Math.max(-24,Math.min(24,3*Math.floor((0>=c?c+1:c-1)/3))));return Lg[8+c/3]};var Mg=Qc(2),Ng=Qc(3),ff=function(){return Pc},Og=j.map({linear:ff,poly:Qc,quad:function(){return Mg},cubic:function(){return Ng},sin:function(){return Ff},exp:function(){return Gf},circle:function(){return Hf},elastic:function(a,b){var c;2>arguments.length&&(b=0.45);1>arguments.length?(a=1,c=b/4):c=b/(2*Math.PI)*Math.asin(1/a);return function(d){return 1+a*Math.pow(2,10*-d)*Math.sin(2*(d-c)*Math.PI/
b)}},back:function(a){a||(a=1.70158);return function(b){return b*b*((a+1)*b-a)}},bounce:function(){return If}}),Pg=j.map({"in":Pc,out:Wd,"in-out":Xd,"out-in":function(a){return Xd(Wd(a))}});j.ease=function(a){var b=a.indexOf("-"),c=0<=b?a.substring(0,b):a,b=0<=b?a.substring(b+1):"in",c=Og.get(c)||ff,b=Pg.get(b)||Pc,d=b(c.apply(null,Array.prototype.slice.call(arguments,1)));return function(a){return 0>=a?0:1<=a?1:d(a)}};j.event=null;j.interpolate=function(a,b){for(var c=j.interpolators.length,d;0<=
--c&&!(d=j.interpolators[c](a,b)););return d};j.interpolateNumber=function(a,b){b-=a;return function(c){return a+b*c}};j.interpolateRound=function(a,b){b-=a;return function(c){return Math.round(a+b*c)}};j.interpolateString=function(a,b){var c,d,e=0,f=[],g=[],k,h;for(d=Gc.lastIndex=0;c=Gc.exec(b);++d)c.index&&f.push(b.substring(e,c.index)),g.push({i:f.length,x:c[0]}),f.push(null),e=Gc.lastIndex;e<b.length&&f.push(b.substring(e));d=0;for(k=g.length;(c=Gc.exec(a))&&d<k;++d)if(h=g[d],h.x==c[0]){if(h.i)if(null==
f[h.i+1]){f[h.i-1]+=h.x;f.splice(h.i,1);for(c=d+1;c<k;++c)g[c].i--}else{f[h.i-1]+=h.x+f[h.i+1];f.splice(h.i,2);for(c=d+1;c<k;++c)g[c].i-=2}else if(null==f[h.i+1])f[h.i]=h.x;else{f[h.i]=h.x+f[h.i+1];f.splice(h.i+1,1);for(c=d+1;c<k;++c)g[c].i--}g.splice(d,1);k--;d--}else h.x=j.interpolateNumber(parseFloat(c[0]),parseFloat(h.x));for(;d<k;)h=g.pop(),null==f[h.i+1]?f[h.i]=h.x:(f[h.i]=h.x+f[h.i+1],f.splice(h.i+1,1)),k--;return 1===f.length?null==f[0]?g[0].x:function(){return b}:function(a){for(d=0;d<k;++d)f[(h=
g[d]).i]=h.x(a);return f.join("")}};j.interpolateTransform=function(a,b){var c=[],d=[],e,f=j.transform(a),g=j.transform(b),k=f.translate,h=g.translate,l=f.rotate,m=g.rotate,n=f.skew,q=g.skew,f=f.scale,g=g.scale;k[0]!=h[0]||k[1]!=h[1]?(c.push("translate(",null,",",null,")"),d.push({i:1,x:j.interpolateNumber(k[0],h[0])},{i:3,x:j.interpolateNumber(k[1],h[1])})):h[0]||h[1]?c.push("translate("+h+")"):c.push("");l!=m?d.push({i:c.push(c.pop()+"rotate(",null,")")-2,x:j.interpolateNumber(l,m)}):m&&c.push(c.pop()+
"rotate("+m+")");n!=q?d.push({i:c.push(c.pop()+"skewX(",null,")")-2,x:j.interpolateNumber(n,q)}):q&&c.push(c.pop()+"skewX("+q+")");f[0]!=g[0]||f[1]!=g[1]?(e=c.push(c.pop()+"scale(",null,",",null,")"),d.push({i:e-4,x:j.interpolateNumber(f[0],g[0])},{i:e-2,x:j.interpolateNumber(f[1],g[1])})):(1!=g[0]||1!=g[1])&&c.push(c.pop()+"scale("+g+")");e=d.length;return function(a){for(var b=-1,f;++b<e;)c[(f=d[b]).i]=f.x(a);return c.join("")}};j.interpolateRgb=function(a,b){a=j.rgb(a);b=j.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"#"+Hb(Math.round(c+f*a))+Hb(Math.round(d+g*a))+Hb(Math.round(e+h*a))}};j.interpolateHsl=function(a,b){a=j.hsl(a);b=j.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 function(a){return kc(c+f*a,d+g*a,e+h*a).toString()}};j.interpolateArray=function(a,b){var c=[],d=[],e=a.length,f=b.length,g=Math.min(a.length,b.length),h;for(h=0;h<g;++h)c.push(j.interpolate(a[h],b[h]));for(;h<e;++h)d[h]=a[h];for(;h<f;++h)d[h]=b[h];return function(a){for(h=
0;h<g;++h)d[h]=c[h](a);return d}};j.interpolateObject=function(a,b){var c={},d={},e;for(e in a)e in b?c[e]=("transform"==e?j.interpolateTransform:j.interpolate)(a[e],b[e]):d[e]=a[e];for(e in b)e in a||(d[e]=b[e]);return function(a){for(e in c)d[e]=c[e](a);return d}};var Gc=/[-+]?(?:\d*\.?\d+)(?:[eE][-+]?\d+)?/g;j.interpolators=[j.interpolateObject,function(a,b){return b instanceof Array&&j.interpolateArray(a,b)},function(a,b){return("string"===typeof a||"string"===typeof b)&&j.interpolateString(a+
"",b+"")},function(a,b){return("string"===typeof b?jc.has(b)||/^(#|rgb\(|hsl\()/.test(b):b instanceof rb||b instanceof sb)&&j.interpolateRgb(a,b)},function(a,b){return!isNaN(a=+a)&&!isNaN(b=+b)&&j.interpolateNumber(a,b)}];j.rgb=function(a,b,c){return 1===arguments.length?a instanceof rb?ib(a.r,a.g,a.b):Rc(""+a,ib,kc):ib(~~a,~~b,~~c)};rb.prototype.brighter=function(a){a=Math.pow(0.7,arguments.length?a:1);var b=this.r,c=this.g,d=this.b;if(!b&&!c&&!d)return ib(30,30,30);b&&30>b&&(b=30);c&&30>c&&(c=30);
d&&30>d&&(d=30);return ib(Math.min(255,Math.floor(b/a)),Math.min(255,Math.floor(c/a)),Math.min(255,Math.floor(d/a)))};rb.prototype.darker=function(a){a=Math.pow(0.7,arguments.length?a:1);return ib(Math.floor(a*this.r),Math.floor(a*this.g),Math.floor(a*this.b))};rb.prototype.hsl=function(){return Yd(this.r,this.g,this.b)};rb.prototype.toString=function(){return"#"+Hb(this.r)+Hb(this.g)+Hb(this.b)};var jc=j.map({aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",
beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",
darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",
grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",
lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",
orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",
slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"});jc.forEach(function(a,b){jc.set(a,Rc(b,ib,kc))});j.hsl=function(a,b,c){return 1===arguments.length?a instanceof sb?Ib(a.h,a.s,a.l):Rc(""+a,Yd,Ib):Ib(+a,+b,+c)};sb.prototype.brighter=function(a){a=Math.pow(0.7,arguments.length?a:1);
return Ib(this.h,this.s,this.l/a)};sb.prototype.darker=function(a){a=Math.pow(0.7,arguments.length?a:1);return Ib(this.h,this.s,a*this.l)};sb.prototype.rgb=function(){return kc(this.h,this.s,this.l)};sb.prototype.toString=function(){return this.rgb().toString()};j.csv=function(a,b){j.text(a,"text/csv",function(a){b(a&&j.csv.parse(a))})};j.csv.parse=function(a){var b;return j.csv.parseRows(a,function(a,d){if(d){for(var e={},f=-1,g=b.length;++f<g;)e[b[f]]=f<a.length?a[f]:null;return e}b=a;return null})};
j.csv.parseRows=function(a,b){function c(){if(g.lastIndex>=a.length)return e;if(l)return l=!1,d;var b=g.lastIndex;if(34===a.charCodeAt(b)){for(var c=b;c++<a.length;)if(34===a.charCodeAt(c)){if(34!==a.charCodeAt(c+1))break;c++}g.lastIndex=c+2;var f=a.charCodeAt(c+1);13===f?(l=!0,10===a.charCodeAt(c+2)&&g.lastIndex++):10===f&&(l=!0);return a.substring(b+1,c).replace(/""/g,'"')}if(c=g.exec(a))return l=44!==c[0].charCodeAt(0),a.substring(b,c.index);g.lastIndex=a.length;return a.substring(b)}var d={},
e={},f=[],g=/\r\n|[,\r\n]/g,h=0,j,l;for(g.lastIndex=0;(j=c())!==e;){for(var m=[];j!==d&&j!==e;)m.push(j),j=c();(!b||(m=b(m,h++)))&&f.push(m)}return f};j.csv.format=function(a){return la(a,Lf).join("\n")};j.scale={};j.scale.linear=function(){return Zd([0,1],[0,1],j.interpolate,!1)};j.scale.log=function(){return ce(j.scale.linear(),Xc)};var Qf=j.format(".0e");Xc.pow=function(a){return Math.pow(10,a)};lc.pow=function(a){return-Math.pow(10,-a)};j.scale.pow=function(){return de(j.scale.linear(),1)};j.scale.sqrt=
function(){return j.scale.pow().exponent(0.5)};j.scale.ordinal=function(){return ee([],{t:"range",x:[]})};j.scale.category10=function(){return j.scale.ordinal().range(Qg)};j.scale.category20=function(){return j.scale.ordinal().range(Rg)};j.scale.category20b=function(){return j.scale.ordinal().range(Sg)};j.scale.category20c=function(){return j.scale.ordinal().range(Tg)};var Qg="#1f77b4 #ff7f0e #2ca02c #d62728 #9467bd #8c564b #e377c2 #7f7f7f #bcbd22 #17becf".split(" "),Rg="#1f77b4 #aec7e8 #ff7f0e #ffbb78 #2ca02c #98df8a #d62728 #ff9896 #9467bd #c5b0d5 #8c564b #c49c94 #e377c2 #f7b6d2 #7f7f7f #c7c7c7 #bcbd22 #dbdb8d #17becf #9edae5".split(" "),
Sg="#393b79 #5254a3 #6b6ecf #9c9ede #637939 #8ca252 #b5cf6b #cedb9c #8c6d31 #bd9e39 #e7ba52 #e7cb94 #843c39 #ad494a #d6616b #e7969c #7b4173 #a55194 #ce6dbd #de9ed6".split(" "),Tg="#3182bd #6baed6 #9ecae1 #c6dbef #e6550d #fd8d3c #fdae6b #fdd0a2 #31a354 #74c476 #a1d99b #c7e9c0 #756bb1 #9e9ac8 #bcbddc #dadaeb #636363 #969696 #bdbdbd #d9d9d9".split(" ");j.scale.quantile=function(){return fe([],[])};j.scale.quantize=function(){return ge(0,1,[0,1])};j.scale.identity=function(){return he([0,1])};j.time=
{};var fa=Date;tb.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(){ab.setUTCDate.apply(this._,arguments)},setDay:function(){ab.setUTCDay.apply(this._,arguments)},setFullYear:function(){ab.setUTCFullYear.apply(this._,arguments)},setHours:function(){ab.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ab.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ab.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ab.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ab.setUTCSeconds.apply(this._,
arguments)},setTime:function(){ab.setTime.apply(this._,arguments)}};var ab=Date.prototype;j.time.format=function(a){function b(b){for(var e=[],f=-1,g=0,h,j;++f<c;)37==a.charCodeAt(f)&&(e.push(a.substring(g,f),(j=Hc[h=a.charAt(++f)])?j(b):h),g=f+1);e.push(a.substring(g,f));return e.join("")}var c=a.length;b.parse=function(b){var c={y:1900,m:0,d:1,H:0,M:0,S:0,L:0};if(nc(c,a,b,0)!=b.length)return null;"p"in c&&(c.H=c.H%12+12*c.p);b=new fa;b.setFullYear(c.y,c.m,c.d);b.setHours(c.H,c.M,c.S,c.L);return b};
b.toString=function(){return a};return b};var Pa=j.format("02d"),gf=j.format("03d"),Ug=j.format("04d"),Vg=j.format("2d"),Hc={a:function(a){return Ld[a.getDay()].substring(0,3)},A:function(a){return Ld[a.getDay()]},b:function(a){return hf[a.getMonth()].substring(0,3)},B:function(a){return hf[a.getMonth()]},c:j.time.format("%a %b %e %H:%M:%S %Y"),d:function(a){return Pa(a.getDate())},e:function(a){return Vg(a.getDate())},H:function(a){return Pa(a.getHours())},I:function(a){return Pa(a.getHours()%12||
12)},j:function(a){return gf(1+j.time.dayOfYear(a))},L:function(a){return gf(a.getMilliseconds())},m:function(a){return Pa(a.getMonth()+1)},M:function(a){return Pa(a.getMinutes())},p:function(a){return 12<=a.getHours()?"PM":"AM"},S:function(a){return Pa(a.getSeconds())},U:function(a){return Pa(j.time.sundayOfYear(a))},w:function(a){return a.getDay()},W:function(a){return Pa(j.time.mondayOfYear(a))},x:j.time.format("%m/%d/%y"),X:j.time.format("%H:%M:%S"),y:function(a){return Pa(a.getFullYear()%100)},
Y:function(a){return Ug(a.getFullYear()%1E4)},Z:function(a){var b=a.getTimezoneOffset();a=0<b?"-":"+";var c=~~(Math.abs(b)/60),b=Math.abs(b)%60;return a+Pa(c)+Pa(b)},"%":function(){return"%"}},Rf={a:function(a,b,c){return Wg.test(b.substring(c,c+=3))?c:-1},A:function(a,b,c){jf.lastIndex=0;return(a=jf.exec(b.substring(c,c+10)))?c+a[0].length:-1},b:function(a,b,c){b=Xg.get(b.substring(c,c+=3).toLowerCase());return null==b?-1:(a.m=b,c)},B:function(a,b,c){kf.lastIndex=0;return(b=kf.exec(b.substring(c,
c+12)))?(a.m=Yg.get(b[0].toLowerCase()),c+b[0].length):-1},c:function(a,b,c){return nc(a,Hc.c.toString(),b,c)},d:ie,e:ie,H:je,I:je,L:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+3)))?(a.L=+b[0],c+b[0].length):-1},m:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+2)))?(a.m=b[0]-1,c+b[0].length):-1},M:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+2)))?(a.M=+b[0],c+b[0].length):-1},p:function(a,b,c){b=Zg.get(b.substring(c,c+=2).toLowerCase());return null==
b?-1:(a.p=b,c)},S:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+2)))?(a.S=+b[0],c+b[0].length):-1},x:function(a,b,c){return nc(a,Hc.x.toString(),b,c)},X:function(a,b,c){return nc(a,Hc.X.toString(),b,c)},y:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+2)))?(a.y=1E3*~~((new Date).getFullYear()/1E3)+ +b[0],c+b[0].length):-1},Y:function(a,b,c){pa.lastIndex=0;return(b=pa.exec(b.substring(c,c+4)))?(a.y=+b[0],c+b[0].length):-1}},Wg=/^(?:sun|mon|tue|wed|thu|fri|sat)/i,
jf=/^(?:Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday)/i,Ld="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),Xg=j.map({jan:0,feb:1,mar:2,apr:3,may:4,jun:5,jul:6,aug:7,sep:8,oct:9,nov:10,dec:11}),kf=/^(?:January|February|March|April|May|June|July|August|September|October|November|December)/ig,Yg=j.map({january:0,february:1,march:2,april:3,may:4,june:5,july:6,august:7,september:8,october:9,november:10,december:11}),hf="January February March April May June July August September October November December".split(" "),
pa=/\s*\d+/,Zg=j.map({am:0,pm:1});j.time.format.utc=function(a){function b(a){try{fa=tb;var b=new fa;b._=a;return c(b)}finally{fa=Date}}var c=j.time.format(a);b.parse=function(a){try{fa=tb;var b=c.parse(a);return b&&b._}finally{fa=Date}};b.toString=c.toString;return b};var lf=j.time.format.utc("%Y-%m-%dT%H:%M:%S.%LZ");j.time.format.iso=Date.prototype.toISOString?Yc:lf;Yc.parse=function(a){return new Date(a)};Yc.toString=lf.toString;j.time.second=ub(function(a){return new fa(1E3*Math.floor(a/1E3))},
function(a,b){a.setTime(a.getTime()+1E3*Math.floor(b))},function(a){return a.getSeconds()});j.time.seconds=j.time.second.range;j.time.seconds.utc=j.time.second.utc.range;j.time.minute=ub(function(a){return new fa(6E4*Math.floor(a/6E4))},function(a,b){a.setTime(a.getTime()+6E4*Math.floor(b))},function(a){return a.getMinutes()});j.time.minutes=j.time.minute.range;j.time.minutes.utc=j.time.minute.utc.range;j.time.hour=ub(function(a){var b=a.getTimezoneOffset()/60;return new fa(36E5*(Math.floor(a/36E5-
b)+b))},function(a,b){a.setTime(a.getTime()+36E5*Math.floor(b))},function(a){return a.getHours()});j.time.hours=j.time.hour.range;j.time.hours.utc=j.time.hour.utc.range;j.time.day=ub(function(a){return new fa(a.getFullYear(),a.getMonth(),a.getDate())},function(a,b){a.setDate(a.getDate()+b)},function(a){return a.getDate()-1});j.time.days=j.time.day.range;j.time.days.utc=j.time.day.utc.range;j.time.dayOfYear=function(a){var b=j.time.year(a);return Math.floor((a-b)/864E5-(a.getTimezoneOffset()-b.getTimezoneOffset())/
1440)};Hd(Ld,function(a,b){a=a.toLowerCase();b=7-b;var c=j.time[a]=ub(function(a){(a=j.time.day(a)).setDate(a.getDate()-(a.getDay()+b)%7);return a},function(a,b){a.setDate(a.getDate()+7*Math.floor(b))},function(a){var c=j.time.year(a).getDay();return Math.floor((j.time.dayOfYear(a)+(c+b)%7)/7)-(c!==b)});j.time[a+"s"]=c.range;j.time[a+"s"].utc=c.utc.range;j.time[a+"OfYear"]=function(a){var c=j.time.year(a).getDay();return Math.floor((j.time.dayOfYear(a)+(c+b)%7)/7)}});j.time.week=j.time.sunday;j.time.weeks=
j.time.sunday.range;j.time.weeks.utc=j.time.sunday.utc.range;j.time.weekOfYear=j.time.sundayOfYear;j.time.month=ub(function(a){return new fa(a.getFullYear(),a.getMonth(),1)},function(a,b){a.setMonth(a.getMonth()+b)},function(a){return a.getMonth()});j.time.months=j.time.month.range;j.time.months.utc=j.time.month.utc.range;j.time.year=ub(function(a){return new fa(a.getFullYear(),0,1)},function(a,b){a.setFullYear(a.getFullYear()+b)},function(a){return a.getFullYear()});j.time.years=j.time.year.range;
j.time.years.utc=j.time.year.utc.range;var pc=[1E3,5E3,15E3,3E4,6E4,3E5,9E5,18E5,36E5,108E5,216E5,432E5,864E5,1728E5,6048E5,2592E6,7776E6,31536E6],Md=[[j.time.second,1],[j.time.second,5],[j.time.second,15],[j.time.second,30],[j.time.minute,1],[j.time.minute,5],[j.time.minute,15],[j.time.minute,30],[j.time.hour,1],[j.time.hour,3],[j.time.hour,6],[j.time.hour,12],[j.time.day,1],[j.time.day,2],[j.time.week,1],[j.time.month,1],[j.time.month,3],[j.time.year,1]],$g=[[j.time.format("%Y"),function(){return!0}],
[j.time.format("%B"),function(a){return a.getMonth()}],[j.time.format("%b %d"),function(a){return 1!=a.getDate()}],[j.time.format("%a %d"),function(a){return a.getDay()&&1!=a.getDate()}],[j.time.format("%I %p"),function(a){return a.getHours()}],[j.time.format("%I:%M"),function(a){return a.getMinutes()}],[j.time.format(":%S"),function(a){return a.getSeconds()}],[j.time.format(".%L"),function(a){return a.getMilliseconds()}]],mf=j.scale.linear(),ah=le($g);Md.year=function(a,b){return la(mf.domain(la(a,
Sf)).ticks(b),ad)};j.time.scale=function(){return Zc(j.scale.linear(),Md,ah)};var nf=la(Md,function(a){return[a[0].utc,a[1]]}),bh=[[j.time.format.utc("%Y"),function(){return!0}],[j.time.format.utc("%B"),function(a){return a.getUTCMonth()}],[j.time.format.utc("%b %d"),function(a){return 1!=a.getUTCDate()}],[j.time.format.utc("%a %d"),function(a){return a.getUTCDay()&&1!=a.getUTCDate()}],[j.time.format.utc("%I %p"),function(a){return a.getUTCHours()}],[j.time.format.utc("%I:%M"),function(a){return a.getUTCMinutes()}],
[j.time.format.utc(":%S"),function(a){return a.getUTCSeconds()}],[j.time.format.utc(".%L"),function(a){return a.getUTCMilliseconds()}]],ch=le(bh);nf.year=function(a,b){return mf.domain(a.map(Tf)).ticks(b).map(bd)};j.time.scale.utc=function(){return Zc(j.scale.linear(),nf,ch)};var q=q||{},l=l||{};if(!gc)var gc={log:function(){},assert:function(){},warn:function(){}};var lb=q,E=l,dh=function(a){if(!isFinite(a))return a;var b=""+a,c=Math.abs(a),d;1E3<=c&&(c=(""+c).split(/\./),d=c[0].length%3||3,c[0]=
b.slice(0,d+(0>a))+c[0].slice(d).replace(/(\d{3})/g,",$1"),b=c.join("."));return b};E.makeClass=function(a,b){var c={},d=function(a,b){if(this instanceof d)"function"==typeof this.init&&this.init.apply(this,a===c?b:arguments);else return new d(c,arguments)};2<=arguments.length&&(d.prototype=new b,d.prototype.constructor=d);E.undef(a)||(d.prototype._cls_name=a,d._class=!0);return d};E.undef=function(a){return"undefined"==typeof a};E.constfunc=function(a){return function(){return a}};E.invertedIndex=
function(a){var b={};h.each(a,function(a,d){b[a]=d});return b};E.identity=function(a){return a};E.strlenToPixel=function(a,b){return"bold"==b?Math.max(7*a,0):Math.max(6*a,0)};E.cloneobj=function(a){var b=h.clone(a);b.constructor!=a.constructor&&(b.constructor=a.constructor);h.has(a,"_attr")&&(b._attr=h.clone(a._attr));return b};E.postfix=function(a,b){var c={"0":"",3:"k",6:"m",9:"b",12:"t"};return!h.isUndefined(c[b])?a+c[b]:a+"e"+(0<b?"+":"-")+Math.abs(b)};E.prettify=function(a,b){var c=0,d=0;b=1==
arguments.length?Math.floor(Math.log(Math.abs(a?a:1))/Math.LN10):-b;2==arguments.length&&(2==b||5==b||8==b||11==b)?(c=b+1,d=1):-1==b?(c=0,d=2==arguments.length?1:2):-2==b?(c=0,d=2==arguments.length?2:3):1==b||2==b?c=0:3<b&&6>b?c=3:6<b&&9>b?c=6:9<b&&12>b?c=9:12<b&&15>b?c=12:(c=b,d=2==arguments.length?0:1);var e=Math.round(a/Math.pow(10,c-d)),e=e/Math.pow(10,d),e=e.toFixed(d);return E.postfix(dh(e),c)};E.roundTo=function(a,b){var c=Math.pow(10,b);return Math.round(a*c)/c};E.array=function(a,b){for(var c=
[],d=a,e,f=h.isFunction(b);d--;)e=f?b():b,c[d]=e;return c};E.grid=function(a,b,c){for(var d=0,e=0,f=[],g=h.isFunction(c),d=0;d<a;d++){for(var k=[],e=0;e<b;e++)g?k.push(c()):k.push(c);f.push(k)}return f};E.opts=function(){return function(a,b){0===arguments.length&&lb.error(12,"Function opts() called with less than 1 parameter.");var c=this,d=this._optsUpdate,d=h.isFunction(d)?h.bind(d,this):function(){};if(1==arguments.length)return!h.isString(a)&&0<h.keys(a).length?(h.each(a,function(a,b){c._attr[b]=
a;d(b,a)}),this):this._attr[a];E.assertString(a);this._attr[a]=b;d(a,b);return this}};E.singleOpts=function(a){return function(b){return 0===arguments.length?this.opts(a):this.opts(a,b)}};E.getAttr=function(){var a={};h.each(this._attr,function(b,c){!h.isNull(b)&&(!h.isUndefined(b)&&-Infinity!=b&&Infinity!=b)&&(a[c]=b)});return a};E.dataGetter=function(a){a=a||{};var b=a.onChange;return function(a){if(0===arguments.length)return this._data;if(!a||"gg.data"!=a._cls_name)a=lb.data(a);this._data=a;b&&
b.apply(this);return this}};E.doubleMap=function(a,b){return h.map(a,function(a){return h.map(a,b)})};E.tripleMap=function(a,b){return h.map(a,function(a){return h.map(a,function(a){return h.map(a,b)})})};E.compareBy=function(a){return function(b,c){var d,e;for(d=0;d<a.length;d++)if(e=a[d],e=b[e]==c[e]?0:b[e]<c[e]?-1:1,0!==e)return e;return 0}};E.sortByMultiple=function(a,b){return a.sort(E.compareBy(b))};var Nd=[];E.concat=function(a){return Nd.concat.apply(Nd,a)};E.pushall=function(a,b){return Nd.push.apply(a,
b)};E.add=function(a,b){var c=h.isFunction(a),d=h.isFunction(b);return c&&d?function(c){return a(c)+b(c)}:c?function(c){return a(c)+b}:d?function(c){return a+b(c)}:E.constfunc(a+b)};E.sub=function(a,b){var c=h.isFunction(a),d=h.isFunction(b);return c&&d?function(c){return a(c)-b(c)}:c?function(c){return a(c)-b}:d?function(c){return a-b(c)}:E.constfunc(a-b)};E.evaluate=function(a,b){return h.isFunction(a)?a(b):a};E.unionType=function(a){a=h.uniq(h.reject(a,h.isNull));a.sort();return 0===a.length?null:
1===a.length?a[0]:h.isEqual(a,["date","number"])?"date":h.include(a,"unknown")?"unknown":"category"};E.bool=function(a){return a?!0:!1};E.startswith=function(a,b){if(!h.isString(b)||!h.isString(a))return!1;var c=b.length;return c>a.length?!1:a.slice(0,c)===b};E.instantiate=function(a){return h.isString(a)?lb[a]():a&&a.prototype&&a.prototype._cls_name?a():a};E.sum=function(){var a,b=0,c;if(h.isArray(this)){c=this.length;for(a=0;a<c;a++)b+=this[a]}c=arguments.length;for(a=0;a<c;a++)b+=arguments[a];
return b};E.mergeArrays=function(a,b){var c=E.concat(a);b=b?b:E.identity;c=h.sortBy(c,b);return h.uniq(c,!0,b)};E.minimumDelta=function(a,b){if(1>=a.length)return null;var c=a.length,d,e;b=b?b:function(a){return a};var f=b(a[0]),g=Infinity;for(d=1;d<c;d++)e=b(a[d]),g=Math.min(g,e-f),f=e;return g};E.isSuperset=function(a,b){for(var c=0,d=0;d<b.length;d++){for(;a[c]!=b[d]&&c<a.length;)c++;if(c==a.length)return!1}return!0};E.assertNumber=function(a){h.isNumber(a)||lb.warn(13,"Expecting a number but got "+
a+".")};E.assertString=function(a){h.isString(a)||lb.warn(14,"Expecting a string but got "+a+".")};E.assertAes=function(a){h.include(lb.opts.aes,E.getBaseAes(a))||lb.error(11,"Aesthetics "+a+" does not exist.")};E.assertQuery=function(a){"data"===a||("aes"===a||"aes_group"===a||"key"===a)||lb.error(-1,"Query type "+a+" is invalid.")};E.getBlank=function(a){return Array(a+1).join(" ")};E.qt=function(a){return'"'+a+'"'};E.toCode=function(a,b,c){a||(a=0);h.isNumber(b)||(b=a+2);c.cls||(c.cls=[]);c.params||
(c.params=[]);c.funcs||(c.funcs=[]);var d=E.getBlank(a)+c.cls+"("+c.params.join(", ")+")";h.each(c.funcs,function(a){var c=a[0];a=a[1]||[];h.isArray(a)||(a=[a]);d+="\n"+E.getBlank(b)+"."+c+"("+a.join(", ")+")"});return d};E.toCodeBasic=function(a,b){var c={cls:this._cls_name};h.isFunction(this.getAttr)&&(c.funcs=[["opts",ja.stringify(this.getAttr())]]);return E.toCode(a,b,c)};E.timer=function(){return{_time:new Date,mark:function(){this._time=new Date}}};E.getRandomColor=function(){function a(){return Math.floor(256*
Math.random()).toString(16)}return"#"+a()+a()+a()};l.isDerivedAes=function(a){return-1<a.indexOf("_")};l.getBaseAes=function(a){return a.split("_",1)[0]};var Od=l;Od.isNode=function(a){return"object"===typeof window.Node?a instanceof window.Node:a&&"object"===typeof a&&"number"===typeof a.nodeType&&"string"===typeof a.nodeName};Od.isElement=function(a){return"object"===typeof window.HTMLElement?a instanceof window.HTMLElement:a&&"object"===typeof a&&1===a.nodeType&&"string"===typeof a.nodeName};Od.isURL=
function(a){var b=/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return h.isString(a)&&b.test(a)};var q=q||{},l=l||{},eh=q;l.jQuery=function(){jQuery||eh.error(4,"jQuery is required, but is not found.");return jQuery};var Ob=l;Ob.Observer=function(){this.callbacks=[]};Ob.Observer.prototype.register=function(a,b,c){this.callbacks.push({key:a,callback:b,name:c})};Ob.Observer.prototype.remove=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.callback===
a})};Ob.Observer.prototype.removeNamed=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.name===a})};Ob.Observer.prototype.removeKey=function(a){this.callbacks=h.reject(this.callbacks,function(b){return b.key===a})};Ob.Observer.prototype.trigger=function(a,b){h.chain(this.callback).filter(function(b){return b.key===a}).each(function(a){a.callback(b)})};var fh=function(a){a.tooltip&&l.addTooltip(this,a.tooltip);return this},gh=function(a,b){a&&this.dblclick(function(){var c=this.attr("data");
a.call(this,c,b)});return this},Qa=function(a){a.ggTooltip=fh;a.ggDoubleClick=gh};Raphael.fn.gg_point=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.circle().attr("postProcess",function(d){var f=d.cx,g=d.cy;d.cx=b+a.transX(f,g);d.cy=c+a.transY(f,g);return d}),d=l.addMouseover(a,d);Qa(d);return d};Raphael.fn.gg_symbol=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f=d.cx,g=d.cy,h=b+a.transX(f,g),f=c+a.transY(f,g);d.path=q.symbol.makePath(d.symbol,
h,f,d.r);delete d.cx;delete d.cy;delete d.symbol;delete d.r;return d}),d=l.addMouseover(a,d);Qa(d);return d};Raphael.fn.gg_text=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.text().attr("postProcess",function(d){var f=d.x,g=d.y;d.x=b+a.transX(f,g);d.y=c+a.transY(f,g);d.text||(d.text=" ");return d}),d=l.addMouseover(a,d);Qa(d);return d};Raphael.fn.gg_cart_line=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,j;h=c+a.transY(d.x1,d.y1);j=c+
a.transY(d.x2,d.y2);f=b+a.transX(d.x1,d.y1);g=b+a.transX(d.x2,d.y2);delete d.x1;delete d.x2;delete d.y1;delete d.y2;d.path=[["M",f,h],["L",g,j]];return d}),d=l.addMouseover(a,d);Qa(d);return d};Raphael.fn.gg_cart_rect=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.rect().attr("postProcess",function(d){var f,g,h,j,l;f=a.transX(d.x1,d.y1);g=a.transX(d.x2,d.y2);h=a.transY(d.x1,d.y1);j=a.transY(d.x2,d.y2);l=Math.min(f,g);g=Math.abs(g-f);f=Math.min(h,j);h=Math.abs(j-h);delete d.x1;delete d.x2;delete d.y1;
delete d.y2;d.x=b+l;d.y=c+f;d.width=g;d.height=h;return d}),d=l.addMouseover(a,d);Qa(d);return d};var Ic=-Math.PI/2,hh=2*Math.PI-1E-6,Pd=function(a,b,c,d,e,f,g){return function(h){var j,m,q;a?(j=f(h),m=g(h),q=d(h)+Ic,h=e(h)+Ic):(j=d(h),m=e(h),q=f(h)+Ic,h=g(h)+Ic);return l.d3_arc(b,c,j,m,q,h)}};l.d3_arc=function(a,b,c,d,e,f){if(d<c){var g=c;c=d;d=g}var h=(f<e&&(h=e,e=f,f=h),f-e),g=h<Math.PI?0:1,j=Math.cos(e),l=Math.sin(e),m=Math.cos(f),n=Math.sin(f);return h>=hh?c?[["M",a,b+d],["A",d,d,0,1,1,a,b-d],
["A",d,d,0,1,1,a,b+d],["M",a,b+c],["A",c,c,0,1,0,a,b-c],["A",c,c,0,1,0,a,b+c],["Z"]]:d?[["M",a,b+d],["A",d,d,0,1,1,a,b-d],["A",d,d,0,1,1,a,b+d],["Z"]]:"":c?e==f?[["M",d*j+a,d*l+b],["L",c*m+a,c*n+b]]:[["M",d*j+a,d*l+b],["A",d,d,0,g,1,d*m+a,d*n+b],["L",c*m+a,c*n+b],["A",c,c,0,g,0,c*j+a,c*l+b],["Z"]]:d?e==f?[["M",d*j+a,d*l+b],["L",c*m+a,c*n+b]]:[["M",d*j+a,d*l+b],["A",d,d,0,g,1,d*m+a,d*n+b],["L",a,b],["Z"]]:""};Raphael.fn.gg_polar_rect=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",
function(a){var e,h,j,l;e=a.x1;h=a.x2;j=a.y1;l=a.y2;delete a.x1;delete a.x2;delete a.y1;delete a.y2;a.path=Pd(d,b,c,e,h,j,l);return a}),e=l.addMouseover(a,e);Qa(e);return e};Raphael.fn.gg_cart_vline=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,j;h=c+a.transY(d.x,d.y1);j=c+a.transY(d.x,d.y2);f=b+a.transX(d.x,d.y1);g=b+a.transX(d.x,d.y2);d.path=[["M",f,h],["L",g,j]];delete d.x;delete d.y1;delete d.y2;return d}),d=l.addMouseover(a,d);Qa(d);return d};
Raphael.fn.gg_polar_vline=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",function(a){var e,h,j,l;e=h=a.x;j=a.y1;l=a.y2;delete a.x;delete a.y1;delete a.y2;a.path=Pd(d,b,c,e,h,j,l);return a}),e=l.addMouseover(a,e);Qa(e);return e};Raphael.fn.gg_cart_hline=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=this.path().attr("postProcess",function(d){var f,g,h,j;h=c+a.transY(d.x1,d.y);j=c+a.transY(d.x2,d.y);f=b+a.transX(d.x1,d.y);g=b+a.transX(d.x2,d.y);d.path=[["M",
f,h],["L",g,j]];delete d.x1;delete d.x2;delete d.y;return d}),d=l.addMouseover(a,d);Qa(d);return d};Raphael.fn.gg_polar_hline=function(a){Ra++;var b=a._offsetX,c=a._offsetY,d=a._flip,e=this.path().attr("preProcess",function(a){var e,h,j,l;e=a.x1;h=a.x2;j=l=a.y;delete a.x1;delete a.x2;delete a.y;a.path=Pd(d,b,c,e,h,j,l);return a}),e=l.addMouseover(a,e);Qa(e);return e};l._path_function=function(a,b,c,d,e,f,g){var k=a._offsetX,j=a._offsetY;g=g.getObjects();f&&(g=h.sortBy(g,f));b=h.map(g,b);c=h.map(g,
c);d&&d(b,c);e&&(c=e(b,c),b=c.x,c=c.y);d=[];e=!0;f=b.length;for(g=0;g<f;g++){var l=b[g],m=c[g];if(h.isNumber(l)&&h.isNumber(m)&&!h.isNaN(l)&&!h.isNaN(m)){var n=a.transX(l,m),l=a.transY(l,m);h.isNumber(n)&&h.isNumber(l)&&(e?(d.push(["M",n+k,l+j]),e=!1):d.push(["L",n+k,l+j]))}}return d};l._ensureFunction=function(a){for(var b in a){var c=a[b];"function"!==typeof c&&(a[b]=l.constfunc(c))}};Raphael.fn.gg_path=function(a,b){Ra++;var c=this.path().attr("preProcess",function(c){var e=c._sort;delete c._sort;
var f=c.x;delete c.x;var g=c.y;delete c.y;var k=c._pointModifier;delete c._pointModifier;c.path=h.bind(l._path_function,null,a,f,g,k,b,e);return c}),c=l.addMouseover(a,c);Qa(c);return c};l.configRaphaelAttributes=function(a){var b=function(a,b){var e=this.attr("preProcess"),f=this.attr("postProcess");if(!a||!b)return{};if(b._style){b=h.clone(b);var g=b._style;b.stroke=g.stroke;b.fill=g.color;b["stroke-width"]=g.strokewidth;b["fill-opacity"]=g.opacity;delete b._style}l._ensureFunction(b);e&&(b=e(h.clone(b)));
var e={},k;for(k in b)e[k]=(0,b[k])(a);return f?f(e):e};a.ca.func=function(a){return b.call(this,this.attr("data"),a)};a.ca.data=function(a){return b.call(this,a,this.attr("func"))};a.ca.postProcess=function(){};a.ca.preProcess=function(){}};l.Raphael=Raphael;l.addMouseover=function(a,b){if(!a.opts("mouseover_highlight"))return b;b.mouseover(function(){var a=b.attr("fill"),d=b.attr("stroke");"none"!=a?(b.data("_old_fill",a),b.attr("fill",j.rgb(a).darker().toString())):0<b.attr("stroke-width")&&(b.data("_old_stroke",
d),b.attr("stroke",j.rgb(d).darker().toString()));b.attr("cursor","hand")});b.mouseout(function(){b.attr("fill");"none"!=b.attr("fill")?b.attr("fill",b.data("_old_fill")):0<b.attr("stroke-width")&&b.attr("stroke",b.data("_old_stroke"));b.attr("cursor","normal")});return b};var ih=function(a){var b=this.tooltipFn;(b=b(this.element.attr("data")))&&$(a.originalTarget||a.srcElement).tooltip({title:b,helper:$("#polychart-helper"),trigger:"manual",placement:"left"}).tooltip("show")},jh=function(a){$(a.originalTarget||
a.srcElement).tooltip("hide")};l.addTooltip=function(a,b){if(b){var c={tooltipFn:b,element:a};a.hover(ih,jh,c,c)}return a};l.unbindAll=function(a){if(a.events)for(var b=a.events,c=0;c<b.length;c++)b[c].unbind();a.removeData();for(var d in a)delete a[d]};var Ra=0;l.raphael_mark=function(){};var Qd=q,of=function(a,b){this.code=a;this.msg=b;this.toString=function(){return"Error Code #"+a+": "+b}};Qd.error=function(a,b){throw new of(a,b);};Qd.warn=function(a,b){gc&&gc.log(new of(a,b))};Qd.info=function(a){gc&&
gc.log(a)};var Q=q;Q.opts={};Q.opts.pivot={width:300,height:300,stat:"sum",columnFormatter:null,rowFormatter:null,title:null,"title-column":null,"title-row":null,"title-all":"all"};Q.opts.graph={width:300,height:300,"padding-left":null,"padding-right":null,"padding-top":null,"padding-bottom":null,"legend-position":"right","legend-width":60,"legend-height":30,"spacing-x":20,"spacing-y":40,"facet-x":20,title:"","title-size":15,"title-bold":!0,"label-size":12,"label-bold":!1,"axis-y":"left","axis-y-line":null,
"axis-y-label":null,"axis-y-ticks":null,"axis-y-ticklength":null,"axis-y-color":null,"axis-y-strokewidth":null,"axis-y-":null,"axis-x":"bottom","axis-x-line":null,"axis-x-label":null,"axis-x-ticks":null,"axis-x-ticklength":null,"axis-x-color":null,"axis-x-strokewidth":null,"grid-render-vertical":null,"grid-render-horizontal":null,"grid-stroke":null,"grid-strokewidth":null,"grid-dasharray":null,branding:!0,dom:null,filter:null,"render-make-default-scale":!0,"render-compute":!0,"render-impute-mapping":!0,
tooltip:null,"callback-warn":null};Q.opts.aes="color fill font fontsize group opacity radius size stats stroke strokewidth symbol text tooltip x y".split(" ");Q.opts.aes.sort();Q.opts.mainFill="steelblue";Q.opts.mainColor="black";Q.opts.layer={x:"",y:1,color:Q.opts.mainFill,opacity:0.9,stroke:"#FFFFFF",strokewidth:0,facet:!0,radius:3,visible:!0,"render-max":400};Q.opts.point={stroke:Q.opts.mainColor,strokewidth:1,radius:6,padding:0};Q.opts.box={stroke:Q.opts.mainColor,strokewidth:1,padding:0.1,width:1,
align:"center"};Q.opts.bar={stroke:Q.opts.mainColor,strokewidth:1,width:1,align:"center"};Q.opts.line={color:Q.opts.mainColor,strokewidth:2,padding:0.5,radius:6};Q.opts.text={opacity:1,color:"#000000",font:"Verdana",text:"text label"};Q.opts.gradient={low:"#cccccc",high:"steelblue"};Q.opts.grid={dasharray:"- ",dashoffset:5,stroke:"#CCC",strokewidth:1,"render-vertical":!1,"render-horizontal":!0};Q.opts.axis={color:"#000",fontsize:11,labels:!0,strokewidth:1,"ticklength-x":3,"ticklength-y":7,ticks:!0};
Q.opts.axis_x={line:!0};Q.opts.axis_y={line:!1};Q.opts.coord={mouseover_highlight:!0};Q.opts.epsilon=Math.pow(10,-7);Q.opts.theme_bw=function(){};var B=q;B.graph=l.makeClass("gg.graph");B.graph.prototype.init=function(a){this._filteredData=this._paper=this._data=null;this._layers=[];this._scales={};this._facet=this._coord=null;this._attr=l.cloneobj(B.opts.graph);this._legend={};this._doms={};this._dimCache=null;this._rendered=!1;a&&this.data(a)};B.graph.prototype.data=l.dataGetter({onChange:function(){this._filterData()}});
B.graph.prototype.getFilteredData=function(){return this._filteredData};B.graph.prototype.getAttr=function(){var a={};h.each(this._attr,function(b,c){if(!h.isNull(b)&&!h.isUndefined(b)&&!(-Infinity===b||Infinity===b||h.isFunction(b)))if(l.isNode(b)){var d=b.getAttribute("id");null!==d&&""!==d&&(a[c]=d)}else a[c]=b});return a};B.graph.prototype._varlabel=function(a){var b=this.opts("label-"+a);if(!l.undef(b))return b;b=h.chain(this._layers).map(function(b){return b.map(a)}).filter(l.identity).value();
return 0<b.length?b[0]:""};B.graph.prototype.getLayer=function(a){return this._layers[a]};B.graph.prototype.getLayerIndex=function(a){for(var b=0;b<this._layers.length;b++)if(a==this._layers[b])return b;return-1};B.graph.prototype.removeLayer=function(a){var b=this._layers.length;this._layers=h.without(this._layers,a);return b!==this._layers.length};B.graph.prototype.addLayer=function(a,b){(a=l.instantiate(a))||B.error(201,"Attempting to add an undefined or malformed layer: "+a);var c=l.cloneobj(a);
c.attach(this);null===b?this._layers.push(c):this._layers.splice(b,0,c);return this};B.graph.prototype.numLayers=function(){return this._layers.length};B.graph.prototype.getMapKeys=function(){return h.chain(this._layers).map(function(a){return h.keys(a.getMap())}).flatten().uniq().value()};B.graph.prototype.isMapped=function(a,b){return b?(a=l.getBaseAes(a),h.any(this._layers,function(b){return h.any(h.keys(b.getMap()),function(b){return l.getBaseAes(b)===a})})):h.any(h.invoke(this._layers,"map",
a))};B.graph.prototype.defaultMin=function(a,b){if(0===this._layers.length)return null;var c=h.chain(this._layers).invoke("defaultMin",a,b).filter(h.isNumber).min().value();return Infinity!=c?c:null};B.graph.prototype.defaultMax=function(a,b){if(0===this._layers.length)return null;var c=h.chain(this._layers).invoke("defaultMax",a,b).filter(h.isNumber).max().value();return-Infinity!=c?c:null};B.graph.prototype.opts=l.opts();B.graph.prototype.warn=function(a,b){var c=this.opts("callback-warn");c?c({code:a,
message:b}):B.warn(a,b)};B.graph.prototype._optsUpdate=function(a,b){this._rendered&&("title"==a?this._update_label("_debug_title",b):"label-x"==a?this._update_label("_debug_x_label",b):"label-y"==a&&this._update_label("_debug_y_label",b));"dom"===a&&this._clearCache();this._clearDimCache()};B.graph.prototype.layer=function(a){return this.addLayer(a,null)};B.graph.prototype.coord=function(a){if(0===arguments.length)return this._coord;a=l.instantiate(a);var b=null,b=l.cloneobj(a);b.attach(this);this._coord=
b;return this};B.graph.prototype.facet=function(a){if(0===arguments.length)return this._facet;if(null===a)this._facet=null;else{(a=l.instantiate(a))||B.error(201,"Attempting to add an undefined or malformed facet: "+a);var b=l.cloneobj(a);b.attach(this);this._facet=b}this._clearCanvas();return this};B.graph.prototype._update_label=function(a,b){var c=this._doms[a];c&&c.attr("text",b)};B.graph.prototype.dimensions=function(a){if(!this._dimCache||!0===a)this._dimCache=this._calculateDims();return this._dimCache};
B.graph.prototype._calculateDims=function(){var a=this._facet?this._facet.ncol():1,b=this._facet?this._facet.nrow():1,c=1<b*a,d=0,e=0,f=0,g=null==this.opts("padding-top")?20:this.opts("padding-top"),h=null==this.opts("padding-left")?50:this.opts("padding-left"),j=null==this.opts("padding-right")?50:this.opts("padding-right"),m=null==this.opts("padding-bottom")?50:this.opts("padding-bottom");this._legend&&this._legend._aes&&(e=this._legend.width(),f=this._legend.height());this._axes&&this._axes.y&&
(d=this._axes.y.width());var q=this.opts("axis-y"),n=this.opts("axis-x"),t=this.opts("legend-position"),g=Math.max(g,30+25*("top"==n)-c*this.opts("spacing-x")),m=Math.max(m,30+20*("bottom"==n)+f),h=Math.max(Math.min(30+("left"==q)*d+("left"==t)*e,0.25*this.opts("width")),h),j=Math.max(Math.min(15+("right"==q)*d+("right"==t)*e,0.25*this.opts("width")),j),d=this.opts("width")-h-j,e=this.opts("height")-g-m;l.assertNumber(d);l.assertNumber(e);f=c?this.opts("spacing-x"):0;c=c?this.opts("spacing-y"):0;
return{ncol:a,nrow:b,paddingLeft:h,paddingRight:j,paddingTop:g,paddingBottom:m,chartWidth:d,chartHeight:e,eachWidth:(d-(a-1)*f)/a,eachHeight:(e-b*c)/b,spacingX:f,spacingY:c,xLabelY:"bottom"==n?g+e+30:30,yLabelX:"left"==q?15:h+d+j-5,additionalScales:!!this._legend&&!!this._legend._aes}};B.graph.prototype.getAxisOffset=function(a,b,c){var d=this.dimensions();b=this.xposition(b);a=this.yposition(a);var e=d.eachWidth,d=d.eachHeight,f="gg.coord.polar"===this.coord()._cls_name,g=this.coord()._flip!==f?
"x":"y";"right"==c?b+=e:"bottom"==c?a+=d:"center"==c?(b+=e/2,a+=d/2):"left"==c&&f&&(b-=9,a+=d/2-this._scales[g].range()[1]);return{x:b-0.5,y:a-0.5}};B.graph.prototype.createOffsetCoord=function(a,b){var c=new B.coord.cart;c.attach(this);c.opts("mouseover_highlight",!1);return c.differentOffset(a,b)};B.graph.prototype.makeplot=function(a){var b=this.opts("width"),c=this.opts("height"),d;a?h.isString(a)?(d="#"==a.charAt(0)?a.substring(1):a,(d=document.getElementById(d))||B.error(212,"Invalid dom for .opts('dom') - "+
a)):d=a:B.error(212,"Invalid dom for .opts('dom') - "+a);a=l.Raphael(d,b,c);l.configRaphaelAttributes(a);return a};B.graph.prototype.setDefaultCoord=function(){this._coord||this.coord(B.coord.cart());return this};B.graph.prototype.filter=function(a){if(0===arguments.length)return this.opts("filter");this.opts("filter",a);this._filterData();return this};B.graph.prototype._filterData=function(){this._filteredData=this.opts("filter")?this.data().filter(this.opts("filter")):this.data()};var pf=function(a){a&&
(a.forEach(function(a){l.unbindAll(a)}),a.clear())};B.graph.prototype._clearCache=function(){pf(this._paper);this._paper=null;this._doms={};this._dimCache=null;this._rendered=!1};B.graph.prototype._clearCanvas=function(){pf(this._paper);this._doms={};this._dimCache=null;this._rendered=!1};B.graph.prototype._clearDimCache=function(){this._dimCache=null};B.graph.prototype._preRender=function(a){this._debugStartTime=new Date;a&&this.opts("dom",a);if(this._paper){a=this.opts("width");var b=this.opts("height");
this._paper.setSize(a,b);this._clearCanvas()}else this._paper=this.makeplot(this.opts("dom"))};B.graph.prototype._postRender=function(){var a=new Date-this._debugStartTime;this._rendered=!0;B.info("render() took "+a+" ms.");this._renderingTime=a};B.graph.prototype.xposition=function(a){var b=this.dimensions();return b.paddingLeft+a*(b.eachWidth+b.spacingX)};B.graph.prototype.yposition=function(a){var b=this.dimensions();return b.paddingTop+a*(b.eachHeight+b.spacingY)+b.spacingY};B.graph.prototype._defaultComputeOptions=
function(){return{defaultScale:this.opts("render-make-default-scale"),imputeMapping:this.opts("render-impute-mapping")}};B.graph.prototype.compute=function(a){a=a||this._defaultComputeOptions();var b=this;this._facet&&this._facet.prepare();a.imputeMapping&&h.invoke(this._layers,"attachDerivedMappings");h.invoke(this._layers,"resetCalculate");h.invoke(this._layers,"calculate");a.defaultScale&&h.each(this.makeDefaultScales(),function(a,d){b.scale(d,a)});this.setDefaultCoord();this._setupAxes();a=this.opts("legend-position");
this._legend="none"!=a?B.guide.legend(this,this._layers,this._scales,a):null;this.dimensions(!0);this.computeScale()};B.graph.prototype.render=function(a){this._preRender(a);this._timer=a=l.timer();l.raphael_mark();this.opts("render-compute")&&(this.compute(),a.mark("compute()"),l.raphael_mark("compute()"));this.bindDerivedScales();a.mark("bindDerivedScales()");l.raphael_mark("bindDeriveScales()");var b=this.checkLayerError();this.renderPrimary(b);l.raphael_mark("renderPrimary()");this.renderAllFacetLabel();
a.mark("renderAllFacetLabel()");l.raphael_mark("renderAllFacetLabel()");this.renderOtherLabel();a.mark("renderOtherLabel()");l.raphael_mark("renderOtherLabel()");this.renderLegend();a.mark("renderLegend()");l.raphael_mark("renderOtherLabel()");this.opts("branding")&&this.render_branding();this._postRender();return this};B.graph.prototype.checkLayerError=function(){return h.invoke(this._layers,"checkErrors",{rawScales:this._scales,coord:this._coord})};B.graph.prototype.toCode=function(a,b,c){var d=
[];a||(a=0);var e=a+this._cls_name.length+3;c?d=[c]:this._data&&(d=[this._data.toCode(a,e)]);var f={cls:this._cls_name,params:d,funcs:[]};h.each(this._layers,function(b){f.funcs.push(["layer",b.toCode(a,e)])});h.each(this._scales,function(b,c){if(b){var d=l.qt(c);f.funcs.push(["scale",[d,b.toCode(a,e+d.length+2)]])}});this._coord&&f.funcs.push(["coord",this._coord.toCode(a,e)]);this._facet&&f.funcs.push(["facet",this._facet.toCode(a,e)]);var g=this.getAttr();h.each(g,function(a,b){"render"==b.split("-")[0]&&
delete g[b]});f.funcs.push(["opts",ja.stringify(g)]);return l.toCode(a,b,f)};var M=q;M.coord=M.coord||{};M.coord.base=l.makeClass("gg.coord.base");M.coord.base.prototype.init=function(){this._graph=null;this._detached=!0;this._offsetY=this._offsetX=0;this._attr=h.clone(M.opts.coord);this._flip=null};M.coord.base.prototype.flip=function(){this._flip=!this._flip};M.coord.base.prototype.opts=l.opts();M.coord.base.prototype.differentOffset=function(a,b){var c=l.cloneobj(this);c._offsetX+=a;c._offsetY+=
b;c._attr=l.cloneobj(this._attr);return c};M.coord.base.prototype.attach=function(a){this._detached||M.error(600,"This coordinate is already attached to a graph. Unexpected behaviour may occur.");this._detached=!1;this._graph=a;return this};M.coord.base.prototype.getPaper=function(){return this._graph._paper};M.coord.base.prototype.set=function(a,b){this.attr[a]=b;return this};M.coord.base.prototype.configScale=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.transX=function(){M.error(10,
"Not implemented.")};M.coord.base.prototype.transY=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.drawAxis=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.line=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.vline=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.hline=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.rect=function(){M.error(10,"Not implemented.")};M.coord.base.prototype.point=function(){return this.getPaper().gg_symbol(this)};
M.coord.base.prototype.poly=function(){return this.getPaper().gg_path(this)};M.coord.base.prototype.text=function(){return this.getPaper().gg_text(this)};M.coord.base.prototype.toCode=l.toCodeBasic;var T=q;T.facet=T.facet||{};T.facet.base=l.makeClass("gg.facet.base");T.facet.base.prototype.init=function(){this._graph=null;this._detached=!0;this._attr={free_x:!1,free_y:!1}};T.facet.base.prototype.attach=function(a){this._detached||this.warn(700,"This facet is already attached to a graph. Unexpected behaviour may occur.");
this._graph=a;this._detached=!1};T.facet.base.prototype.opts=l.opts();T.facet.base.prototype.warn=function(a,b){this._detached?T.warn(a,b):this._graph.warn(a,b)};T.facet.base.prototype.calculate=function(a){var b=this.nrow()*this.ncol(),c=l.array(b,function(){return a.clone()}),d,e=a.len();for(d=0;d<e;d++){var f=a.getObject(d),g=this.bin(f);g<b?c[g].push(f):T.warn(702,"Facet number of cells is too small, ignoring data row number "+d)}return c};T.facet.base.prototype.getAttr=l.getAttr;T.facet.base.bin=
function(){T.error(10,"Not implemented.")};T.facet.base.prototype.ncol=function(){T.error(10,"Not implemented.")};T.facet.base.prototype.nrow=function(){T.error(10,"Not implemented.")};T.facet.base.prototype.isValidIndex=function(){return!0};T.facet.base.prototype.renderLabel=function(){T.error(10,"Not implemented.")};T.facet.base.prototype.toCode=l.toCodeBasic;var hc=q;hc.guide=hc.guide||{};hc.guide.base=l.makeClass("gg.guide.base");hc.guide.base.prototype.init=function(){this._attr={num_ticks:5}};
hc.guide.base.prototype.opts=l.opts();var A=q,Jc={};A.layer=A.layer||{};A.layer.base=l.makeClass("gg.layer.base");var ua=function(a,b){h.isFunction(a)?(this.val=a._name?a._name:h.uniqueId("$func:"),this.code=a,this.functionMapping=!0):this.val=a;this.defaultMapping=l.bool(b)};ua.prototype.val=null;ua.prototype.code=null;ua.prototype.defaultMapping=!1;ua.prototype.functionMapping=!1;A.layer.base.prototype.init=function(a){this._attr=l.cloneobj(A.opts.layer);this._statData=this._facetedData=this._data=
this._graph=null;this._stats=void 0;this._detached=!0;this._default_stats=A.stats.id;this._calculated=!1;this.opts("domain",null);a&&this.data(a)};A.layer.base.prototype.warn=function(a,b){this._detached?A.warn(a,b):this._graph.warn(a,b)};A.layer.base.prototype.opts=l.opts();A.layer.base.prototype.data=function(a){if(0===arguments.length)return this._data===Jc?this._graph.getFilteredData():this._data;if(a!==Jc&&(!a||"gg.data"!=a._cls_name))a=A.data(a);this._data=a;return this};A.layer.base.prototype.stats=
function(a){if(1===arguments.length)return(a=l.instantiate(a))||A.error(304,"Attempting to add an undefined or malformed statistic: "+a),this._stats=a,this.resetCalculate(),this;h.isUndefined(this._stats)&&(this._stats=this._default_stats());return this._stats};A.layer.base.prototype.attach=function(a){this._detached||this.warn(300,"This layer is already attached to a graph. Unexpected behaviour may occur.");this.data()||this.data(Jc);this._detached=!1;this._graph=a;return this};A.layer.base.prototype.resetCalculate=
function(){this._calculated=!1};A.layer.base.prototype.defaultMin=function(){};A.layer.base.prototype.defaultMax=function(){};A.layer.base.prototype.requiredMap=function(){return null};A.layer.base.prototype.calculatePartials=function(){return!1};A.layer.base.prototype.layerGroup=function(){return[]};A.layer.base.prototype.needDefined=function(){return["x","y"]};A.layer.base.prototype.calculateStats=function(a){var b=this.getMap(),c=this.getAttr(),d=h.chain(this.needDefined()).map(function(a){return b[a]}).filter(function(a){return a}).value();
!this.hasGroup()&&b.group&&delete b.group;c={mapping:b,attr:c,need:d,layer_group_aes:this.layerGroup(),no_partials:!this.calculatePartials()};return this.stats().calculateStats(a,c)};A.layer.base.prototype.hasGroup=function(){return!0};A.layer.base.prototype.calculate=function(){this._detached&&this.warn(301,"Calculating statistics on a detached layer.");if(!this._calculated){this.checkStatsRequiredMapping();this.checkLayerRequiredMapping();this.checkInvalidMapping();var a=this._getFacet();this._facetedData=
a?a.calculate(this.data()):[this.data()];a=h.bind(this.calculateStats,this);this._statData=h.map(this._facetedData,a);var b=h.bind(this._bindFunctionMapping,this);h.each(this._statData,function(a){h.each(a,b)});this._calculated=!0;return this}};A.layer.base.prototype._map=function(a,b){this._attr[a]=new ua(b)};A.layer.base.prototype.map=function(a,b){var c=this;0===arguments.length&&A.error(12,"Function map() called with less than 1 parameter.");if(1===arguments.length){if(!h.isString(a)&&0<h.keys(a).length)return h.each(h.keys(a),
function(a){l.assertAes(a)}),h.each(a,function(a,b){c._map(b,a)}),this.resetCalculate(),this;l.assertAes(a);var d=this._attr[a];return d instanceof ua?d.val:null}l.assertAes(a);h.isUndefined(b)||null===b?this.unset(a):this._map(a,b);this.resetCalculate();return this};A.layer.base.prototype.isDefaultMap=function(a){a=this._attr[a];return a instanceof ua?a.defaultMapping:!1};A.layer.base.prototype.getAttr=function(){var a={};h.each(this._attr,function(b,c){b instanceof ua||(a[c]=b)});return a};A.layer.base.prototype.getMap=
function(){var a={};h.each(this._attr,function(b,c){b instanceof ua&&(a[c]=b.val)});return a};A.layer.base.prototype.unset=function(a){h.has(this._attr,a)&&delete this._attr[a];h.has(A.opts.layer,a)&&(this._attr[a]=A.opts.layer[a]);return this};A.layer.base.prototype.getAestheticsGroup=function(a){var b=a+"_",c=this.getMap(),d={};h.chain(c).keys().filter(function(c){return c==a||l.startswith(c,b)}).map(function(a){d[a]=c[a]});d.y&&d.y_override&&delete d.y;return d};A.layer.base.prototype.getData=
function(a,b){if(!this.data())return null;var c=this.map(a);return!c?null:this.data().get(c,b)};A.layer.base.prototype.getScales=function(a){var b=a.rawScales,c,d={};h.each(this._attr,function(e,f){if(e instanceof ua){var g=b[f];g&&(d[f]=h.bind(g.apply,g,e.val))}else"x"==f||"y"==f?(c=b[f],a["free_"+f]&&"category"==c._type&&c.make(this._levels(f,null,a.facetId)),d[f]=l.constfunc(c.apply(e))):d[f]=l.constfunc(e)});return d};A.layer.base.prototype.renderEntry=function(a){this.calculate();a.computedData=
this.hasGroup()?this._statData[a.facetIndex]:this._statData[a.facetIndex][0];a.scales=this.getScales(a);var b=null,b=a.rawScales.x.width();a.align="center";a.width=b;a.computedData&&this.opts("visible")&&this.render(a)};A.layer.base.prototype.checkErrors=function(){return 0===h.keys(this.getMap()).length?(this.warn(320,"No mapping has been set in layer "+this._cls_name),!0):!1};A.layer.base.prototype.render=function(){A.error(10,"Not implemented.")};A.layer.base.prototype.queryData=function(a,b,c,
d,e){if("data"===b)return c(a,this.data());this.calculate();b=b||"aes_group";e=h.isNumber(e)?e:-1;e>this._statData.length&&A.error(-1,"Attempting to access facet id "+e+" when there are only "+this._statData.length);var f=-1==e?l.doubleMap:h.map,g=-1==e?this._statData:this._statData[e],k;"aes_group"===b?(a=h.values(this.getAestheticsGroup(a)),a=h.map(a,function(a){return f(g,h.bind(c,null,a))}),a=l.concat(a)):("key"===b?k=a:"aes"===b?k=this.map(a):this.warn(-1,"Should not reach here."),a=f(g,h.bind(c,
null,k)));a=l.concat(a);return d(a)};A.layer.base.prototype.min=function(a,b,c){var d=this.type(a,b),d=A.type.fromString(d).min;return this.queryData(a,b,function(a,b){return b.min(a)},d,c)};A.layer.base.prototype.max=function(a,b,c){var d=this.type(a,b),d=A.type.fromString(d).max;return this.queryData(a,b,function(a,b){return b.max(a)},d,c)};A.layer.base.prototype.levels=function(a,b,c){var d=this.type(a,b),e=A.type.fromString(d);return this.queryData(a,b,function(a,b){return b.levels(a)},function(a){return l.mergeArrays(a,
e.represent)},c)};A.layer.base.prototype.type=function(a,b,c){return this.queryData(a,b,function(a,b){return b.type(a)},l.unionType,c)};A.layer.base.prototype.checkStatsRequiredMapping=function(){var a=this.stats().requiredMap()||[],a=h.difference(a,h.keys(this.getMap()));0<a.length&&A.error(302,"Variable need to be mapped to the following aesthetics: "+a.join(", "))};A.layer.base.prototype.checkLayerRequiredMapping=function(){var a=this.stats().requiredMap()||[],a=h.difference(a,h.keys(this.getMap()));
0<a.length&&A.error(302,"Variable need to be mapped to the following aesthetics: "+a.join(", "))};A.layer.base.prototype._bindFunctionMapping=function(a){var b=this._getFunctionMappings();h.each(b,function(b){var d=b.val;a.hasKey(d)||a.derive(b.code,d)})};A.layer.base.prototype._getFunctionMappings=function(){var a=[];h.each(this._attr,function(b){b instanceof ua&&b.functionMapping&&a.push(b)});return a};A.layer.base.prototype.getInvalidMapping=function(){var a=this,b=this.data().keys(),c=this.stats().keys(),
d=h.union(b,c),e={};h.each(this.getMap(),function(b,c){h.include(d,b)||a.opts(c).functionMapping||(e[c]=b)});return e};A.layer.base.prototype.checkInvalidMapping=function(){var a=this.getInvalidMapping();0<h.size(a)&&(a=h.map(a,function(a,c){return"Mapping of aesthetics "+c+" to variable "+a+" is invalid."}),A.error(303,a.join("\n")))};A.layer.base.prototype.checkAllMapping=function(){this.checkStatsRequiredMapping();this.checkInvalidMapping()};A.layer.base.prototype.imputeMapping=function(a,b){var c=
{};if(!a||!b)return c;h.each(b,function(b,e){if(!a[e])if(h.isArray(b))for(var f=0;f<b.length;f++){var g=b[f];if(a[g]){f=e;g=a[g];a[f]=g;c[f]=g;break}}else a[b]&&(g=a[b],a[e]=g,c[e]=g)});return c};A.layer.base.prototype._removePreviousDefaults=function(){var a=this;h.each(this._attr,function(b,c){b instanceof ua&&b.defaultMapping&&delete a._attr[c]})};A.layer.base.prototype._getFacet=function(){return this._graph?this._graph.facet():null};A.layer.base.prototype._attachImputed=function(a,b){var c=this._attr[a];
h.isUndefined(c)||!(c instanceof ua)?this._attr[a]=new ua(b,!0):c instanceof ua&&c.defaultMapping&&(this._attr[a].value=b)};A.layer.base.prototype.attachDerivedMappings=function(){this._removePreviousDefaults();var a=this,b=this.stats(),c=this.getMap(),d=this.imputeMapping(c),b=b?b.imputeMapping(c):{},d=h.defaults({},d,b);h.each(d,function(b,c){a._attachImputed(c,b)});return d};A.layer.base.prototype.toCode=function(a,b){var c={cls:this._cls_name};this._data&&this._data!==Jc&&(c.params=[this._data.toCode(a,
a+this._cls_name.length+3)]);c.funcs=[["opts",ja.stringify(this.getAttr())]];var d=this.getMap();h.each(d,function(a,b){h.include(A.opts.aes,b.split("_")[0])||delete d[b];"tooltip"==b&&delete d[b]});0<h.keys(d).length&&c.funcs.push(["map",ja.stringify(d)]);this._stats&&c.funcs.push(["stats",this._stats.toCode()]);return l.toCode(a,b,c)};A.layer.base.prototype.fillZero=function(a,b,c){var d=this.map("x"),e=this.opts("domain"),f=a.levels(d),g=a.getRaw().slice(),k=b.rawScales.x.opts("domain_low");b=
b.rawScales.x.opts("domain_high");for(var j={},l=function(a){j[a]=0};k<=b;)h.include(f,k)||(j={},j[d]=k,h.each(c,l),g.push(j)),k=e(k);return a.clone(g)};var I=q,kh=function(a,b,c){this.data=a;this.label=c;this.pos=b};I.scale=I.scale||{};I.scale.base=l.makeClass("gg.scale.base");I.scale.base.prototype.init=function(){this._graph=this._aes=null;this._detached=!0;this._type=null;this._attr={pixel_per_tick_x:60,pixel_per_tick_y:30,ticks:null,numticks:null,min:null,max:null,absolute_min:-Infinity,absolute_max:Infinity,
domain_low:null,domain_high:null,range_low:null,range_high:null};this._facetIndex=-1};I.scale.base.prototype.opts=l.opts();I.scale.base.prototype.warn=function(a,b){this._detached?I.warn(a,b):this._graph.warn(a,b)};I.scale.base.prototype.CONTINUOUS=!1;I.scale.base.prototype.DISCRETE=!1;I.scale.base.prototype.getAttr=l.getAttr;I.scale.base.prototype.attach=function(a,b){this._detached||this.warn(400,"This scale is already attached to a graph. Unexpected behaviour may occur.");a||I.error(401,"Attempting to attach a scale to an empty graph.");
b||I.error(402,"Scale type "+this._cls_name+" cannot to be attached to aesthetics "+b+".");this._aes=b;this._graph=a;this._detached=!1};I.scale.base.prototype.min=function(a){var b=this._attr.absolute_min;return 1===arguments.length?(h.isNumber(b)&&a<b&&(this.warn(403,"Minimum cannot be set below "+b+". Using "+b+" instead of "+a+"."),a=b),this._attr.min=a,this):this._attr.min};I.scale.base.prototype.max=function(a){var b=this._attr.absolute_max;return 1===arguments.length?(h.isNumber(b)&&a>b&&(this.warn(403,
"Maximum cannot be set above "+b+". Using "+b+" instead of "+a+"."),a=b),this._attr.max=a,this):this._attr.max};I.scale.base.prototype.rangeSize=function(){return Math.abs(this._attr.range_low-this._attr.range_high)};I.scale.base.prototype.type=function(){return this._type};I.scale.base.prototype._saneNumber=function(a){return h.isNumber(a)&&!isNaN(a)&&Infinity!=a&&-Infinity!=a};I.scale.base.prototype._makeDomain=function(){var a=this._aes,b=this._graph.min(a),c=this._graph.defaultMin(a,b),d=this._graph.max(a),
a=this._graph.defaultMax(a,d);this._attr.domain_low=h.chain([b,this._attr.min,c]).filter(h.isNumber).min().value();this._attr.domain_high=h.chain([d,this._attr.max,a]).filter(h.isNumber).max().value();return[this._attr.domain_low,this._attr.domain_high]};I.scale.base.prototype.domain=function(a){return 1===arguments.length?(this._attr.min=a[0],this._attr.max=a[1],this):[this._attr.min,this._attr.max]};I.scale.base.prototype.range=function(a){return 1===arguments.length?(this._attr.range_low=a[0],
this._attr.range_high=a[1],this):!h.isUndefined(this._attr.range_low)&&!h.isUndefined(this._attr.range_high)?[this._attr.range_low,this._attr.range_high]:null};I.scale.base.prototype.make=function(){I.error(10,"Not implemented.")};I.scale.base.prototype._apply=function(){I.error(10,"Not implemented.")};I.scale.base.prototype.apply=function(a,b){1==arguments.length&&(b=a,a=void 0);b&&"gg.data"===b._cls_name&&(b=b.getObject(0));var c=h.isUndefined(a)||h.isUndefined(b[a])?b:b[a];return this._apply(c)};
I.scale.base.prototype._tickObject=function(a,b,c){return new kh(a,b,c)};I.scale.base.prototype._suggestNumticks=function(a,b,c){h.isNumber(a)||(a=null);null===a&&(a=this.opts("numticks"),h.isNull(a)&&(a=this.rangeSize(),h.isNumber(c)&&0<c||(c="x"==this._aes==Boolean(b)?this.opts("pixel_per_tick_y"):this.opts("pixel_per_tick_x")),a/=c));return Math.ceil(a)};I.scale.base.prototype.ticks=function(){I.error(10,"Not implemented.")};I.scale.base.prototype.maxLabelWidth=function(){I.error(10,"Not implemented.")};
I.scale.base.prototype.toCode=l.toCodeBasic;var Ba=q;Ba.stats=Ba.stats||{};Ba.stats.base=l.makeClass("gg.stats.base");Ba.stats.base.prototype.init=function(){this._attr={}};Ba.stats.base.prototype.imputeMapping=function(a,b){var c={};if(!a||!b)return c;h.each(b,function(b,e){if(!a[e])if(h.isArray(b))for(var f=0;f<b.length;f++){var g=b[f];if(a[g]){f=e;g=a[g];a[f]=g;c[f]=g;break}}else a[b]&&(g=a[b],a[e]=g,c[e]=g)});return c};Ba.stats.base.prototype.requiredMap=function(){return null};Ba.stats.base.prototype.compute=
function(a){return a};Ba.stats.base.prototype.postProcess=function(a){return a};Ba.stats.base.prototype.calculateStats=function(a,b){return this.group(a,b)};Ba.stats.base.prototype.group=function(a,b){var c=this,d=b.mapping,e={},f=b.groupFunctions||{};b.need||(b.need=[]);var g=function(a){for(var c=0;c<b.need.length;c++)if(h.isNull(a[b.need[c]]))return!1;return!0};h.each(d,function(a,b){"group"==l.getBaseAes(b)&&(e[a]=f[b]||l.identity)});var k=a.group(e),k=h.map(k,function(a){return c.compute(a,b)});
if(!b.no_partials){var j=b.mapping.x,m={};j&&(m[j]=e[j]||l.identity);var k=Ba.data.group(k,m,g),q={};h.each(d,function(b,c){"group"==l.getBaseAes(c)&&("group_stats"!==c&&!q[c])&&(q[b]=a.levels(b))});k=this.postProcess(k,b,q)}var n={};h.each(b.layer_group_aes||["group"],function(a){(a=d[a])&&(n[a]=f[a]||l.identity)});return k=Ba.data.group(k,n,g)};Ba.stats.base.prototype.keys=function(){return[]};Ba.stats.base.prototype.toCode=l.toCodeBasic;var S=q;S.type={};var Rd=null;S.type.fromString=function(a){null===
Rd&&(Rd={number:new S.type.number,category:new S.type.category,unknown:new S.type.unknown,date:new S.type.date});a||(a="unknown");var b=Rd[a];b||S.error(800,"No such type "+a+".");return b};S.type.base=l.makeClass("gg.type.base");S.type.base.prototype.init=function(){h.bindAll(this,"min","max")};S.type.base.prototype.min=function(){S.error(10,"Not implemented.")};S.type.base.prototype.max=function(){S.error(10,"Not implemented.")};S.type.base.prototype.ticks=function(){S.error(10,"Not implemented.")};
S.type.base.prototype.coerce=function(){S.error(10,"Not implemented.")};S.type.base.prototype.validate=function(){S.error(10,"Not implemented.")};S.type.base.prototype.defaultScale=function(){S.error(10,"Not implemented.")};S.type.base.prototype.represent=function(){S.error(10,"Not implemented.")};S.type.base.prototype._postProcess=function(a,b){"opacity"==a?b.range([0.2,0.9]):"strokewidth"==a?b.range([0,5]):"radius"==a&&(b.opts("transform","sqrt"),b.range([0.5,10]),b.min(0))};var bb=q;bb.stats.aggregate=
l.makeClass("gg.stats.aggregate",bb.stats.base);bb.stats.aggregate.prototype.init=function(){bb.stats.base.prototype.init.call(this)};bb.stats.aggregate.prototype.calculateStats=function(a,b){return this.group(a,b)};bb.stats.aggregate.prototype.imputeMapping=function(a,b){return bb.stats.base.prototype.imputeMapping.call(this,a,b)};bb.stats.aggregate.prototype.keys=function(){return[]};bb.stats.aggregate.prototype.makeMeta=function(a){var b=a.metas();a=this.keys();h.each(a,function(a){h.contains(b,
a)||(b[a]={type:"number"})});return b};var cb=q;cb.stats.sum=l.makeClass("gg.stats.sum",cb.stats.aggregate);cb.stats.sum.prototype.compute=function(a,b){var c=b.mapping,d=a.len(),e=c.y,c=a.getObject(0);if(e){for(var f=1;f<d&&h.isNull(c[e]);)c=a.getObject(f),f++;d=l.sum.apply(a.get(e));c.$sum=d}else c.$sum=b.attr.y*a.len();d=this.makeMeta(a);return cb.data([c],d)};cb.stats.sum.prototype.imputeMapping=function(a){a=cb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,
{y_override:"$sum",y_1:"$partial_1",y_2:"$partial_2"})};cb.stats.sum.prototype.keys=function(){return cb.stats.aggregate.prototype.keys.call(this).concat(["$sum","$partial_1","$partial_2"])};cb.stats.sum.prototype.postProcess=function(a,b,c){var d=[],e=h.keys(c),f={plus:0,minus:0},g="",k={},j=function(a){g=0<=a.$sum?"plus":"minus";a.$partial_1=f[g];a.$partial_2=a.$partial_1+a.$sum;f[g]+=a.$sum;d.push(a)},m=function(a){var b=h.clone(k);b.$partial_1=f.plus;b.$partial_2=f.plus;b.$sum=0;h.each(e,function(c){b[c]=
a[c]});d.push(b)};if(!c||0===e.length)a=h.map(a,function(a){d=[];f={plus:0,minus:0};h.each(a._internal,j);return a.clone(d)});else{var q=0,n={},t={},r={};h.each(c,function(a,b){r[b]=a.length});var v=l.compareBy(e),u=function(){h.each(n,function(a,b){t[b]=c[b][a]})};a=h.map(a,function(a){h.each(e,function(a){n[a]=0});d=[];f={plus:0,minus:0};q=0;var b=a._internal.sort(v);k=b[0];for(var c=!0;c||q<b.length;){u();q<b.length&&0===v(b[q],t)?(j(b[q]),q++):m(t);a:{for(c=e.length-1;0<=c;c--){var g=e[c];n[g]++;
if(n[g]<r[g]){c=!0;break a}n[g]=0}c=!1}}return a.clone(d)})}return a};var Ja=q;Ja.coord.cart=l.makeClass("gg.coord.cart",Ja.coord.base);Ja.coord.cart.prototype.init=function(a){Ja.coord.base.prototype.init.call(this);this._flip=l.bool(a)};Ja.coord.cart.prototype.configScale=function(a,b){this._flip?(b.x.range([a.height,a.y]),b.y.range([a.x,a.width])):(b.x.range([a.x,a.width]),b.y.range([a.height,a.y]))};Ja.coord.cart.prototype.transX=function(a,b){return this._flip?b:a};Ja.coord.cart.prototype.transY=
function(a,b){return this._flip?a:b};Ja.coord.cart.prototype.vline=function(){return this.getPaper().gg_cart_vline(this)};Ja.coord.cart.prototype.hline=function(){return this.getPaper().gg_cart_hline(this)};Ja.coord.cart.prototype.line=function(){return this.getPaper().gg_cart_line(this)};Ja.coord.cart.prototype.rect=function(){return this.getPaper().gg_cart_rect(this)};Ja.coord.cart.prototype.toCode=function(a,b){return l.toCode(a,b,{cls:this._cls_name,params:[this._flip.toString()]})};var ma=q;
ma.coord.polar=l.makeClass("gg.coord.polar",ma.coord.base);ma.coord.polar.prototype.init=function(a){ma.coord.base.prototype.init.call(this);this._flip=l.bool(a);this._configured=!1};ma.coord.polar.prototype.configScale=function(a,b){this._offsetX=a.x+a.width/2;this._offsetY=a.y+a.height/2;var c=1*(Math.min(a.width,a.height)/2);this._flip?(b.y.range([0,c]),b.x.range([0,2*Math.PI]),b.x.opts("expand",0)):(b.x.range([0,c]),b.y.range([0,2*Math.PI]),b.y.opts("expand",0));this._configured=!0};ma.coord.polar.prototype.transX=
function(a,b){this._configured||ma.error(605,"Attempting to use a coordinate that has not been configured.");return!this._flip?a*Math.cos(b-Math.PI/2):b*Math.cos(a-Math.PI/2)};ma.coord.polar.prototype.transY=function(a,b){this._configured||ma.error(605,"Attempting to use a coordinate that has not been configured.");return!this._flip?a*Math.sin(b-Math.PI/2):b*Math.sin(a-Math.PI/2)};ma.coord.polar.prototype.vline=function(){return this.getPaper().gg_polar_vline(this)};ma.coord.polar.prototype.hline=
function(){return this.getPaper().gg_polar_hline(this)};ma.coord.polar.prototype.rect=function(){return this.getPaper().gg_polar_rect(this)};ma.coord.polar.prototype.toCode=function(a,b){return l.toCode(a,b,{cls:this._cls_name,params:[this._flip.toString()]})};ma.coord.polar.prototype.poly=function(){var a=this.getPaper(),b=h.bind(this._smoother,this);return a.gg_path(this,b)};ma.coord.polar.prototype._getRange=function(){return 2*Math.PI};ma.coord.polar.prototype._getTickSize=function(){return 0.01};
ma.coord.polar.prototype._smoother=function(a,b){for(var c=this._flip,d=a.length,e=0,f=!0,g,k,j,l,m=[],n=[],q=this._getRange(),r=this._getTickSize(),e=0;e<d;e++)if(g=a[e],k=b[e],h.isNumber(g)&&h.isNumber(k))if(f)j=g,l=k,m.push(g),n.push(k),f=!1;else{var t,u,v,y,z;u=g-j;v=k-l;t=c?Math.floor(u/q/r):Math.floor(v/q/r);for(var w=1;w<t;w++)y=w/t,z=y*v,y*=u,m.push(j+y),n.push(l+z);j=g;l=k;m.push(g);n.push(k)}return{x:m,y:n}};var v=q,lh=["min","max","levels"],Sd={hit:0,miss:0};v.data=l.makeClass("gg.data");
v.data._CACHE_STATS=Sd;var qf=["type","parser","format"];v.data.fetch=function(a,b,c){j.text(a,function(d){var e=null;/\.csv/.test(a)||(d=ja.parse(d));e=v.data(d,c);b(e)})};v.data.group=function(a,b,c){c||(c=function(){return!0});var d;d=0===h.size(b)?function(){return""}:function(a){var c="";h.each(b,function(b,d){c+=d+":"+b(a[d])+";"});return c};if(0===a.length)return[];var e={};h.each(a,function(a){for(var b=0;b<a.len();b++){var h=a._internal[b];if(c(h)){var j=d(h);e[j]||(e[j]=[]);e[j].push(h)}}});
e=h.values(e);return h.map(e,function(b){return a[0].clone(b)})};v.data.prototype.fromObject=function(a,b){b=b?b:h.keys(a);for(var c=h.map(b,function(b){return a[b].length}),d=h.max(c),e=[],f=0;f<d;f++){for(var g={},k=0;k<b.length;k++){var j=b[k],l=a[j][f];"undefined"===typeof l&&(l=null);g[j]=f<c[k]?l:null}e.push(g)}this._unparsed=e;this._keys=b};v.data.prototype.fromArray=function(a,b){if(0===a.length)this._unparsed=[],b=b?b:[];else{var c=h.keys(a[0]);b=b?h.union(b,c):c;for(c=1;c<a.length;c++)for(var d=
0;d<b.length;d++)h.isUndefined(a[c][b[d]])&&(a[c][b[d]]=null);this._unparsed=a}this._keys=b};v.data.prototype.fromGrid=function(a,b){if(0===a.length)this._unparsed=[],b=b?b:[];else{b=b?b:h.keys(a[0]);var c=b.length;this._unparsed=h.map(a,function(a){for(var e={},f=0;f<c;f++)e[b[f]]=h.isUndefined(a[f])?null:a[f];return e})}this._keys=b};v.data.prototype.fromCSV=function(a){a=j.csv.parseRows(a);for(var b=a[0],c=0,d=0,e=!1,f=0;f<b.length;f++)""==b[f]&&(b[f]="untitled");for(;!e;){for(f=0;f<b.length;f++)for(var g=
0;g<b.length;g++)if(b[f]===b[g]&&f!=g)if(h.isNull(b[g].match(/[_][1234567890]*$/)))b[g]+="_1";else{for(e=b[g].length-1;0<=b[g].charAt(e)&&9>=b[g].charAt(e);e--)c+=b[g].charAt(e)*Math.pow(10,b[g].length-e-1),d++;c++;b[g]=b[g].substring(0,b[g].length-d)+""+c;d=c=0}e=!0;for(f=0;f<b.length;f++)for(g=0;g<b.length;g++)b[f]===b[g]&&f!=g&&(e=!1)}this._unparsed=j.csv.parse(j.csv.format(a));this._keys=h.keys(this._unparsed[0]);for(f=0;f<this._unparsed.length;f++){var k=this._unparsed[f];h.each(this._keys,function(a){var b=
parseFloat(k[a]);b==k[a]&&(k[a]=b)})}};v.data.prototype.constructData=function(a,b){var c=!1,d;if(h.isArray(b))d=h.clone(b),b={};else if(b){d=h.keys(b);var e={};h.each(b,function(a,b){var c;if(h.isString(a))c={type:a,format:null,parser:null};else{c={};for(var d=0;d<qf.length;d++){var j=qf[d],l=a[j];l&&(c[j]=l)}}e[b]=c});b=e;c=!0}else d=null,b={};h.isArray(a)?0<a.length&&h.isArray(a[0])?this.fromGrid(a,d,b):this.fromArray(a,d,b):h.isString(a)?this.fromCSV(a,d,b):this.fromObject(a,d,b);this._meta=c?
b:{};this.guessMeta()};v.data.prototype.guessMeta=function(){var a=this._meta,b=this;h.each(this._keys,function(c){if(!a[c]||!a[c].type){var d=b._guessType(c),e={};d&&(e.type=d);a[c]=e}});return a};v.data.prototype.init=function(a,b){this._cache=this._meta=this._keys=this._internal=this._unparsed=null;a?(this.constructData(a,b),this._guessParsers(),this._applyParsers()):(this._unparsed=[],this._internal=[],this._keys=[],this._meta={});this._clearCache()};v.data.prototype.clone=function(a){a=a||[];
var b=new v.data;b._keys=h.keys(this._meta);b._meta=h.clone(this._meta);b._internal=a;return b};v.data.prototype.copy=function(){return this.clone(this._internal)};v.data.prototype.transform=function(a,b){var c=h.map(this._internal,function(c){c=h.clone(c);c[a]=b(c[a]);return c});return this.clone(c)};v.data.prototype.niceNumber=function(a,b){return this.transform(a,function(a){return Math.floor(a/b)*b})};v.data.prototype.niceDate=function(a,b){h.isArray(b)||(b=[b]);return this.transform(a,function(a){var d=
new Date(0);h.isNumber(a)&&(a=new Date(a));h.each(b,function(b){var f=a["get"+b]();d["set"+b](f)});return d-0})};v.data.prototype.get=function(a,b){return 2<=arguments.length?this._internal[b][a]:h.pluck(this._internal,a)};v.data.prototype.getObject=function(a){var b,c,d={};for(b=0;b<this._keys.length;b++)c=this._keys[b],d[c]=this.get(c,a);return d};v.data.prototype.getObjects=function(){for(var a=[],b=0;b<this.len();b++)a.push(this.getObject(b));return a};v.data.prototype.getRaw=function(){return this._internal};
v.data.prototype.getBlock=function(){var a=[],b=this._internal,c,d=this._meta,e=function(a){return"date"!==d[a].type?b[c][a]:+b[c][a]};for(c=0;c<this._internal.length;c++)a[c]=h.map(this._keys,e);return a};v.data.prototype.getTypeObj=function(a){return v.type.fromString(this.type(a))};v.data.prototype.toCode=function(a,b){return l.toCode(a,b,{cls:this._cls_name,params:[ja.stringify(this.getBlock(),null," "),ja.stringify(this._meta)]})};v.data.prototype.len=function(){return this._internal.length};
v.data.prototype.indices=function(){return h.range(this.len())};v.data.prototype.keys=function(){return this._keys};v.data.prototype.hasKey=function(a){return-1<h.indexOf(this._keys,a)};v.data.prototype.metas=function(){return h.clone(this._meta)};v.data.prototype.getMeta=function(a){return this._meta[a]};var mh=function(a){return null===a||"undefined"===typeof a||""===a},nh=function(a){return h.isNumber(a)||!h.isNaN(Number(a))};v.data.guessType=function(a){a=h.reject(a,mh);return 0===a.length?"category":
h.all(a,h.isDate)?"date":h.all(a,nh)?"number":"category"};v.data.prototype._guessType=function(a){a=h.pluck(this._unparsed,a);return v.data.guessType(a)};v.data.prototype.type=function(a){return(a=this._meta[a])?a.type:"unknown"};v.data.prototype.levels=function(a){return this._cached("levels",a,function(a){var c=this.getTypeObj(a);return h.chain(this._internal).pluck(a).reject(h.isUndefined).reject(h.isNull).sortBy(c.represent).uniq(!1,c.represent).value()},[])};v.data.prototype.min=function(a){return this._cached("min",
a,function(a){var c=this.getTypeObj(a);return this.query(a,c.min,c.validate)},void 0)};v.data.prototype.max=function(a){return this._cached("max",a,function(a){var c=this.getTypeObj(a);return this.query(a,c.max,c.validate)},void 0)};v.data.prototype.query=function(a,b,c){return b(h.filter(this.get(a),c))};v.data.prototype.remove=function(a){var b=h.indexOf(this._keys,a);if(-1===b)return!1;this._keys.splice(b,1);delete this._meta[a];for(var c=this._internal.length,b=0;b<c;b++)delete this._internal[b][a];
return!0};v.data.prototype.derive=function(a,b,c){c=c||{};var d=c.dryrun,e=c.context;1===arguments.length&&(b=h.uniqueId("var_"));e||(e=v.derive);try{var f,g;if(h.isFunction(a))f=a,g=!1;else{var k=a;""===a&&(k='""');f=new Function("d","with(this) { with(d) { return "+k+";}}");g=!0}for(var j=this.len(),k=[],l=0;l<j;l++){var m=this._internal[l],n=f.call(e,m);h.isFunction(n)&&v.error(121,"invalud return value");k.push(n);if(d){if(10<l)break}else m[b]=f.call(e,m)}if(d)return{success:!0,values:k};h.include(this._keys,
b)||this._keys.push(b);e=null;e=c.type?c.type:v.data.guessType(k);this._meta[b]={type:e,derived:!0};g&&(this._meta[b].formula=a);return b}catch(q){if(d)return{success:!1,error:q};v.warn(121,"Error while generating derived variable "+b+": "+q.toString());return!1}};v.data.prototype.checkRename=function(a,b){var c=h.indexOf(this._keys,a),d=h.indexOf(this._keys,b);if(b){if(-1===c||-1!==d)return!1}else return!1;return!0};v.data.prototype.rename=function(a,b){a=a.toString();b=b.toString();if(!this.checkRename(a,
b))return!1;var c=h.indexOf(this._keys,a);h.each(this._internal,function(c){c[b]=c[a];delete c[a]});this._keys[c]=b;this._meta[b]=this._meta[a];delete this._meta[a];return!0};v.data.prototype.renameMany=function(a){var b=this,c={},d=!1;h.each(a,function(a,f){var g=a.toString();g!=f&&(b.checkRename(f,a)?c[f]=g:d=!0)});if(d)return!1;a=h.values(c);if(h.uniq(a).length!=a.length)return!1;h.each(this._internal,function(a){h.each(c,function(b,c){a[b]=a[c];delete a[c]})});h.each(c,function(a,c){var d=h.indexOf(b._keys,
c);b._keys[d]=a;b._meta[a]=b._meta[c];delete b._meta[c]});return!0};v.data.prototype.copyColumnDefinition=function(a,b){if(-1===h.indexOf(this._keys,a)&&-1!==h.indexOf(this._keys,b))return!1;data._keys.push(x_end);data._meta[x_end]=h.clone(data._meta[x]);return!0};v.data.prototype.push=function(a){var b,c;for(b=0;b<this._keys.length;b++)c=this._keys[b],h.has(a,c)||v.warn(101,"Data is missing key "+c+".");this._internal.push(a);return this};v.data.prototype.iterator=function(a){var b=this,c={i:0,next:function(){for(var d=
b.len();c.i<d&&!a(b._internal[c.i]);)c.i++;return c.i==d?!1:b._internal[c.i++]}};return c};v.data.prototype.filter=function(a){var b=[];a=v.data.makeFilterFunction(a);try{h.each(this._internal,function(c){a(c)&&b.push(c)})}catch(c){v.error(122,"Error while filtering data: "+c.toString())}return this.clone(b)};v.data.prototype.sort=function(a,b){var c=this.getTypeObj(a),d;d=c.sort?h.clone(this._internal).sort(function(b,d){var g=c.represent(b[a]),h=c.represent(d[a]);return c.sort(g,h)}):h.sortBy(this._internal,
function(b){return c.represent(b[a])});b&&d.reverse();return this.clone(d)};v.data.prototype.group=function(a){return v.data.group([this],a)};v.data.prototype.merge=function(a){h.isEqual(this.keys(),a.keys())||v.error(110,"Cannot merge two datasets with unequal keys.");this._internal=this._internal.concat(a._internal);return this};v.data.prototype.each=function(a,b){if(!b||b>this.len())return h.each(this._internal,a);var c=h.shuffle(this._internal);return h.each(c.slice(0,b),a)};v.data.prototype._cached=
function(a,b,c,d){h.isFunction(b)&&(b._data_key||(b._data_key=h.uniqueId("var_"),this.derive(b,b._data_key)),b=b._data_key);if(-1===h.indexOf(this._keys,b))return d;if(h.has(this._cache[a],b))return a=this._cache[a][b],Sd.hit++,a;Sd.miss++;c=c.call(this,b);return this._cache[a][b]=c};v.data.prototype._clearCache=function(){var a=this._cache={};h.each(lh,function(b){a[b]={}})};v.data.prototype.parser=function(a,b){if(1===arguments.length)return this._meta[a].parser;this._meta[a].parser=b;return this};
var rf=function(a){var b=Number(a);return null===a||"undefined"==typeof a||""===a||h.isNaN(b)?null:b};v.data.prototype._guessParsers=function(){var a=this;h.each(this._keys,function(b){var c=a._meta[b];if(!a.parser(b))if("number"==c.type){if(c.format){var d=RegExp(c.format);b=function(a){a=d.exec(a)[1];return rf(a)}}else b=rf;c.parser=b}else if("date"==c.type)c.format?(b=a._meta[b].format,c.parser=v.data.makeDateParser(b)):(b=h.pluck(a._unparsed,b),(b=v.data.guessDateFormat(b))?(c.parser=v.data.makeDateParser(b),
c.format=b):(c.type="date",c.parser=function(a){return a},c.format=null));else if("category"==c.type&&null===c.format)c.parser=v.type.category.prototype.represent;else if(c.parser=v.type.category.prototype.represent,b=h.pluck(a._unparsed,b),b=v.data.guessDateFormat(b))c.type="date",c.parser=v.data.makeDateParser(b),c.format=b})};v.data.prototype._applyParsers=function(){var a=this,b=this.keys();this._internal=h.map(this._unparsed,function(c){for(var d={},e=0,e=0;e<b.length;e++){var f=b[e],g=a._meta[f].parser,
h=c[f],j;if(g)try{j=g(h)}catch(l){j=null}else j=h;d[f]=j}return d})};var oh="%Y-%m-%d %H:%M:%S;%c;%m-%d-%Y;%Y-%m-%d;%m/%d/%Y;%Y/%m/%d;%m/%d/%Y %I:%M %p".split(";");v.data.guessDateFormat=function(a){return h.find(oh,function(b){for(var c=!0,d=!0,e=0;e<a.length;e++){var f=a[e];if(f){if(f&&!h.isString(f))return!1;if(null!==v.date.parseDate(b,f))d=!1;else{c=!1;break}}}return c&&!d})};v.data.makeDateParser=function(a){var b=j.time.format.utc(a);return function(a){if(h.isNumber(a))return a;a=b.parse(a);
return null!=a?a.getTime():null}};v.data.makeFilterFunction=function(a){return h.isFunction(a)?a:h.isString(a)?new Function("d","with(d) { return "+a+";}"):function(){return!0}};v.data.prettify=l.prettify;v.data.numberRounder=function(a){return function(b){return Math.floor(b/a)*a}};v.data.dateRounder=function(a){h.isArray(a)||(a=[a]);return function(b){var c=new Date(0);b=new Date(b);h.each(a,function(a){if(h.isString(a)){var e=b["get"+a]();c["set"+a](e)}else a(c,b)});return c-0}};v.data.parseCSV=
j.csv.parseRows;q.date={};q.date.parseDate=function(a,b){return!b?null:j.time.format.utc(a).parse(b)};q.date.formatDate=function(a,b){if(!b)return"";h.isNumber(b)&&(b=new Date(b));return j.time.format.utc(a)(b)};var Ab=q;Ab.derive={};Ab.derive.year=function(a){a=new Date(a);return a.getUTCFullYear()};Ab.derive.month=function(a){a=new Date(a);return a.getUTCMonth()+1};Ab.derive.day=function(a){a=new Date(a);return a.getUTCDate()};Ab.derive.has=function(a,b){return-1<h.indexOf(""+a,""+b)};Ab.derive.len=
function(a){return h.isString(a)?a.length:0};Ab.derive.count=function(a,b){if(!h.isString(a))return 0;for(var c=0,d=0;d<a.length;d++)a.charAt(d)==b&&c++;return c};var Ha=q;Ha.facet.grid=l.makeClass("gg.facet.grid",Ha.facet.base);Ha.facet.grid.prototype.init=function(a,b){Ha.facet.base.prototype.init.call(this);this.opts("x",a);this.opts("y",b);this.opts("col",null);this.opts("row",null);this._ylevels=this._xlevels=null;this._key_x;this._key_y};Ha.facet.grid.prototype.x=l.singleOpts("x");Ha.facet.grid.prototype.y=
l.singleOpts("y");Ha.facet.grid.prototype.ncol=function(a){if(0===arguments.length)return this.opts("col");l.assertNumber(a);this.opts("col",a);return this};Ha.facet.grid.prototype.nrow=function(a){if(0===arguments.length)return this.opts("row");l.assertNumber(a);this.opts("row",a);return this};Ha.facet.grid.prototype.isValidIndex=function(){return!0};Ha.facet.grid.prototype.bin=function(a){return h.indexOf(this._ylevels,a[this._key_y])*this.opts("col")+h.indexOf(this._xlevels,a[this._key_x])};Ha.facet.grid.prototype.prepare=
function(){var a=this.x(),b=this.y();!a&&!b&&Ha.error(701,"There are no variables to facet on.");var c=this._graph.levels(a,"data"),d=this._graph.levels(b,"data");this.opts("col",c.length);this.opts("row",d.length);this._xlevels=c;this._ylevels=d;this._key_x=a;this._key_y=b;return this};Ha.facet.grid.prototype.renderLabel=function(a,b){var c=this._xlevels[b.col]+" "+this._ylevels[b.row],d=a.text();d.attr("font-size",12);d.attr("font-weight","bold");d.attr("text",c);1==this.opts("col")?d.attr("x",
b.width+10).attr("y",b.ypos+b.eachHeight/2).transform("r90"):d.attr("x",b.xpos+b.eachWidth/2).attr("y",b.ypos-10);return this};var Ka=q;Ka.facet.wrap=l.makeClass("gg.facet.wrap",Ka.facet.base);Ka.facet.wrap.prototype.init=function(a){Ka.facet.base.prototype.init.call(this);this.opts("x",a);this.opts("col",null);this.opts("row",null);this.opts("formatter",null);this._key=null};Ka.facet.wrap.prototype.x=l.singleOpts("x");Ka.facet.wrap.prototype.ncol=function(a){if(0===arguments.length)return this.opts("col");
l.assertNumber(a);this.opts("col",a);return this};Ka.facet.wrap.prototype.nrow=function(a){if(0===arguments.length)return this.opts("row");l.assertNumber(a);this.opts("row",a);return this};Ka.facet.wrap.prototype.isValidIndex=function(a){return a<this._graph.levels(this.x(),"data").length};Ka.facet.wrap.prototype.bin=function(a){return h.indexOf(this._levels,a[this._key])};Ka.facet.wrap.prototype.prepare=function(){var a=this.x();a||Ka.error(701,"There are no variables to facet on.");var b=this._graph.levels(a,
"data"),c=b.length,d,e;this.opts("col")?(d=this.opts("col")||3,e=this.opts("row")||Math.ceil(c/d)):(e=this.opts("row")||2,d=this.opts("col")||Math.ceil(c/e));this.opts("col",d);this.opts("row",e);this._levels=b;this._key=a;return this};Ka.facet.wrap.prototype.renderLabel=function(a,b){var c=b.row*this.ncol()+b.col,c=this._levels[c];if(null===c||h.isUndefined(c))return this;var d=this.opts("formatter");d||(d=function(a){return a+""});var e=a.text();e.attr("font-size",12);e.attr("font-weight","bold");
e.attr("text",d(c));1==this.opts("col")?e.attr("x",b.width+10).attr("y",b.ypos+b.eachHeight/2).transform("r90"):e.attr("x",b.xpos+b.eachWidth/2).attr("y",b.ypos-10);return this};var Bb=q;Bb.graph.prototype.type=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().type(a);a=h.invoke(this._layers,"type",a,b,c);return l.unionType(a)};Bb.graph.prototype.min=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().min(a);c=h.invoke(this._layers,"min",a,b,c);a=this.type(a,
b);return Bb.type.fromString(a).min(c)};Bb.graph.prototype.max=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().max(a);c=h.invoke(this._layers,"max",a,b,c);a=this.type(a,b);return Bb.type.fromString(a).max(c)};Bb.graph.prototype.levels=function(a,b,c){if(0===this._layers.length&&"data"==b)return this.data().levels(a);c=h.invoke(this._layers,"levels",a,b,c);a=this.type(a,b);a=Bb.type.fromString(a);return l.mergeArrays(c,a.represent)};var na=q;na.graph.prototype._setupGrid=function(){var a=
this.coord(),b=this._scales,c=na.guide.grid(b.x,b.y);"gg.coord.polar"===a._cls_name&&c.opts("render-vertical",!0);h.each(this._attr,function(a,b){"grid-"==b.substring(0,5)&&!h.isNull(a)&&c.opts(b.substring(5),a)});return c};na.graph.prototype._setupAxes=function(){var a=this.coord(),b=a._flip!==("gg.coord.polar"===a._cls_name),c=b?"x":"y",d=na.guide.axis(this._scales[b?"y":"x"],"x",a),e=na.guide.axis(this._scales[c],"y",a);"gg.coord.polar"===a._cls_name&&e.opts("line",!0);h.each(this._attr,function(a,
b){var c=b.substring(0,7);"axis-x-"==c&&!h.isNull(a)?d.opts(b.substring(7),a):"axis-y-"==c&&!h.isNull(a)?e.opts(b.substring(7),a):"axis-"==c.substring(0,5)&&(d.opts(b.substring(5),a),e.opts(b.substring(5),a))});return this._axes=a={x:d,y:e,flip:b}};na.graph.prototype._renderAxis=function(a,b){var c=this.coord(),d,e=a.flip?"x":"y",f=this.opts("axis-y");if("left"==f&&0===b.col||"right"==f&&b.col===b.ncol-1||b.free_y)d=this.getAxisOffset(b.row,b.col,f),d={position:f,coord:c,canvas:this.createOffsetCoord(d.x,
d.y)},a.y.renderLinear(d);f=this.opts("axis-x");"none"!=f&&("gg.coord.polar"===c._cls_name?(d=this.getAxisOffset(b.row,b.col,"circular"),d={position:"circular",coord:c.differentOffset(b.xpos,b.ypos),radius:this._scales[e].range()[1],canvas:this.createOffsetCoord(d.x,d.y)},a.x.renderCircular(d)):(d=this.getAxisOffset(b.row,b.col,f),d={position:f,coord:c,canvas:this.createOffsetCoord(d.x,d.y)},"bottom"==f&&b.row==b.nrow-1||"top"==f&&0===b.row||b.free_x?a.x.renderLinear(d):a.x.renderLinear(d,{labels:!1})))};
na.graph.prototype.renderPrimary=function(a){var b=this.dimensions(),c=this._facet,d=b.ncol,b=b.nrow,e=0,f,g,h=this.coord(),j=this._setupGrid(),l=this._axes,m=this._scales,n=c?c.opts("free_x"):!1,q=c?c.opts("free_y"):!1,r=function(a,b){m[a].make(b);j.opts(a+"scale",m[a]);l[l.flip==("x"==a)?"y":"x"].scale(m[a])};this._timer&&this._timer.mark("renderPrimary - pre-rendering()");for(var t=0;t<b;t++)for(var u=0;u<d&&(!c||c.isValidIndex(e));u++){f=this.xposition(u);g=this.yposition(t);n&&r("x",e);q&&r("y",
e);var v=h.differentOffset(f,g).opts("mouseover_highlight",!1);j.render(v);this._timer&&this._timer.mark("renderGrid()");for(v=0;v<this._layers.length;v++)if(!a||!a[v])this.renderLayer(this.getLayer(v),f,g,m,e),this._timer&&this._timer.mark("renderLayer()");this._renderAxis(l,{col:u,row:t,ncol:d,nrow:b,xpos:f,ypos:g,free_x:n,free_y:q});this._timer&&this._timer.mark("renderAxis()");e++}};na.graph.prototype.renderLayer=function(a,b,c,d,e){b={rawScales:d,coord:this._coord.differentOffset(b,c),facetIndex:e};
a.renderEntry(b)};na.graph.prototype.renderAllFacetLabel=function(){var a=this.dimensions(),b=a.ncol,c=a.nrow;if(1<c||1<b)for(var a={eachWidth:a.eachWidth,width:a.chartWidth+a.paddingLeft,eachHeight:a.eachHeight},d=0;d<c;d++)for(var e=0;e<b;e++)a.row=d,a.col=e,a.ypos=this.yposition(d),a.xpos=this.xposition(e),this._facet.renderLabel(this._paper,a)};na.graph.prototype.renderLegend=function(){var a=this.opts("legend-position");if("none"!=a){var b=this.dimensions(),c=b.chartWidth,d=b.chartHeight,e,f;
"left"==a||"right"==a?(f=b.paddingTop,e=10,"right"==a&&(e+=b.paddingLeft+c+10)):"bottom"==a?(f=d+b.paddingTop+45,e=b.paddingLeft):na.error(1E3,"Leged position should be left, right, bottom or none. Got "+a+" instead.");a={canvas:this.createOffsetCoord(e,f),chartWidth:c,chartHeight:d};this._legend.render(a)}};na.graph.prototype.renderOtherLabel=function(){this.dimensions();"polar"!==this._coord._name&&(this.render_y_label(),this.render_x_label());this.render_title()};na.graph.prototype.render_label=
function(a,b,c,d){a=this._paper.text(b,c,a).attr("class",d);return this._doms[d]=a};na.graph.prototype.render_title=function(){this.dimensions();var a=this.opts("width")/2;this.render_label(this.opts("title"),a,15,"_debug_title").attr("font-weight",this.opts("title-bold")?"bold":"normal").attr("font-size",this.opts("title-size"))};na.graph.prototype.render_x_label=function(){var a=this.dimensions(),b=a.paddingLeft+a.chartWidth/2,a=a.xLabelY,c="gg.coord.polar"===this.coord()._cls_name?this._coord._flip?
"x":"y":this._coord._flip?"y":"x";this.render_label(this._varlabel(c),b,a,"_debug_x_label").attr("font-weight",this.opts("label-bold")?"bold":"normal").attr("font-size",this.opts("label-size"))};na.graph.prototype.render_y_label=function(){var a=this.dimensions(),b=a.yLabelX,a=a.paddingTop+a.chartHeight/2,c="gg.coord.polar"===this.coord()._cls_name?this._coord._flip?"y":"x":this._coord._flip?"x":"y";this.render_label(this._varlabel(c),b,a,"_debug_y_label").transform("r270").attr("font-weight",this.opts("label-bold")?
"bold":"normal").attr("font-size",this.opts("label-size"))};na.graph.prototype.render_branding=function(){var a=this._paper,b=this.opts("height")-6;a.path(l.d3_arc(82,b+1,0,4,-Math.PI/2,1*Math.PI/6)).attr("fill","#F89E34").attr("stroke","#F89E34");a.path(l.d3_arc(82,b+1,0,5,1*Math.PI/6,5*Math.PI/6)).attr("fill","#FFF425").attr("stroke","#FFF425");a.path(l.d3_arc(82,b+1,0,6.5,5*Math.PI/6,9*Math.PI/6)).attr("fill","#6DBB58").attr("stroke","#6DBB58");a.text(65,b,"Made With P o lychart").attr({"font-size":12,
"font-weight":"bold","font-family":"Arial, sans-serif"}).attr("fill","#AAA").toBack()};"use strict";q.graph.prototype.getScaleKeys=function(){return h.keys(this._scales)};q.graph.prototype.removeScale=function(a){return h.has(this._scales,a)?(delete this._scales[a],!0):!1};q.graph.prototype.removeAllScales=function(){this._scales={}};q.graph.prototype.getScale=function(a){return this._scales[a]};q.graph.prototype.scale=function(a,b){l.assertAes(a);(b=l.instantiate(b))||q.error(201,"Attempting to add an undefined or malformed scale: "+
b);var c=l.cloneobj(b);c.attach(this,a);this._scales[a]=c;return this};q.graph.prototype.resetScale=function(a){var b=this.makeDefaultScales([a])[a];return b?(this.scale(a,b),this.computeScale(),!0):!1};q.graph.prototype.makeDefaultScales=function(a){var b=this,c=this._scales;a||(a=h.chain(this._layers).map(function(a){return h.keys(a.getMap())}).flatten().push("x").push("y").uniq().filter(function(a){return l.isDerivedAes(a)||"group"==l.getBaseAes(a)?!1:!0}).reject(function(a){return h.has(c,a)}).value());
var d={};h.each(a,function(a){var c=b.type(a),g=q.type.fromString(c);c&&(c="unknown"===c?q.scale.id():g.defaultScale(a),d[a]=c)});!this._scales.x&&(!d.x&&h.contains(a,"x"))&&(d.x=q.scale.discrete());!this._scales.y&&(!d.y&&h.contains(a,"y"))&&(d.y=q.scale.continuous());return d};q.graph.prototype.bindDerivedScales=function(){var a=this._scales,b=this.getMapKeys();h.each(b,function(b){l.isDerivedAes(b)&&(a[b]=a[l.getBaseAes(b)])})};q.graph.prototype.computeScale=function(){var a=this._scales,b=this.dimensions();
this._coord.configScale({x:0,y:0,width:b.eachWidth,height:b.eachHeight},a);h.each(a,function(a,b){l.isDerivedAes(b)||a.make()})};var va=q;va.guide.axis=l.makeClass("gg.guide.axis",va.guide.base);va.guide.axis.prototype.init=function(a,b,c){va.guide.base.prototype.init.call(this);this._type=b||a._aes;"x"!=this._type&&"y"!=this._type&&va.error(500,"Axis can only be created from x- or y- aesthetics, got "+this._type+" instead.");this._scale=a;this._coord=c;this._flip="y"==b&&"gg.coord.polar"==c._cls_name;
this._attr=l.cloneobj(va.opts.axis);"x"==this._type?h.extend(this._attr,va.opts.axis_x):"y"==this._type&&h.extend(this._attr,va.opts.axis_y)};va.guide.axis.prototype.width=function(){return this._scale.maxLabelWidth()};va.guide.axis.prototype.scale=function(a){this._scale=a;return this};va.guide.axis.prototype.renderLinear=function(a,b){var c=a.canvas,d=a.position,e="top"==d||"bottom"==d,f="left"==d||"right"==d,g=e?"middle":"left"==d?"end":"start",k=e?0:"left"==d?-10:10,j=f?0:"top"==d?-10:15,l=e?
this.opts("ticklength-x"):this.opts("ticklength-y"),m=this.opts("fontsize"),n=this.opts("color"),q=this.opts("strokewidth");b||(b={line:!0,ticks:!0,labels:!0});!e&&!f&&va.error(501,"Position should be 'top', 'bottom', 'left', or 'right'. Got "+d+" instead.");e&&"x"!=this._type&&va.error(501,"Position should be 'top' or 'bottom'. Got "+d+" instead.");f&&"y"!=this._type&&va.error(501,"Position should be 'left', or 'right'. Got "+d+" instead.");var r=[0,0],t=[0,0];e?r=this._scale.range():t=this._scale.range();
this.opts("line")&&!1!==b.line&&c.line().attr("func",{x1:r[0],x2:r[1],y1:t[0],y2:t[1],stroke:n,"stroke-width":q}).attr("data",{});r=this._scale.ticks(null,this._flip);if(this._flip){var u=h.max(this._scale.range());h.each(r,function(a){a.pos=u-a.pos})}this.opts("ticks")&&!1!==b.ticks&&h.each(r,function(a){c.line().attr("func",{x1:function(a){return e?a.pos:0},x2:function(a){return e?a.pos:"left"==d?-l:l},y1:function(a){return f?a.pos:0},y2:function(a){return f?a.pos:"top"==d?-l:l},stroke:n,"stroke-width":q}).attr("data",
a)});this.opts("labels")&&!1!==b.labels&&h.each(r,function(a){c.text().attr("func",{x:function(a){return e?a.pos:k},y:function(a){return f?a.pos:j},text:function(a){return String(a.label)},"font-size":m,"font-color":n,"text-anchor":g}).attr("data",a)})};va.guide.axis.prototype.renderCircular=function(a,b){var c=a.coord,d=a.radius,e=this.opts("ticklength-y"),f=this.opts("fontsize"),g=this.opts("color"),k=this.opts("strokewidth");b=b||{line:!0,ticks:!0,labels:!0};var j,m,q,n,t,r,v,u;c._flip?(j=h.bind(c.vline,
c),m=h.bind(c.hline,c),q="y",t="y1",r="y2",n="x",v="x1",u="x2"):(j=h.bind(c.hline,c),m=h.bind(c.vline,c),q="x",t="x1",r="x2",n="y",v="y1",u="y2");if(this.opts("line")&&!1!==b.line){var w={stroke:g,"stroke-width":k};w[q]=l.constfunc(d);w[v]=l.constfunc(0);w[u]=l.constfunc(360);m().attr("func",w).attr("data",{})}m=this._scale.ticks(null);this._scale.CONTINUOUS&&m.pop();this.opts("ticks")&&!1!==b.ticks&&(w={"class":"labeltick",stroke:g,"stroke-width":k},w[t]=l.constfunc(d),w[r]=l.constfunc(d+e),w[n]=
function(a){return a.pos},h.each(m,function(a){j().attr("func",w).attr("data",a)}));this.opts("labels")&&!1!==b.labels&&(w={text:function(a){return a.label},"font-size":l.constfunc(f),"text-anchor":l.constfunc("middle"),"font-color":l.constfunc(g)},w[q]=l.constfunc(d+e+10),w[n]=function(a){return a.pos},h.each(m,function(a){c.text().attr("func",w).attr("data",a)}))};var Pb=q;Pb.guide.grid=l.makeClass("gg.guide.grid",Pb.guide.base);Pb.guide.grid.prototype.init=function(a,b){Pb.guide.base.prototype.init.call(this);
this._attr=l.cloneobj(Pb.opts.grid);this.opts("xscale",a);this.opts("yscale",b)};Pb.guide.grid.prototype.render=function(a){var b=this,c=a._flip!==("gg.coord.polar"===a._cls_name),d=null,e=null;"gg.coord.polar"==a._cls_name&&(a._flip?d=6:e=6);var f=this.opts("xscale"),g=f.range(),k=h.min(g),j=h.max(g),d=f.ticks(d,c),m=this.opts("yscale"),g=m.range(),q=h.min(g),n=h.max(g),c=m.ticks(e,c);this.opts("render-vertical")&&h.each(d,function(c){a.vline().attr("func",{x:function(a){return f.apply(a.data)},
y1:l.constfunc(q),y2:l.constfunc(n),stroke:b.opts("stroke"),"stroke-width":b.opts("strokewidth"),"stroke-dasharray":b.opts("dasharray"),"stroke-dashoffset":b.opts("dashoffset")}).attr("data",c)});this.opts("render-horizontal")&&h.each(c,function(c){a.hline().attr("func",{y:function(a){return m.apply(a.data)},x1:l.constfunc(k),x2:l.constfunc(j),stroke:b.opts("stroke"),"stroke-width":b.opts("strokewidth"),"stroke-dasharray":b.opts("dasharray"),"stroke-dashoffset":b.opts("dashoffset")}).attr("data",
c)})};var wa=q,ph="x y text group group2 grp tooltip".split(" ");wa.guide.legend=l.makeClass("gg.guide.legend",wa.guide.base);wa.guide.legend.prototype.init=function(a,b,c,d){wa.guide.base.prototype.init.call(this);this._graph=a;this._layers=b;this._scales=c;this._aes=h.chain(c).keys().reject(function(a){return l.isDerivedAes(a)||-1!=h.indexOf(ph,a)}).value();this._mappings=h.map(b,function(a){return a.getMap()});this._legends=null;this._position=d};wa.guide.legend.prototype.width=function(){this.group();
var a=this;if("bottom"!=this._position){var b=h.chain(this._legends).map(function(a){return a.sample_scale.maxLabelWidth()}).max().value()+30,c=h.chain(this._legends).map(function(b){return l.strlenToPixel(a._graph._varlabel(b.sample_aes).length,"bold")}).max().value()+30;return Math.max(b,c,0)}return 0};wa.guide.legend.prototype.height=function(){return"bottom"==this._position?100:0};wa.guide.legend.prototype.group=function(){var a=this;this._legends=[];for(var b=h.clone(this._aes),c="",d=function(b,
d){b.aes.push(d);b.sample_scale_categorical||(c=a._scales[d],b.sample_aes=d,b.sample_scale=c,b.sample_scale_categorical=c.DISCRETE)};0<b.length;){var e=b.pop(),f=h.pluck(this._mappings,e),g=null,k={aes:[],mapping:f,sample_aes:null,sample_scale:null,sample_scale_categorical:!1,layers:[],type:"point"};d(k,e);for(e=0;e<b.length;)g=h.pluck(this._mappings,b[e]),h.isEqual(g,f)?d(k,b.splice(e,1)[0]):e++;f=[];g=[];for(e=0;e<this._layers.length;e++)this._mappings[e][k.sample_aes]&&(g.push(this._layers[e]),
f.push(this._layers[e]._cls_name.split(".")[2]));if(0!==g.length){k.layers=g;e=k;a:{for(g=0;g<f.length;g++)if("line"==f[g]||"path"==f[g]){f="line";break a}f="point"}e.type=f;this._legends.push(k)}}return this};wa.guide.legend.prototype.render=function(a){h.isNull(this._legends)&&this.group();var b=this,c,d=0,e="bottom"==this._position?"h":"v";h.each(this._legends,function(f){f={legend:f,canvas:a.canvas.differentOffset(0,d),orientation:e,chartWidth:a.chartWidth,chartHeight:a.chartHeight};c=b._renderEach(f);
d="h"==e?d+(c.y+15):d+(c.y+10)})};wa.guide.legend.prototype._renderEach=function(a){var b=this,c=a.legend,d=a.canvas,e=c.sample_aes,f=c.sample_scale,g=c.layers,k={color:l.constfunc("#000000"),stroke:l.constfunc("#000000"),strokewidth:l.constfunc(0),symbol:l.constfunc(wa.symbol.CIRCLE),radius:l.constfunc(5),opacity:l.constfunc(1)};"line"==c.type?(k.symbol=l.constfunc(wa.symbol.CROSS),k.strokewidth=l.constfunc(1)):k.symbol=l.constfunc(wa.symbol.CIRCLE);h.each(h.keys(k),function(a){if("radius"!=a){var b=
g[0].opts(a);if(h.isString(b)||h.isNumber(b))k[a]=l.constfunc(b)}});h.each(c.aes,function(a){k[a]=h.bind(b._scales[a].apply,b._scales[a],"data")});var j="category"==f.type()?this._graph.levels(e).length:5,f=f.ticks(j),m="line"==c.type?this._render_line_tick:this._render_point_tick,q=0,n=0,c=d.text().attr("func",{x:0,y:0,"font-size":"13px","font-weight":"bold","text-anchor":"start",text:l.constfunc(b._graph._varlabel(e))}).attr("data",{}),n=n+c.getBBox().height,t,r,v=0,u=0;h.each(f,function(c){t=m(c,
d,k,q,n);r=b._render_label(c,d,q+20,n);"v"==a.orientation?(n+=Math.max(r.getBBox().height,t.getBBox().height),u=Math.max(u,n)):(q+=r.getBBox().width+40,v=Math.max(v,q),q>a.chartWidth-r.getBBox().width&&(n+=Math.max(r.getBBox().height,t.getBBox().height),u=Math.max(u,n),q=0))});"h"==a.orientation&&(u+=Math.max(r.getBBox().height,t.getBBox().height));return{y:u,x:v}};wa.guide.legend.prototype._render_line_tick=function(a,b,c,d,e){return b.line().attr("func",{x1:l.constfunc(d),x2:l.constfunc(d+14),y1:l.constfunc(e),
y2:l.constfunc(e),stroke:c.color,"fill-opacity":c.opacity,"stroke-width":c.strokewidth}).attr("data",a)};wa.guide.legend.prototype._render_point_tick=function(a,b,c,d,e){return b.point().attr("func",{cx:l.constfunc(d+7),cy:l.constfunc(e),r:c.radius,symbol:c.symbol,fill:c.color,stroke:c.stroke,"fill-opacity":c.opacity,"stroke-width":c.strokewidth}).attr("data",a)};wa.guide.legend.prototype._render_label=function(a,b,c,d){return b.text().attr("func",{x:l.constfunc(c),y:l.constfunc(d),"font-size":"12px",
"text-anchor":"start",text:function(a){return String(a.label)}}).attr("data",a)};var Sa=q;Sa.layer.area=l.makeClass("gg.layer.area",Sa.layer.base);Sa.layer.area.prototype.init=function(){Sa.layer.base.prototype.init.call(this);this.opts("stroke","none").opts("opacity",0.4).opts("color","steelblue").opts("strokewidth",0).opts("padding",0.5)};Sa.layer.area.prototype.calculatePartials=function(){return!0};Sa.layer.area.prototype.layerGroup=function(){return["group","group_color","group_opacity"]};Sa.layer.area.prototype.defaultMin=
function(a,b){h.isDate(b)&&(b=b.getTime());return"y"==a?0:Sa.layer.base.prototype.defaultMin.call(this,a,b)};Sa.layer.area.prototype.render=function(a){var b=a.coord,c=a.scales,d=a.rawScales.y.opts("domain_low");c.y(d);var e=function(a){return function(b,c){h.each(a,function(a){b.push(f(a.x));c.push(g(a.y))})}},f,g;f=c.x;g=c.y_2||c.y_override||c.y;var k=this,d=a.computedData,j=this.map("group");j&&(d=h.sortBy(d,function(a){return a._internal[0][j]}));d.reverse();var l=[],m=this.map("x");h.each(d,
function(d){k.opts("domain")&&(d=k.fillZero(d,a,["$sum","$partial_1","$partial_2"]));l=h.chain(d._internal).map(function(a){return{x:m?a[m]:1,y:a.$partial_1||0}}).sortBy(function(a){return a.x}).value();l.reverse();b.poly().attr("func",{x:f,y:g,_sort:f,_pointModifier:e(l),_style:c}).attr("data",d)})};Sa.layer.area.prototype.imputeMapping=function(a){return Sa.layer.base.prototype.imputeMapping.call(this,a,{group:["stroke","color"]})};var qa=q;qa.layer.bar=l.makeClass("gg.layer.bar",qa.layer.base);
qa.layer.bar.prototype.init=function(){qa.layer.base.prototype.init.call(this);var a=this;h.each(qa.opts.bar,function(b,c){a.opts(c,b)});this.opts("padding",0)};qa.layer.bar.prototype.calculatePartials=function(){return!0};qa.layer.bar.prototype.layerGroup=function(){return["x"]};qa.layer.bar.prototype.defaultMin=function(a,b){h.isDate(b)&&(b=b.getTime());if("y"==a)return 0;if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b-d/2;if("right"==c)return b-d}return qa.layer.base.prototype.defaultMin.call(this,
a,b)};qa.layer.bar.prototype.defaultMax=function(a,b){if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b- -d/2;if("left"==c)return b- -d}return qa.layer.base.prototype.defaultMax.call(this,a,b)};qa.layer.bar.prototype.defaultScales=function(){return{x:qa.scale.discrete("x")}};qa.layer.bar.prototype.checkErrors=function(a){return"number"!==a.rawScales.y.type()?(qa.error(311,"y scale must be numeric."),!0):!1};qa.layer.bar.prototype.render=function(a){var b=a.coord,c=a.scales,
d=this.opts("width"),e;e=a.rawScales.x.DISCRETE?a.width:a.rawScales.x.apply(d)-a.rawScales.x.apply(0);var d=e/2*(1-2*this.opts("padding")),f=a.rawScales.y.opts("domain_low");h.isNumber(f)||this.warn(-2,"originLocation is numeric.");0>f&&(f=0);var g=null,k=null,j,m,q=this.opts("align");"left"==q||"right"==q?(e=e/2-d,"right"==q?(j=l.sub(c.x,e),m=l.sub(c.x,e+2*d)):(j=l.add(c.x,e),m=l.add(c.x,e+2*d))):"center"==q&&(j=l.sub(c.x,d),m=l.add(c.x,d));c.y_1&&c.y_2?(k=c.y_1,g=c.y_2):(k=c.y_override?c.y_override:
c.y,g=d=k(f));var n=this,t=this.opts("onDoubleclick");h.each(a.computedData,function(a){a.each(function(a){b.rect().ggTooltip(c).ggDoubleClick(t,n).attr("func",{x1:j,x2:m,y1:k,y2:g,_style:c}).attr("data",a)})})};var ka=q;ka.layer.box=l.makeClass("gg.layer.box",ka.layer.base);ka.layer.box.prototype.init=function(){ka.layer.base.prototype.init.call(this);var a=this;h.each(ka.opts.box,function(b,c){a.opts(c,b)});this._default_stats=ka.stats.box};ka.layer.area.prototype.calculatePartials=function(){return!0};
ka.layer.box.prototype.layerGroup=function(){return["x"]};ka.layer.box.prototype.defaultMin=function(a,b){h.isDate(b)&&(b=b.getTime());if("y"==a)return 0;if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b-d/2;if("right"==c)return b-d}};ka.layer.box.prototype.defaultMax=function(a,b){if("x"==a){var c=this.opts("align"),d=this.opts("width");if("center"==c)return b- -d/2;if("left"==c)return b- -d}return ka.layer.base.prototype.defaultMax.call(this,a,b)};ka.layer.box.prototype.checkErrors=
function(){var a=h.keys(this.getMap());if(h.include(a,"y"))return!1;this.warn(320,"No mapping has been set in layer "+this._cls_name);return!0};ka.layer.box.prototype.render=function(a){var b=a.coord,c=a.scales,d=this.opts("width"),d=a.rawScales.x.DISCRETE?a.width:a.rawScales.x.apply(d)-a.rawScales.x.apply(0),e=d/2*(1-2*this.opts("padding")),f,g,k,j=this.opts("align"),m=this;if("left"==j||"right"==j){var q=d/2-e;"right"==j?(k=l.sub(c.x,e),f=l.sub(c.x,d/2),g=l.sub(c.x,q+2*e)):(k=l.add(c.x,d/2),f=l.add(c.x,
q),g=l.add(c.x,q+2*e))}else"center"==j&&(f=l.sub(c.x,e),k=c.x,g=l.add(c.x,e));c.y_q0||(c.y_q0=c.y);c.y_q1||(c.y_q1=c.y);c.y_q2||(c.y_q2=c.y);c.y_q3||(c.y_q3=c.y);c.y_q4||(c.y_q4=c.y);var n=this.opts("onDoubleclick");h.each(a.computedData,function(a){a.each(function(a){!h.isNull(a.$q0)&&!h.isNull(a.$q3)?(b.vline().attr("func",{y1:c.y_q0,y2:c.y_q1,x:k,_style:c}).attr("data",a),b.vline().attr("func",{y1:c.y_q3,y2:c.y_q4,x:k,_style:c}).attr("data",a),b.rect().ggDoubleClick(n,m).attr("func",{x1:f,x2:g,
y1:c.y_q1,y2:c.y_q3,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q4,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q2,_style:c}).attr("data",a),b.hline().attr("func",{x1:f,x2:g,y:c.y_q0,_style:c}).attr("data",a)):b.point().ggTooltip(c).attr("func",{cx:k,cy:c.y,r:c.radius,symbol:l.constfunc(ka.symbol.CIRCLE),_style:c}).attr("data",a)})})};ka.layer.box.prototype.imputeMapping=function(a){return ka.layer.base.prototype.imputeMapping.call(this,a,{group:"x"})};ka.layer.box.prototype.checkErrors=
function(a){return"number"!==a.rawScales.y.type()?(ka.error(311,"y scale must be numeric."),!0):!1};var ic=q;ic.layer.histo=l.makeClass("gg.layer.histo",ic.layer.bar);ic.layer.histo.prototype.init=function(){ic.layer.bar.prototype.init.call(this);this._default_stats=ic.stats.bin};var Cb=q;Cb.layer.jitter=l.makeClass("gg.layer.jitter",Cb.layer.base);Cb.layer.jitter.prototype.init=function(){Cb.layer.base.prototype.init.call(this);this.opts("radius",3);this.opts("symbol",Cb.symbol.CIRCLE)};Cb.layer.jitter.prototype.render=
function(a){var b=a.coord,c=a.scales,d={cx:function(a){return c.x(a)+20*(Math.random()-0.5)},cy:function(a){return c.y(a)+20*(Math.random()-0.5)},r:c.radius,symbol:c.symbol,stroke:c.stroke,"stroke-width":c.strokewidth,"fill-opacity":c.opacity,fill:c.color};a.computedData.each(function(a){b.point().attr("func",d).attr("data",a)})};Cb.layer.jitter.prototype.hasGroup=function(){return!1};var Ta=q;Ta.layer.line=l.makeClass("gg.layer.line",Ta.layer.base);Ta.layer.line.prototype.init=function(){Ta.layer.base.prototype.init.call(this);
this.opts("symbol",Ta.symbol.CIRCLE);var a=this;h.each(Ta.opts.line,function(b,c){a.opts(c,b)})};Ta.layer.line.prototype.layerGroup=function(){return["group","group_color","group_strokewidth"]};Ta.layer.line.prototype.render=function(a){var b=a.coord,c=a.scales,d=c.y_override||c.y;this.map("x");this.map("y");var e=this;h.each(a.computedData,function(f){var g;g=e.opts("domain")?e.fillZero(f,a,["$sum","$partial_1","$partial_2"]):f;b.poly().attr("func",{x:c.x,y:d,_sort:c.x,stroke:c.color,fill:"none",
"stroke-width":c.strokewidth}).attr("data",g);if(100>f.len()){var h={cx:c.x,cy:d,r:c.strokewidth,stroke:"#FFFFFF",fill:c.color,symbol:c.symbol,"stroke-width":0};f.each(function(a){b.point().ggTooltip(c).attr("func",h).attr("data",a)})}})};Ta.layer.line.prototype.imputeMapping=function(a){return Ta.layer.base.prototype.imputeMapping.call(this,a,{group:["strokewidth","stroke","color"]})};Ta.layer.line.prototype.defaultMin=function(a){if("y"==a)return 0};var mb=q;mb.layer.path=l.makeClass("gg.layer.path",
mb.layer.base);mb.layer.path.prototype.init=function(){mb.layer.base.prototype.init.call(this);var a=this;h.each(mb.opts.line,function(b,c){a.opts(c,b)})};mb.layer.path.prototype.render=function(a){var b=a.coord,c=a.scales,d=c.y_override||c.y;h.each(a.computedData,function(a){b.poly().attr("func",{x:c.x,y:d,stroke:c.color,fill:"none","stroke-width":c.strokewidth}).attr("data",a)})};mb.layer.line.prototype.imputeMapping=function(a){return mb.layer.base.prototype.imputeMapping.call(this,a,{group:["stroke",
"color"]})};var Ua=q;Ua.layer.point=l.makeClass("gg.layer.point",Ua.layer.base);Ua.layer.point.prototype.init=function(){Ua.layer.base.prototype.init.call(this);var a=this;h.each(Ua.opts.point,function(b,c){a.opts(c,b)});this.opts("symbol",Ua.symbol.CIRCLE)};Ua.layer.point.prototype.render=function(a){var b=a.coord,c=a.scales,d={cx:c.x,cy:c.y_override||c.y,r:c.radius,symbol:c.symbol,_style:c};a.computedData.each(function(a){b.point().ggTooltip(c).attr("func",d).attr("data",a)},this.opts("render-max"))};
Ua.layer.point.prototype.imputeMapping=function(a){return Ua.layer.base.prototype.imputeMapping.call(this,a,{color:"stroke"})};Ua.layer.point.prototype.hasGroup=function(){return!1};Ua.layer.base.prototype.requiredMap=function(){return["x","y"]};var Db=q;Db.layer.text=l.makeClass("gg.layer.text",Db.layer.base);Db.layer.text.prototype.init=function(){Db.layer.base.prototype.init.call(this);var a=this;h.each(Db.opts.text,function(b,c){a.opts(c,b)})};Db.layer.text.prototype.render=function(a){var b=
a.coord,c=a.scales,d=c.y_override||c.y;a.computedData.each(function(a){b.text().attr("func",{x:c.x,y:d,text:c.text,fill:c.color,"fill-opacity":c.opacity,"font-size":c.fontsize,"font-family":c.font}).attr("data",a)})};Db.layer.text.prototype.hasGroup=function(){return!1};var Qb=q;Qb.layer.tile=l.makeClass("gg.layer.tile",Qb.layer.base);Qb.layer.tile.prototype.init=function(){Qb.layer.base.prototype.init.call(this);this.opts("stroke","none").opts("padding",0.5)};Qb.layer.tile.prototype.render=function(a){var b=
a.scales,c=a.rawScales.x.width(),d=a.rawScales.y.width(),e=c/2,f=d/2,g=a.coord;a.computedData.each(function(a){g.rect().attr("func",{x1:l.sub(b.x,e),y1:l.sub(b.y,f),x2:l.add(b.x,e),y2:l.add(b.y,f),_style:b}).attr("data",a)})};Qb.layer.tile.prototype.hasGroup=function(){return!1};var L=q;L.pivot=l.makeClass("gg.pivot");L.pivot.prototype.init=function(a){this._data=a;this._statData={};this._attr=l.cloneobj(L.opts.pivot);this._mapping={};this._levels={};this._stats=null;this._calculated=!1;this._scales=
{}};L.pivot.prototype.data=l.dataGetter();L.pivot.prototype.map=function(a,b){if(1===arguments.length)return this._mapping[a];b?this._mapping[a]=b:delete this._mapping[a];this.resetCalculate();return this};L.pivot.prototype.levels=function(a,b){if(1===arguments.length)return this._levels[a]?this._levels[a]:this.callData("levels",a);b?this._levels[a]=b:delete this._levels[a];return this};L.pivot.prototype.getMap=function(){var a={};this._mapping.column&&(a.group_c=this._mapping.column);this._mapping.row&&
(a.group_r=this._mapping.row);this._mapping.value&&(a.y=this._mapping.value);return a};L.pivot.prototype.getScale=function(a){return this._scales[a]};L.pivot.prototype.scale=function(a,b){if(!("column"!=a&&"row"!=a)){(b=l.instantiate(b))||L.error(201,"Attempting to add an undefined or malformed scale: "+b);var c=l.cloneobj(b);c.attach(this,a);this._scales[a]=c;return this}};L.pivot.prototype.opts=l.opts();L.pivot.prototype.stats=function(a){if(1===arguments.length)return(a=l.instantiate(a))||L.error(304,
"Attempting to add an undefined or malformed statistic: "+a),this._stats=a,this.resetCalculate(),this;if(this._stats)return this._stats;var b=this._mapping.value,c=b?this._data.type(b):"";return"category"==c||!b?L.stats.count():"date"==c?L.stats.mean():L.stats.sum()};L.pivot.prototype.callData=function(a,b,c){if(!c||"data"==c)return this._data[a](b);if("aes"==c)return this._data[a](this.map(b));L.error(-1,"not supported "+c)};L.pivot.prototype.type=function(a,b){return this.callData("type",a,b)};
L.pivot.prototype.min=function(a,b){return this.callData("min",a,b)};L.pivot.prototype.max=function(a,b){return this.callData("max",a,b)};L.pivot.prototype.calculateStats=function(a,b){return a.calculateStats(this._data,b)[0]};L.pivot.prototype.calculate=function(){if(!this._calculated){var a=this.stats(),b={};this._scales.column&&(b.group_c=this._scales.column);this._scales.row&&(b.group_r=this._scales.row);var c=this.getMap(),b={scales:b,mapping:c,group_aes:[],attr:{y:this.opts("y"),x:this.opts("x")},
no_partials:!0};this._statData={};c.group_c&&c.group_r&&(b.group_aes=["group_c","group_r"],this._statData.cr=this.calculateStats(a,b));if(c.group_c){var d=b.mapping.group_r;delete b.mapping.group_r;b.group_aes=["group_c"];this._statData.c=this.calculateStats(a,b);b.mapping.group_r=d;delete b.mapping.group_c}c.group_r&&(b.group_aes=["group_r"],this._statData.r=this.calculateStats(a,b),delete b.mapping.group_r);this._statData.none=this.calculateStats(a,b);return this}};L.pivot.prototype.resetCalculate=
function(){this._calculated=!1;this._default_stats=L.stats.sum;return this};L.pivot.prototype._getPrettifyFunction=function(a,b){var c=-Infinity,d=!0;h.each(a,function(a){h.each(a.get(b),function(a){a>c&&(c=a);d&&0!==a%1&&(d=!1)})});var e=Math.log(Math.abs(c))/Math.LN10;return d||3<=e?function(a){return l.prettify(a,0)}:function(a){return l.prettify(a,-Math.floor(e-2))}};var sf=function(a){return a.toString()};L.pivot.prototype._getColumnFormatter=function(){return!this.opts("colFormatter")?sf:this.opts("colFormatter")};
L.pivot.prototype._getRowFormatter=function(){return!this.opts("rowFormatter")?sf:this.opts("rowFormatter")};L.pivot.prototype._makeTableArray=function(){var a=this.map("column"),b=this.map("row"),c=this.stats().imputeMapping({}),d=c.y||c.y_override,e=a?this.levels(a):[],f=b?this.levels(b):[],g=this._getRowFormatter(),k=this._getColumnFormatter(),e=h.map(e,k),f=h.map(f,g),j=e.length,l=f.length,m=this._getPrettifyFunction(this._statData,d),n=Array(l+2),c=this.opts("title-all");n[0]=[""].concat(e).concat([c]);
var q,r;for(r=1;r<l+2;r++)n[r]=Array(j+2),n[r][0]=r==l+1?c:f[r-1];this._statData.cr&&h.each(this._statData.cr.getRaw(),function(c){r=a?h.indexOf(e,k(c[a])):-1;q=b?h.indexOf(f,g(c[b])):-1;-1!==q&&-1!==r&&(n[q+1][r+1]=m(c[d]))});this._statData.c&&h.each(this._statData.c.getRaw(),function(b){r=a?h.indexOf(e,k(b[a])):0;-1!==r&&(n[l+1][r+1]=m(b[d]))});this._statData.r&&h.each(this._statData.r.getRaw(),function(a){q=b?h.indexOf(f,g(a[b])):0;-1!==q&&(n[q+1][j+1]=m(a[d]))});this._statData.none&&h.each(this._statData.none.getRaw(),
function(a){n[l+1][j+1]=m(a[d])});return n};L.pivot.prototype.makeTableDom=function(a){a||L.error(212,"Invalid dom for .opts('dom') - "+a);var b=jQuery,c=b(a);c||L.error(212,"Invalid dom for .opts('dom') - "+a);var d=this.opts("padding-left"),e=this.opts("padding-right"),f=this.opts("padding-top"),g=this.opts("padding-bottom"),h=this.opts("width");c.empty();a=b("<table></table>");a.css("color","black");a.css("width",h);a.css("margin-top",f);a.css("margin-bottom",g);a.css("margin-right",e);a.css("margin-left",
d);b=b("<tbody></tbody>");a.append(b);c.append(a);return b};L.pivot.prototype.render=function(a){this.calculate();var b=this._makeTableArray();a=a||this.opts("dom");a=this.makeTableDom(a);var c,d,e,f;e=b[0]?b[0].length+2:2;d=b[0]?b[0].length:1;var g=b[0]?b.length:1,k=this.opts("title");c=$("<tr></tr>");e=$("<th></th>").attr("colspan",e);e.text(h.isUndefined(k)?" ":k);e.css("textAlign","center");e.css("paddingBottom","5px");c.append(e);a.append(c);k=this.opts("title-column")||this.map("column");c=
$("<tr></tr>");c.append($("<th></th>"));c.append($("<th></th>"));e=$("<th></th>").attr("colspan",d);e.text(k);e.css("textAlign","center");e.css("paddingBottom","5px");e.css("font-weight","normal");k&&e.css("border","1px solid black");c.append(e);a.append(c);for(var j,k=0;k<b.length;k++){d=b[k];c=$("<tr></tr>");0===k?c.append($("<th></th>")):1==k&&(f=this.opts("title-row")||this.map("row"),e=$("<th></th>").attr("rowspan",g),j=$("<div></div>"),j.text(f),j.css("-webkit-transform","rotate(270deg)"),j.css("-moz-transform",
"rotate(270deg)"),j.css("-ms-transform","rotate(270deg)"),j.css("-o-transform","rotate(270deg)"),e.css("paddingBottom","5px"),e.css("font-weight","normal"),f&&e.css("border","1px solid black"),e.css("textAlign","center"),e.css("verticalAlign","middle"),e.append(j),c.append(e));for(j=0;j<d.length;j++)f=d[j],e=$(0===k*j?"<th></th>":"<td></td>"),e.text(h.isUndefined(f)?" \u00a0":f),c.append(e),e.css("minWidth","50px"),e.css("width",100/d.length+"%"),e.css("minHeight","22px"),e.css("height",100/b.length+
"%"),e.css("padding","2px"),0==k&&0==j||(0==k||0==j?e.css("border","1px solid black"):(e.css("border","1px solid gray"),e.css("textAlign","right")));a.append(c)}return this};var ca=q;ca.scale.continuous=l.makeClass("gg.scale.continuous",ca.scale.base);ca.scale.continuous.prototype.init=function(a,b,c){ca.scale.base.prototype.init.call(this);this._type="number";this._d3scale=null;this._attr.min=h.isNumber(b)?b:null;this._attr.max=h.isNumber(c)?c:null;this._useDefault=!1;this._defaultMax=this._defaultMin=
null;this.opts("transform",a||"linear");this.opts("expand",0);"log"===this.opts("transform")&&this.opts("absolute_min",0.1)};ca.scale.continuous.prototype.domain=function(a){return 1===arguments.length?(this.min(a[0]),this.max(a[1]),this):[this._attr.domain_low,this._attr.domain_high]};ca.scale.continuous.prototype.width=function(){this._attr.width||(this._attr.width=this._makeWidth());return this._attr.width};ca.scale.continuous.prototype.maxLabelWidth=function(){var a=this._graph.max(this._aes),
b=this._graph.min(this._aes),b=Math.floor(Math.log((a-b)/10)/Math.LN10);return a?l.strlenToPixel(l.prettify(a,-b).length):15};ca.scale.continuous.prototype.distance=function(a,b){return Math.abs(this._d3scale(a)-this._d3scale(b))};ca.scale.continuous.prototype._makeDefaultMinMax=function(){if(this._graph){var a=this._aes,b=this._graph.min(a),c=this._graph.max(a);this._defaultMin=this._graph.defaultMin(a,b);this._defaultMax=this._graph.defaultMax(a,c);h.isNumber(this._defaultMin)&&this._defaultMin<
this._attr.absolute_min&&(this._defaultMin=this._attr.absolute_min);h.isNumber(this._defaultMax)&&this._defaultMax>this._attr.absolute_max&&(this._defaultMax=this._attr.absolute_max)}};ca.scale.continuous.prototype._makeWidth=function(){var a=this._graph.levels(this._aes,null,this._facetIndex);if(1>=a.length)a=this.rangeSize();else var b=h.bind(this._apply,this),a=l.minimumDelta(h.map(a,b));return Math.max(a,1)};ca.scale.continuous.prototype._makeDomain=function(){this._makeDefaultMinMax();var a=
this._aes,b=this._attr.min,c=this._attr.max,d;d=0;var e=2;h.isNumber(b)&&h.isNumber(c)?(d=b,e=c):0<this._graph._layers.length&&(this._graph.isMapped(a,!0)?(d=this._graph.min(a,null,this._facetIndex),a=this._graph.max(a,null,this._facetIndex),d===a&&(d-=1,a+=1)):(a=h.chain(this._graph._layers).invoke("opts",a).value(),d=h.min(a)-1,a=h.max(a)+1),0<this.opts("expand")&&(e=(a-d)*this.opts("expand"),0===d&&"y"==this._aes||(d-=e),a+=e),h.isNumber(this._defaultMin)&&d>this._defaultMin&&(d=this._defaultMin),
h.isNumber(this._defaultMax)&&a<this._defaultMax&&(a=this._defaultMax),d=h.isNumber(b)?b:d,e=h.isNumber(c)?c:a);h.isNumber(this._attr.absolute_min)&&(d=Math.max(d,this._attr.absolute_min));h.isNumber(this._attr.absolute_max)&&(e=Math.min(e,this._attr.absolute_max));this._saneNumber(d)||ca.error(406,"min() calculation returned an invalid number.");this._saneNumber(e)||ca.error(406,"max() calculation returned an invalid number.");d>e&&ca.error(408,"min is set to be bigger than max in a continuous scale.");
this.opts("domain_low",d);this.opts("domain_high",e);return[d,e]};ca.scale.continuous.prototype.make=function(a){this.range()||ca.error(407,"Continuous scale's range is not set.");var b=this.opts("transform");this._d3scale="log"==b?j.scale.log():"sqrt"==b?j.scale.sqrt():j.scale.linear();this._facetIndex=h.isNumber(a)?a:-1;a=this._makeDomain();this._d3scale.domain(a).range(this.range());return this};ca.scale.continuous.prototype._apply=function(a){this._d3scale||this.make();if(null===a)return null;
0===a&&"log"==this.opts("transform")&&(a=this._attr.domain_low);return this._d3scale(a)};ca.scale.continuous.prototype.ticks=function(a,b){var c=0,d=this._attr.domain_low,e=this._attr.domain_high,f="log"==this.opts("transform"),g=this._suggestNumticks(a,b);f&&(d=Math.max(Math.log(d)/Math.LN10,0),e=Math.log(e)/Math.LN10,c=ca.opts.epsilon);var h=e-d,j=Math.pow(10,Math.floor(Math.log(h/g)/Math.LN10)),g=g/h*j;0.15>=g?j*=10:0.35>=g?j*=5:0.75>=g&&(j*=2);g=[];d=Math.ceil(d/j)*j;f&&(d-=1);for(h=-Math.floor(Math.log(j)/
Math.LN10);d<=e+c;){var m=d,q=m;if(f){if(0!==m%1&&0.1>=m%1){d+=j;continue}if(m%1>c&&(m=Math.floor(m)+Math.log(10*(m%1))/Math.LN10,0==m%1)){d+=j;continue}m=Math.exp(m*Math.LN10);if(m>this._attr.domain_high+c)break;if(m<this._attr.domain_low-c){d+=j;continue}q=l.prettify(m)}else q=l.prettify(m,h);g.push(this._tickObject(m,this.apply(m),q));d+=j}return g};ca.scale.continuous.prototype.CONTINUOUS=!0;var Ca=q;Ca.scale.discrete=l.makeClass("gg.scale.discrete",Ca.scale.base);Ca.scale.discrete.prototype.init=
function(){Ca.scale.base.prototype.init.call(this);this._type="category";this._eachWidth=this._levels=null;this._padding=0.02;this._rangeMin=null};Ca.scale.discrete.prototype.domain=function(a){if(0===arguments.length)return this._levels;this._levels=a;return this};Ca.scale.discrete.prototype.padding=function(a){if(0===arguments.length)return this._padding;l.assertNumber(a);this._padding=a;return this};Ca.scale.discrete.prototype.width=function(){this._eachWidth||this.make();return this._eachWidth};
Ca.scale.discrete.prototype.maxLabelWidth=function(){var a=this._graph.levels(this._aes);return!a?0:l.strlenToPixel(h.chain(a).map(function(a){return String(a).length}).max().value())};Ca.scale.discrete.prototype.make=function(a){this.range()||Ca.error(407,"Discrete scale's range is not set.");this._facetIndex=h.isNumber(a)?a:-1;var b=this.range(),c=Math.abs(b[1]-b[0]);this._rangeMin=h.min(b);this._levels||(this._levels=this._graph.levels(this._aes,null,a),0==this._levels.length&&(this._levels=[""]));
this._eachWidth=c/this._levels.length;this._eachWidth=Math.abs(this._eachWidth);a=1<=this._padding?this._padding:this._eachWidth*this._padding;this._eachWidth-=a;this._padding=a;return this};Ca.scale.discrete.prototype._apply=function(a){this._levels||this.make();var b=h.indexOf(this._levels,a);-1===b&&this.warn(404,"Discrete scale got value "+a+" that is not in the domain.");return this._rangeMin+b*(this._eachWidth+this._padding)+this._padding/2+this._eachWidth/2};Ca.scale.discrete.prototype.ticks=
function(a,b){for(var c=this._suggestNumticks(a,b),c=Math.max(1,Math.round(this._levels.length/c)),d=[],e=Math.floor(c/2);e<this._levels.length;e+=c)d.push(this._tickObject(this._levels[e],this.apply(this._levels[e]),this._levels[e]));return d};Ca.scale.discrete.prototype.toCode=function(a,b){var c={cls:this._cls_name,funcs:[["padding",this._padding],["opts",ja.stringify(this.getAttr())]]};this._levels&&c.funcs.push(["domain",ja.stringify(this._levels)]);return l.toCode(a,b,c)};Ca.scale.discrete.prototype.DISCRETE=
!0;var db=q;db.scale.gradient=l.makeClass("gg.scale.gradient",db.scale.continuous);db.scale.gradient.prototype.init=function(a,b){db.scale.continuous.prototype.init.call(this);this._attr.range_low=a||db.opts.gradient.low;this._attr.range_high=b||db.opts.gradient.high;this._d3scale=null};db.scale.gradient.prototype.make=function(){this.range()||db.error(407,"Gradient scale's range is not set.");h.isNumber(this._attr.domain_low)||(this._attr.domain_low=this._graph.min(this._aes));h.isNumber(this._attr.domain_high)||
(this._attr.domain_high=this._graph.max(this._aes));this._d3scale=j.scale.linear().domain([this._attr.domain_low,this._attr.domain_high]).range(this.range());return this};db.scale.gradient.prototype._apply=function(a){this._d3scale||this.make();return this._d3scale(a)};var Xa=q;Xa.scale.id=l.makeClass("gg.scale.id",Xa.scale.base);Xa.scale.id.prototype.init=function(){Xa.scale.base.prototype.init.call(this);this._type=null};Xa.scale.id.prototype.type=function(){this._type||(this._type=this._graph.type(this._aes));
return this._type};Xa.scale.id.prototype.domain=function(){return"number"==this._type?[this._graph.min(this._aes),this._graph.max(this._aes)]:this._graph.levels(this._aes)};Xa.scale.id.prototype.range=function(){return this.domain()};Xa.scale.id.prototype.make=function(){"number"==this.type()&&(this._attr.domain_low=this._graph.min(this._aes),this._attr.domain_high=this._graph.max(this._aes))};Xa.scale.id.prototype._apply=function(a){return a};Xa.scale.id.prototype.maxLabelWidth=function(){var a=
this._graph.levels(this._aes);return!a?0:l.strlenToPixel(h.chain(a).map(function(a){return String(a).length}).max().value())};var Eb=q;Eb.scale.palette=l.makeClass("gg.scale.palette",Eb.scale.discrete);Eb.scale.palette.prototype.init=function(a){Eb.scale.discrete.prototype.init.call(this);this._paletteName=a;this._d3scale=null;this._colorTable={};this._made=!1};Eb.scale.palette.prototype.make=function(a){a?this._levels=a:this._levels||(this._levels=this._graph.levels(this._aes));a=this._levels.length;
if(10>=a)this._d3scale=j.scale.category10();else if(20>=a)this._d3scale=j.scale.category20();else{this._colorTable={};var b;for(b=0;b<a;b++)this._colorTable[this._levels[b]]=l.getRandomColor()}this._made=!0;return this};Eb.scale.palette.prototype._apply=function(a){this._made||this.make();if(this._d3scale)return this._d3scale(a);if(this._colorTable[a])return this._colorTable[a];this.warn(404,"Palette scale got value "+a+" that is not in the domain.");return null};Eb.scale.palette.prototype.toCode=
function(a,b){var c={cls:this._cls_name,funcs:[["opts",ja.stringify(this.getAttr())]]};this._paletteName&&(c.params=[l.qt(this._paletteName)]);this._levels&&c.funcs.push(["domain",ja.stringify(this._levels)]);return l.toCode(a,b,c)};var Rb=q;Rb.scale.symbol=l.makeClass("gg.scale.symbol",Rb.scale.discrete);Rb.scale.symbol.prototype.init=function(){Rb.scale.discrete.prototype.init.call(this);this._symbols=[1,2,3,4,5,6,7,8,9];this._numSymbols=this._symbols.length};Rb.scale.symbol.prototype.make=function(a){a?
this._levels=a:this._levels||(this._levels=this._graph.levels(this._aes));this._numLevels=this._levels.length;return this};Rb.scale.symbol.prototype._apply=function(a){this._d3scale||this.make();return this._symbols[h.indexOf(this._levels,a)%this._numSymbols]};var Fb=q;Fb.scale.time=l.makeClass("gg.scale.time",Fb.scale.continuous);Fb.scale.time.prototype.init=function(){Fb.scale.continuous.prototype.init.call(this);this.opts("pixel_per_tick_x",90);this._d3scale=j.time.scale()};Fb.scale.time.prototype.make=
function(a){this._facetIndex=h.isNumber(a)?a:-1;a=this._makeDomain();this._d3scale.domain(a).range(this.range())};Fb.scale.time.prototype.ticks=function(a){a=this._suggestNumticks(a);var b=this,c=this._d3scale.ticks(a),d=this._d3scale.tickFormat(a);return h.map(c,function(a){return b._tickObject(a,b.apply(a),d(a))})};Fb.scale.time.prototype.maxLabelWidth=function(){var a;try{var b=this._makeDomain();a=b[1]-b[0]}catch(c){a=this._graph.min(this._aes),a=this._graph.max(this._aes)-a}a/=20;return 36E5>=
a||864E5>=a?l.strlenToPixel(15):1296E6>=a||10368E6>=a?l.strlenToPixel(9):l.strlenToPixel(4)};var nb=q;nb.scale.time_gradient=l.makeClass("gg.scale.time_gradient",nb.scale.time);nb.scale.time_gradient.prototype.init=function(a,b){nb.scale.time.prototype.init.call(this);this._attr.range_low=a||nb.opts.gradient.low;this._attr.range_high=b||nb.opts.gradient.high;this._d3scale=null};nb.scale.time.prototype.make=function(){this._d3scale=j.time.scale();var a=this._makeDomain();this._d3scale.domain(a).range(this.range())};
nb.scale.time_gradient.prototype._apply=function(a){this._d3scale||this.make();return this._d3scale(a)};var Kc=q;Kc.stats.bin=l.makeClass("gg.stats.bin",Kc.stats.sum);Kc.stats.bin.prototype.compute=function(a,b){var c=a.getObject(0),d=a.len(),e=b.mapping.y;if(e)for(var f=1;f<d&&h.isNull(c[e]);)c=a.getObject(f),f++;d=this.makeMeta(a);c.$sum=a.len();return Kc.data([c],d)};var ob=q;ob.stats.box=l.makeClass("gg.stats.box",ob.stats.aggregate);ob.stats.box.prototype.imputeMapping=function(a){a=ob.stats.aggregate.prototype.imputeMapping.call(this,
a,{group_stats:["group","x"]});return h.extend(a,{y_q0:"$q0",y_q1:"$q1",y_q2:"$q2",y_q3:"$q3",y_q4:"$q4"})};ob.stats.box.prototype.compute=function(a,b){for(var c=b.mapping,d=a.getObject(0),c=a.get(c.y),e=c.length-1,f=h.sortBy(c,l.identity),g=e/4,j=e/2,m=3*(e/4),g=(f[Math.ceil(g)]+f[Math.floor(g)])/2,j=(f[Math.ceil(j)]+f[Math.floor(j)])/2,m=(f[Math.ceil(m)]+f[Math.floor(m)])/2,q=m-g,t=0;f[t]<j-1.5*q;)t++;for(t=f[t];f[e]>j+1.5*q;)e--;f=f[e];d.$q0=t;d.$q1=g;d.$q2=j;d.$q3=m;d.$q4=f;l.assertNumber(t);
l.assertNumber(g);l.assertNumber(j);l.assertNumber(m);l.assertNumber(f);d=[d];for(g=0;g<c.length;g++)(c[g]>f||c[g]<t)&&d.push(a.getObject(g));c=this.makeMeta(a);return ob.data(d,c)};ob.stats.box.prototype.keys=function(){return ob.stats.aggregate.prototype.keys.call(this).concat(["$q0","$q1","$q2","$q3","$q4"])};q.stats.count=q.stats.bin;q.stats.id=l.makeClass("gg.stats.id",q.stats.base);var Lc=q;Lc.stats.mean=l.makeClass("gg.stats.mean",Lc.stats.sum);Lc.stats.mean.prototype.compute=function(a,b){var c=
b.mapping,d=a.getObject(0),e=a.len();if(c=c.y){for(var f=1;f<e&&h.isNull(d[c]);)d=a.getObject(f),f++;e=l.sum.apply(a.get(c))/a.len();d.$sum=e}else d.$sum=b.attr.y;e=this.makeMeta(a);return Lc.data([d],e)};var pb=q;pb.stats.stack=l.makeClass("gg.stats.stack",pb.stats.aggregate);pb.stats.stack.prototype.compute=function(a,b){var c=b.mapping,d=c.y,e=[],f=a.len(),g=0,j=0;if(d)for(var l=a.getTypeObj(d).represent,m=c.group_stats||d,c=h.sortBy(a.getObjects(),function(a){return l(a[m])}),q=0;q<f;q++){var n=
c[f-q-1],t=n[d];0>t?(n.$partial_1=j,j+=t,n.$partial_2=j):(n.$partial_1=g,g+=t,n.$partial_2=g);e.push(n)}else for(q=0;q<f;q++)n=a.getObject(q),n.$partial_1=g,g+=1,n.$partial_2=g,e.push(n);d=this.makeMeta(a);return pb.data(e,d)};pb.stats.stack.prototype.imputeMapping=function(a){a=pb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,{y_1:"$partial_1",y_2:"$partial_2"})};pb.stats.stack.prototype.keys=function(){return pb.stats.aggregate.prototype.keys.call(this).concat(["$partial_1",
"$partial_2"])};var Gb=q;Gb.stats.tilestat=l.makeClass("gg.stats.tilestat",Gb.stats.base);Gb.stats.tilestat.prototype.entry=function(a,b,c){var d={};if(b.x){var e=b.x;d.group=tf(a.min(e),a.max(e),10);b.group=e}b.y&&(e=b.y,d.group2=tf(a.min(e),a.may(e),10),b.group2=e);return this.group(a,b,c,d)};var tf=function(a,b,c){a>=b&&Gb.error(900,"Cannot create a grouping function where min is "+a+" and max is "+b);0>=c&&Gb.error(901,"Cannot create a grouping function where number of bins is less than 1.");
var d=b-a;b=function(b){b=Math.floor((b-a)/d*c);b==c&&(b=c-1);return a+b*d/c};b.width=d/c;return b};Gb.stats.tilestat.prototype.imputeMapping=function(a){a=Gb.stats.base.prototype.imputeMapping.call(this,a,{group_stats_1:"x",group_stats_2:"y"});return h.extend(a,{y:"$count"})};var qb=q;qb.stats.unique=l.makeClass("gg.stats.unique",qb.stats.aggregate);qb.stats.unique.prototype.compute=function(a,b){var c=b.mapping,d=a.getObject(0),c=c.y;d.$unique=c?a.levels(c).length:0;c=this.makeMeta(a);return qb.data([d],
c)};qb.stats.unique.prototype.imputeMapping=function(a){a=qb.stats.aggregate.prototype.imputeMapping.call(this,a,{group_stats:"x"});return h.extend(a,{y_override:"$unique"})};qb.stats.unique.prototype.keys=function(){return qb.stats.aggregate.prototype.keys.call(this).concat(["$unique"])};var La=q;La.symbol=La.symbol||{};var qh=Math.sqrt(2),uf=Math.sqrt(3)/2,vf=Math.sqrt(3)/2,wf=-Math.sqrt(3)/2,xf=-Math.sqrt(3)/2,rh=(Math.sqrt(5)-1)/4,eb=function(a){return Math.cos(36*(Math.PI/180)*a)},fb=function(a){return Math.sin(36*
(Math.PI/180)*a)},sh=eb(1),th=eb(2),uh=eb(3),vh=eb(4),wh=eb(5),xh=eb(6),yh=eb(7),zh=eb(8),Ah=eb(9),Bh=fb(1),Ch=fb(2),Dh=fb(3),Eh=fb(4),Fh=fb(5),Gh=fb(6),Hh=fb(7),Ih=fb(8),Jh=fb(9);La.symbol.CIRCLE=1;La.symbol.BOX=2;La.symbol.DIAMOND=3;La.symbol.HEX=4;La.symbol.TRIANGLE=5;La.symbol.TRIANGLE_REVERSE=6;La.symbol.STAR=7;La.symbol.CROSS=8;La.symbol.X=9;La.symbol.makePath=function(a,b,c,d){if(1==a)return[["M",b,c+d],["A",d,d,0,1,1,b,c-d],["A",d,d,0,1,1,b,c+d],["Z"]];if(2==a)return[["M",b+d,c+d],["L",b-
d,c+d],["L",b-d,c-d],["L",b+d,c-d],["Z"]];if(3==a)return[["M",b+d,c],["L",b,c+d],["L",b-d,c],["L",b,c-d],["Z"]];if(4==a)return[["M",b+0*d,c+1*d],["L",b+d*uf,c+0.5*d],["L",b+d*vf,c+-0.5*d],["L",b+0*d,c+-1*d],["L",b+d*wf,c+-0.5*d],["L",b+d*xf,c+0.5*d],["Z"]];if(6==a)return[["M",b+0*d,c+1*d],["L",b+d*vf,c+-0.5*d],["L",b+d*wf,c+-0.5*d],["Z"]];if(5==a)return[["M",b+d*uf,c+0.5*d],["L",b+0*d,c+-1*d],["L",b+d*xf,c+0.5*d],["Z"]];if(7==a)return a=d*rh,[["M",b+0*a,c+1*a],["L",b+d*Bh,c+d*sh],["L",b+a*Ch,c+a*
th],["L",b+d*Dh,c+d*uh],["L",b+a*Eh,c+a*vh],["L",b+d*Fh,c+d*wh],["L",b+a*Gh,c+a*xh],["L",b+d*Hh,c+d*yh],["L",b+a*Ih,c+a*zh],["L",b+d*Jh,c+d*Ah],["Z"]];if(8==a)return[["M",b+d,c],["L",b,c],["L",b,c+d],["L",b,c],["L",b-d,c],["L",b,c],["L",b,c-d],["L",b,c],["Z"]];if(9==a)return a=d*qh/2,[["M",b+a,c+a],["L",b,c],["L",b+a,c-a],["L",b,c],["L",b-a,c+a],["L",b,c],["L",b-a,c-a],["L",b,c],["Z"]]};var W=q;W.type.category=l.makeClass("gg.type.category",W.type.base);W.type.category.prototype.min=function(){W.error(802,
"Invalid operation min() on categorical variable.")};W.type.category.prototype.max=function(){W.error(802,"Invalid operation max() on categorical variable.")};W.type.category.prototype.coerce=function(a){return W.type.category.prototype.represent(a)};W.type.category.prototype.represent=function(a){return h.isString(a)?a:null==a?"":h.isNumber(a)?a.toString():""+a};W.type.category.prototype.sort=function(a,b){if(a===b)return 0;h.isString(a)||(a=""+a);h.isString(b)||(b=""+b);var c=a.toLowerCase(),d=
b.toLowerCase();return c===d?a<b?-1:a>b?1:0:c<d?-1:c>d?1:0};W.type.category.prototype.validate=function(){return!0};W.type.category.prototype.defaultScale=function(a){l.assertAes(a);var b=null,b=(b={color:W.scale.palette,opacity:W.scale.discrete,radius:W.scale.discrete,stroke:W.scale.palette,strokewidth:W.scale.discrete,symbol:W.scale.symbol,x:W.scale.discrete,y:W.scale.discrete}[a])?b():W.scale.id();this._postProcess(a,b);return b};var oa=q;oa.type.date=l.makeClass("gg.type.date",oa.type.base);var yf=
function(a){return h.isNumber(a)?a:a.getTime()};oa.type.date.prototype.min=function(a){return this.coerce(h.min(h.reject(a,h.isNull),yf))};oa.type.date.prototype.max=function(a){return this.coerce(h.max(h.reject(a,h.isNull),yf))};oa.type.date.prototype.coerce=function(a){return h.isDate(a)?a.getTime():h.isNumber(a)?a:Number(a)};oa.type.date.prototype.represent=function(a){return h.isNumber(a)?a:h.isDate(a)?a.getTime():null};oa.type.date.prototype.validate=function(a){return h.isNumber(a)||h.isDate(a)};
oa.type.date.prototype.defaultScale=function(a){l.assertAes(a);var b=null,b=(b={color:oa.scale.time_gradient,opacity:oa.scale.time,radius:oa.scale.time,stroke:oa.scale.time_gradient,strokewidth:oa.scale.time,symbol:oa.scale.symbol,x:oa.scale.time,y:oa.scale.time}[a])?b():oa.scale.id();this._postProcess(a,b);return b};var Z=q;Z.type.number=l.makeClass("gg.type.number",Z.type.base);Z.type.number.prototype.min=Z.type.date.prototype.min;Z.type.number.prototype.max=Z.type.date.prototype.max;Z.type.number.prototype.coerce=
function(a){return h.isDate(a)?a.getTime():h.isNumber(a)?a:Number(a)};Z.type.number.prototype.represent=Z.type.date.prototype.represent;Z.type.number.prototype.validate=function(a){return h.isNumber(a)};Z.type.number.prototype.sort=function(a,b){return a===b?0:null==a?-1:null==b?1:a<b?-1:a>b?1:0};Z.type.number.prototype.defaultScale=function(a){l.assertAes(a);var b=null,b=(b={color:Z.scale.gradient,opacity:Z.scale.continuous,radius:Z.scale.continuous,stroke:Z.scale.gradient,strokewidth:Z.scale.continuous,
symbol:Z.scale.symbol,x:Z.scale.continuous,y:Z.scale.continuous}[a])?b():Z.scale.id();this._postProcess(a,b);return b};var gb=q;gb.type.unknown=l.makeClass("gg.type.unknown",gb.type.base);gb.type.unknown.prototype.min=function(){return null};gb.type.unknown.prototype.max=function(){return null};gb.type.unknown.prototype.coerce=function(a){return a};gb.type.unknown.prototype.represent=function(a){return a};gb.type.unknown.prototype.validate=function(){return!0};gb.type.unknown.prototype.defaultScale=
function(){gb.error(801,"Attempted to call defaultScale() on unknown type.")};var hb=q,Mc=q,Mc=Mc||{},Sb=function(a,b){a||hb.error(1,"Attempting to package an object that does not exist.");for(var c=b.length,d=0;d<c;d++){var e=b[d];Mc[e]?hb.error(3,"gg."+e+" is already set."):(a[e]||hb.error(2,"Failed while packing "+e+"."),Mc[e]=a[e])}};Sb(hb.coord,["cart","polar"]);Sb(hb.facet,["grid","wrap"]);Sb(hb.guide,["axis","legend"]);Sb(hb.layer,"area bar box line path point text tile".split(" "));Sb(hb.scale,
"continuous discrete gradient id palette time".split(" "));Sb(hb.stats,["bin","stack","count"]);var Nc=q;Nc.stats.ratio=l.makeClass("gg.stats.ratio",Nc.stats.stack);Nc.stats.ratio.prototype.compute=function(a,b){var c=b.mapping.y,d=[],e=a.len(),f=0;if(c)for(var g=l.sum.apply(a.get(c)),j=a.getTypeObj(c).represent,m=h.sortBy(a.getObjects(),function(a){return j(a[c])}),q=0;q<e;q++){var t=m[e-q-1],n;n=0==g?1/e:t[c]/g;t.$partial_1=f;f+=n;t.$partial_2=f;t[c]=n;d.push(t)}else{n=1/e;for(q=0;q<e;q++)t=a.getObject(q),
t.$partial_1=f,f+=n,t.$partial_2=f,d.push(t)}e=this.makeMeta(a);return Nc.data(d,e)};h=window._;j=window.d3;return q}();