Skip to content
Browse files

Cleaned all the things.

  • Loading branch information...
1 parent e44961d commit 0645c3b283ef4675223affa754c1f167493ea722 @zmaril committed Feb 5, 2012
Showing with 0 additions and 26,606 deletions.
  1. +0 −1 #mpg#
  2. +0 −25 crossdomain.xml
  3. +0 −3 mbostock-d3-0a6ad07/.gitignore
  4. 0 mbostock-d3-0a6ad07/.gitmodules
  5. +0 −4 mbostock-d3-0a6ad07/.npmignore
  6. +0 −26 mbostock-d3-0a6ad07/LICENSE
  7. +0 −271 mbostock-d3-0a6ad07/Makefile
  8. +0 −51 mbostock-d3-0a6ad07/README.md
  9. +0 −984 mbostock-d3-0a6ad07/d3.chart.js
  10. +0 −1 mbostock-d3-0a6ad07/d3.chart.min.js
  11. +0 −92 mbostock-d3-0a6ad07/d3.csv.js
  12. +0 −1 mbostock-d3-0a6ad07/d3.csv.min.js
  13. +0 −938 mbostock-d3-0a6ad07/d3.geo.js
  14. +0 −1 mbostock-d3-0a6ad07/d3.geo.min.js
  15. +0 −835 mbostock-d3-0a6ad07/d3.geom.js
  16. +0 −1 mbostock-d3-0a6ad07/d3.geom.min.js
  17. +0 −4,762 mbostock-d3-0a6ad07/d3.js
  18. +0 −1,881 mbostock-d3-0a6ad07/d3.layout.js
  19. +0 −1 mbostock-d3-0a6ad07/d3.layout.min.js
  20. +0 −2 mbostock-d3-0a6ad07/d3.min.js
  21. +0 −726 mbostock-d3-0a6ad07/d3.time.js
  22. +0 −1 mbostock-d3-0a6ad07/d3.time.min.js
  23. +0 −168 mbostock-d3-0a6ad07/examples/albers/albers.html
  24. +0 −48 mbostock-d3-0a6ad07/examples/area/area-radial.html
  25. +0 −113 mbostock-d3-0a6ad07/examples/area/area.html
  26. +0 −50 mbostock-d3-0a6ad07/examples/axis/axis-alternating.html
  27. +0 −68 mbostock-d3-0a6ad07/examples/axis/axis-ggplot2.html
  28. +0 −117 mbostock-d3-0a6ad07/examples/axis/axis-multiples.html
  29. +0 −63 mbostock-d3-0a6ad07/examples/axis/axis-orientations.html
  30. +0 −153 mbostock-d3-0a6ad07/examples/axis/axis-transition.html
  31. +0 −21 mbostock-d3-0a6ad07/examples/azimuthal/azimuthal.css
  32. +0 −99 mbostock-d3-0a6ad07/examples/azimuthal/azimuthal.html
  33. +0 −29 mbostock-d3-0a6ad07/examples/azimuthal/azimuthal.js
  34. +0 −223 mbostock-d3-0a6ad07/examples/bar/bar-hierarchy.html
  35. +0 −101 mbostock-d3-0a6ad07/examples/bar/bar.html
  36. +0 −53 mbostock-d3-0a6ad07/examples/bar/sample-data.csv
  37. +0 −159 mbostock-d3-0a6ad07/examples/bonne/bonne.html
  38. +0 −4 mbostock-d3-0a6ad07/examples/box/box.css
  39. +0 −19 mbostock-d3-0a6ad07/examples/box/box.html
  40. +0 −68 mbostock-d3-0a6ad07/examples/box/box.js
  41. +0 −92 mbostock-d3-0a6ad07/examples/brush/brush-ordinal.html
  42. +0 −92 mbostock-d3-0a6ad07/examples/brush/brush-x.html
  43. +0 −91 mbostock-d3-0a6ad07/examples/brush/brush-y.html
  44. +0 −98 mbostock-d3-0a6ad07/examples/brush/brush.html
  45. +0 −8 mbostock-d3-0a6ad07/examples/bubble/bubble.css
  46. +0 −14 mbostock-d3-0a6ad07/examples/bubble/bubble.html
  47. +0 −46 mbostock-d3-0a6ad07/examples/bubble/bubble.js
  48. +0 −10 mbostock-d3-0a6ad07/examples/bullet/bullet.css
  49. +0 −18 mbostock-d3-0a6ad07/examples/bullet/bullet.html
  50. +0 −53 mbostock-d3-0a6ad07/examples/bullet/bullet.js
  51. +0 −7 mbostock-d3-0a6ad07/examples/bullet/bullets.json
  52. +0 −9 mbostock-d3-0a6ad07/examples/bundle/bundle-radial.css
  53. +0 −15 mbostock-d3-0a6ad07/examples/bundle/bundle-radial.html
  54. +0 −50 mbostock-d3-0a6ad07/examples/bundle/bundle-radial.js
  55. +0 −14 mbostock-d3-0a6ad07/examples/bundle/bundle-treemap.css
  56. +0 −16 mbostock-d3-0a6ad07/examples/bundle/bundle-treemap.html
  57. +0 −53 mbostock-d3-0a6ad07/examples/bundle/bundle-treemap.js
  58. +0 −49 mbostock-d3-0a6ad07/examples/bundle/packages.js
  59. +0 −35 mbostock-d3-0a6ad07/examples/button.css
  60. +0 −15 mbostock-d3-0a6ad07/examples/calendar/calendar.css
  61. +0 −120 mbostock-d3-0a6ad07/examples/calendar/dji-area.html
  62. +0 −5,233 mbostock-d3-0a6ad07/examples/calendar/dji.csv
  63. +0 −15 mbostock-d3-0a6ad07/examples/calendar/dji.html
  64. +0 −69 mbostock-d3-0a6ad07/examples/calendar/dji.js
  65. +0 −5,231 mbostock-d3-0a6ad07/examples/calendar/vix.csv
  66. +0 −15 mbostock-d3-0a6ad07/examples/calendar/vix.html
  67. +0 −69 mbostock-d3-0a6ad07/examples/calendar/vix.js
  68. +0 −20 mbostock-d3-0a6ad07/examples/cartogram/cartogram.css
  69. +0 −15 mbostock-d3-0a6ad07/examples/cartogram/cartogram.html
  70. +0 −51 mbostock-d3-0a6ad07/examples/cartogram/cartogram.js
  71. +0 −9 mbostock-d3-0a6ad07/examples/cartogram/demers.css
  72. +0 −16 mbostock-d3-0a6ad07/examples/cartogram/demers.html
  73. +0 −79 mbostock-d3-0a6ad07/examples/cartogram/demers.js
  74. +0 −9 mbostock-d3-0a6ad07/examples/cartogram/dorling.css
  75. +0 −16 mbostock-d3-0a6ad07/examples/cartogram/dorling.html
  76. +0 −80 mbostock-d3-0a6ad07/examples/cartogram/dorling.js
  77. +0 −109 mbostock-d3-0a6ad07/examples/chord/chord-flare.html
  78. +0 −9 mbostock-d3-0a6ad07/examples/chord/chord.css
  79. +0 −14 mbostock-d3-0a6ad07/examples/chord/chord.html
  80. +0 −98 mbostock-d3-0a6ad07/examples/chord/chord.js
  81. +0 −51 mbostock-d3-0a6ad07/examples/choropleth/choropleth-area.html
  82. +0 −46 mbostock-d3-0a6ad07/examples/choropleth/choropleth-bounds.html
  83. +0 −16 mbostock-d3-0a6ad07/examples/choropleth/choropleth.css
  84. +0 −15 mbostock-d3-0a6ad07/examples/choropleth/choropleth.html
  85. +0 −38 mbostock-d3-0a6ad07/examples/choropleth/choropleth.js
  86. +0 −1 mbostock-d3-0a6ad07/examples/choropleth/unemployment.json
  87. +0 −23 mbostock-d3-0a6ad07/examples/clock/clock.css
  88. +0 −17 mbostock-d3-0a6ad07/examples/clock/clock.html
  89. +0 −87 mbostock-d3-0a6ad07/examples/clock/clock.js
  90. +0 −14 mbostock-d3-0a6ad07/examples/cluster/cluster-radial.html
  91. +0 −39 mbostock-d3-0a6ad07/examples/cluster/cluster-radial.js
  92. +0 −15 mbostock-d3-0a6ad07/examples/cluster/cluster.css
  93. +0 −14 mbostock-d3-0a6ad07/examples/cluster/cluster.html
  94. +0 −39 mbostock-d3-0a6ad07/examples/cluster/cluster.js
  95. +0 −108 mbostock-d3-0a6ad07/examples/contour/contour.html
  96. +0 −109 mbostock-d3-0a6ad07/examples/crimea/crimea-stacked-area.html
  97. +0 −98 mbostock-d3-0a6ad07/examples/crimea/crimea-stacked-bar.html
  98. +0 −24 mbostock-d3-0a6ad07/examples/crimea/crimea.csv
  99. +0 −83 mbostock-d3-0a6ad07/examples/custom/custom.html
  100. +0 −13 mbostock-d3-0a6ad07/examples/data/README.md
  101. +0 −8 mbostock-d3-0a6ad07/examples/data/faithful.json
  102. +0 −222 mbostock-d3-0a6ad07/examples/data/flare-imports.json
  103. +0 −380 mbostock-d3-0a6ad07/examples/data/flare.json
  104. +0 −101 mbostock-d3-0a6ad07/examples/data/morley.csv
  105. +0 −2 mbostock-d3-0a6ad07/examples/data/sample.csv
  106. +0 −5 mbostock-d3-0a6ad07/examples/data/sample.html
  107. +0 −1 mbostock-d3-0a6ad07/examples/data/sample.json
  108. +0 −1 mbostock-d3-0a6ad07/examples/data/sample.txt
  109. +0 −4 mbostock-d3-0a6ad07/examples/data/sample.xml
  110. +0 −807 mbostock-d3-0a6ad07/examples/data/stocks.csv
Sorry, we could not display the entire diff because too many files (628) changed.
View
1 #mpg#
@@ -1 +0,0 @@
-{'names': ['pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg'], 'children': [{'names': ['solipsist', 'drx', 'kevincjemison', 'balsam', 'mindstab', 'VladRussian', 'jcr', 'rquantz', 'lrobb', 'vyrotek', 'pg', 'bermanoid', 'mpakes', 'pierrefar', 'sungam', 'munin', 'amirnathoo', 'boyter', 'prawn', 'channelmeter', 'arvinjoar', 'littlegiantcap', 'lien', 'larrys', 'Sukotto', 'grizzlylazer', 'forinti', 'abiekatz', 'abstractbill', 'joshfraser', 'Fixnum', 'impendia', 'mooneater', 'DanielBMarkham', 'pg', 'pg', 'HSO', 'fbuilesv', 'saygt', 'abbasmehdi', 'ceejayoz', 'sskates', 'Holmes', 'flipside', 'ajtaylor', 'Fliko', 'cperciva', 'ColinWright', 'gms', 'ccollins', 'forgetcolor', 'ths', 'tptacek', 'dustinupdyke', 'recoiledsnake', 'indexzero', 'ramanujan', 'brudgers', 'Shenglong', 'Sandman', 'badclient', 'rgrieselhuber', 'wj', 'jmathai', 'hristov', 'halostatue', 'nodesocket', 'cperciva', 'staunch', 'acabal', 'negrera', 'amirmc', 'veyron', 'tokenadult', 'diego', 'veyron', 'nextparadigms', 'FredBrach', 'diego', 'anactofgod', 'AndyNemmity', 'lsb', 'spxdcz', 'lsb', 'jbail', 'RuchitGarg', 'kruipen', 'portman', 'lallysingh', 'yequalsx', 'zck', 'rickmb', 'rdl', 'tptacek', 'aspir', 'alabut', 'ghshephard', 'keeptrying', 'cletus', 'pg', 'MostAwesomeDude', 'JoelSutherland', 'jonjenk', 'tptacek', 'codyrobbins', 'unalone', 'malandrew', 'thiefmaster', 'pg', 'Eliezer', 'blauwbilgorgel', 'rdl', 'egiva', 'portman', 'oldstrangers', 'tptacek', 'sixtofour', 'amirmc', 'startupfounder', 'konaaceo', 'orijing', 'benatkin', 'foxit', 'ivankirigin', 'tansey', 'jwr', 'chugger', 'ColinWright', 'pg', 'gasull', 'akkartik', 'fredwilson', 'nadam', 'tokenadult', 'zach', 'kul', 'amirmc', 'tgriesser', 'tc', 'ntoshev', 'staunch', 'lukeholder', 'tptacek', 'whenisayUH', 'pg', 'replicatorblog', 'noamsml', 'nextparadigms', 'kls', 'abbasmehdi', 'nostromo', 'teej', 'pg', 'cletus', 'auston', 'tallanvor', 'fredwilson', 'jdunck', 'jsdalton', 'nicholasjbs', 'marcomonteiro', 'kaiuhl', 'staunch', 'spenrose', 'joshfraser', 'Fixnum', 'impendia', 'mooneater', 'DanielBMarkham', 'pg', 'pg', 'betterlabs', 'Shenglong', 'Skeletor', 'pg', 'nirvana', 'Natsu', 'biot', 'bkmartin', 'mhartl', 'brc', 'Joakal', 'tptacek', 'ryanwaggoner', 'donall', 'maukdaddy', 'nicholasjbs', 'klbarry', 'chromedude', 'fourspace', 'davelnewton', 'mikeash', 'lordlicorice', 'htsh', 'ryanwaggoner', 'jpdoctor', 'blhack', 'burgerbrain', 'eps', 'fredwilson', 'mapgrep', 'OstiaAntica', 'eru', 'dforeman', 'Impossible', 'ccollins', 'dbingham', 'pitdesi', 'pedalpete', 'felipemnoa', 'benhoyt', 'amirmc'], 'children': [{'names': ['pg', 'pg', 'pg', 'pg', 'pg', 'tlb', 'peterarmstrong', 'brlewis', 'jfoster', 'adrianwaj', 'gwern', 'pg', 'pg', 'sskates', 'pg', 'jackpirate', 'genieyclo', 'pg', 'vorg', 'pg', 'wisty', 'tptacek', 'eggbrain', 'pg', 'andres', 'pg', 'crag', 'brudgers', 'pg', 'chromedude', 'pg', 'pg', 'pg', 'pg', 'pg', 'tptacek', 'cleverjake', 'defen', 'foxit', 'pg', 'pg', 'redthrowaway', 'pg', 'Jgrubb', 'davewiner', 'pg', 'jfarmer', 'GFischer', 'pg', 'brlewis', 'pg', 'justinchen', 'pg', 'aneth', 'bartonfink', 'pg', 'pg', 'SoftwareMaven', 'dxbydt', 'marksbren', 'pg', 'vidarh', 'jbooth', 'nl', 'stonemetal', 'jpdoctor', 'pg', 'shasta', 'pg', 'nl', 'pg', 'earl', 'pg', 'darklajid', 'smokeyj', 'moe', 'Hitchhiker', 'gasull', 'redthrowaway', 'Hitchhiker', 'jprobert', 'pg', 'pg', 'pg', 'benologist', 'SamReidHughes', 'genieyclo', 'pg', 'vorg', 'pg', 'rohern', 'pg', 'pg', 'pg', 'pg', 'glimcat', 'GFischer', 'pg', 'keeptrying', 'kristiandupont', 'bendoernberg', 'nbashaw', 'fourspace', 'avree', 'jerfelix', 'DanLivesHere', 'pg', 'kelnos', 'Natsu', 'pg', 'pg', 'pg', 'ridruejo', 'pg', 'pg', 'pg', 'mapgrep'], 'children': [{'names': ['mindstab', 'drx', 'solipsist', 'jcr', 'lrobb', 'vyrotek', 'officemonkey', 'bl', 'thaumaturgy', 'prawn', 'cambwiese', 'siglesias', 'lwhi', 'Rayzar', 'srdev', 'cperciva', 'fredwilson', 'tptacek', 'dredmorbius', 'iamelgringo', 'ditojim', 'jrosenblatt', 'pg', 'tikhonj', 'VMG', 'foxit', 'chargrilled', 'lsb', 'jbail', 'pron', 'rickmb', 'tptacek', 'TeMPOraL', 'kbutler', 'tptacek', 'unalone', 'zbruhnke', 'noblethrasher', 'gwern', 'bermanoid', 'konaaceo', 'akkartik', 'fredwilson', 'illumen', 'rudyfink', 'rhizome', 'pbhjpbhj', 'fredwilson', 'Joakal', 'bjoernlasseh', 'joelprocrast', 'jpr', 'siglesias', 'lwhi', 'csallen', 'tptacek', 'bkmartin', 'jaekwon', 'nicholasjbs', 'bigohms', 'chromedude', 'tibbon', 'mikehoward', 'htsh', 'ryanwaggoner', 'glimcat', 'vizzah', 'thrill', 'ridruejo', 'abiekatz', 'quadhome'], 'children': [{'names': ['pg', 'harj', 'huxley', 'pg', 'abbasmehdi', 'pg', 'philwelch', 'vorg', 'pg', 'gruseom', 'tptacek', 'crag', 'pg', 'carbocation', 'aswanson', 'DanHulton', 'pg', 'huhtenberg', 'angrycoder', 'pg', 'jrockway', 'tptacek', 'pg', 'trewq', 'bartonfink', 'firebones', 'jbooth', 'stonemetal', 'dagw', 'sukuriant', 'pg', 'pg', 'philwelch', 'vorg', 'abbasmehdi', 'pg', 'pg', 'pg', 'chc', 'pg', 'pg', 'pg', 'pg'], 'children': [{'names': ['mindstab', 'count', 'officemonkey', 'thaumaturgy', 'cambwiese', 'impendia', 'Rayzar', 'gujk', 'credo', 'gaustin', 'chargrilled', 'esrauch', 'jbail', 'pron', 'jrockway', 'rooshdi', 'WalterBright', 'amirmc', 'impendia', 'csallen', 'tptacek', 'llambda', 'htsh'], 'children': [{'names': ['phaus', 'adbge', 'moldbug', 'grandinj', 'pg', 'eugenejen', 'slaven', 'jrockway', 'DanielRibeiro', 'abbasmehdi', 'billpatrianakos'], 'children': [{'names': ['astine', 'MatthewPhillips', 'indexzero', 'thenextcorner', 'rooshdi', 'csallen', 'chc'], 'children': [{'names': ['thristian', 'phaus', 'pg', 'DanielRibeiro'], 'children': [{'names': ['indexzero', 'yuhong'], 'children': [{'names': ['pg'], 'children': None}, {'names': ['lotharbot'], 'children': None}]}]}, {'names': ['JangoSteve'], 'children': None}, {'names': ['lambda'], 'children': None}, {'names': ['gcr'], 'children': [{'names': ['alttag'], 'children': None}]}, {'names': ['ricardobeat'], 'children': None}, {'names': ['dennisgorelik'], 'children': None}]}, {'names': ['rmc'], 'children': None}]}, {'names': ['projectileboy', 'RobertKohr', 'gruseom', 'temphn', 'dextorious'], 'children': [{'names': ['dodedo', 'thaumaturgy'], 'children': None}]}]}, {'names': ['arethuza', 'impendia', 'iamelgringo', 'balsam', 'pilsetnieks', 'vyrotek', 'SoftwareMaven', 'chipsy', 'wtallis'], 'children': [{'names': ['nl', 'jaekwon', 'htsh'], 'children': [{'names': ['siglesias', 'cheez'], 'children': [{'names': ['skore'], 'children': None}]}]}]}, {'names': ['IsaacSchlueter', 'eaurouge', 'namank', 'bjoernlasseh', 'jaekwon'], 'children': [{'names': ['carbocation', 'kfalter'], 'children': [{'names': ['namank'], 'children': None}]}]}, {'names': ['dodedo'], 'children': None}, {'names': ['gcb'], 'children': None}, {'names': ['gcb'], 'children': None}]}, {'names': ['enneff', 'yesbabyyes', 'tptacek', 'Goladus', 'proexploit', 'mickdarling', 'rhizome', 'unalone', 'konaaceo', 'bfe', 'Goladus', 'proexploit', 'ebaysucks', 'icey', 'htsh', 'YuriNiyazov'], 'children': [{'names': ['siglesias', 'mindstab', 'kbutler', 'dirtyaura', 'siglesias', 'ljlolel'], 'children': [{'names': ['jodrellblank', 'rhizome', 'maxmarmer', 'jodrellblank', 'YuriNiyazov'], 'children': [{'names': ['siglesias', 'siglesias', 'ljlolel'], 'children': [{'names': ['Goladus', 'Goladus'], 'children': [{'names': ['siglesias', 'siglesias'], 'children': [{'names': ['jodrellblank', 'jodrellblank'], 'children': [{'names': ['siglesias', 'siglesias'], 'children': [{'names': ['jodrellblank', 'jodrellblank'], 'children': None}, {'names': ['Goladus', 'Goladus'], 'children': None}]}]}]}]}]}]}, {'names': ['Volpe', 'Volpe'], 'children': [{'names': ['Goladus', 'Goladus'], 'children': None}]}]}, {'names': ['ryanwaggoner'], 'children': [{'names': ['pg'], 'children': None}, {'names': ['YuriNiyazov'], 'children': None}]}]}, {'names': ['sraut', 'ithought', 'juiceandjuice', 'dextorious'], 'children': [{'names': ['Maxious', 'puredemo'], 'children': None}, {'names': ['htsh'], 'children': [{'names': ['dextorious'], 'children': None}]}]}, {'names': ['jasonwatkinspdx'], 'children': None}, {'names': ['imgabe'], 'children': [{'names': ['mindstab'], 'children': [{'names': ['imgabe'], 'children': None}]}]}]}, {'names': ['antr', 'mbesto', 'zem', 'moldbug', 'abbasmehdi', 'derrida', 'indexzero', 'frasertimo', 'breck', 'rbanffy', 'DanBC', 'sanjiallblue', 'shutej', 'hristiank', 'myoder', 'thiefmaster', 'nhaehnle', 'tptacek', 'pbiggar', 'JoeAltmaier', 'derrida', 'nowarninglabel', 'wnight', 'jamesbritt', 'gizmo', 'swalsh'], 'children': [{'names': ['samstave', 'omouse', 'edanm', 'pg', 'swombat', 'foxit', 'yummyfajitas', 'bhousel', 'redthrowaway', 'brianl', 'nirvana', 'technomancy'], 'children': [{'names': ['GHFigs', 'zem', 'away', 'Ives', 'nhaehnle', 'nowarninglabel', 'wnight'], 'children': [{'names': ['samstave', 'pg', 'veyron', 'palish'], 'children': [{'names': ['GHFigs', 'PLejeck', 'chc', 'nowarninglabel'], 'children': [{'names': ['vannevar', 'pg', 'samstave'], 'children': None}]}, {'names': ['away'], 'children': None}]}, {'names': ['RussRomStanBety', 'puredemo'], 'children': [{'names': ['staunch', 'nowarninglabel'], 'children': [{'names': ['PLejeck'], 'children': None}]}]}]}, {'names': ['nandemo', 'breck'], 'children': None}]}, {'names': ['stephenson', 'beatle', 'OstiaAntica'], 'children': [{'names': ['antr', 'nhaehnle'], 'children': [{'names': ['stephenson'], 'children': [{'names': ['dataangel'], 'children': None}, {'names': ['danssig'], 'children': None}]}]}]}]}, {'names': ['sporkologist', 'impendia', 'TheIronYuppie', 'EGreg', 'ChrisNorstrom', 'robotresearcher', 'HSO', 'Someone', 'impendia', 'oldstrangers', 'zackattack', 'AznHisoka'], 'children': [{'names': ['eCa', 'SomeOtherGuy', 'GHFigs'], 'children': [{'names': ['oldstrangers', 'sporkologist'], 'children': None}]}, {'names': ['rohern'], 'children': [{'names': ['oldstrangers'], 'children': [{'names': ['nirvana'], 'children': [{'names': ['oldstrangers'], 'children': None}]}]}]}]}, {'names': ['forensic', 'middayc', 'janj', 'sidi'], 'children': [{'names': ['wanorris'], 'children': [{'names': ['OstiaAntica'], 'children': None}, {'names': ['forensic'], 'children': [{'names': ['yummyfajitas'], 'children': [{'names': ['forensic'], 'children': [{'names': ['yummyfajitas'], 'children': [{'names': ['Aylw'], 'children': [{'names': ['yummyfajitas'], 'children': None}]}]}]}]}, {'names': ['sgoranson'], 'children': [{'names': ['cwp'], 'children': None}, {'names': ['notahacker'], 'children': None}, {'names': ['arethuza'], 'children': None}]}, {'names': ['jgesture'], 'children': None}]}, {'names': ['msutherl'], 'children': [{'names': ['dpatru'], 'children': [{'names': ['Klinky'], 'children': None}]}]}, {'names': ['jberryman'], 'children': [{'names': ['jberryman'], 'children': [{'names': ['pyre'], 'children': None}, {'names': ['brycecolquitt'], 'children': None}]}, {'names': ['Roboprog'], 'children': None}]}]}, {'names': ['kevinpet'], 'children': [{'names': ['forensic'], 'children': [{'names': ['jgesture'], 'children': None}, {'names': ['OstiaAntica'], 'children': None}]}]}]}, {'names': ['rdl', 'vannevar', 'raldi'], 'children': [{'names': ['rdl'], 'children': None}, {'names': ['steventruong'], 'children': None}]}, {'names': ['steventruong', 'richcollins', 'nirvana'], 'children': [{'names': ['andrewfong'], 'children': None}]}, {'names': ['jimmyjim', 'specialist', 'deea'], 'children': [{'names': ['intenex'], 'children': None}]}, {'names': ['ascendant', 'kul', 'marcanthonyrosa'], 'children': None}, {'names': ['jasonallen', 'robalex'], 'children': [{'names': ['csallen'], 'children': None}, {'names': ['puredemo'], 'children': None}]}, {'names': ['projectileboy', 'pajop'], 'children': None}, {'names': ['nirvana', 'Yipster'], 'children': [{'names': ['temphn'], 'children': None}]}, {'names': ['davidjrodriguez'], 'children': None}, {'names': ['MBlume'], 'children': None}]}, {'names': ['nsmartt', 'greyfade', 'revorad', 'runningdogx', 'colonelxc', 'alanning', 'rbarooah', 'harryh', 'gtani', 'tptacek', 'Cushman', 'InclinedPlane', 'daleharvey', 'chc', 'ctwk', 'zbruhnke', 'bignoggins', 'dpritchett', 'YuriNiyazov', 'wanorris', 'myoder', 'blacksmythe', 'baddox', 'ellyagg', 'cjy', 'AndyNemmity', 'konaaceo', 'watmough', 'ajross', 'studentnnrob', 'byrneseyeview', 'daveungerer', 'dantheman', 'puredemo', 'ColinHayhurst', 'sadlyNess', 'rbarooah', 'earbitscom', 'kongqiu', 'jbooth', 'herbacidal'], 'children': [{'names': ['pg', 'ricardobeat', 'mindstab', 'quanticle', 'tlammens', 'jeffool', 'DavidChouinard', 'tptacek', 'joshes', 'thiefmaster', 'pbhjpbhj', 'jimbokun', 'frossie', 'whenisayUH', 'pg', 'mixmax', 'pg', 'pg'], 'children': [{'names': ['zohebv', 'spamizbad', 'ctwk', 'jasonkolb', 'pg', 'zck', 'rayiner', 'anamax', 'byrneseyeview', 'waqf', 'zohebv', 'vl'], 'children': [{'names': ['sokoloff', 'mcartyem', 'sokoloff', 'tptacek'], 'children': [{'names': ['zohebv', 'ctwk', 'zohebv', 'chunkybacon'], 'children': [{'names': ['Confusion', 'Confusion'], 'children': [{'names': ['wisty', 'wisty'], 'children': None}, {'names': ['zohebv', 'zohebv'], 'children': None}, {'names': ['zohebv', 'zohebv'], 'children': None}]}, {'names': ['fauigerzigerk', 'fauigerzigerk'], 'children': None}]}, {'names': ['Ingaz', 'Ingaz'], 'children': None}]}, {'names': ['robryan', 'robryan', 'robg'], 'children': [{'names': ['wnight', 'wnight'], 'children': [{'names': ['zohebv', 'zohebv'], 'children': [{'names': ['wnight', 'wnight'], 'children': None}]}, {'names': ['roblev', 'roblev'], 'children': [{'names': ['sharjeel', 'sharjeel'], 'children': None}, {'names': ['wnight', 'wnight'], 'children': None}]}]}]}, {'names': ['vl'], 'children': None}, {'names': ['nivertech'], 'children': [{'names': ['nivertech'], 'children': None}]}]}, {'names': ['ryanwaggoner', 'kragen', 'rbarooah', 'dagw', 'ericd', 'rbarooah', 'YuriNiyazov'], 'children': [{'names': ['whenisayUH', 'lazerwalker', 'tptacek'], 'children': [{'names': ['ericd'], 'children': None}]}]}, {'names': ['realitygrill', 'bignoggins', 'baddox', 'blacksmythe', 'shareme'], 'children': [{'names': ['treeform', 'dannyr'], 'children': [{'names': ['smilliken'], 'children': [{'names': ['reissbaker'], 'children': [{'names': ['ido'], 'children': [{'names': ['treeform'], 'children': None}]}]}]}]}]}, {'names': ['Cushman', 'sukuriant'], 'children': [{'names': ['realitygrill'], 'children': None}]}, {'names': ['barumrho', 'HeyLaughingBoy'], 'children': None}, {'names': ['marknutter'], 'children': [{'names': ['furyofantares'], 'children': [{'names': ['marknutter'], 'children': None}]}]}, {'names': ['jng'], 'children': None}]}, {'names': ['jamesgatz', 'statictype', 'jbail', 'MostAwesomeDude', 'ippisl', 'ahlatimer', 'pbhjpbhj'], 'children': [{'names': ['ryanwaggoner', 'jamesgatz', 'YuriNiyazov', 'gensym'], 'children': [{'names': ['MostAwesomeDude', 'andrewflnr'], 'children': None}]}, {'names': ['glhaynes'], 'children': None}, {'names': ['wazoox'], 'children': [{'names': ['robryan'], 'children': None}]}, {'names': ['klochner'], 'children': None}]}, {'names': ['EvanKelly', 'steins'], 'children': None}]}, {'names': ['shmerl', 'zapnap', 'Goladus', 'FreakLegion', 'nickzoic', 'FaceKicker', 'physicslover', 'wvenable', 'nicholasjbs', 'damoncali', 'chc', 'lionhearted', 'nicholasjbs', 'pbreit', 'fleitz', 'pseudonym', 'Goladus', 'klochner', 'Hitchhiker'], 'children': [{'names': ['solipsist', 'wnight', 'jarek', 'ypcx', 'thiefmaster', 'jfager', 'leot', 'fleitz', 'wnight'], 'children': [{'names': ['Roboprog', 'TeMPOraL', 'wvenable', 'phaus', 'yummyfajitas'], 'children': [{'names': ['ericd', 'yummyfajitas'], 'children': [{'names': ['leot'], 'children': None}]}]}, {'names': ['wtallis'], 'children': None}, {'names': ['praptak'], 'children': None}]}, {'names': ['dchest', 'viraptor', 'watmough', 'vacri'], 'children': [{'names': ['blahedo', 'kahirsch'], 'children': [{'names': ['wazoox', 'dchest'], 'children': [{'names': ['watmough'], 'children': None}]}, {'names': ['watmough'], 'children': None}]}, {'names': ['kulkarnic'], 'children': [{'names': ['evandena'], 'children': None}]}, {'names': ['jeltz'], 'children': [{'names': ['djeikyb'], 'children': [{'names': ['jeltz'], 'children': None}]}, {'names': ['nikropht'], 'children': None}]}, {'names': ['Tichy'], 'children': [{'names': ['dchest'], 'children': [{'names': ['jackowayed'], 'children': [{'names': ['dchest'], 'children': None}]}]}]}]}, {'names': ['FreakLegion'], 'children': None}, {'names': ['jaylevitt'], 'children': [{'names': ['pg'], 'children': [{'names': ['jaylevitt'], 'children': None}]}, {'names': ['nkurz'], 'children': None}]}, {'names': ['jQueryIsAwesome'], 'children': None}]}, {'names': ['mikeknoop', 'pwim', 'bootload', 'ColinHayhurst', 'nilsbunger', 'nantes', 'twakefield', 'anamax', 'Someone', 'rdl', 'wvenable', 'pwim', 'thomasgerbe', 'vaksel'], 'children': [{'names': ['GHFigs', 'pg', 'wallflower', 'forensic', 'pseudonym', 'pg', 'pg'], 'children': [{'names': ['OstiaAntica', 'zackattack', 'FireBeyond', 'zackattack', 'rdl'], 'children': [{'names': ['chunkybacon', 'forensic'], 'children': [{'names': ['mathattack'], 'children': None}]}]}, {'names': ['anamax'], 'children': None}]}, {'names': ['staunch', 'rdouble'], 'children': None}, {'names': ['jgw'], 'children': [{'names': ['dorianj'], 'children': None}]}]}, {'names': ['zethraeus', 'hasenj', 'edwardhotchkiss', 'temphn', 'bbuffone', 'comedian', 'vacri', 'hasenj', 'mathattack'], 'children': [{'names': ['jonnathanson', 'bobwebb', 'msellout', 'redthrowaway', 'Corrado', 'temphn'], 'children': [{'names': ['palish', 'jimbokun', 'MissBridgit'], 'children': None}, {'names': ['rdl'], 'children': [{'names': ['rdl'], 'children': None}]}, {'names': ['mathattack'], 'children': None}]}, {'names': ['dshah', 'mncolinlee', 'lsc', 'abrahamsen'], 'children': [{'names': ['vacri'], 'children': [{'names': ['eddmc'], 'children': None}]}, {'names': ['waqf'], 'children': [{'names': ['pestaa'], 'children': None}]}]}]}, {'names': ['tdfx', 'egiva', 'achompas', 'FluidDjango', 'egiva'], 'children': [{'names': ['thebrokencube'], 'children': None}]}, {'names': ['Shenglong', 'vesrin', 'cma', 'pbhjpbhj', 'vesrin'], 'children': [{'names': ['Unseelie', 'barmstrong'], 'children': [{'names': ['cma'], 'children': None}]}]}, {'names': ['Anechoic', 'schiptsov', 'schiptsov'], 'children': [{'names': ['evandena'], 'children': [{'names': ['wwweston'], 'children': None}]}]}, {'names': ['bobergstrom'], 'children': [{'names': ['libraryatnight'], 'children': [{'names': ['chirayuk'], 'children': [{'names': ['hobbes'], 'children': None}]}]}, {'names': ['treitnauer'], 'children': None}]}]}, {'names': ['malandrew', 'gerggerg', 'whycombine', 'pangrams', 'InclinedPlane', 'absconditus', 'rayval', 'jwallaceparker', 'wheels', 'astine', 'dabent', 'OpenAlgorithm', 'pg', 'jseliger', 'jsomers', 'jseliger', 'jonpaul', 'enra', 'brudgers', 'vailripper', 'dpritchett', 'Hitchhiker', 'abbasmehdi', 'LVB', 'frankdenbow', 'tpatke', 'Hitchhiker', 'johnnybgoode', 'Confusion', 'collint', 'ronnier', 'SureTheyDo', 'kschua', 'kenjackson', 'gizmo', 'redthrowaway', 'lhnz', 'joelhaus', 'Natsu', 'harshreality', 'TomOfTTB', 'fvryan', 'Aloisius', 'brador', 'zeratul', 'cageface', 'dpritchett', 'bradhe', 'staunch', 'tansey', 'Hitchhiker', 'tptacek', 'myoder', 'blacksmythe', 'tryitnow', 'dxbydt', 'yahelc', 'kds', 'jholman', 'cperciva', 'magitam', 'Mithrandir', 'gbog', 'dgregd', 'jpdoctor', 'jules', 'gahahaha', 'donalddesantis', 'jbooth', 'danssig', 'hkarthik', 'bravura', 'csomar', 'rms', 'dougaitken', 'andrewjshults', 'dabent', 'mkramlich', 'feral', 'hammock', 'Hitchhiker', 'rdl', 'jedberg', 'iconfinder', 'moeffju', 'jsomers', 'jseliger', 'Hitchhiker', 'tansey', 'oldstrangers', 'mfjordvald', 'brlewis', 'noodle', 'bhoung', 'jbermudes', 'drieddust', 'foxit', 'spoiledtechie', 'akharris', 'startupcto', 'rglover', 'robmueller', 'Natsu', 'dicroce', 'jcr', 'chunkybacon', 'bootload', 'zbruhnke', 'jrodgers', 'silverlake', 'ktrgardiner', 'Creyels'], 'children': [{'names': ['tptacek', 'tuna', 'pg', 'alexhaefner', 'lotharbot', 'pg', 'brlewis', 'pg', 'tptacek', 'rbanffy', 'tpatke', 'timjahn', 'arvinjoar', 'pg', 'pg', 'pg', 'pg', 'pg', 'chc', 'neworbit', 'pg', 'pg', 'pg', 'benatkin', 'ajross', 'amirmc', 'pg', 'bermanoid', 'efsavage', 'monopede', 'boyter', 'pg', 'pg', 'tokenadult', 'earbitscom', 'pg', 'pg', 'seanwoods', 'JangoSteve', 'pg', 'pg', 'pg', 'pg', 'tptacek', 'pg', 'davidbalbert', 'pg', 'MatthewB', 'pg', 'pg', 'toyg', 'kajecounterhack', 'pg', 'davedx'], 'children': [{'names': ['wheels', 'absconditus', 'joshuahays', 'pg', 'dolphenstein', 'dpritchett', 'Cushman', 'ronnier', 'larrys', 'gizmo', 'nantes', 'TomOfTTB', 'Aloisius', 'robryan', 'marshray', 'DanielBMarkham', 'euroclydon', 'thebigshane', 'philwelch', 'jules', 'jbooth', 'dougaitken', 'tung', 'bjoernlasseh', 'pg', 'jseliger', 'oldstrangers', 'noodle', 'blantonl', 'rglover', 'robmueller', 'Natsu', 'DilipJ'], 'children': [{'names': ['bascule', 'pg', 'mortenjorck', 'tptacek', 'Symmetry', 'SureTheyDo', 'PLejeck', 'Natsu', 'lrobb', 'prostoalex', 'ajross', 'DanielRibeiro', 'bermanoid', 'pg', 'aaronbrethorst', 'pg', 'pg', 'nicholasjbs'], 'children': [{'names': ['divtxt', 'Willwhatley', 'definitions', 'dpritchett', 'larrys', 'TomOfTTB', 'robryan', 'keeperofdakeys', 'Willwhatley', 'Isofarro'], 'children': [{'names': ['bascule', 'pg', 'gujk', 'tptacek', 'dcosson', 'pg'], 'children': [{'names': ['pilif', 'drusenko'], 'children': [{'names': ['bascule', 'codenerdz'], 'children': [{'names': ['drusenko', 'bascule'], 'children': None}]}, {'names': ['SimHacker'], 'children': None}]}]}, {'names': ['marshray', 'Natsu'], 'children': [{'names': ['pufuwozu'], 'children': None}]}, {'names': ['rdl'], 'children': None}, {'names': ['grout'], 'children': None}]}, {'names': ['DanielRibeiro'], 'children': [{'names': ['palish'], 'children': [{'names': ['DanielRibeiro'], 'children': [{'names': ['jvdongen'], 'children': None}]}]}]}, {'names': ['llambda'], 'children': None}]}, {'names': ['SureTheyDo', 'gbog', 'ithought', 'smanek', 'brador', 'phillmv', 'Unseelie', 'gbog', 'wavephorm'], 'children': [{'names': ['iwwr', 'robryan', 'larrys', 'pg'], 'children': [{'names': ['DuncanIdaho', 'phillmv'], 'children': None}, {'names': ['lancelee', 'khafra'], 'children': None}]}, {'names': ['jakeweineberg', 'gbog'], 'children': None}]}, {'names': ['abbasmehdi', 'minwcnt', 'khafra', 'vl'], 'children': [{'names': ['larrys'], 'children': None}]}, {'names': ['CHsurfer', 'ekianjo'], 'children': None}]}, {'names': ['slyall', 'rooshdi', 'drusenko', 'bubbleRefuge', 'fady', 'nnash', 'kmfrk', 'tansey', 'kamaal', 'wglb', 'minikomi', 'adrianscott', 'ForrestN', 'peterjs'], 'children': [{'names': ['SkyMarshal', 'rbanffy', 'moe', 'mixmax'], 'children': [{'names': ['tansey'], 'children': [{'names': ['pbhjpbhj'], 'children': [{'names': ['tansey'], 'children': None}]}]}, {'names': ['DanBC'], 'children': None}, {'names': ['riffraff'], 'children': [{'names': ['gwillen'], 'children': None}]}]}, {'names': ['gujk'], 'children': [{'names': ['rooshdi'], 'children': None}]}]}, {'names': ['jQueryIsAwesome', 'peterb', 'kenjackson', 'dlss', 'gbog', 'jasonlotito', 'kansando'], 'children': [{'names': ['gyardley', 'tansey', 'JangoSteve'], 'children': [{'names': ['Hitchhiker', 'gujk', 'saurik'], 'children': [{'names': ['tansey'], 'children': None}]}, {'names': ['pbhjpbhj', 'grandalf'], 'children': [{'names': ['akavi'], 'children': [{'names': ['pbhjpbhj'], 'children': None}]}]}, {'names': ['dlss'], 'children': None}]}, {'names': ['dextorious'], 'children': [{'names': ['dextorious'], 'children': None}]}]}, {'names': ['redthrowaway'], 'children': [{'names': ['ars'], 'children': [{'names': ['redthrowaway'], 'children': [{'names': ['ars'], 'children': [{'names': ['redthrowaway'], 'children': None}]}]}]}, {'names': ['mirkules'], 'children': [{'names': ['gruseom'], 'children': None}]}]}, {'names': ['staunch'], 'children': [{'names': ['Udo'], 'children': None}]}, {'names': ['grandalf'], 'children': None}, {'names': ['morrow'], 'children': [{'names': ['cpeterso'], 'children': None}]}, {'names': ['biot'], 'children': None}, {'names': ['Hitchhiker'], 'children': [{'names': ['tansey'], 'children': [{'names': ['adbge'], 'children': [{'names': ['cpeterso'], 'children': None}]}, {'names': ['Hitchhiker'], 'children': [{'names': ['anthonyb'], 'children': None}]}, {'names': ['knowtheory'], 'children': None}, {'names': ['pbhjpbhj'], 'children': None}]}]}, {'names': ['kevinalexbrown'], 'children': [{'names': ['alttag'], 'children': None}]}, {'names': ['davidw'], 'children': None}, {'names': ['PaulHoule'], 'children': [{'names': ['Udo'], 'children': None}]}, {'names': ['dhimes'], 'children': None}, {'names': ['SkyMarshal'], 'children': None}, {'names': ['ary'], 'children': None}, {'names': ['recoiledsnake'], 'children': None}, {'names': ['russell'], 'children': None}, {'names': ['Havoc'], 'children': None}, {'names': ['llambda'], 'children': None}, {'names': ['csl'], 'children': None}]}, {'names': ['adolfosousa', 'tlb', 'wgx', 'sskates', 'Shengster', 'malbs', 'MrMan', 'Timothee', 'IdeaVentura', 'andrewljohnson', 'natep', 'paul', 'robryan', 'pasbesoin', 'bfung', 'gbog', 'achompas', 'jacoblyles', 'llambda', 'rohern', 'InclinedPlane'], 'children': [{'names': ['absconditus', 'malandrew', 'metaprinter', 'ootachi', 'TomOfTTB', 'benatkin', 'cpeterso', 'ramanujan', 'mynegation', 'barrkel', 'feral'], 'children': [{'names': ['petercooper', 'tlb', 'natep', 'gbog', 'jpulgarin'], 'children': [{'names': ['patrickk', 'davidw'], 'children': [{'names': ['gbog'], 'children': [{'names': ['tuhin'], 'children': [{'names': ['gbog'], 'children': None}]}]}]}]}, {'names': ['officemonkey', 'phil', 'mustpax'], 'children': [{'names': ['TomOfTTB', 'metaprinter'], 'children': [{'names': ['DanBC'], 'children': None}, {'names': ['joelrunyon'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['Natsu'], 'children': None}]}]}, {'names': ['olozano'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['keen'], 'children': [{'names': ['stickfigure'], 'children': None}]}]}]}, {'names': ['ramblerman'], 'children': None}]}]}, {'names': ['artursapek', 'Mamady'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['artursapek'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['artursapek'], 'children': None}]}]}]}]}, {'names': ['kenjackson', 'joelrunyon'], 'children': [{'names': ['olozano', 'metaprinter'], 'children': [{'names': ['felipebueno'], 'children': None}]}, {'names': ['TomOfTTB'], 'children': [{'names': ['joelrunyon'], 'children': None}]}]}, {'names': ['olozano'], 'children': None}]}, {'names': ['orenmazor', 'mwsherman', 'chc'], 'children': None}, {'names': ['dredmorbius'], 'children': [{'names': ['gbog'], 'children': [{'names': ['mvts'], 'children': None}, {'names': ['dredmorbius'], 'children': None}]}]}, {'names': ['koenigdavidmj'], 'children': [{'names': ['sjwright'], 'children': None}, {'names': ['gbog'], 'children': [{'names': ['koenigdavidmj'], 'children': None}]}]}, {'names': ['matthewlehner'], 'children': None}, {'names': ['chugger'], 'children': [{'names': ['gbog'], 'children': [{'names': ['chugger'], 'children': [{'names': ['gbog'], 'children': [{'names': ['mung'], 'children': [{'names': ['gbog'], 'children': None}]}, {'names': ['chugger'], 'children': None}]}]}]}]}]}, {'names': ['ashishgandhi', 'chugger', 'Cushman', 'polyfractal', 'bermanoid', 'HerraBRE', 'jrockway', 'achompas', 'Bud', 'iaskwhy', 'jjcm', 'soham'], 'children': [{'names': ['TomOfTTB', 'seabee', 'Aloisius', 'dxbydt', 'achompas'], 'children': [{'names': ['achompas', 'HerraBRE', 'tripzilch', 'iaskwhy'], 'children': [{'names': ['Unseelie', 'achompas'], 'children': [{'names': ['jules', 'achompas'], 'children': None}, {'names': ['iaskwhy'], 'children': None}]}, {'names': ['achompas'], 'children': None}]}]}, {'names': ['untog'], 'children': [{'names': ['HerraBRE'], 'children': None}]}]}, {'names': ['wahnfrieden', 'kalvin', 'pbreit', 'ken', 'ChristianMarks'], 'children': None}, {'names': ['Natsu', 'robotresearcher', 'pseudonym', 'obtu'], 'children': [{'names': ['nextparadigms', 'vacri'], 'children': [{'names': ['ctwk'], 'children': None}]}, {'names': ['TomOfTTB'], 'children': [{'names': ['Natsu'], 'children': [{'names': ['TomOfTTB'], 'children': None}, {'names': ['JumpCrisscross'], 'children': None}]}, {'names': ['marcamillion'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['timknauf'], 'children': [{'names': ['TomOfTTB'], 'children': None}]}, {'names': ['Natsu'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['Natsu'], 'children': None}]}]}]}]}, {'names': ['zotz'], 'children': None}]}]}, {'names': ['radagaisus', 'mcn', 'kls', 'andrewem'], 'children': None}, {'names': ['meow', 'oconnore'], 'children': [{'names': ['TomOfTTB', 'JangoSteve'], 'children': [{'names': ['equalarrow'], 'children': None}]}]}, {'names': ['temphn', 'jasonwilk'], 'children': [{'names': ['TomOfTTB'], 'children': None}]}, {'names': ['nookiemonster', 'arctangent'], 'children': [{'names': ['TomOfTTB'], 'children': [{'names': ['JumpCrisscross'], 'children': None}]}]}, {'names': ['pbhjpbhj', 'Tichy'], 'children': None}, {'names': ['nl'], 'children': None}, {'names': ['cmars'], 'children': None}]}, {'names': ['pnathan', 'didntdrinkjuice', 'yason', 'jedberg', 'eaurouge', 'YuriNiyazov', 'stbullard', 'hyperbovine', 'Hitchhiker', 'Peroni', 'nassosdim', 'msumpter', 'xarien', 'strmpnk', 'rdl', 'trimbo', 'chipsy', 'badclient', 'ryandvm', 'hedgehog', 'podperson', 'citricsquid', 'ojbyrne', 'oldstrangers', 'algoshift', 'ChuckMcM', 'amored', 'markerdmann', 'paganel', 'staunch', 'antirez', 'esk', 'vidarh', 'msluyter', 'davidwparker', 'jbooth', 'YuriNiyazov', 'shareme', 'gallerytungsten', 'mattmanser', 'dpapathanasiou', 'cabalamat', 'zeratul', 'wicknicks', 'JangoSteve', 'mseebach', 'sbashyal', 'YuriNiyazov', 'DanielRibeiro', 'wavephorm', 'iamelgringo', 'pornel', 'staunch', 'trotsky', 'easp', 'balloot', 'marcamillion', 'absconditus', 'rokhayakebe', 'earbitscom', 'benrpeters', 'akkartik', 'nikcub', 'weebro'], 'children': [{'names': ['theorique', 'pg', 'impendia', 'pg', 'Jerky', 'pg', 'steventruong', 'pg', 'atarian', 'tomhoward', 'johngalt', 'potatolicious', 'mnoire', 'postnihilism', 'jhuni', 'pg', 'achompas', 'raldi', 'pbhjpbhj', 'salem', 'pg', 'tokenadult', 'eliben', 'DeusExMachina', 'PLejeck', 'pg', 'pg', 'pg', 'pg', 'pg', 'pg', 'bigohms', 'eatenbyagrue', 'htsh', 'pg', 'pg'], 'children': [{'names': ['baddox', 'pg', 'trimbo', 'SureTheyDo', 'jfarmer', 'oldstrangers', 'alanfalcon', 'sachinag', 'raldi', 'rdl', 'dkersten', 'samstave', 'staunch', 'ryanwaggoner', 'pg', 'absconditus', 'earbitscom'], 'children': [{'names': ['tptacek', 'jlind', 'kragen', 'philwelch', 'Macsenour', 'achompas', 'matthodan', 'samstave', 'pg', 'htsh', 'RichardBennett'], 'children': [{'names': ['sachinag', 'trimbo', 'pg', 'dkersten', 'bfe'], 'children': [{'names': ['steins', 'gbog', 'samstave'], 'children': [{'names': ['achompas'], 'children': None}]}]}, {'names': ['Estragon'], 'children': None}]}, {'names': ['extension', 'Natsu'], 'children': None}, {'names': ['thebrokencube'], 'children': [{'names': ['alanfalcon'], 'children': None}]}, {'names': ['logn'], 'children': None}, {'names': ['ctwk'], 'children': None}, {'names': ['mkramlich'], 'children': None}, {'names': ['potatolicious'], 'children': None}, {'names': ['Irfaan'], 'children': [{'names': ['cschwarm'], 'children': None}, {'names': ['JumpCrisscross'], 'children': [{'names': ['Irfaan'], 'children': [{'names': ['JumpCrisscross'], 'children': None}]}]}]}]}, {'names': ['strmpnk', 'pnathan', 'DilipJ', 'tlb', 'entangld', 'Kavan'], 'children': [{'names': ['pg', 'pg', 'achompas'], 'children': [{'names': ['illumen', 'Irfaan', 'strmpnk'], 'children': [{'names': ['achompas'], 'children': None}]}]}]}, {'names': ['Irfaan', 'IdeaVentura', 'viraptor', 'wavephorm'], 'children': [{'names': ['vidarh', 'pg'], 'children': [{'names': ['Irfaan', 'Hitchhiker'], 'children': [{'names': ['samstave', 'vidarh'], 'children': [{'names': ['Hitchhiker'], 'children': [{'names': ['samstave'], 'children': None}]}, {'names': ['Hitchhiker'], 'children': [{'names': ['samstave'], 'children': None}]}]}]}, {'names': ['wavephorm'], 'children': [{'names': ['webwright'], 'children': None}]}]}, {'names': ['bfe'], 'children': [{'names': ['wavephorm'], 'children': [{'names': ['Shenglong'], 'children': None}]}]}]}]}, {'names': ['storborg', 'forensic', 'pg', 'btilly', 'shawndrost', 'tptacek', 'forensic', 'coffeemug', 'jey'], 'children': [{'names': ['polshaw', 'bulletsvshumans', 'strmpnk', 'JangoSteve', 'earbitscom'], 'children': [{'names': ['JangoSteve', 'Roboprog'], 'children': None}]}, {'names': ['tptacek', 'vacri'], 'children': [{'names': ['jey'], 'children': [{'names': ['earbitscom'], 'children': [{'names': ['jey'], 'children': [{'names': ['jey'], 'children': None}, {'names': ['earbitscom'], 'children': [{'names': ['jey'], 'children': None}]}]}]}, {'names': ['RichardBennett'], 'children': None}]}]}]}, {'names': ['ohyes', 'hadronzoo', 'Typhon', 'bfe'], 'children': [{'names': ['Roboprog', 'stretchwithme', 'Quiark'], 'children': [{'names': ['anamax'], 'children': [{'names': ['cellularmitosis'], 'children': [{'names': ['iskander'], 'children': None}]}, {'names': ['madh'], 'children': None}]}]}, {'names': ['MetallicCloud'], 'children': None}]}, {'names': ['nkassis', 'ippisl', 'jasontan'], 'children': [{'names': ['SoftwareMaven', 'nvarsj'], 'children': None}]}, {'names': ['gabaix'], 'children': None}, {'names': ['DanBC'], 'children': [{'names': ['whatusername'], 'children': None}]}, {'names': ['marquis'], 'children': [{'names': ['nkassis'], 'children': [{'names': ['underwater'], 'children': [{'names': ['vidarh'], 'children': None}, {'names': ['landhar'], 'children': None}]}]}]}, {'names': ['pearle'], 'children': [{'names': ['natesm'], 'children': [{'names': ['pearle'], 'children': [{'names': ['eru'], 'children': [{'names': ['marshray'], 'children': [{'names': ['eru'], 'children': [{'names': ['marshray'], 'children': None}]}]}, {'names': ['pearle'], 'children': [{'names': ['eru'], 'children': None}]}]}]}]}, {'names': ['InclinedPlane'], 'children': None}]}]}, {'names': ['tibbon', 'projectileboy', 'larrys', 'moldbug', 'shoham', 'DigitalBison', 'mathattack', 'llambda', 'ilaksh', 'mcantelon', 'abiekatz', 'abiekatz', 'zachinglis', 'tzm', 'tlammens', 'pathdependent', 'bitwize', 'sampsonjs', 'benjlang', 'NelsonMinar', 'stevefarnworth', 'jeffool', 'dpapathanasiou', 'gujk', 'olefoo', 'joshcrews', 'shinykitten', 'klbarry', 'callmeed', 'haberman', 'eliben', 'mixmax', 'brlewis', 'Yhippa', 'shoham', 'rmc', 'Hitchhiker', 'lbrandy', 'tomcreighton', 'praptak', 'blantonl', 'deedorgreed', 'fduran', 'prakster', 'pasbesoin', 'adlep', 'Liu', 'joshuamarch'], 'children': [{'names': ['arctangent', 'aik', 'bomatson', 'SamReidHughes', 'wanorris', 'pg', 'krausejj', 'jasongullickson', 'polyfractal', 'pg', 'OstiaAntica', 'ajross', 'wahnfrieden', 'pg', 'pbhjpbhj', 'tptacek', 'rohern', 'pg'], 'children': [{'names': ['storborg', 'randomdata', 'abiekatz', 'brlewis', 'bane', 'arethuza', 'yummyfajitas', 'dantheman', 'joshu', 'blantonl'], 'children': [{'names': ['wanorris', 'namank', 'iand', 'tptacek', 'jayliew'], 'children': [{'names': ['joshu', 'einhverfr'], 'children': [{'names': ['tptacek'], 'children': None}]}]}, {'names': ['setzer'], 'children': None}]}, {'names': ['abiekatz', 'rayiner', 'drumdance', 'joebadmo', 'klbarry', 'gabrielroth', 'sraut'], 'children': [{'names': ['yummyfajitas', 'wanorris', 'pg'], 'children': [{'names': ['vadiml', 'einhverfr'], 'children': None}]}]}, {'names': ['kristofferR', 'tlammens', 'bambax'], 'children': [{'names': ['rahoulb', 'Fliko'], 'children': None}, {'names': ['Someone'], 'children': None}, {'names': ['nostromo'], 'children': [{'names': ['waqf'], 'children': [{'names': ['nostromo'], 'children': None}]}, {'names': ['hrktb'], 'children': [{'names': ['jrockway'], 'children': None}]}]}]}, {'names': ['beatle'], 'children': None}, {'names': ['Peaker'], 'children': None}]}, {'names': ['cooldeal', 'diffeomorph', 'zohebv', 'sliverstorm', 'jonnathanson', 'simonw'], 'children': [{'names': ['spazcat'], 'children': None}]}, {'names': ['jrockway', 'palish', 'fpgeek', 'rdouble'], 'children': [{'names': ['wanorris', 'eurohacker', 'landhar'], 'children': [{'names': ['randomdata'], 'children': None}]}, {'names': ['kabdib'], 'children': [{'names': ['tdfx'], 'children': [{'names': ['kabdib'], 'children': None}]}]}, {'names': ['Permit'], 'children': None}, {'names': ['cynest'], 'children': [{'names': ['palish'], 'children': [{'names': ['palish'], 'children': [{'names': ['Fliko'], 'children': None}, {'names': ['rayiner'], 'children': None}]}]}]}, {'names': ['brackin'], 'children': None}, {'names': ['robryan'], 'children': None}]}, {'names': ['chugger', 'ZeroGravitas'], 'children': [{'names': ['brc'], 'children': [{'names': ['Hitchhiker'], 'children': [{'names': ['ceejayoz'], 'children': [{'names': ['gujk'], 'children': [{'names': ['ceejayoz'], 'children': None}, {'names': ['eitland'], 'children': None}]}]}]}, {'names': ['kamkha'], 'children': None}, {'names': ['chugger'], 'children': [{'names': ['brc'], 'children': None}, {'names': ['danielharan'], 'children': None}, {'names': ['vidarh'], 'children': None}, {'names': ['glassx'], 'children': None}]}, {'names': ['ilamont'], 'children': [{'names': ['ilamont'], 'children': [{'names': ['uxp'], 'children': [{'names': ['bomanbot'], 'children': None}, {'names': ['gujk'], 'children': None}]}]}]}]}, {'names': ['ippisl'], 'children': [{'names': ['joelhooks'], 'children': None}, {'names': ['eupharis'], 'children': [{'names': ['ippisl'], 'children': None}]}]}, {'names': ['srdev'], 'children': [{'names': ['cas'], 'children': [{'names': ['srdev'], 'children': None}]}]}, {'names': ['vidar'], 'children': None}, {'names': ['Tsagadai'], 'children': [{'names': ['gujk'], 'children': None}]}, {'names': ['danssig'], 'children': [{'names': ['ceejayoz'], 'children': None}]}, {'names': ['tomkarlo'], 'children': None}]}]}, {'names': ['timtadh', 'Hexx', 'mcteapot', 'rbranson', 'Flenser', 'amnigos', 'jesusabdullah', 'nkurz', 'littlegiantcap', 'csomar', 'hr', 'erichocean', 'adrianpike', 'mikikian', 'gaelian', 'stouset', 'iloveyouocean', 'jfager', 'wanorris', 'Jabbles', 'Hyena', 'flocial', 'michaeldhopkins', 'TeMPOraL', 'adbge', 'volida', 'startupcto', 'biznickman', 'tmsh', 'MatthewPhillips', 'fizx', 'zby', 'arkitaip', 'RichardBennett', 'gsivil', 'iuguy'], 'children': [{'names': ['tptacek', 'untog', 'angstrom', 'pg', 'swombat', 'fredBuddemeyer', 'hasanove', 'tptacek', 'ahi', 'redthrowaway', 'jacquesm', 'CamperBob'], 'children': [{'names': ['btilly', 'adrianpike', 'jesusabdullah', 'dkarl', 'baddox', 'adbge', 'thomasgerbe', 'rvkennedy'], 'children': [{'names': ['redthrowaway', 'hasanove', 'kongqiu'], 'children': None}, {'names': ['babblefrog'], 'children': [{'names': ['yummyfajitas'], 'children': None}]}]}, {'names': ['HSO', 'robryan', 'nwatson', 'johnfn', 'frankwong'], 'children': [{'names': ['georgemcbay', 'jgesture'], 'children': None}]}, {'names': ['nodemaker', 'TeMPOraL'], 'children': [{'names': ['nodemaker'], 'children': None}]}, {'names': ['powertower'], 'children': None}]}, {'names': ['btilly', 'groggles', 'perokreco', 'viggity', 'MaxGabriel', 'freejack'], 'children': [{'names': ['andylei', 'chime', 'dctoedt', 'watmough'], 'children': [{'names': ['viggity'], 'children': None}, {'names': ['viggity'], 'children': None}]}]}, {'names': ['startupcto', 'gopi', 'biznickman'], 'children': [{'names': ['DavidSJ', 'tptacek'], 'children': [{'names': ['fleitz'], 'children': [{'names': ['cperciva'], 'children': None}]}, {'names': ['startupcto'], 'children': None}]}, {'names': ['ridiculous'], 'children': None}]}]}, {'names': ['DavidSJ', 'zackzackzack', 'ajpiano', 'tlogan', 'FredBrach', 'llambda', 'bootload', 'ImprovedSilence', 'jvandenbroeck', 'RossM', 'arohner', 'nhaehnle', 'SeanLuke', 'brlewis', 'TorKlingberg', 'walter', 'waterlesscloud', 'morsch', 'chunkybacon', 'sajid', 'kongqiu', 'viveksec', 'rwhitman', 'bcjordan', 'mathattack', 'bernieklein'], 'children': [{'names': ['rhizome', 'alessioalex', 'Confusion', 'SoftwareMaven', 'notahacker', 'dkarl', 'pg', 'irrumator', 'nodata', 'solipsist', 'yonasb'], 'children': [{'names': ['kreek', 'billpaetzke', 'cpeterso', 'bryanlarsen'], 'children': None}, {'names': ['kongqiu', 'saurik'], 'children': [{'names': ['irrumator'], 'children': [{'names': ['chrisbennet'], 'children': [{'names': ['pm'], 'children': None}]}]}]}, {'names': ['bryanh'], 'children': [{'names': ['eddmc'], 'children': [{'names': ['graeme'], 'children': None}]}]}, {'names': ['morsch'], 'children': [{'names': ['karlzt'], 'children': None}]}, {'names': ['knuthsprotege'], 'children': None}, {'names': ['alanl'], 'children': None}, {'names': ['gruseom'], 'children': None}, {'names': ['karlzt'], 'children': None}]}, {'names': ['andylei', 'jpwagner', 'Roboprog', 'jacobquick', 'simplyinfinity'], 'children': [{'names': ['SkyMarshal'], 'children': [{'names': ['tptacek'], 'children': None}, {'names': ['andylei'], 'children': [{'names': ['pbreit'], 'children': [{'names': ['andylei'], 'children': [{'names': ['puredemo'], 'children': None}]}]}]}]}]}]}, {'names': ['eli', 'timlindinct', 'tzm', 'EGreg', 'Historiopode', 'thaumaturgy', 'pragmatic', 'trevelyan', 'flipside', 'ronnier', 'wavephorm', 'skeptical', 'thomasgerbe', 'cconroy', 'jakeweineberg', 'yeikow'], 'children': [{'names': ['pg', 'SWtechie', 'trevelyan', 'pg', 'brlewis'], 'children': [{'names': ['mixmax', 'suivix', 'bmelton'], 'children': None}, {'names': ['recoiledsnake'], 'children': None}]}, {'names': ['davidwparker', 'frossie'], 'children': [{'names': ['pbhjpbhj', 'Vivtek'], 'children': None}]}, {'names': ['pbhjpbhj'], 'children': None}]}, {'names': ['runevault', 'cbs', 'mbesto', 'kelnos', 'btilly', 'Steko', 'femto', 'Sukotto', 'intellection', 'johngalt', 'scottallison'], 'children': [{'names': ['hkmurakami', 'cpeterso'], 'children': [{'names': ['runevault'], 'children': None}]}]}, {'names': ['kenjackson', 'away', 'flatline', 'ivankirigin', 'Steko', 'bodegajed', 'pdenya', 'WiseWeasel', 'husky'], 'children': [{'names': ['ramblerman', 'minikomi', 'dogwelder', 'tokenadult', 'castewart'], 'children': [{'names': ['polshaw', 'kenjackson', 'puredemo'], 'children': [{'names': ['WiseWeasel', 'brlewis'], 'children': None}]}, {'names': ['dereg'], 'children': None}]}, {'names': ['brlewis', 'rmc'], 'children': None}, {'names': ['afdssfda'], 'children': [{'names': ['pdenya'], 'children': None}]}]}, {'names': ['gvb', 'tansey', 'gsharm', 'omouse', 'watmough', 'burke', 'lwat', 'sthartle'], 'children': [{'names': ['wallflower', 'jemfinch'], 'children': [{'names': ['pbhjpbhj', 'jarek'], 'children': [{'names': ['jemfinch'], 'children': [{'names': ['vacri'], 'children': None}, {'names': ['pbhjpbhj'], 'children': None}]}]}]}, {'names': ['Goladus'], 'children': None}]}, {'names': ['danielharan', 'recampbell', 'RyanMcGreal', 'auxbuss', 'abbasmehdi', 'csantini'], 'children': [{'names': ['SoftwarePatent', 'startupcomment', 'EdSkrillex'], 'children': None}, {'names': ['dogwelder'], 'children': None}, {'names': ['forensic'], 'children': None}]}, {'names': ['jeffjarvis', 'aschoen', 'jshen', 'michaelochurch', 'davidw'], 'children': [{'names': ['chipsy'], 'children': None}]}, {'names': ['AdamTReineke', 'rbanffy', 'joshklein', 'pbhjpbhj', 'zallarak'], 'children': [{'names': ['tsotha', 'InclinedPlane', 'vacri', 'csallen'], 'children': [{'names': ['ajross', 'InclinedPlane'], 'children': [{'names': ['marshray', 'tsotha'], 'children': [{'names': ['InclinedPlane'], 'children': None}]}, {'names': ['cellularmitosis'], 'children': None}]}, {'names': ['Roboprog', 'AdamTReineke'], 'children': [{'names': ['egiva'], 'children': None}]}]}, {'names': ['sitkack'], 'children': None}]}, {'names': ['rjstatic', 'joebadmo', 'Hyena', 'johnohara', 'radicalbyte'], 'children': None}, {'names': ['pbreit', 'polshaw', 'cHalgan', 'samstave', 'damoncali'], 'children': None}, {'names': ['trunnell', 'zwischenzug', 'davidu', 'jessriedel', 'Sato'], 'children': [{'names': ['jgesture'], 'children': None}, {'names': ['lukesandberg'], 'children': None}]}, {'names': ['byrneseyeview', 'cma', 'philwelch', 'Cushman'], 'children': [{'names': ['pg'], 'children': [{'names': ['chc'], 'children': None}]}, {'names': ['wmf'], 'children': [{'names': ['vacri'], 'children': None}]}]}, {'names': ['dennisgorelik', 'bluedanieru', 'sabat'], 'children': None}, {'names': ['kqueue', 'msellout', 'jonkelly'], 'children': [{'names': ['rkudeshi'], 'children': None}]}, {'names': ['jemfinch', 'eru', 'Iv'], 'children': None}, {'names': ['reinhardt', 'zallarak', 'phuff'], 'children': [{'names': ['SoftwareMaven'], 'children': None}]}, {'names': ['vaksel', 'beefman', 'eande'], 'children': [{'names': ['baddox', 'scarmig'], 'children': [{'names': ['OWaz'], 'children': None}]}, {'names': ['csomar'], 'children': [{'names': ['polshaw'], 'children': [{'names': ['jgesture'], 'children': None}]}, {'names': ['nfriedly'], 'children': None}]}]}, {'names': ['cosgroveb', 'Duff'], 'children': None}, {'names': ['cpeterso', 'pauljonas'], 'children': [{'names': ['tokenadult'], 'children': None}]}, {'names': ['brudgers', 'dmarinoc'], 'children': [{'names': ['rpwilcox'], 'children': None}]}, {'names': ['Unseelie'], 'children': None}, {'names': ['RoboTeddy'], 'children': None}, {'names': ['Vitaly'], 'children': None}, {'names': ['curt'], 'children': None}, {'names': ['troystribling'], 'children': [{'names': ['randomdata'], 'children': None}]}, {'names': ['Detrus'], 'children': None}, {'names': ['cwb'], 'children': None}, {'names': ['systems'], 'children': None}, {'names': ['jtwb'], 'children': None}, {'names': ['threnody'], 'children': None}, {'names': ['BuddhaSource'], 'children': None}, {'names': ['moe'], 'children': None}, {'names': ['xal'], 'children': None}, {'names': ['bulletsvshumans'], 'children': None}, {'names': ['spiantino'], 'children': None}, {'names': ['natmaster'], 'children': [{'names': ['raldi'], 'children': None}]}, {'names': ['clistctrl'], 'children': [{'names': ['randomdata'], 'children': [{'names': ['clistctrl'], 'children': None}]}]}]}
View
25 crossdomain.xml
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
-<cross-domain-policy>
-
-
-<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html -->
-
-<!-- Most restrictive policy: -->
- <site-control permitted-cross-domain-policies="none"/>
-
-
-
-<!-- Least restrictive policy: -->
-<!--
- <site-control permitted-cross-domain-policies="all"/>
- <allow-access-from domain="*" to-ports="*" secure="false"/>
- <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
--->
-<!--
- If you host a crossdomain.xml file with allow-access-from domain="*"
- and don’t understand all of the points described here, you probably
- have a nasty security vulnerability. ~ simon willison
--->
-
-</cross-domain-policy>
View
3 mbostock-d3-0a6ad07/.gitignore
@@ -1,3 +0,0 @@
-_site
-node_modules
-.DS_Store
View
0 mbostock-d3-0a6ad07/.gitmodules
No changes.
View
4 mbostock-d3-0a6ad07/.npmignore
@@ -1,4 +0,0 @@
-examples/
-test/
-lib/
-.DS_Store
View
26 mbostock-d3-0a6ad07/LICENSE
@@ -1,26 +0,0 @@
-Copyright (c) 2010, Michael Bostock
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
-
-* The name Michael Bostock may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL MICHAEL BOSTOCK BE LIABLE FOR ANY DIRECT,
-INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
-BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
-OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
-EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
View
271 mbostock-d3-0a6ad07/Makefile
@@ -1,271 +0,0 @@
-# See the README for installation instructions.
-
-NODE_PATH ?= ./node_modules
-JS_COMPILER = $(NODE_PATH)/uglify-js/bin/uglifyjs
-JS_TESTER = $(NODE_PATH)/vows/bin/vows
-
-JS_FILES = \
- d3.js \
- d3.chart.js \
- d3.layout.js \
- d3.csv.js \
- d3.geo.js \
- d3.geom.js \
- d3.time.js
-
-all: \
- $(JS_FILES) \
- $(JS_FILES:.js=.min.js) \
- package.json
-
-# Modify this rule to build your own custom release.
-# Run `make d3.custom.min.js` to produce the minified version.
-
-d3.custom.js: \
- d3.js \
- d3.layout.js \
- d3.csv.js \
- d3.geo.js \
- d3.geom.js \
- d3.time.js
-
-.INTERMEDIATE d3.js: \
- src/start.js \
- d3.core.js \
- d3.scale.js \
- d3.svg.js \
- d3.behavior.js \
- src/end.js
-
-d3.core.js: \
- src/compat/date.js \
- src/compat/style.js \
- src/core/core.js \
- src/core/array.js \
- src/core/this.js \
- src/core/functor.js \
- src/core/rebind.js \
- src/core/ascending.js \
- src/core/descending.js \
- src/core/mean.js \
- src/core/median.js \
- src/core/min.js \
- src/core/max.js \
- src/core/extent.js \
- src/core/random.js \
- src/core/number.js \
- src/core/sum.js \
- src/core/quantile.js \
- src/core/transpose.js \
- src/core/zip.js \
- src/core/bisect.js \
- src/core/first.js \
- src/core/last.js \
- src/core/nest.js \
- src/core/keys.js \
- src/core/values.js \
- src/core/entries.js \
- src/core/permute.js \
- src/core/merge.js \
- src/core/split.js \
- src/core/collapse.js \
- src/core/range.js \
- src/core/requote.js \
- src/core/round.js \
- src/core/xhr.js \
- src/core/text.js \
- src/core/json.js \
- src/core/html.js \
- src/core/xml.js \
- src/core/ns.js \
- src/core/dispatch.js \
- src/core/format.js \
- src/core/formatPrefix.js \
- src/core/ease.js \
- src/core/event.js \
- src/core/interpolate.js \
- src/core/uninterpolate.js \
- src/core/rgb.js \
- src/core/hsl.js \
- src/core/selection.js \
- src/core/selection-select.js \
- src/core/selection-selectAll.js \
- src/core/selection-attr.js \
- src/core/selection-classed.js \
- src/core/selection-style.js \
- src/core/selection-property.js \
- src/core/selection-text.js \
- src/core/selection-html.js \
- src/core/selection-append.js \
- src/core/selection-insert.js \
- src/core/selection-remove.js \
- src/core/selection-data.js \
- src/core/selection-filter.js \
- src/core/selection-map.js \
- src/core/selection-order.js \
- src/core/selection-sort.js \
- src/core/selection-on.js \
- src/core/selection-each.js \
- src/core/selection-call.js \
- src/core/selection-empty.js \
- src/core/selection-node.js \
- src/core/selection-transition.js \
- src/core/selection-root.js \
- src/core/selection-enter.js \
- src/core/selection-enter-select.js \
- src/core/transition.js \
- src/core/transition-select.js \
- src/core/transition-selectAll.js \
- src/core/transition-attr.js \
- src/core/transition-style.js \
- src/core/transition-text.js \
- src/core/transition-remove.js \
- src/core/transition-delay.js \
- src/core/transition-duration.js \
- src/core/transition-each.js \
- src/core/transition-transition.js \
- src/core/timer.js \
- src/core/transform.js \
- src/core/noop.js
-
-d3.scale.js: \
- src/scale/scale.js \
- src/scale/nice.js \
- src/scale/linear.js \
- src/scale/bilinear.js \
- src/scale/polylinear.js \
- src/scale/log.js \
- src/scale/pow.js \
- src/scale/sqrt.js \
- src/scale/ordinal.js \
- src/scale/category.js \
- src/scale/quantile.js \
- src/scale/quantize.js
-
-d3.svg.js: \
- src/svg/svg.js \
- src/svg/arc.js \
- src/svg/line.js \
- src/svg/line-radial.js \
- src/svg/area.js \
- src/svg/area-radial.js \
- src/svg/chord.js \
- src/svg/diagonal.js \
- src/svg/diagonal-radial.js \
- src/svg/mouse.js \
- src/svg/touches.js \
- src/svg/symbol.js \
- src/svg/axis.js \
- src/svg/brush.js
-
-d3.behavior.js: \
- src/behavior/behavior.js \
- src/behavior/drag.js \
- src/behavior/zoom.js
-
-d3.chart.js: \
- src/start.js \
- src/chart/chart.js \
- src/chart/box.js \
- src/chart/bullet.js \
- src/chart/horizon.js \
- src/chart/qq.js \
- src/end.js
-
-d3.layout.js: \
- src/start.js \
- src/layout/layout.js \
- src/layout/bundle.js \
- src/layout/chord.js \
- src/layout/force.js \
- src/layout/partition.js \
- src/layout/pie.js \
- src/layout/stack.js \
- src/layout/histogram.js \
- src/layout/hierarchy.js \
- src/layout/pack.js \
- src/layout/cluster.js \
- src/layout/tree.js \
- src/layout/treemap.js \
- src/end.js
-
-d3.geo.js: \
- src/start.js \
- src/geo/geo.js \
- src/geo/azimuthal.js \
- src/geo/albers.js \
- src/geo/bonne.js \
- src/geo/equirectangular.js \
- src/geo/mercator.js \
- src/geo/type.js \
- src/geo/path.js \
- src/geo/bounds.js \
- src/geo/circle.js \
- src/geo/greatArc.js \
- src/geo/greatCircle.js \
- src/end.js
-
-d3.csv.js: \
- src/start.js \
- src/csv/csv.js \
- src/csv/parse.js \
- src/csv/format.js \
- src/end.js
-
-d3.time.js: \
- src/start.js \
- src/time/time.js \
- src/time/format.js \
- src/time/format-utc.js \
- src/time/format-iso.js \
- src/time/range.js \
- src/time/second.js \
- src/time/seconds.js \
- src/time/minute.js \
- src/time/minutes.js \
- src/time/hour.js \
- src/time/hours.js \
- src/time/day.js \
- src/time/days.js \
- src/time/week.js \
- src/time/weeks.js \
- src/time/month.js \
- src/time/months.js \
- src/time/year.js \
- src/time/years.js \
- src/time/scale.js \
- src/time/scale-utc.js \
- src/end.js
-
-d3.geom.js: \
- src/start.js \
- src/geom/geom.js \
- src/geom/contour.js \
- src/geom/hull.js \
- src/geom/polygon.js \
- src/geom/voronoi.js \
- src/geom/delaunay.js \
- src/geom/quadtree.js \
- src/end.js
-
-test: all
- @$(JS_TESTER)
-
-%.min.js: %.js Makefile
- @rm -f $@
- $(JS_COMPILER) < $< > $@
-
-d3.%: Makefile
- @rm -f $@
- cat $(filter %.js,$^) > $@
- @chmod a-w $@
-
-install:
- mkdir -p node_modules
- npm install
-
-package.json: d3.js src/package.js
- node src/package.js > $@
-
-clean:
- rm -f d3*.js
View
51 mbostock-d3-0a6ad07/README.md
@@ -1,51 +0,0 @@
-# D3
-
-**D3** is a small, free JavaScript library for manipulating HTML documents
-based on data. D3 can help you quickly visualize your data as HTML or SVG,
-handle interactivity, and incorporate smooth transitions and staged animations
-into your pages. You can use D3 as a visualization framework (like Protovis),
-or you can use it to build dynamic pages (like jQuery).
-
-### Browser Support
-
-D3 should work on any browser, with minimal requirements such as JavaScript
-and the [W3C DOM](http://www.w3.org/DOM/) API. By default D3 requires the
-[Selectors API](http://www.w3.org/TR/selectors-api/) Level 1, but you can
-preload [Sizzle](http://sizzlejs.com/) for compatibility with older browsers.
-Some of the included D3 examples use additional browser features, such as
-[SVG](http://www.w3.org/TR/SVG/) and [CSS3
-Transitions](http://www.w3.org/TR/css3-transitions/). These features are not
-required to use D3, but are useful for visualization! D3 is not a
-compatibility layer. The examples should work on Firefox, Chrome (Chromium),
-Safari (WebKit), Opera and IE9.
-
-Note: Chrome has strict permissions for reading files out of the local file
-system. Some examples use AJAX which works differently via HTTP instead of local
-files. For the best experience, load the D3 examples from your own machine via
-HTTP. Any static file web server will work; for example you can run Python's
-built-in server:
-
- python -m SimpleHTTPServer 8888
-
-Once this is running, go to: <http://localhost:8888/examples/>
-
-### Development Setup
-
-This repository should work out of the box if you just want to create new
-visualizations using D3. On the other hand, if you want to extend D3 with new
-features, fix bugs, or run tests, you'll need to install a few more things.
-
-D3's test framework uses [Vows](http://vowsjs.org), which depends on
-[Node.js](http://nodejs.org/) and [NPM](http://npmjs.org/). If you are
-developing on Mac OS X, an easy way to install Node and NPM is using
-[Homebrew](http://mxcl.github.com/homebrew/):
-
- brew install node
- brew install npm
-
-Next, from the root directory of this repository, install D3's dependencies:
-
- make install
-
-You can see the list of dependencies in package.json. NPM will install the
-packages in the node_modules directory.
View
984 mbostock-d3-0a6ad07/d3.chart.js
@@ -1,984 +0,0 @@
-(function(){d3.chart = {};
-// Inspired by http://informationandvisualization.de/blog/box-plot
-d3.chart.box = function() {
- var width = 1,
- height = 1,
- duration = 0,
- domain = null,
- value = Number,
- whiskers = d3_chart_boxWhiskers,
- quartiles = d3_chart_boxQuartiles,
- tickFormat = null;
-
- // For each small multiple…
- function box(g) {
- g.each(function(d, i) {
- d = d.map(value).sort(d3.ascending);
- var g = d3.select(this),
- n = d.length,
- min = d[0],
- max = d[n - 1];
-
- // Compute quartiles. Must return exactly 3 elements.
- var quartileData = d.quartiles = quartiles(d);
-
- // Compute whiskers. Must return exactly 2 elements, or null.
- var whiskerIndices = whiskers && whiskers.call(this, d, i),
- whiskerData = whiskerIndices && whiskerIndices.map(function(i) { return d[i]; });
-
- // Compute outliers. If no whiskers are specified, all data are "outliers".
- // We compute the outliers as indices, so that we can join across transitions!
- var outlierIndices = whiskerIndices
- ? d3.range(0, whiskerIndices[0]).concat(d3.range(whiskerIndices[1] + 1, n))
- : d3.range(n);
-
- // Compute the new x-scale.
- var x1 = d3.scale.linear()
- .domain(domain && domain.call(this, d, i) || [min, max])
- .range([height, 0]);
-
- // Retrieve the old x-scale, if this is an update.
- var x0 = this.__chart__ || d3.scale.linear()
- .domain([0, Infinity])
- .range(x1.range());
-
- // Stash the new scale.
- this.__chart__ = x1;
-
- // Note: the box, median, and box tick elements are fixed in number,
- // so we only have to handle enter and update. In contrast, the outliers
- // and other elements are variable, so we need to exit them! Variable
- // elements also fade in and out.
-
- // Update center line: the vertical line spanning the whiskers.
- var center = g.selectAll("line.center")
- .data(whiskerData ? [whiskerData] : []);
-
- center.enter().insert("svg:line", "rect")
- .attr("class", "center")
- .attr("x1", width / 2)
- .attr("y1", function(d) { return x0(d[0]); })
- .attr("x2", width / 2)
- .attr("y2", function(d) { return x0(d[1]); })
- .style("opacity", 1e-6)
- .transition()
- .duration(duration)
- .style("opacity", 1)
- .attr("y1", function(d) { return x1(d[0]); })
- .attr("y2", function(d) { return x1(d[1]); });
-
- center.transition()
- .duration(duration)
- .style("opacity", 1)
- .attr("y1", function(d) { return x1(d[0]); })
- .attr("y2", function(d) { return x1(d[1]); });
-
- center.exit().transition()
- .duration(duration)
- .style("opacity", 1e-6)
- .attr("y1", function(d) { return x1(d[0]); })
- .attr("y2", function(d) { return x1(d[1]); })
- .remove();
-
- // Update innerquartile box.
- var box = g.selectAll("rect.box")
- .data([quartileData]);
-
- box.enter().append("svg:rect")
- .attr("class", "box")
- .attr("x", 0)
- .attr("y", function(d) { return x0(d[2]); })
- .attr("width", width)
- .attr("height", function(d) { return x0(d[0]) - x0(d[2]); })
- .transition()
- .duration(duration)
- .attr("y", function(d) { return x1(d[2]); })
- .attr("height", function(d) { return x1(d[0]) - x1(d[2]); });
-
- box.transition()
- .duration(duration)
- .attr("y", function(d) { return x1(d[2]); })
- .attr("height", function(d) { return x1(d[0]) - x1(d[2]); });
-
- // Update median line.
- var medianLine = g.selectAll("line.median")
- .data([quartileData[1]]);
-
- medianLine.enter().append("svg:line")
- .attr("class", "median")
- .attr("x1", 0)
- .attr("y1", x0)
- .attr("x2", width)
- .attr("y2", x0)
- .transition()
- .duration(duration)
- .attr("y1", x1)
- .attr("y2", x1);
-
- medianLine.transition()
- .duration(duration)
- .attr("y1", x1)
- .attr("y2", x1);
-
- // Update whiskers.
- var whisker = g.selectAll("line.whisker")
- .data(whiskerData || []);
-
- whisker.enter().insert("svg:line", "circle, text")
- .attr("class", "whisker")
- .attr("x1", 0)
- .attr("y1", x0)
- .attr("x2", width)
- .attr("y2", x0)
- .style("opacity", 1e-6)
- .transition()
- .duration(duration)
- .attr("y1", x1)
- .attr("y2", x1)
- .style("opacity", 1);
-
- whisker.transition()
- .duration(duration)
- .attr("y1", x1)
- .attr("y2", x1)
- .style("opacity", 1);
-
- whisker.exit().transition()
- .duration(duration)
- .attr("y1", x1)
- .attr("y2", x1)
- .style("opacity", 1e-6)
- .remove();
-
- // Update outliers.
- var outlier = g.selectAll("circle.outlier")
- .data(outlierIndices, Number);
-
- outlier.enter().insert("svg:circle", "text")
- .attr("class", "outlier")
- .attr("r", 5)
- .attr("cx", width / 2)
- .attr("cy", function(i) { return x0(d[i]); })
- .style("opacity", 1e-6)
- .transition()
- .duration(duration)
- .attr("cy", function(i) { return x1(d[i]); })
- .style("opacity", 1);
-
- outlier.transition()
- .duration(duration)
- .attr("cy", function(i) { return x1(d[i]); })
- .style("opacity", 1);
-
- outlier.exit().transition()
- .duration(duration)
- .attr("cy", function(i) { return x1(d[i]); })
- .style("opacity", 1e-6)
- .remove();
-
- // Compute the tick format.
- var format = tickFormat || x1.tickFormat(8);
-
- // Update box ticks.
- var boxTick = g.selectAll("text.box")
- .data(quartileData);
-
- boxTick.enter().append("svg:text")
- .attr("class", "box")
- .attr("dy", ".3em")
- .attr("dx", function(d, i) { return i & 1 ? 6 : -6 })
- .attr("x", function(d, i) { return i & 1 ? width : 0 })
- .attr("y", x0)
- .attr("text-anchor", function(d, i) { return i & 1 ? "start" : "end"; })
- .text(format)
- .transition()
- .duration(duration)
- .attr("y", x1);
-
- boxTick.transition()
- .duration(duration)
- .text(format)
- .attr("y", x1);
-
- // Update whisker ticks. These are handled separately from the box
- // ticks because they may or may not exist, and we want don't want
- // to join box ticks pre-transition with whisker ticks post-.
- var whiskerTick = g.selectAll("text.whisker")
- .data(whiskerData || []);
-
- whiskerTick.enter().append("svg:text")
- .attr("class", "whisker")
- .attr("dy", ".3em")
- .attr("dx", 6)
- .attr("x", width)
- .attr("y", x0)
- .text(format)
- .style("opacity", 1e-6)
- .transition()
- .duration(duration)
- .attr("y", x1)
- .style("opacity", 1);
-
- whiskerTick.transition()
- .duration(duration)
- .text(format)
- .attr("y", x1)
- .style("opacity", 1);
-
- whiskerTick.exit().transition()
- .duration(duration)
- .attr("y", x1)
- .style("opacity", 1e-6)
- .remove();
- });
- d3.timer.flush();
- }
-
- box.width = function(x) {
- if (!arguments.length) return width;
- width = x;
- return box;
- };
-
- box.height = function(x) {
- if (!arguments.length) return height;
- height = x;
- return box;
- };
-
- box.tickFormat = function(x) {
- if (!arguments.length) return tickFormat;
- tickFormat = x;
- return box;
- };
-
- box.duration = function(x) {
- if (!arguments.length) return duration;
- duration = x;
- return box;
- };
-
- box.domain = function(x) {
- if (!arguments.length) return domain;
- domain = x == null ? x : d3.functor(x);
- return box;
- };
-
- box.value = function(x) {
- if (!arguments.length) return value;
- value = x;
- return box;
- };
-
- box.whiskers = function(x) {
- if (!arguments.length) return whiskers;
- whiskers = x;
- return box;
- };
-
- box.quartiles = function(x) {
- if (!arguments.length) return quartiles;
- quartiles = x;
- return box;
- };
-
- return box;
-};
-
-function d3_chart_boxWhiskers(d) {
- return [0, d.length - 1];
-}
-
-function d3_chart_boxQuartiles(d) {
- return [
- d3.quantile(d, .25),
- d3.quantile(d, .5),
- d3.quantile(d, .75)
- ];
-}
-// Chart design based on the recommendations of Stephen Few. Implementation
-// based on the work of Clint Ivy, Jamie Love, and Jason Davies.
-// http://projects.instantcognition.com/protovis/bulletchart/
-d3.chart.bullet = function() {
- var orient = "left", // TODO top & bottom
- reverse = false,
- duration = 0,
- ranges = d3_chart_bulletRanges,
- markers = d3_chart_bulletMarkers,
- measures = d3_chart_bulletMeasures,
- width = 380,
- height = 30,
- tickFormat = null;
-
- // For each small multiple…
- function bullet(g) {
- g.each(function(d, i) {
- var rangez = ranges.call(this, d, i).slice().sort(d3.descending),
- markerz = markers.call(this, d, i).slice().sort(d3.descending),
- measurez = measures.call(this, d, i).slice().sort(d3.descending),
- g = d3.select(this);
-
- // Compute the new x-scale.
- var x1 = d3.scale.linear()
- .domain([0, Math.max(rangez[0], markerz[0], measurez[0])])
- .range(reverse ? [width, 0] : [0, width]);
-
- // Retrieve the old x-scale, if this is an update.
- var x0 = this.__chart__ || d3.scale.linear()
- .domain([0, Infinity])
- .range(x1.range());
-
- // Stash the new scale.
- this.__chart__ = x1;
-
- // Derive width-scales from the x-scales.
- var w0 = d3_chart_bulletWidth(x0),
- w1 = d3_chart_bulletWidth(x1);
-
- // Update the range rects.
- var range = g.selectAll("rect.range")
- .data(rangez);
-
- range.enter().append("svg:rect")
- .attr("class", function(d, i) { return "range s" + i; })
- .attr("width", w0)
- .attr("height", height)
- .attr("x", reverse ? x0 : 0)
- .transition()
- .duration(duration)
- .attr("width", w1)
- .attr("x", reverse ? x1 : 0);
-
- range.transition()
- .duration(duration)
- .attr("x", reverse ? x1 : 0)
- .attr("width", w1)
- .attr("height", height);
-
- // Update the measure rects.
- var measure = g.selectAll("rect.measure")
- .data(measurez);
-
- measure.enter().append("svg:rect")
- .attr("class", function(d, i) { return "measure s" + i; })
- .attr("width", w0)
- .attr("height", height / 3)
- .attr("x", reverse ? x0 : 0)
- .attr("y", height / 3)
- .transition()
- .duration(duration)
- .attr("width", w1)
- .attr("x", reverse ? x1 : 0);
-
- measure.transition()
- .duration(duration)
- .attr("width", w1)
- .attr("height", height / 3)
- .attr("x", reverse ? x1 : 0)
- .attr("y", height / 3);
-
- // Update the marker lines.
- var marker = g.selectAll("line.marker")
- .data(markerz);
-
- marker.enter().append("svg:line")
- .attr("class", "marker")
- .attr("x1", x0)
- .attr("x2", x0)
- .attr("y1", height / 6)
- .attr("y2", height * 5 / 6)
- .transition()
- .duration(duration)
- .attr("x1", x1)
- .attr("x2", x1);
-
- marker.transition()
- .duration(duration)
- .attr("x1", x1)
- .attr("x2", x1)
- .attr("y1", height / 6)
- .attr("y2", height * 5 / 6);
-
- // Compute the tick format.
- var format = tickFormat || x1.tickFormat(8);
-
- // Update the tick groups.
- var tick = g.selectAll("g.tick")
- .data(x1.ticks(8), function(d) {
- return this.textContent || format(d);
- });
-
- // Initialize the ticks with the old scale, x0.
- var tickEnter = tick.enter().append("svg:g")
- .attr("class", "tick")
- .attr("transform", d3_chart_bulletTranslate(x0))
- .style("opacity", 1e-6);
-
- tickEnter.append("svg:line")
- .attr("y1", height)
- .attr("y2", height * 7 / 6);
-
- tickEnter.append("svg:text")
- .attr("text-anchor", "middle")
- .attr("dy", "1em")
- .attr("y", height * 7 / 6)
- .text(format);
-
- // Transition the entering ticks to the new scale, x1.
- tickEnter.transition()
- .duration(duration)
- .attr("transform", d3_chart_bulletTranslate(x1))
- .style("opacity", 1);
-
- // Transition the updating ticks to the new scale, x1.
- var tickUpdate = tick.transition()
- .duration(duration)
- .attr("transform", d3_chart_bulletTranslate(x1))
- .style("opacity", 1);
-
- tickUpdate.select("line")
- .attr("y1", height)
- .attr("y2", height * 7 / 6);
-
- tickUpdate.select("text")
- .attr("y", height * 7 / 6);
-
- // Transition the exiting ticks to the new scale, x1.
- tick.exit().transition()
- .duration(duration)
- .attr("transform", d3_chart_bulletTranslate(x1))
- .style("opacity", 1e-6)
- .remove();
- });
- d3.timer.flush();
- }
-
- // left, right, top, bottom
- bullet.orient = function(x) {
- if (!arguments.length) return orient;
- orient = x;
- reverse = orient == "right" || orient == "bottom";
- return bullet;
- };
-
- // ranges (bad, satisfactory, good)
- bullet.ranges = function(x) {
- if (!arguments.length) return ranges;
- ranges = x;
- return bullet;
- };
-
- // markers (previous, goal)
- bullet.markers = function(x) {
- if (!arguments.length) return markers;
- markers = x;
- return bullet;
- };
-
- // measures (actual, forecast)
- bullet.measures = function(x) {
- if (!arguments.length) return measures;
- measures = x;
- return bullet;
- };
-
- bullet.width = function(x) {
- if (!arguments.length) return width;
- width = x;
- return bullet;
- };
-
- bullet.height = function(x) {
- if (!arguments.length) return height;
- height = x;
- return bullet;
- };
-
- bullet.tickFormat = function(x) {
- if (!arguments.length) return tickFormat;
- tickFormat = x;
- return bullet;
- };
-
- bullet.duration = function(x) {
- if (!arguments.length) return duration;
- duration = x;
- return bullet;
- };
-
- return bullet;
-};
-
-function d3_chart_bulletRanges(d) {
- return d.ranges;
-}
-
-function d3_chart_bulletMarkers(d) {
- return d.markers;
-}
-
-function d3_chart_bulletMeasures(d) {
- return d.measures;
-}
-
-function d3_chart_bulletTranslate(x) {
- return function(d) {
- return "translate(" + x(d) + ",0)";
- };
-}
-
-function d3_chart_bulletWidth(x) {
- var x0 = x(0);
- return function(d) {
- return Math.abs(x(d) - x0);
- };
-}
-// Implements a horizon layout, which is a variation of a single-series
-// area chart where the area is folded into multiple bands. Color is used to
-// encode band, allowing the size of the chart to be reduced significantly
-// without impeding readability. This layout algorithm is based on the work of
-// J. Heer, N. Kong and M. Agrawala in "Sizing the Horizon: The Effects of Chart
-// Size and Layering on the Graphical Perception of Time Series Visualizations",
-// CHI 2009. http://hci.stanford.edu/publications/2009/heer-horizon-chi09.pdf
-d3.chart.horizon = function() {
- var bands = 1, // between 1 and 5, typically
- mode = "offset", // or mirror
- interpolate = "linear", // or basis, monotone, step-before, etc.
- x = d3_chart_horizonX,
- y = d3_chart_horizonY,
- w = 960,
- h = 40,
- duration = 0;
-
- var color = d3.scale.linear()
- .domain([-1, 0, 1])
- .range(["#d62728", "#fff", "#1f77b4"]);
-
- // For each small multiple…
- function horizon(g) {
- g.each(function(d, i) {
- var g = d3.select(this),
- n = 2 * bands + 1,
- xMin = Infinity,
- xMax = -Infinity,
- yMax = -Infinity,
- x0, // old x-scale
- y0, // old y-scale
- id; // unique id for paths
-
- // Compute x- and y-values along with extents.
- var data = d.map(function(d, i) {
- var xv = x.call(this, d, i),
- yv = y.call(this, d, i);
- if (xv < xMin) xMin = xv;
- if (xv > xMax) xMax = xv;
- if (-yv > yMax) yMax = -yv;
- if (yv > yMax) yMax = yv;
- return [xv, yv];
- });
-
- // Compute the new x- and y-scales.
- var x1 = d3.scale.linear().domain([xMin, xMax]).range([0, w]),
- y1 = d3.scale.linear().domain([0, yMax]).range([0, h * bands]);
-
- // Retrieve the old scales, if this is an update.
- if (this.__chart__) {
- x0 = this.__chart__.x;
- y0 = this.__chart__.y;
- id = this.__chart__.id;
- } else {
- x0 = d3.scale.linear().domain([0, Infinity]).range(x1.range());
- y0 = d3.scale.linear().domain([0, Infinity]).range(y1.range());
- id = ++d3_chart_horizonId;
- }
-
- // We'll use a defs to store the area path and the clip path.
- var defs = g.selectAll("defs")
- .data([data]);
-
- var defsEnter = defs.enter().append("svg:defs");
-
- // The clip path is a simple rect.
- defsEnter.append("svg:clipPath")
- .attr("id", "d3_chart_horizon_clip" + id)
- .append("svg:rect")
- .attr("width", w)
- .attr("height", h);
-
- defs.select("rect").transition()
- .duration(duration)
- .attr("width", w)
- .attr("height", h);
-
- // The area path is rendered with our resuable d3.svg.area.
- defsEnter.append("svg:path")
- .attr("id", "d3_chart_horizon_path" + id)
- .attr("d", d3_chart_horizonArea
- .interpolate(interpolate)
- .x(function(d) { return x0(d[0]); })
- .y0(h * bands)
- .y1(function(d) { return h * bands - y0(d[1]); }))
- .transition()
- .duration(duration)
- .attr("d", d3_chart_horizonArea
- .x(function(d) { return x1(d[0]); })
- .y1(function(d) { return h * bands - y1(d[1]); }));
-
- defs.select("path").transition()
- .duration(duration)
- .attr("d", d3_chart_horizonArea);
-
- // We'll use a container to clip all horizon layers at once.
- g.selectAll("g")
- .data([null])
- .enter().append("svg:g")
- .attr("clip-path", "url(#d3_chart_horizon_clip" + id + ")");
-
- // Define the transform function based on the mode.
- var transform = mode == "offset"
- ? function(d) { return "translate(0," + (d + (d < 0) - bands) * h + ")"; }
- : function(d) { return (d < 0 ? "scale(1,-1)" : "") + "translate(0," + (d - bands) * h + ")"; };
-
- // Instantiate each copy of the path with different transforms.
- var u = g.select("g").selectAll("use")
- .data(d3.range(-1, -bands - 1, -1).concat(d3.range(1, bands + 1)), Number);
-
- // TODO don't fudge the enter transition
- u.enter().append("svg:use")
- .attr("xlink:href", "#d3_chart_horizon_path" + id)
- .attr("transform", function(d) { return transform(d + (d > 0 ? 1 : -1)); })
- .style("fill", color)
- .transition()
- .duration(duration)
- .attr("transform", transform);
-
- u.transition()
- .duration(duration)
- .attr("transform", transform)
- .style("fill", color);
-
- u.exit().transition()
- .duration(duration)
- .attr("transform", transform)
- .remove();
-
- // Stash the new scales.
- this.__chart__ = {x: x1, y: y1, id: id};
- });
- d3.timer.flush();
- }
-
- horizon.duration = function(x) {
- if (!arguments.length) return duration;
- duration = +x;
- return horizon;
- };
-
- horizon.bands = function(x) {
- if (!arguments.length) return bands;
- bands = +x;
- color.domain([-bands, 0, bands]);
- return horizon;
- };
-
- horizon.mode = function(x) {
- if (!arguments.length) return mode;
- mode = x + "";
- return horizon;
- };
-
- horizon.colors = function(x) {
- if (!arguments.length) return color.range();
- color.range(x);
- return horizon;
- };
-
- horizon.interpolate = function(x) {
- if (!arguments.length) return interpolate;
- interpolate = x + "";
- return horizon;
- };
-
- horizon.x = function(z) {
- if (!arguments.length) return x;
- x = z;
- return horizon;
- };
-
- horizon.y = function(z) {
- if (!arguments.length) return y;
- y = z;
- return horizon;
- };
-
- horizon.width = function(x) {
- if (!arguments.length) return w;
- w = +x;
- return horizon;
- };
-
- horizon.height = function(x) {
- if (!arguments.length) return h;
- h = +x;
- return horizon;
- };
-
- return horizon;
-};
-
-var d3_chart_horizonArea = d3.svg.area(),
- d3_chart_horizonId = 0;
-
-function d3_chart_horizonX(d) {
- return d[0];
-}
-
-function d3_chart_horizonY(d) {
- return d[1];
-}
-// Based on http://vis.stanford.edu/protovis/ex/qqplot.html
-d3.chart.qq = function() {
- var width = 1,
- height = 1,
- duration = 0,
- domain = null,
- tickFormat = null,
- n = 100,
- x = d3_chart_qqX,
- y = d3_chart_qqY;
-
- // For each small multiple…
- function qq(g) {
- g.each(function(d, i) {
- var g = d3.select(this),
- qx = d3_chart_qqQuantiles(n, x.call(this, d, i)),
- qy = d3_chart_qqQuantiles(n, y.call(this, d, i)),
- xd = domain && domain.call(this, d, i) || [d3.min(qx), d3.max(qx)], // new x-domain
- yd = domain && domain.call(this, d, i) || [d3.min(qy), d3.max(qy)], // new y-domain
- x0, // old x-scale
- y0; // old y-scale
-
- // Compute the new x-scale.
- var x1 = d3.scale.linear()
- .domain(xd)
- .range([0, width]);
-
- // Compute the new y-scale.
- var y1 = d3.scale.linear()
- .domain(yd)
- .range([height, 0]);
-
- // Retrieve the old scales, if this is an update.
- if (this.__chart__) {
- x0 = this.__chart__.x;
- y0 = this.__chart__.y;
- } else {
- x0 = d3.scale.linear().domain([0, Infinity]).range(x1.range());
- y0 = d3.scale.linear().domain([0, Infinity]).range(y1.range());
- }
-
- // Stash the new scales.
- this.__chart__ = {x: x1, y: y1};
-
- // Update diagonal line.
- var diagonal = g.selectAll("line.diagonal")
- .data([null]);
-
- diagonal.enter().append("svg:line")
- .attr("class", "diagonal")
- .attr("x1", x1(yd[0]))
- .attr("y1", y1(xd[0]))
- .attr("x2", x1(yd[1]))
- .attr("y2", y1(xd[1]));
-
- diagonal.transition()
- .duration(duration)
- .attr("x1", x1(yd[0]))
- .attr("y1", y1(xd[0]))
- .attr("x2", x1(yd[1]))
- .attr("y2", y1(xd[1]));
-
- // Update quantile plots.
- var circle = g.selectAll("circle")
- .data(d3.range(n).map(function(i) {
- return {x: qx[i], y: qy[i]};
- }));
-
- circle.enter().append("svg:circle")
- .attr("class", "quantile")
- .attr("r", 4.5)
- .attr("cx", function(d) { return x0(d.x); })
- .attr("cy", function(d) { return y0(d.y); })
- .style("opacity", 1e-6)
- .transition()
- .duration(duration)
- .attr("cx", function(d) { return x1(d.x); })
- .attr("cy", function(d) { return y1(d.y); })
- .style("opacity", 1);
-
- circle.transition()
- .duration(duration)
- .attr("cx", function(d) { return x1(d.x); })
- .attr("cy", function(d) { return y1(d.y); })
- .style("opacity", 1);
-
- circle.exit().transition()
- .duration(duration)
- .attr("cx", function(d) { return x1(d.x); })
- .attr("cy", function(d) { return y1(d.y); })
- .style("opacity", 1e-6)
- .remove();
-
- var xformat = tickFormat || x1.tickFormat(4),
- yformat = tickFormat || y1.tickFormat(4),
- tx = function(d) { return "translate(" + x1(d) + "," + height + ")"; },
- ty = function(d) { return "translate(0," + y1(d) + ")"; };
-
- // Update x-ticks.
- var xtick = g.selectAll("g.x.tick")
- .data(x1.ticks(4), function(d) {
- return this.textContent || xformat(d);
- });
-
- var xtickEnter = xtick.enter().append("svg:g")
- .attr("class", "x tick")
- .attr("transform", function(d) { return "translate(" + x0(d) + "," + height + ")"; })
- .style("opacity", 1e-6);
-
- xtickEnter.append("svg:line")
- .attr("y1", 0)
- .attr("y2", -6);
-
- xtickEnter.append("svg:text")
- .attr("text-anchor", "middle")
- .attr("dy", "1em")
- .text(xformat);
-
- // Transition the entering ticks to the new scale, x1.
- xtickEnter.transition()
- .duration(duration)
- .attr("transform", tx)
- .style("opacity", 1);
-
- // Transition the updating ticks to the new scale, x1.
- xtick.transition()
- .duration(duration)
- .attr("transform", tx)
- .style("opacity", 1);
-
- // Transition the exiting ticks to the new scale, x1.
- xtick.exit().transition()
- .duration(duration)
- .attr("transform", tx)
- .style("opacity", 1e-6)
- .remove();
-
- // Update ticks.
- var ytick = g.selectAll("g.y.tick")
- .data(y1.ticks(4), function(d) {
- return this.textContent || yformat(d);
- });
-
- var ytickEnter = ytick.enter().append("svg:g")
- .attr("class", "y tick")
- .attr("transform", function(d) { return "translate(0," + y0(d) + ")"; })
- .style("opacity", 1e-6);
-
- ytickEnter.append("svg:line")
- .attr("x1", 0)
- .attr("x2", 6);
-
- ytickEnter.append("svg:text")
- .attr("text-anchor", "end")
- .attr("dx", "-.5em")
- .attr("dy", ".3em")
- .text(yformat);
-
- // Transition the entering ticks to the new scale, y1.
- ytickEnter.transition()
- .duration(duration)
- .attr("transform", ty)
- .style("opacity", 1);
-
- // Transition the updating ticks to the new scale, y1.
- ytick.transition()
- .duration(duration)
- .attr("transform", ty)
- .style("opacity", 1);
-
- // Transition the exiting ticks to the new scale, y1.
- ytick.exit().transition()
- .duration(duration)
- .attr("transform", ty)
- .style("opacity", 1e-6)
- .remove();
- });
- }
-
- qq.width = function(x) {
- if (!arguments.length) return width;
- width = x;
- return qq;
- };
-
- qq.height = function(x) {
- if (!arguments.length) return height;
- height = x;
- return qq;
- };
-
- qq.duration = function(x) {
- if (!arguments.length) return duration;
- duration = x;
- return qq;
- };
-
- qq.domain = function(x) {
- if (!arguments.length) return domain;
- domain = x == null ? x : d3.functor(x);
- return qq;
- };
-
- qq.count = function(z) {
- if (!arguments.length) return n;
- n = z;
- return qq;
- };
-
- qq.x = function(z) {
- if (!arguments.length) return x;
- x = z;
- return qq;
- };
-
- qq.y = function(z) {
- if (!arguments.length) return y;
- y = z;
- return qq;
- };
-
- qq.tickFormat = function(x) {
- if (!arguments.length) return tickFormat;
- tickFormat = x;
- return qq;
- };
-
- return qq;
-};
-
-function d3_chart_qqQuantiles(n, values) {
- var m = values.length - 1;
- values = values.slice().sort(d3.ascending);
- return d3.range(n).map(function(i) {
- return values[~~(i * m / n)];
- });
-}
-
-function d3_chart_qqX(d) {
- return d.x;
-}
-
-function d3_chart_qqY(d) {
- return d.y;
-}
-})();
View
1 mbostock-d3-0a6ad07/d3.chart.min.js
@@ -1 +0,0 @@
-(function(){function a(a){return[0,a.length-1]}function b(a){return[d3.quantile(a,.25),d3.quantile(a,.5),d3.quantile(a,.75)]}function c(a){return a.ranges}function d(a){return a.markers}function e(a){return a.measures}function f(a){return function(b){return"translate("+a(b)+",0)"}}function g(a){var b=a(0);return function(c){return Math.abs(a(c)-b)}}function j(a){return a[0]}function k(a){return a[1]}function l(a,b){var c=b.length-1;return b=b.slice().sort(d3.ascending),d3.range(a).map(function(d){return b[~~(d*c/a)]})}function m(a){return a.x}function n(a){return a.y}d3.chart={},d3.chart.box=function(){function k(a){a.each(function(a,b){a=a.map(g).sort(d3.ascending);var k=d3.select(this),l=a.length,m=a[0],n=a[l-1],o=a.quartiles=i(a),p=h&&h.call(this,a,b),q=p&&p.map(function(b){return a[b]}),r=p?d3.range(0,p[0]).concat(d3.range(p[1]+1,l)):d3.range(l),s=d3.scale.linear().domain(f&&f.call(this,a,b)||[m,n]).range([d,0]),t=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(s.range());this.__chart__=s;var u=k.selectAll("line.center").data(q?[q]:[]);u.enter().insert("svg:line","rect").attr("class","center").attr("x1",c/2).attr("y1",function(a){return t(a[0])}).attr("x2",c/2).attr("y2",function(a){return t(a[1])}).style("opacity",1e-6).transition().duration(e).style("opacity",1).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}),u.transition().duration(e).style("opacity",1).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}),u.exit().transition().duration(e).style("opacity",1e-6).attr("y1",function(a){return s(a[0])}).attr("y2",function(a){return s(a[1])}).remove();var v=k.selectAll("rect.box").data([o]);v.enter().append("svg:rect").attr("class","box").attr("x",0).attr("y",function(a){return t(a[2])}).attr("width",c).attr("height",function(a){return t(a[0])-t(a[2])}).transition().duration(e).attr("y",function(a){return s(a[2])}).attr("height",function(a){return s(a[0])-s(a[2])}),v.transition().duration(e).attr("y",function(a){return s(a[2])}).attr("height",function(a){return s(a[0])-s(a[2])});var w=k.selectAll("line.median").data([o[1]]);w.enter().append("svg:line").attr("class","median").attr("x1",0).attr("y1",t).attr("x2",c).attr("y2",t).transition().duration(e).attr("y1",s).attr("y2",s),w.transition().duration(e).attr("y1",s).attr("y2",s);var x=k.selectAll("line.whisker").data(q||[]);x.enter().insert("svg:line","circle, text").attr("class","whisker").attr("x1",0).attr("y1",t).attr("x2",c).attr("y2",t).style("opacity",1e-6).transition().duration(e).attr("y1",s).attr("y2",s).style("opacity",1),x.transition().duration(e).attr("y1",s).attr("y2",s).style("opacity",1),x.exit().transition().duration(e).attr("y1",s).attr("y2",s).style("opacity",1e-6).remove();var y=k.selectAll("circle.outlier").data(r,Number);y.enter().insert("svg:circle","text").attr("class","outlier").attr("r",5).attr("cx",c/2).attr("cy",function(b){return t(a[b])}).style("opacity",1e-6).transition().duration(e).attr("cy",function(b){return s(a[b])}).style("opacity",1),y.transition().duration(e).attr("cy",function(b){return s(a[b])}).style("opacity",1),y.exit().transition().duration(e).attr("cy",function(b){return s(a[b])}).style("opacity",1e-6).remove();var z=j||s.tickFormat(8),A=k.selectAll("text.box").data(o);A.enter().append("svg:text").attr("class","box").attr("dy",".3em").attr("dx",function(a,b){return b&1?6:-6}).attr("x",function(a,b){return b&1?c:0}).attr("y",t).attr("text-anchor",function(a,b){return b&1?"start":"end"}).text(z).transition().duration(e).attr("y",s),A.transition().duration(e).text(z).attr("y",s);var B=k.selectAll("text.whisker").data(q||[]);B.enter().append("svg:text").attr("class","whisker").attr("dy",".3em").attr("dx",6).attr("x",c).attr("y",t).text(z).style("opacity",1e-6).transition().duration(e).attr("y",s).style("opacity",1),B.transition().duration(e).text(z).attr("y",s).style("opacity",1),B.exit().transition().duration(e).attr("y",s).style("opacity",1e-6).remove()}),d3.timer.flush()}var c=1,d=1,e=0,f=null,g=Number,h=a,i=b,j=null;return k.width=function(a){return arguments.length?(c=a,k):c},k.height=function(a){return arguments.length?(d=a,k):d},k.tickFormat=function(a){return arguments.length?(j=a,k):j},k.duration=function(a){return arguments.length?(e=a,k):e},k.domain=function(a){return arguments.length?(f=a==null?a:d3.functor(a),k):f},k.value=function(a){return arguments.length?(g=a,k):g},k.whiskers=function(a){return arguments.length?(h=a,k):h},k.quartiles=function(a){return arguments.length?(i=a,k):i},k},d3.chart.bullet=function(){function o(a){a.each(function(a,c){var d=i.call(this,a,c).slice().sort(d3.descending),e=j.call(this,a,c).slice().sort(d3.descending),o=k.call(this,a,c).slice().sort(d3.descending),p=d3.select(this),q=d3.scale.linear().domain([0,Math.max(d[0],e[0],o[0])]).range(b?[l,0]:[0,l]),r=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(q.range());this.__chart__=q;var s=g(r),t=g(q),u=p.selectAll("rect.range").data(d);u.enter().append("svg:rect").attr("class",function(a,b){return"range s"+b}).attr("width",s).attr("height",m).attr("x",b?r:0).transition().duration(h).attr("width",t).attr("x",b?q:0),u.transition().duration(h).attr("x",b?q:0).attr("width",t).attr("height",m);var v=p.selectAll("rect.measure").data(o);v.enter().append("svg:rect").attr("class",function(a,b){return"measure s"+b}).attr("width",s).attr("height",m/3).attr("x",b?r:0).attr("y",m/3).transition().duration(h).attr("width",t).attr("x",b?q:0),v.transition().duration(h).attr("width",t).attr("height",m/3).attr("x",b?q:0).attr("y",m/3);var w=p.selectAll("line.marker").data(e);w.enter().append("svg:line").attr("class","marker").attr("x1",r).attr("x2",r).attr("y1",m/6).attr("y2",m*5/6).transition().duration(h).attr("x1",q).attr("x2",q),w.transition().duration(h).attr("x1",q).attr("x2",q).attr("y1",m/6).attr("y2",m*5/6);var x=n||q.tickFormat(8),y=p.selectAll("g.tick").data(q.ticks(8),function(a){return this.textContent||x(a)}),z=y.enter().append("svg:g").attr("class","tick").attr("transform",f(r)).style("opacity",1e-6);z.append("svg:line").attr("y1",m).attr("y2",m*7/6),z.append("svg:text").attr("text-anchor","middle").attr("dy","1em").attr("y",m*7/6).text(x),z.transition().duration(h).attr("transform",f(q)).style("opacity",1);var A=y.transition().duration(h).attr("transform",f(q)).style("opacity",1);A.select("line").attr("y1",m).attr("y2",m*7/6),A.select("text").attr("y",m*7/6),y.exit().transition().duration(h).attr("transform",f(q)).style("opacity",1e-6).remove()}),d3.timer.flush()}var a="left",b=!1,h=0,i=c,j=d,k=e,l=380,m=30,n=null;return o.orient=function(c){return arguments.length?(a=c,b=a=="right"||a=="bottom",o):a},o.ranges=function(a){return arguments.length?(i=a,o):i},o.markers=function(a){return arguments.length?(j=a,o):j},o.measures=function(a){return arguments.length?(k=a,o):k},o.width=function(a){return arguments.length?(l=a,o):l},o.height=function(a){return arguments.length?(m=a,o):m},o.tickFormat=function(a){return arguments.length?(n=a,o):n},o.duration=function(a){return arguments.length?(h=a,o):h},o},d3.chart.horizon=function(){function n(j){j.each(function(j,k){var n=d3.select(this),o=2*a+1,p=Infinity,q=-Infinity,r=-Infinity,s,t,u,v=j.map(function(a,b){var c=d.call(this,a,b),f=e.call(this,a,b);return c<p&&(p=c),c>q&&(q=c),-f>r&&(r=-f),f>r&&(r=f),[c,f]}),z=d3.scale.linear().domain([p,q]).range([0,f]),A=d3.scale.linear().domain([0,r]).range([0,g*a]);this.__chart__?(s=this.__chart__.x,t=this.__chart__.y,u=this.__chart__.id):(s=d3.scale.linear().domain([0,Infinity]).range(z.range()),t=d3.scale.linear().domain([0,Infinity]).range(A.range()),u=++i);var B=n.selectAll("defs").data([v]),C=B.enter().append("svg:defs");C.append("svg:clipPath").attr("id","d3_chart_horizon_clip"+u).append("svg:rect").attr("width",f).attr("height",g),B.select("rect").transition().duration(l).attr("width",f).attr("height",g),C.append("svg:path").attr("id","d3_chart_horizon_path"+u).attr("d",h.interpolate(c).x(function(a){return s(a[0])}).y0(g*a).y1(function(b){return g*a-t(b[1])})).transition().duration(l).attr("d",h.x(function(a){return z(a[0])}).y1(function(b){return g*a-A(b[1])})),B.select("path").transition().duration(l).attr("d",h),n.selectAll("g").data([null]).enter().append("svg:g").attr("clip-path","url(#d3_chart_horizon_clip"+u+")");var D=b=="offset"?function(b){return"translate(0,"+(b+(b<0)-a)*g+")"}:function(b){return(b<0?"scale(1,-1)":"")+"translate(0,"+(b-a)*g+")"},E=n.select("g").selectAll("use").data(d3.range(-1,-a-1,-1).concat(d3.range(1,a+1)),Number);E.enter().append("svg:use").attr("xlink:href","#d3_chart_horizon_path"+u).attr("transform",function(a){return D(a+(a>0?1:-1))}).style("fill",m).transition().duration(l).attr("transform",D),E.transition().duration(l).attr("transform",D).style("fill",m),E.exit().transition().duration(l).attr("transform",D).remove(),this.__chart__={x:z,y:A,id:u}}),d3.timer.flush()}var a=1,b="offset",c="linear",d=j,e=k,f=960,g=40,l=0,m=d3.scale.linear().domain([-1,0,1]).range(["#d62728","#fff","#1f77b4"]);return n.duration=function(a){return arguments.length?(l=+a,n):l},n.bands=function(b){return arguments.length?(a=+b,m.domain([-a,0,a]),n):a},n.mode=function(a){return arguments.length?(b=a+"",n):b},n.colors=function(a){return arguments.length?(m.range(a),n):m.range()},n.interpolate=function(a){return arguments.length?(c=a+"",n):c},n.x=function(a){return arguments.length?(d=a,n):d},n.y=function(a){return arguments.length?(e=a,n):e},n.width=function(a){return arguments.length?(f=+a,n):f},n.height=function(a){return arguments.length?(g=+a,n):g},n};var h=d3.svg.area(),i=0;d3.chart.qq=function(){function i(i){i.each(function(i,j){var k=d3.select(this),m=l(f,g.call(this,i,j)),n=l(f,h.call(this,i,j)),o=d&&d.call(this,i,j)||[d3.min(m),d3.max(m)],p=d&&d.call(this,i,j)||[d3.min(n),d3.max(n)],q,r,s=d3.scale.linear().domain(o).range([0,a]),t=d3.scale.linear().domain(p).range([b,0]);this.__chart__?(q=this.__chart__.x,r=this.__chart__.y):(q=d3.scale.linear().domain([0,Infinity]).range(s.range()),r=d3.scale.linear().domain([0,Infinity]).range(t.range())),this.__chart__={x:s,y:t};var u=k.selectAll("line.diagonal").data([null]);u.enter().append("svg:line").attr("class","diagonal").attr("x1",s(p[0])).attr("y1",t(o[0])).attr("x2",s(p[1])).attr("y2",t(o[1])),u.transition().duration(c).attr("x1",s(p[0])).attr("y1",t(o[0])).attr("x2",s(p[1])).attr("y2",t(o[1]));var v=k.selectAll("circle").data(d3.range(f).map(function(a){return{x:m[a],y:n[a]}}));v.enter().append("svg:circle").attr("class","quantile").attr("r",4.5).attr("cx",function(a){return q(a.x)}).attr("cy",function(a){return r(a.y)}).style("opacity",1e-6).transition().duration(c).attr("cx",function(a){return s(a.x)}).attr("cy",function(a){return t(a.y)}).style("opacity",1),v.transition().duration(c).attr("cx",function(a){return s(a.x)}).attr("cy",function(a){return t(a.y)}).style("opacity",1),v.exit().transition().duration(c).attr("cx",function(a){return s(a.x)}).attr("cy",function(a){return t(a.y)}).style("opacity",1e-6).remove();var w=e||s.tickFormat(4),z=e||t.tickFormat(4),A=function(a){return"translate("+s(a)+","+b+")"},B=function(a){return"translate(0,"+t(a)+")"},C=k.selectAll("g.x.tick").data(s.ticks(4),function(a){return this.textContent||w(a)}),D=C.enter().append("svg:g").attr("class","x tick").attr("transform",function(a){return"translate("+q(a)+","+b+")"}).style("opacity",1e-6);D.append("svg:line").attr("y1",0).attr("y2",-6),D.append("svg:text").attr("text-anchor","middle").attr("dy","1em").text(w),D.transition().duration(c).attr("transform",A).style("opacity",1),C.transition().duration(c).attr("transform",A).style("opacity",1),C.exit().transition().duration(c).attr("transform",A).style("opacity",1e-6).remove();var E=k.selectAll("g.y.tick").data(t.ticks(4),function(a){return this.textContent||z(a)}),F=E.enter().append("svg:g").attr("class","y tick").attr("transform",function(a){return"translate(0,"+r(a)+")"}).style("opacity",1e-6);F.append("svg:line").attr("x1",0).attr("x2",6),F.append("svg:text").attr("text-anchor","end").attr("dx","-.5em").attr("dy",".3em").text(z),F.transition().duration(c).attr("transform",B).style("opacity",1),E.transition().duration(c).attr("transform",B).style("opacity",1),E.exit().transition().duration(c).attr("transform",B).style("opacity",1e-6).remove()})}var a=1,b=1,c=0,d=null,e=null,f=100,g=m,h=n;return i.width=function(b){return arguments.length?(a=b,i):a},i.height=function(a){return arguments.length?(b=a,i):b},i.duration=function(a){return arguments.length?(c=a,i):c},i.domain=function(a){return arguments.length?(d=a==null?a:d3.functor(a),i):d},i.count=function(a){return arguments.length?(f=a,i):f},i.x=function(a){return arguments.length?(g=a,i):g},i.y=function(a){return arguments.length?(h=a,i):h},i.tickFormat=function(a){return arguments.length?(e=a,i):e},i}})();
View
92 mbostock-d3-0a6ad07/d3.csv.js
@@ -1,92 +0,0 @@
-(function(){d3.csv = function(url, callback) {
- d3.text(url, "text/csv", function(text) {
- callback(text && d3.csv.parse(text));
- });
-};
-d3.csv.parse = function(text) {
- var header;
- return d3.csv.parseRows(text, function(row, i) {
- if (i) {
- var o = {}, j = -1, m = header.length;
- while (++j < m) o[header[j]] = row[j];
- return o;
- } else {
- header = row;
- return null;
- }
- });
-};
-
-d3.csv.parseRows = function(text, f) {
- var EOL = {}, // sentinel value for end-of-line
- EOF = {}, // sentinel value for end-of-file
- rows = [], // output rows
- re = /\r\n|[,\r\n]/g, // field separator regex
- n = 0, // the current line number
- t, // the current token
- eol; // is the current token followed by EOL?
-
- re.lastIndex = 0; // work-around bug in FF 3.6
-
- /** @private Returns the next token. */
- function token() {
- if (re.lastIndex >= text.length) return EOF; // special case: end of file
- if (eol) { eol = false; return EOL; } // special case: end of line
-
- // special case: quotes
- var j = re.lastIndex;
- if (text.charCodeAt(j) === 34) {
- var i = j;
- while (i++ < text.length) {
- if (text.charCodeAt(i) === 34) {
- if (text.charCodeAt(i + 1) !== 34) break;
- i++;
- }
- }
- re.lastIndex = i + 2;
- var c = text.charCodeAt(i + 1);
- if (c === 13) {
- eol = true;
- if (text.charCodeAt(i + 2) === 10) re.lastIndex++;
- } else if (c === 10) {
- eol = true;
- }
- return text.substring(j + 1, i).replace(/""/g, "\"");
- }
-
- // common case
- var m = re.exec(text);
- if (m) {
- eol = m[0].charCodeAt(0) !== 44;
- return text.substring(j, m.index);
- }
- re.lastIndex = text.length;
- return text.substring(j);
- }
-
- while ((t = token()) !== EOF) {
- var a = [];
- while ((t !== EOL) && (t !== EOF)) {
- a.push(t);
- t = token();
- }
- if (f && !(a = f(a, n++))) continue;
- rows.push(a);
- }
-
- return rows;
-};
-d3.csv.format = function(rows) {
- return rows.map(d3_csv_formatRow).join("\n");
-};
-
-function d3_csv_formatRow(row) {
- return row.map(d3_csv_formatValue).join(",");
-}
-
-function d3_csv_formatValue(text) {
- return /[",\n]/.test(text)
- ? "\"" + text.replace(/\"/g, "\"\"") + "\""
- : text;
-}
-})();
View
1 mbostock-d3-0a6ad07/d3.csv.min.js
@@ -1 +0,0 @@
-(function(){function a(a){return a.map(b).join(",")}function b(a){return/[",\n]/.test(a)?'"'+a.replace(/\"/g,'""')+'"':a}d3.csv=function(a,b){d3.text(a,"text/csv",function(a){b(a&&d3.csv.parse(a))})},d3.csv.parse=function(a){var b;return d3.csv.parseRows(a,function(a,c){if(c){var d={},e=-1,f=b.length;while(++e<f)d[b[e]]=a[e];return d}return b=a,null})},d3.csv.parseRows=function(a,b){function j(){if(f.lastIndex>=a.length)return d;if(i)return i=!1,c;var b=f.lastIndex;if(a.charCodeAt(b)===34){var e=b;while(e++<a.length)if(a.charCodeAt(e)===34){if(a.charCodeAt(e+1)!==34)break;e++}f.lastIndex=e+2;var g=a.charCodeAt(e+1);return g===13?(i=!0,a.charCodeAt(e+2)===10&&f.lastIndex++):g===10&&(i=!0),a.substring(b+1,e).replace(/""/g,'"')}var h=f.exec(a);return h?(i=h[0].charCodeAt(0)!==44,a.substring(b,h.index)):(f.lastIndex=a.length,a.substring(b))}var c={},d={},e=[],f=/\r\n|[,\r\n]/g,g=0,h,i;f.lastIndex=0;while((h=j())!==d){var k=[];while(h!==c&&h!==d)k.push(h),h=j();if(b&&!(k=b(k,g++)))continue;e.push(k)}return e},d3.csv.format=function(b){return b.map(a).join("\n")}})();
View
938 mbostock-d3-0a6ad07/d3.geo.js
@@ -1,938 +0,0 @@
-(function(){d3.geo = {};
-
-var d3_geo_radians = Math.PI / 180;
-// TODO clip input coordinates on opposite hemisphere
-d3.geo.azimuthal = function() {
- var mode = "orthographic", // or stereographic, gnomonic, equidistant or equalarea
- origin,
- scale = 200,
- translate = [480, 250],
- x0,
- y0,
- cy0,
- sy0;
-
- function azimuthal(coordinates) {
- var x1 = coordinates[0] * d3_geo_radians - x0,
- y1 = coordinates[1] * d3_geo_radians,
- cx1 = Math.cos(x1),
- sx1 = Math.sin(x1),
- cy1 = Math.cos(y1),
- sy1 = Math.sin(y1),
- cc = mode !== "orthographic" ? sy0 * sy1 + cy0 * cy1 * cx1 : null,
- c,
- k = mode === "stereographic" ? 1 / (1 + cc)
- : mode === "gnomonic" ? 1 / cc
- : mode === "equidistant" ? (c = Math.acos(cc), c ? c / Math.sin(c) : 0)
- : mode === "equalarea" ? Math.sqrt(2 / (1 + cc))
- : 1,
- x = k * cy1 * sx1,
- y = k * (sy0 * cy1 * cx1 - cy0 * sy1);
- return [
- scale * x + translate[0],
- scale * y + translate[1]
- ];
- }
-
- azimuthal.invert = function(coordinates) {
- var x = (coordinates[0] - translate[0]) / scale,
- y = (coordinates[1] - translate[1]) / scale,
- p = Math.sqrt(x * x + y * y),
- c = mode === "stereographic" ? 2 * Math.atan(p)
- : mode === "gnomonic" ? Math.atan(p)
- : mode === "equidistant" ? p
- : mode === "equalarea" ? 2 * Math.asin(.5 * p)
- : Math.asin(p),
- sc = Math.sin(c),
- cc = Math.cos(c);
- return [
- (x0 + Math.atan2(x * sc, p * cy0 * cc + y * sy0 * sc)) / d3_geo_radians,
- Math.asin(cc * sy0 - (p ? (y * sc * cy0) / p : 0)) / d3_geo_radians
- ];
- };
-
- azimuthal.mode = function(x) {
- if (!arguments.length) return mode;
- mode = x + "";
- return azimuthal;
- };
-
- azimuthal.origin = function(x) {
- if (!arguments.length) return origin;
- origin = x;
- x0 = origin[0] * d3_geo_radians;
- y0 = origin[1] * d3_geo_radians;
- cy0 = Math.cos(y0);
- sy0 = Math.sin(y0);
- return azimuthal;
- };
-
- azimuthal.scale = function(x) {
- if (!arguments.length) return scale;
- scale = +x;
- return azimuthal;
- };
-
- azimuthal.translate = function(x) {
- if (!arguments.length) return translate;
- translate = [+x[0], +x[1]];
- return azimuthal;
- };
-
- return azimuthal.origin([0, 0]);
-};
-// Derived from Tom Carden's Albers implementation for Protovis.
-// http://gist.github.com/476238
-// http://mathworld.wolfram.com/AlbersEqual-AreaConicProjection.html
-
-d3.geo.albers = function() {
- var origin = [-98, 38],
- parallels = [29.5, 45.5],
- scale = 1000,
- translate = [480, 250],
- lng0, // d3_geo_radians * origin[0]
- n,
- C,
- p0;
-
- function albers(coordinates) {
- var t = n * (d3_geo_radians * coordinates[0] - lng0),
- p = Math.sqrt(C - 2 * n * Math.sin(d3_geo_radians * coordinates[1])) / n;
- return [
- scale * p * Math.sin(t) + translate[0],
- scale * (p * Math.cos(t) - p0) + translate[1]
- ];
- }
-
- albers.invert = function(coordinates) {
- var x = (coordinates[0] - translate[0]) / scale,
- y = (coordinates[1] - translate[1]) / scale,
- p0y = p0 + y,
- t = Math.atan2(x, p0y),
- p = Math.sqrt(x * x + p0y * p0y);
- return [
- (lng0 + t / n) / d3_geo_radians,
- Math.asin((C - p * p * n * n) / (2 * n)) / d3_geo_radians
- ];
- };
-
- function reload() {
- var phi1 = d3_geo_radians * parallels[0],
- phi2 = d3_geo_radians * parallels[1],
- lat0 = d3_geo_radians * origin[1],
- s = Math.sin(phi1),
- c = Math.cos(phi1);
- lng0 = d3_geo_radians * origin[0];
- n = .5 * (s + Math.sin(phi2));
- C = c * c + 2 * n * s;
- p0 = Math.sqrt(C - 2 * n * Math.sin(lat0)) / n;
- return albers;
- }
-
- albers.origin = function(x) {
- if (!arguments.length) return origin;
- origin = [+x[0], +x[1]];
- return reload();
- };
-
- albers.parallels = function(x) {
- if (!arguments.length) return parallels;
- parallels = [+x[0], +x[1]];
- return reload();
- };
-
- albers.scale = function(x) {
- if (!arguments.length) return scale;
- scale = +x;
- return albers;
- };
-
- albers.translate = function(x) {
- if (!arguments.length) return translate;
- translate = [+x[0], +x[1]];
- return albers;
- };
-
- return reload();
-};
-
-// A composite projection for the United States, 960x500. The set of standard
-// parallels for each region comes from USGS, which is published here:
-// http://egsc.usgs.gov/isb/pubs/MapProjections/projections.html#albers
-// TODO allow the composite projection to be rescaled?
-d3.geo.albersUsa = function() {
- var lower48 = d3.geo.albers();
-
- var alaska = d3.geo.albers()
- .origin([-160, 60])
- .parallels([55, 65]);
-
- var hawaii = d3.geo.albers()
- .origin([-160, 20])
- .parallels([8, 18]);
-
- var puertoRico = d3.geo.albers()
- .origin([-60, 10])
- .parallels([8, 18]);
-
- function albersUsa(coordinates) {
- var lon = coordinates[0],
- lat = coordinates[1];
- return (lat > 50 ? alaska
- : lon < -140 ? hawaii
- : lat < 21 ? puertoRico
- : lower48)(coordinates);
- }
-
- albersUsa.scale = function(x) {
- if (!arguments.length) return lower48.scale();
- lower48.scale(x);
- alaska.scale(x * .6);
- hawaii.scale(x);
- puertoRico.scale(x * 1.5);
- return albersUsa.translate(lower48.translate());
- };
-
- albersUsa.translate = function(x) {
- if (!arguments.length) return lower48.translate();
- var dz = lower48.scale() / 1000,
- dx = x[0],
- dy = x[1];
- lower48.translate(x);
- alaska.translate([dx - 400 * dz, dy + 170 * dz]);
- hawaii.translate([dx - 190 * dz, dy + 200 * dz]);
- puertoRico.translate([dx + 580 * dz, dy + 430 * dz]);
- return albersUsa;
- };
-
- return albersUsa.scale(lower48.scale());
-};
-d3.geo.bonne = function() {
- var scale = 200,
- translate = [480, 250],
- x0, // origin longitude in radians
- y0, // origin latitude in radians
- y1, // parallel latitude in radians
- c1; // cot(y1)
-
- function bonne(coordinates) {
- var x = coordinates[0] * d3_geo_radians - x0,
- y = coordinates[1] * d3_geo_radians - y0;
- if (y1) {
- var p = c1 + y1 - y, E = x * Math.cos(y) / p;
- x = p * Math.sin(E);
- y = p * Math.cos(E) - c1;
- } else {
- x *= Math.cos(y);
- y *= -1;
- }
- return [
- scale * x + translate[0],
- scale * y + translate[1]
- ];
- }
-
- bonne.invert = function(coordinates) {
- var x = (coordinates[0] - translate[0]) / scale,
- y = (coordinates[1] - translate[1]) / scale;
- if (y1) {
- var c = c1 + y, p = Math.sqrt(x * x + c * c);
- y = c1 + y1 - p;
- x = x0 + p * Math.atan2(x, c) / Math.cos(y);
- } else {
- y *= -1;
- x /= Math.cos(y);
- }
- return [
- x / d3_geo_radians,
- y / d3_geo_radians
- ];
- };
-
- // 90° for Werner, 0° for Sinusoidal
- bonne.parallel = function(x) {
- if (!arguments.length) return y1 / d3_geo_radians;
- c1 = 1 / Math.tan(y1 = x * d3_geo_radians);
- return bonne;
- };
-
- bonne.origin = function(x) {
- if (!arguments.length) return [x0 / d3_geo_radians, y0 / d3_geo_radians];
- x0 = x[0] * d3_geo_radians;
- y0 = x[1] * d3_geo_radians;
- return bonne;
- };
-
- bonne.scale = function(x) {
- if (!arguments.length) return scale;
- scale = +x;
- return bonne;
- };
-
- bonne.translate = function(x) {
- if (!arguments.length) return translate;
- translate = [+x[0], +x[1]];
- return bonne;
- };
-
- return bonne.origin([0, 0]).parallel(45);
-};
-d3.geo.equirectangular = function() {
- var scale = 500,
- translate = [480, 250];
-
- function equirectangular(coordinates) {
- var x = coordinates[0] / 360,
- y = -coordinates[1] / 360;
- return [
- scale * x + translate[0],
- scale * y + translate[1]
- ];
- }
-
- equirectangular.invert = function(coordinates) {
- var x = (coordinates[0] - translate[0]) / scale,
- y = (coordinates[1] - translate[1]) / scale;
- return [
- 360 * x,
- -360 * y
- ];
- };
-
- equirectangular.scale = function(x) {
- if (!arguments.length) return scale;
- scale = +x;
- return equirectangular;
- };
-
- equirectangular.translate = function(x) {
- if (!arguments.length) return translate;
- translate = [+x[0], +x[1]];
- return equirectangular;
- };
-
- return equirectangular;
-};
-d3.geo.mercator = function() {
- var scale = 500,
- translate = [480, 250];
-
- function mercator(coordinates) {
- var x = coordinates[0] / 360,
- y = -(Math.log(Math.tan(Math.PI / 4 + coordinates[1] * d3_geo_radians / 2)) / d3_geo_radians) / 360;
- return [
- scale * x + translate[0],
- scale * Math.max(-.5, Math.min(.5, y)) + translate[1]
- ];
- }
-
- mercator.invert = function(coordinates) {
- var x = (coordinates[0] - translate[0]) / scale,
- y = (coordinates[1] - translate[1]) / scale;
- return [
- 360 * x,
- 2 * Math.atan(Math.exp(-360 * y * d3_geo_radians)) / d3_geo_radians - 90
- ];
- };
-
- mercator.scale = function(x) {
- if (!arguments.length) return scale;
- scale = +x;
- return mercator;
- };
-
- mercator.translate = function(x) {
- if (!arguments.length) return translate;
- translate = [+x[0], +x[1]];
- return mercator;
- };
-
- return mercator;
-};
-function d3_geo_type(types, defaultValue) {
- return function(object) {
- return object && object.type in types ? types[object.type](object) : defaultValue;
- };
-}
-/**
- * Returns a function that, given a GeoJSON object (e.g., a feature), returns
- * the corresponding SVG path. The function can be customized by overriding the
- * projection. Point features are mapped to circles with a default radius of
- * 4.5px; the radius can be specified either as a constant or a function that
- * is evaluated per object.
- */
-d3.geo.path = function() {
- var pointRadius = 4.5,
- pointCircle = d3_path_circle(pointRadius),
- projection = d3.geo.albersUsa();
-
- function path(d, i) {
- if (typeof pointRadius === "function") {
- pointCircle = d3_path_circle(pointRadius.apply(this, arguments));
- }
- return pathType(d) || null;
- }
-
- function project(coordinates) {
- return projection(coordinates).join(",");
- }
-
- var pathType = d3_geo_type({
-
- FeatureCollection: function(o) {
- var path = [],
- features = o.features,
- i = -1, // features.index
- n = features.length;
- while (++i < n) path.push(pathType(features[i].geometry));
- return path.join("");
- },
-
- Feature: function(o) {
- return pathType(o.geometry);
- },
-
- Point: function(o) {
- return "M" + project(o.coordinates) + pointCircle;
- },
-
- MultiPoint: function(o) {
- var path = [],
- coordinates = o.coordinates,
- i = -1, // coordinates.index
- n = coordinates.length;
- while (++i < n) path.push("M", project(coordinates[i]), pointCircle);
- return path.join("");
- },
-
- LineString: function(o) {
- var path = ["M"],
- coordinates = o.coordinates,