fluent-plugin-detect-memb-exceptions 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2537) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING +24 -0
  3. data/Gemfile +3 -0
  4. data/Gemfile.lock +61 -0
  5. data/LICENSE +201 -0
  6. data/README.rdoc +100 -0
  7. data/Rakefile +38 -0
  8. data/fluent-plugin-detect-exceptions.gemspec +28 -0
  9. data/lib/fluent/plugin/exception_detector.rb +322 -0
  10. data/lib/fluent/plugin/out_detect_exceptions.rb +136 -0
  11. data/test/helper.rb +46 -0
  12. data/test/plugin/bench_exception_detector.rb +73 -0
  13. data/test/plugin/test_exception_detector.rb +407 -0
  14. data/test/plugin/test_out_detect_exceptions.rb +212 -0
  15. data/vendor/bundle/ruby/2.0.0/bin/fluent-cat +23 -0
  16. data/vendor/bundle/ruby/2.0.0/bin/fluent-debug +23 -0
  17. data/vendor/bundle/ruby/2.0.0/bin/fluent-gem +23 -0
  18. data/vendor/bundle/ruby/2.0.0/bin/fluentd +23 -0
  19. data/vendor/bundle/ruby/2.0.0/bin/rake +23 -0
  20. data/vendor/bundle/ruby/2.0.0/bin/rubocop +23 -0
  21. data/vendor/bundle/ruby/2.0.0/bin/ruby-parse +23 -0
  22. data/vendor/bundle/ruby/2.0.0/bin/ruby-rewrite +23 -0
  23. data/vendor/bundle/ruby/2.0.0/cache/ast-2.3.0.gem +0 -0
  24. data/vendor/bundle/ruby/2.0.0/cache/cool.io-1.5.0.gem +0 -0
  25. data/vendor/bundle/ruby/2.0.0/cache/fluentd-0.12.35.gem +0 -0
  26. data/vendor/bundle/ruby/2.0.0/cache/http_parser.rb-0.6.0.gem +0 -0
  27. data/vendor/bundle/ruby/2.0.0/cache/json-2.1.0.gem +0 -0
  28. data/vendor/bundle/ruby/2.0.0/cache/msgpack-1.1.0.gem +0 -0
  29. data/vendor/bundle/ruby/2.0.0/cache/parser-2.4.0.0.gem +0 -0
  30. data/vendor/bundle/ruby/2.0.0/cache/power_assert-1.0.2.gem +0 -0
  31. data/vendor/bundle/ruby/2.0.0/cache/powerpack-0.1.1.gem +0 -0
  32. data/vendor/bundle/ruby/2.0.0/cache/rainbow-2.2.2.gem +0 -0
  33. data/vendor/bundle/ruby/2.0.0/cache/rake-10.5.0.gem +0 -0
  34. data/vendor/bundle/ruby/2.0.0/cache/rubocop-0.42.0.gem +0 -0
  35. data/vendor/bundle/ruby/2.0.0/cache/ruby-progressbar-1.8.1.gem +0 -0
  36. data/vendor/bundle/ruby/2.0.0/cache/sigdump-0.2.4.gem +0 -0
  37. data/vendor/bundle/ruby/2.0.0/cache/string-scrub-0.0.5.gem +0 -0
  38. data/vendor/bundle/ruby/2.0.0/cache/test-unit-3.2.3.gem +0 -0
  39. data/vendor/bundle/ruby/2.0.0/cache/thread_safe-0.3.6.gem +0 -0
  40. data/vendor/bundle/ruby/2.0.0/cache/tzinfo-1.2.3.gem +0 -0
  41. data/vendor/bundle/ruby/2.0.0/cache/tzinfo-data-1.2017.2.gem +0 -0
  42. data/vendor/bundle/ruby/2.0.0/cache/unicode-display_width-1.2.1.gem +0 -0
  43. data/vendor/bundle/ruby/2.0.0/cache/yajl-ruby-1.3.0.gem +0 -0
  44. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/CHANGELOG.md +9 -0
  45. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/Gemfile +4 -0
  46. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/LICENSE.MIT +20 -0
  47. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/README.YARD.md +12 -0
  48. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/README.md +23 -0
  49. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/Rakefile +19 -0
  50. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/ast.gemspec +29 -0
  51. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/lib/ast.rb +17 -0
  52. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/lib/ast/node.rb +253 -0
  53. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/lib/ast/processor.rb +12 -0
  54. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/lib/ast/processor/mixin.rb +288 -0
  55. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/lib/ast/sexp.rb +30 -0
  56. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/test/helper.rb +17 -0
  57. data/vendor/bundle/ruby/2.0.0/gems/ast-2.3.0/test/test_ast.rb +264 -0
  58. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/CHANGES.md +260 -0
  59. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/Gemfile +4 -0
  60. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/LICENSE +20 -0
  61. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/README.md +166 -0
  62. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/Rakefile +79 -0
  63. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/appveyor.yml +18 -0
  64. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/cool.io.gemspec +24 -0
  65. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/callbacked_echo_server.rb +24 -0
  66. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/dslified_echo_client.rb +34 -0
  67. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/dslified_echo_server.rb +24 -0
  68. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/echo_client.rb +38 -0
  69. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/echo_server.rb +27 -0
  70. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/examples/google.rb +9 -0
  71. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/Makefile +238 -0
  72. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/cool.io.h +59 -0
  73. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/cool.io_ext.bundle +0 -0
  74. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/cool.io_ext.c +25 -0
  75. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/cool.io_ext.o +0 -0
  76. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/ev_wrap.h +10 -0
  77. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/extconf.rb +66 -0
  78. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/iowatcher.c +189 -0
  79. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/iowatcher.o +0 -0
  80. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/libev.c +8 -0
  81. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/libev.o +0 -0
  82. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/loop.c +254 -0
  83. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/loop.o +0 -0
  84. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/mkmf.log +300 -0
  85. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/stat_watcher.c +269 -0
  86. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/stat_watcher.o +0 -0
  87. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/timer_watcher.c +219 -0
  88. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/timer_watcher.o +0 -0
  89. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/utils.c +122 -0
  90. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/utils.o +0 -0
  91. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/watcher.c +264 -0
  92. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/watcher.h +71 -0
  93. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/cool.io/watcher.o +0 -0
  94. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/Makefile +238 -0
  95. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/extconf.rb +9 -0
  96. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/iobuffer.c +767 -0
  97. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/iobuffer.o +0 -0
  98. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/iobuffer_ext.bundle +0 -0
  99. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/iobuffer/mkmf.log +123 -0
  100. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/Changes +513 -0
  101. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/LICENSE +37 -0
  102. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/README +58 -0
  103. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/README.embed +3 -0
  104. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev.c +5235 -0
  105. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev.h +854 -0
  106. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_epoll.c +285 -0
  107. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_kqueue.c +218 -0
  108. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_poll.c +151 -0
  109. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_port.c +189 -0
  110. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_select.c +364 -0
  111. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_vars.h +204 -0
  112. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_win32.c +162 -0
  113. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/ev_wrap.h +200 -0
  114. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/ext/libev/test_libev_win32.c +123 -0
  115. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io.rb +34 -0
  116. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/async_watcher.rb +43 -0
  117. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/custom_require.rb +9 -0
  118. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/dns_resolver.rb +219 -0
  119. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/dsl.rb +139 -0
  120. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/io.rb +194 -0
  121. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/iowatcher.rb +17 -0
  122. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/listener.rb +111 -0
  123. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/loop.rb +122 -0
  124. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/meta.rb +50 -0
  125. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/server.rb +75 -0
  126. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/socket.rb +231 -0
  127. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/timer_watcher.rb +17 -0
  128. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io/version.rb +7 -0
  129. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/cool.io_ext.bundle +0 -0
  130. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/coolio.rb +2 -0
  131. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/lib/iobuffer_ext.bundle +0 -0
  132. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/libev_ruby_gil.diff +175 -0
  133. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/libev_win_select.diff +130 -0
  134. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/async_watcher_spec.rb +57 -0
  135. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/dns_spec.rb +43 -0
  136. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/iobuffer_spec.rb +147 -0
  137. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/spec_helper.rb +19 -0
  138. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/stat_watcher_spec.rb +81 -0
  139. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/tcp_server_spec.rb +225 -0
  140. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/tcp_socket_spec.rb +185 -0
  141. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/timer_watcher_spec.rb +59 -0
  142. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/udp_socket_spec.rb +58 -0
  143. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/unix_listener_spec.rb +25 -0
  144. data/vendor/bundle/ruby/2.0.0/gems/cool.io-1.5.0/spec/unix_server_spec.rb +27 -0
  145. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/AUTHORS +2 -0
  146. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/CONTRIBUTING.md +34 -0
  147. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/COPYING +14 -0
  148. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/ChangeLog +594 -0
  149. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/Gemfile +9 -0
  150. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/README.md +76 -0
  151. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/Rakefile +33 -0
  152. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/bin/fluent-cat +5 -0
  153. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/bin/fluent-debug +5 -0
  154. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/bin/fluent-gem +9 -0
  155. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/bin/fluentd +5 -0
  156. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/filter_stdout.conf +22 -0
  157. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_forward.conf +7 -0
  158. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_http.conf +14 -0
  159. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_syslog.conf +15 -0
  160. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_tail.conf +14 -0
  161. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_tcp.conf +13 -0
  162. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/in_udp.conf +13 -0
  163. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/out_copy.conf +20 -0
  164. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/out_file.conf +13 -0
  165. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/out_forward.conf +35 -0
  166. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/v0_12_filter.conf +78 -0
  167. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/example/v1_literal_example.conf +36 -0
  168. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/fluent.conf +110 -0
  169. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/fluentd.gemspec +41 -0
  170. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/agent.rb +189 -0
  171. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/buffer.rb +365 -0
  172. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/command/bundler_injection.rb +45 -0
  173. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/command/cat.rb +319 -0
  174. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/command/debug.rb +100 -0
  175. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/command/fluentd.rb +173 -0
  176. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config.rb +53 -0
  177. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/basic_parser.rb +123 -0
  178. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/configure_proxy.rb +276 -0
  179. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/dsl.rb +145 -0
  180. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/element.rb +154 -0
  181. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/error.rb +26 -0
  182. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/literal_parser.rb +251 -0
  183. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/parser.rb +107 -0
  184. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/section.rb +186 -0
  185. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/types.rb +147 -0
  186. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/config/v1_parser.rb +191 -0
  187. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/configurable.rb +143 -0
  188. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/engine.rb +246 -0
  189. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/env.rb +25 -0
  190. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/event.rb +158 -0
  191. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/event_router.rb +186 -0
  192. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/filter.rb +69 -0
  193. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/formatter.rb +312 -0
  194. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/input.rb +51 -0
  195. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/label.rb +38 -0
  196. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/load.rb +35 -0
  197. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/log.rb +376 -0
  198. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/match.rb +177 -0
  199. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/mixin.rb +195 -0
  200. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/output.rb +631 -0
  201. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/parser.rb +814 -0
  202. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin.rb +179 -0
  203. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/buf_file.rb +232 -0
  204. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/buf_memory.rb +117 -0
  205. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/exec_util.rb +127 -0
  206. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/file_util.rb +52 -0
  207. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/filter_grep.rb +79 -0
  208. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/filter_parser.rb +107 -0
  209. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/filter_record_transformer.rb +339 -0
  210. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/filter_stdout.rb +50 -0
  211. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_debug_agent.rb +60 -0
  212. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_dummy.rb +112 -0
  213. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_exec.rb +176 -0
  214. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_forward.rb +390 -0
  215. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_gc_stat.rb +78 -0
  216. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_http.rb +417 -0
  217. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_monitor_agent.rb +480 -0
  218. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_object_space.rb +121 -0
  219. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_status.rb +76 -0
  220. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_stream.rb +197 -0
  221. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_syslog.rb +225 -0
  222. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_tail.rb +1342 -0
  223. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_tcp.rb +34 -0
  224. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_udp.rb +43 -0
  225. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_copy.rb +81 -0
  226. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_exec.rb +108 -0
  227. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_exec_filter.rb +385 -0
  228. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_file.rb +140 -0
  229. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_forward.rb +666 -0
  230. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_null.rb +41 -0
  231. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_relabel.rb +28 -0
  232. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_roundrobin.rb +103 -0
  233. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_stdout.rb +41 -0
  234. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/out_stream.rb +125 -0
  235. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/socket_util.rb +162 -0
  236. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/plugin/string_util.rb +34 -0
  237. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/process.rb +508 -0
  238. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/registry.rb +74 -0
  239. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/root_agent.rb +236 -0
  240. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/rpc.rb +94 -0
  241. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/status.rb +48 -0
  242. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/supervisor.rb +573 -0
  243. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/system_config.rb +98 -0
  244. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test.rb +26 -0
  245. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/base.rb +126 -0
  246. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/filter_test.rb +78 -0
  247. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/formatter_test.rb +62 -0
  248. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/helpers.rb +86 -0
  249. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/input_test.rb +166 -0
  250. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/output_test.rb +167 -0
  251. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/test/parser_test.rb +68 -0
  252. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/time.rb +1 -0
  253. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/timezone.rb +133 -0
  254. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/lib/fluent/version.rb +21 -0
  255. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/assertions.rb +42 -0
  256. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_config_parser.rb +424 -0
  257. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_configurable.rb +833 -0
  258. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_configure_proxy.rb +254 -0
  259. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_dsl.rb +415 -0
  260. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_literal_parser.rb +297 -0
  261. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_section.rb +112 -0
  262. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_system_config.rb +99 -0
  263. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/config/test_types.rb +190 -0
  264. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/helper.rb +71 -0
  265. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/2010/01/20100102-030405.log +0 -0
  266. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/2010/01/20100102-030406.log +0 -0
  267. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/2010/01/20100102.log +0 -0
  268. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/log/bar +0 -0
  269. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/log/foo/bar.log +0 -0
  270. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/log/foo/bar2 +0 -0
  271. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/data/log/test.log +0 -0
  272. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_buf_file.rb +604 -0
  273. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_buf_memory.rb +204 -0
  274. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_file_util.rb +96 -0
  275. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_filter_grep.rb +115 -0
  276. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_filter_parser.rb +744 -0
  277. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_filter_record_transformer.rb +608 -0
  278. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_filter_stdout.rb +114 -0
  279. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_debug_agent.rb +26 -0
  280. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_dummy.rb +99 -0
  281. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_exec.rb +156 -0
  282. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_forward.rb +602 -0
  283. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_gc_stat.rb +37 -0
  284. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_http.rb +476 -0
  285. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_object_space.rb +48 -0
  286. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_status.rb +38 -0
  287. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_stream.rb +125 -0
  288. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_syslog.rb +286 -0
  289. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_tail.rb +1054 -0
  290. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_tcp.rb +88 -0
  291. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_in_udp.rb +113 -0
  292. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_copy.rb +186 -0
  293. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_exec.rb +105 -0
  294. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_exec_filter.rb +196 -0
  295. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_file.rb +329 -0
  296. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_forward.rb +424 -0
  297. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_roundrobin.rb +139 -0
  298. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_stdout.rb +72 -0
  299. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_out_stream.rb +75 -0
  300. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/plugin/test_string_util.rb +26 -0
  301. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/scripts/exec_script.rb +38 -0
  302. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/scripts/fluent/plugin/formatter_known.rb +8 -0
  303. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/scripts/fluent/plugin/out_test.rb +73 -0
  304. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/scripts/fluent/plugin/parser_known.rb +4 -0
  305. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_buffer.rb +624 -0
  306. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_config.rb +170 -0
  307. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_configdsl.rb +148 -0
  308. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_event.rb +168 -0
  309. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_event_router.rb +234 -0
  310. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_filter.rb +79 -0
  311. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_formatter.rb +692 -0
  312. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_input.rb +31 -0
  313. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_log.rb +344 -0
  314. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_match.rb +137 -0
  315. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_mixin.rb +351 -0
  316. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_output.rb +337 -0
  317. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_parser.rb +1222 -0
  318. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_plugin_classes.rb +101 -0
  319. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_process.rb +48 -0
  320. data/vendor/bundle/ruby/2.0.0/gems/fluentd-0.12.35/test/test_root_agent.rb +179 -0
  321. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/Gemfile +2 -0
  322. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/Gemfile.lock +39 -0
  323. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/LICENSE-MIT +20 -0
  324. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/README.md +90 -0
  325. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/Rakefile +6 -0
  326. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/bench/standalone.rb +23 -0
  327. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/bench/thin.rb +58 -0
  328. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/Makefile +238 -0
  329. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/RubyHttpParserService.java +18 -0
  330. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ext_help.h +18 -0
  331. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/extconf.rb +24 -0
  332. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/org/ruby_http_parser/RubyHttpParser.java +495 -0
  333. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ruby_http_parser.bundle +0 -0
  334. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ruby_http_parser.c +515 -0
  335. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ruby_http_parser.o +0 -0
  336. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ryah_http_parser.c +2058 -0
  337. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ryah_http_parser.h +312 -0
  338. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/ryah_http_parser.o +0 -0
  339. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/AUTHORS +32 -0
  340. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/LICENSE-MIT +48 -0
  341. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/Makefile +58 -0
  342. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/README.md +183 -0
  343. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/TODO +28 -0
  344. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/build.xml +74 -0
  345. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/ext/primitives.jar +0 -0
  346. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.c +2175 -0
  347. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.gyp +79 -0
  348. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/http_parser.h +304 -0
  349. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/Http-parser.java.iml +22 -0
  350. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/FieldData.java +41 -0
  351. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPCallback.java +8 -0
  352. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPDataCallback.java +34 -0
  353. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPErrorCallback.java +12 -0
  354. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPException.java +9 -0
  355. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPMethod.java +107 -0
  356. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParser.java +36 -0
  357. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/HTTPParserUrl.java +76 -0
  358. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserSettings.java +256 -0
  359. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/ParserType.java +13 -0
  360. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/Util.java +111 -0
  361. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPCallback.java +5 -0
  362. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPDataCallback.java +25 -0
  363. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPErrorCallback.java +7 -0
  364. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/HTTPParser.java +2161 -0
  365. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/impl/http_parser/lolevel/ParserSettings.java +83 -0
  366. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Message.java +374 -0
  367. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/ParseUrl.java +51 -0
  368. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Requests.java +69 -0
  369. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Responses.java +52 -0
  370. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Test.java +16 -0
  371. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestHeaderOverflowError.java +48 -0
  372. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestLoaderNG.java +212 -0
  373. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/TestNoOverflowLongBody.java +62 -0
  374. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/UnitTest.java +117 -0
  375. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Upgrade.java +27 -0
  376. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Url.java +127 -0
  377. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/Util.java +236 -0
  378. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/src/test/http_parser/lolevel/WrongContentLength.java +59 -0
  379. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/test.c +3425 -0
  380. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tests.dumped +845 -0
  381. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tests.utf8 +17 -0
  382. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tools/byte_constants.rb +6 -0
  383. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tools/const_char.rb +13 -0
  384. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tools/lowcase.rb +15 -0
  385. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser-java/tools/parse_tests.rb +33 -0
  386. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/AUTHORS +32 -0
  387. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/CONTRIBUTIONS +4 -0
  388. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/LICENSE-MIT +23 -0
  389. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/Makefile +58 -0
  390. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/README.md +178 -0
  391. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/http_parser.c +2058 -0
  392. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/http_parser.gyp +79 -0
  393. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/http_parser.h +312 -0
  394. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/ext/ruby_http_parser/vendor/http-parser/test.c +2876 -0
  395. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/http_parser.rb.gemspec +28 -0
  396. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/lib/http/parser.rb +1 -0
  397. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/lib/http_parser.rb +21 -0
  398. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/lib/ruby_http_parser.bundle +0 -0
  399. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/spec/parser_spec.rb +350 -0
  400. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/spec/spec_helper.rb +1 -0
  401. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/spec/support/requests.json +612 -0
  402. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/spec/support/responses.json +375 -0
  403. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/tasks/compile.rake +42 -0
  404. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/tasks/fixtures.rake +71 -0
  405. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/tasks/spec.rake +5 -0
  406. data/vendor/bundle/ruby/2.0.0/gems/http_parser.rb-0.6.0/tasks/submodules.rake +7 -0
  407. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/CHANGES.md +388 -0
  408. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/Gemfile +16 -0
  409. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/README-json-jruby.md +33 -0
  410. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/README.md +392 -0
  411. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/Rakefile +408 -0
  412. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/VERSION +1 -0
  413. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/data/example.json +1 -0
  414. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/data/index.html +38 -0
  415. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/data/prototype.js +4184 -0
  416. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/Makefile +193 -0
  417. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/fbuffer/fbuffer.h +187 -0
  418. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/Makefile +239 -0
  419. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/depend +1 -0
  420. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/extconf.rb +4 -0
  421. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/generator.bundle +0 -0
  422. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/generator.c +1443 -0
  423. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/generator.h +171 -0
  424. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/generator/generator.o +0 -0
  425. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/Makefile +239 -0
  426. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/depend +1 -0
  427. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/extconf.rb +6 -0
  428. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/mkmf.log +67 -0
  429. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/parser.bundle +0 -0
  430. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/parser.c +2109 -0
  431. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/parser.h +91 -0
  432. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/parser.o +0 -0
  433. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/ext/parser/parser.rl +869 -0
  434. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/ext/json/extconf.rb +2 -0
  435. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/install.rb +23 -0
  436. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/ByteListTranscoder.java +166 -0
  437. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/Generator.java +443 -0
  438. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/GeneratorMethods.java +231 -0
  439. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/GeneratorService.java +42 -0
  440. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/GeneratorState.java +490 -0
  441. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/OptionsReader.java +113 -0
  442. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/Parser.java +2362 -0
  443. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/Parser.rl +893 -0
  444. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/ParserService.java +34 -0
  445. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/RuntimeInfo.java +116 -0
  446. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/StringDecoder.java +166 -0
  447. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/StringEncoder.java +111 -0
  448. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/java/src/json/ext/Utils.java +88 -0
  449. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/json-java.gemspec +38 -0
  450. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/json.gemspec +0 -0
  451. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/json_pure.gemspec +38 -0
  452. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json.rb +63 -0
  453. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/bigdecimal.rb +29 -0
  454. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/complex.rb +29 -0
  455. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/core.rb +12 -0
  456. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/date.rb +34 -0
  457. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/date_time.rb +50 -0
  458. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/exception.rb +31 -0
  459. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/ostruct.rb +31 -0
  460. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/range.rb +29 -0
  461. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/rational.rb +28 -0
  462. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/regexp.rb +30 -0
  463. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/struct.rb +30 -0
  464. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/symbol.rb +25 -0
  465. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/add/time.rb +38 -0
  466. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/common.rb +456 -0
  467. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/ext.rb +15 -0
  468. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/ext/generator.bundle +0 -0
  469. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/ext/parser.bundle +0 -0
  470. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/generic_object.rb +71 -0
  471. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/pure.rb +15 -0
  472. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/pure/generator.rb +458 -0
  473. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/pure/parser.rb +311 -0
  474. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/lib/json/version.rb +9 -0
  475. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/references/rfc7159.txt +899 -0
  476. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail10.json +1 -0
  477. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail11.json +1 -0
  478. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail12.json +1 -0
  479. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail13.json +1 -0
  480. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail14.json +1 -0
  481. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail18.json +1 -0
  482. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail19.json +1 -0
  483. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail2.json +1 -0
  484. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail20.json +1 -0
  485. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail21.json +1 -0
  486. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail22.json +1 -0
  487. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail23.json +1 -0
  488. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail24.json +1 -0
  489. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail25.json +1 -0
  490. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail27.json +2 -0
  491. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail28.json +2 -0
  492. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail3.json +1 -0
  493. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail4.json +1 -0
  494. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail5.json +1 -0
  495. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail6.json +1 -0
  496. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail7.json +1 -0
  497. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail8.json +1 -0
  498. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/fail9.json +1 -0
  499. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/obsolete_fail1.json +1 -0
  500. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass1.json +56 -0
  501. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass15.json +1 -0
  502. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass16.json +1 -0
  503. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass17.json +1 -0
  504. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass2.json +1 -0
  505. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass26.json +1 -0
  506. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/fixtures/pass3.json +6 -0
  507. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_addition_test.rb +193 -0
  508. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_common_interface_test.rb +126 -0
  509. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_encoding_test.rb +107 -0
  510. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_ext_parser_test.rb +15 -0
  511. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_fixtures_test.rb +32 -0
  512. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_generator_test.rb +377 -0
  513. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_generic_object_test.rb +82 -0
  514. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_parser_test.rb +471 -0
  515. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/json_string_matching_test.rb +38 -0
  516. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tests/test_helper.rb +21 -0
  517. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tools/diff.sh +18 -0
  518. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tools/fuzz.rb +131 -0
  519. data/vendor/bundle/ruby/2.0.0/gems/json-2.1.0/tools/server.rb +62 -0
  520. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ChangeLog +195 -0
  521. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/Gemfile +6 -0
  522. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/LICENSE +177 -0
  523. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/README.rdoc +201 -0
  524. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/Rakefile +74 -0
  525. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/appveyor.yml +18 -0
  526. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/pack.rb +23 -0
  527. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/pack_log.rb +33 -0
  528. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/pack_log_long.rb +65 -0
  529. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/pack_symbols.rb +28 -0
  530. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/run.sh +14 -0
  531. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/run_long.sh +35 -0
  532. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/run_symbols.sh +26 -0
  533. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/unpack.rb +21 -0
  534. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/unpack_log.rb +34 -0
  535. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/bench/unpack_log_long.rb +67 -0
  536. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack.rb +87 -0
  537. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/buffer.rb +193 -0
  538. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/core_ext.rb +101 -0
  539. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/error.rb +19 -0
  540. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/extension_value.rb +9 -0
  541. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/factory.rb +68 -0
  542. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/packer.rb +188 -0
  543. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/doclib/msgpack/unpacker.rb +183 -0
  544. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Buffer.java +222 -0
  545. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Decoder.java +284 -0
  546. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Encoder.java +409 -0
  547. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/ExtensionRegistry.java +159 -0
  548. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/ExtensionValue.java +131 -0
  549. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Factory.java +124 -0
  550. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/MessagePackLibrary.java +137 -0
  551. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Packer.java +178 -0
  552. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Types.java +37 -0
  553. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/java/org/msgpack/jruby/Unpacker.java +313 -0
  554. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/Makefile +238 -0
  555. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer.c +695 -0
  556. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer.h +447 -0
  557. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer.o +0 -0
  558. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer_class.c +507 -0
  559. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer_class.h +32 -0
  560. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/buffer_class.o +0 -0
  561. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/compat.h +126 -0
  562. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/core_ext.c +159 -0
  563. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/core_ext.h +26 -0
  564. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/core_ext.o +0 -0
  565. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/extconf.rb +33 -0
  566. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/extension_value_class.c +34 -0
  567. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/extension_value_class.h +31 -0
  568. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/extension_value_class.o +0 -0
  569. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/factory_class.c +221 -0
  570. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/factory_class.h +35 -0
  571. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/factory_class.o +0 -0
  572. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/mkmf.log +250 -0
  573. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/msgpack.bundle +0 -0
  574. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer.c +194 -0
  575. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer.h +508 -0
  576. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer.o +0 -0
  577. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_class.c +387 -0
  578. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_class.h +34 -0
  579. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_class.o +0 -0
  580. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_ext_registry.c +79 -0
  581. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_ext_registry.h +97 -0
  582. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/packer_ext_registry.o +0 -0
  583. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/rbinit.c +37 -0
  584. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/rbinit.o +0 -0
  585. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/rmem.c +94 -0
  586. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/rmem.h +109 -0
  587. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/rmem.o +0 -0
  588. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/sysdep.h +115 -0
  589. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/sysdep_endian.h +50 -0
  590. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/sysdep_types.h +46 -0
  591. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker.c +876 -0
  592. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker.h +133 -0
  593. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker.o +0 -0
  594. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_class.c +498 -0
  595. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_class.h +34 -0
  596. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_class.o +0 -0
  597. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_ext_registry.c +62 -0
  598. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_ext_registry.h +59 -0
  599. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/ext/msgpack/unpacker_ext_registry.o +0 -0
  600. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack.rb +18 -0
  601. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/factory.rb +60 -0
  602. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/msgpack.bundle +0 -0
  603. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/packer.rb +28 -0
  604. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/symbol.rb +9 -0
  605. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/unpacker.rb +28 -0
  606. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/lib/msgpack/version.rb +3 -0
  607. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/msgpack.gemspec +34 -0
  608. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/msgpack.org.md +46 -0
  609. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cases.json +1 -0
  610. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cases.msg +0 -0
  611. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cases_compact.msg +0 -0
  612. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cases_spec.rb +39 -0
  613. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cruby/buffer_io_spec.rb +255 -0
  614. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cruby/buffer_packer.rb +29 -0
  615. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cruby/buffer_spec.rb +570 -0
  616. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cruby/buffer_unpacker.rb +19 -0
  617. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/cruby/unpacker_spec.rb +70 -0
  618. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/ext_value_spec.rb +99 -0
  619. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/exttypes.rb +51 -0
  620. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/factory_spec.rb +328 -0
  621. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/format_spec.rb +301 -0
  622. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/jruby/benchmarks/shootout_bm.rb +73 -0
  623. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/jruby/benchmarks/symbolize_keys_bm.rb +25 -0
  624. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/jruby/unpacker_spec.rb +186 -0
  625. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/msgpack_spec.rb +171 -0
  626. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/pack_spec.rb +61 -0
  627. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/packer_spec.rb +455 -0
  628. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/random_compat.rb +24 -0
  629. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/spec_helper.rb +38 -0
  630. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/unpack_spec.rb +57 -0
  631. data/vendor/bundle/ruby/2.0.0/gems/msgpack-1.1.0/spec/unpacker_spec.rb +716 -0
  632. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/CHANGELOG.md +826 -0
  633. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/CONTRIBUTING.md +17 -0
  634. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/Gemfile +8 -0
  635. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/LICENSE.txt +25 -0
  636. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/README.md +300 -0
  637. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/Rakefile +158 -0
  638. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/bin/ruby-parse +6 -0
  639. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/bin/ruby-rewrite +6 -0
  640. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/doc/AST_FORMAT.md +1713 -0
  641. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/doc/CUSTOMIZATION.md +37 -0
  642. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/doc/INTERNALS.md +21 -0
  643. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/doc/css/common.css +68 -0
  644. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/gauntlet_parser.rb +121 -0
  645. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser.rb +81 -0
  646. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/all.rb +7 -0
  647. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ast/node.rb +38 -0
  648. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ast/processor.rb +234 -0
  649. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/base.rb +268 -0
  650. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/builders/default.rb +1608 -0
  651. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/clobbering_error.rb +11 -0
  652. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/compatibility/ruby1_8.rb +20 -0
  653. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/compatibility/ruby1_9.rb +32 -0
  654. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/current.rb +81 -0
  655. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/diagnostic.rb +163 -0
  656. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/diagnostic/engine.rb +103 -0
  657. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer.rb +21715 -0
  658. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer.rl +2270 -0
  659. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer/dedenter.rb +49 -0
  660. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer/explanation.rb +53 -0
  661. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer/literal.rb +262 -0
  662. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/lexer/stack_state.rb +42 -0
  663. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/macruby.rb +6093 -0
  664. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/macruby.y +2173 -0
  665. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/messages.rb +70 -0
  666. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/meta.rb +27 -0
  667. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/rewriter.rb +119 -0
  668. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby18.rb +5637 -0
  669. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby18.y +1917 -0
  670. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby19.rb +6040 -0
  671. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby19.y +2150 -0
  672. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby20.rb +6477 -0
  673. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby20.y +2328 -0
  674. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby21.rb +6547 -0
  675. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby21.y +2337 -0
  676. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby22.rb +6580 -0
  677. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby22.y +2344 -0
  678. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby23.rb +6590 -0
  679. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby23.y +2350 -0
  680. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby24.rb +6626 -0
  681. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/ruby24.y +2361 -0
  682. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/rubymotion.rb +6046 -0
  683. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/rubymotion.y +2157 -0
  684. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/runner.rb +241 -0
  685. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/runner/ruby_parse.rb +146 -0
  686. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/runner/ruby_rewrite.rb +99 -0
  687. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/buffer.rb +333 -0
  688. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/comment.rb +120 -0
  689. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/comment/associator.rb +201 -0
  690. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map.rb +184 -0
  691. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/collection.rb +16 -0
  692. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/condition.rb +19 -0
  693. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/constant.rb +30 -0
  694. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/definition.rb +21 -0
  695. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/for.rb +17 -0
  696. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/heredoc.rb +17 -0
  697. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/keyword.rb +18 -0
  698. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/objc_kwarg.rb +17 -0
  699. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/operator.rb +15 -0
  700. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/rescue_body.rb +19 -0
  701. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/send.rb +34 -0
  702. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/ternary.rb +16 -0
  703. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/map/variable.rb +29 -0
  704. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/range.rb +242 -0
  705. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/rewriter.rb +471 -0
  706. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/source/rewriter/action.rb +42 -0
  707. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/static_environment.rb +44 -0
  708. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/syntax_error.rb +19 -0
  709. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/lib/parser/version.rb +3 -0
  710. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/parser.gemspec +46 -0
  711. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/bug_163/fixtures/input.rb +3 -0
  712. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/bug_163/fixtures/output.rb +3 -0
  713. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/bug_163/rewriter.rb +18 -0
  714. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/bug_163/test_runner_rewrite.rb +35 -0
  715. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/helper.rb +41 -0
  716. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/parse_helper.rb +258 -0
  717. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/racc_coverage_helper.rb +130 -0
  718. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_base.rb +29 -0
  719. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_current.rb +25 -0
  720. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_diagnostic.rb +94 -0
  721. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_diagnostic_engine.rb +60 -0
  722. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_encoding.rb +78 -0
  723. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_lexer.rb +3376 -0
  724. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_lexer_stack_state.rb +76 -0
  725. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_parse_helper.rb +80 -0
  726. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_parser.rb +5894 -0
  727. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_buffer.rb +144 -0
  728. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_comment.rb +34 -0
  729. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_comment_associator.rb +275 -0
  730. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_map.rb +13 -0
  731. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_range.rb +125 -0
  732. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_rewriter.rb +539 -0
  733. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_source_rewriter_action.rb +44 -0
  734. data/vendor/bundle/ruby/2.0.0/gems/parser-2.4.0.0/test/test_static_environment.rb +43 -0
  735. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/BSDL +22 -0
  736. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/COPYING +57 -0
  737. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/Gemfile +9 -0
  738. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/LEGAL +4 -0
  739. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/README.rdoc +22 -0
  740. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/Rakefile +24 -0
  741. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/bin/console +12 -0
  742. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/bin/setup +6 -0
  743. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert.rb +88 -0
  744. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/colorize.rb +9 -0
  745. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/configuration.rb +46 -0
  746. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/context.rb +206 -0
  747. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/enable_tracepoint_events.rb +91 -0
  748. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/inspector.rb +61 -0
  749. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/parser.rb +239 -0
  750. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/lib/power_assert/version.rb +3 -0
  751. data/vendor/bundle/ruby/2.0.0/gems/power_assert-1.0.2/power_assert.gemspec +30 -0
  752. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/CHANGELOG.md +39 -0
  753. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/Gemfile +4 -0
  754. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/LICENSE.txt +22 -0
  755. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/README.md +99 -0
  756. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/Rakefile +12 -0
  757. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack.rb +11 -0
  758. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/array.rb +2 -0
  759. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/array/butfirst.rb +15 -0
  760. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/array/butlast.rb +15 -0
  761. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable.rb +9 -0
  762. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/average.rb +20 -0
  763. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/drop_last.rb +20 -0
  764. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/drop_last_while.rb +21 -0
  765. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/exactly.rb +43 -0
  766. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/frequencies.rb +17 -0
  767. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/several.rb +37 -0
  768. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/sum.rb +21 -0
  769. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/take_last.rb +20 -0
  770. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/enumerable/take_last_while.rb +17 -0
  771. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/hash.rb +1 -0
  772. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/hash/symbolize_keys.rb +14 -0
  773. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/numeric.rb +3 -0
  774. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/numeric/neg.rb +19 -0
  775. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/numeric/pos.rb +19 -0
  776. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/numeric/scale.rb +44 -0
  777. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string.rb +9 -0
  778. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/ascii_only.rb +42 -0
  779. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/blank.rb +20 -0
  780. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/format.rb +20 -0
  781. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/remove.rb +17 -0
  782. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/remove_prefix.rb +23 -0
  783. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/remove_suffix.rb +23 -0
  784. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/squish.rb +27 -0
  785. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/strip_indent.rb +22 -0
  786. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/string/strip_margin.rb +21 -0
  787. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/lib/powerpack/version.rb +3 -0
  788. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/powerpack.gemspec +24 -0
  789. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/array/butfirst_spec.rb +11 -0
  790. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/array/butlast_spec.rb +11 -0
  791. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/average_spec.rb +19 -0
  792. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/drop_last_spec.rb +15 -0
  793. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/drop_last_while_spec.rb +7 -0
  794. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/exactly_spec.rb +39 -0
  795. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/frequencies_spec.rb +20 -0
  796. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/several_spec.rb +27 -0
  797. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/sum_spec.rb +15 -0
  798. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/take_last_spec.rb +15 -0
  799. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/enumerable/take_last_while_spec.rb +7 -0
  800. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/hash/symbolize_keys_spec.rb +15 -0
  801. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/numeric/neg_spec.rb +24 -0
  802. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/numeric/pos_spec.rb +24 -0
  803. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/numeric/scale_spec.rb +139 -0
  804. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/ascii_only_spec.rb +45 -0
  805. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/blank_spec.rb +15 -0
  806. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/format_spec.rb +12 -0
  807. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/remove_prefix_spec.rb +13 -0
  808. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/remove_spec.rb +13 -0
  809. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/remove_suffix_spec.rb +13 -0
  810. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/squish_spec.rb +21 -0
  811. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/strip_indent_spec.rb +13 -0
  812. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/powerpack/string/strip_margin_spec.rb +26 -0
  813. data/vendor/bundle/ruby/2.0.0/gems/powerpack-0.1.1/spec/spec_helper.rb +15 -0
  814. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/Changelog.md +87 -0
  815. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/Gemfile +23 -0
  816. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/Guardfile +9 -0
  817. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/LICENSE +20 -0
  818. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/README.markdown +217 -0
  819. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/Rakefile +6 -0
  820. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/ext/Rakefile +1 -0
  821. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/ext/mkrf_conf.rb +22 -0
  822. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow.rb +24 -0
  823. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/color.rb +144 -0
  824. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/ext/string.rb +56 -0
  825. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/global.rb +21 -0
  826. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/legacy.rb +15 -0
  827. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/null_presenter.rb +41 -0
  828. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/presenter.rb +135 -0
  829. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/string_utils.rb +20 -0
  830. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/version.rb +3 -0
  831. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/wrapper.rb +22 -0
  832. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/lib/rainbow/x11_color_names.rb +152 -0
  833. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/rainbow.gemspec +26 -0
  834. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/integration/instance_spec.rb +35 -0
  835. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/integration/rainbow_spec.rb +160 -0
  836. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/integration/string_spec.rb +84 -0
  837. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/spec_helper.rb +6 -0
  838. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/support/presenter_shared_examples.rb +9 -0
  839. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/color_spec.rb +301 -0
  840. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/namespace_spec.rb +31 -0
  841. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/null_presenter_spec.rb +111 -0
  842. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/presenter_spec.rb +201 -0
  843. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/string_utils_spec.rb +62 -0
  844. data/vendor/bundle/ruby/2.0.0/gems/rainbow-2.2.2/spec/unit/wrapper_spec.rb +34 -0
  845. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/CONTRIBUTING.rdoc +38 -0
  846. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/History.rdoc +659 -0
  847. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/MIT-LICENSE +21 -0
  848. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/Manifest.txt +166 -0
  849. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/README.rdoc +139 -0
  850. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/Rakefile +81 -0
  851. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/bin/rake +33 -0
  852. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/command_line_usage.rdoc +158 -0
  853. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/example/Rakefile1 +38 -0
  854. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/example/Rakefile2 +35 -0
  855. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/example/a.c +6 -0
  856. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/example/b.c +6 -0
  857. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/example/main.c +11 -0
  858. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/glossary.rdoc +42 -0
  859. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/jamis.rb +591 -0
  860. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/proto_rake.rdoc +127 -0
  861. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/rake.1 +141 -0
  862. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/rakefile.rdoc +624 -0
  863. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/rational.rdoc +151 -0
  864. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  865. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  866. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  867. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  868. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  869. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  870. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  871. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  872. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  873. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  874. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  875. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  876. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  877. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  878. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  879. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.6.rdoc +37 -0
  880. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  881. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  882. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  883. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  884. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  885. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  886. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.4.rdoc +60 -0
  887. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.5.rdoc +55 -0
  888. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-0.9.6.rdoc +64 -0
  889. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  890. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.1.rdoc +58 -0
  891. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.2.rdoc +53 -0
  892. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  893. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  894. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake.rb +79 -0
  895. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/alt_system.rb +110 -0
  896. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/application.rb +790 -0
  897. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/backtrace.rb +23 -0
  898. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/clean.rb +76 -0
  899. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/cloneable.rb +16 -0
  900. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/compositepublisher.rb +21 -0
  901. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/ftptools.rb +137 -0
  902. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/publisher.rb +81 -0
  903. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  904. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/sshpublisher.rb +61 -0
  905. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/contrib/sys.rb +4 -0
  906. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/cpu_counter.rb +125 -0
  907. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/default_loader.rb +14 -0
  908. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/dsl_definition.rb +201 -0
  909. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/early_time.rb +21 -0
  910. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ext/core.rb +25 -0
  911. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ext/module.rb +2 -0
  912. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ext/pathname.rb +25 -0
  913. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ext/string.rb +175 -0
  914. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ext/time.rb +18 -0
  915. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/file_creation_task.rb +24 -0
  916. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/file_list.rb +428 -0
  917. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/file_task.rb +46 -0
  918. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/file_utils.rb +128 -0
  919. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/file_utils_ext.rb +144 -0
  920. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/gempackagetask.rb +4 -0
  921. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/invocation_chain.rb +56 -0
  922. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/invocation_exception_mixin.rb +16 -0
  923. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/late_time.rb +17 -0
  924. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/linked_list.rb +103 -0
  925. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/loaders/makefile.rb +53 -0
  926. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/multi_task.rb +13 -0
  927. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/name_space.rb +38 -0
  928. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/packagetask.rb +199 -0
  929. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/pathmap.rb +3 -0
  930. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/phony.rb +15 -0
  931. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/private_reader.rb +20 -0
  932. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/promise.rb +99 -0
  933. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/pseudo_status.rb +29 -0
  934. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/rake_module.rb +38 -0
  935. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/rake_test_loader.rb +22 -0
  936. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/rdoctask.rb +4 -0
  937. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/ruby182_test_unit_fix.rb +29 -0
  938. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  939. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/runtest.rb +27 -0
  940. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/scope.rb +42 -0
  941. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/task.rb +383 -0
  942. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/task_argument_error.rb +7 -0
  943. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/task_arguments.rb +98 -0
  944. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/task_manager.rb +307 -0
  945. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/tasklib.rb +24 -0
  946. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/testtask.rb +213 -0
  947. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/thread_history_display.rb +48 -0
  948. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/thread_pool.rb +164 -0
  949. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/trace_output.rb +22 -0
  950. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/version.rb +7 -0
  951. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/lib/rake/win32.rb +56 -0
  952. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/rakelib/publish.rake +20 -0
  953. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/rakelib/test_times.rake +25 -0
  954. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/file_creation.rb +34 -0
  955. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/helper.rb +129 -0
  956. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/support/rakefile_definitions.rb +478 -0
  957. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/support/ruby_runner.rb +34 -0
  958. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_private_reader.rb +42 -0
  959. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake.rb +40 -0
  960. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_application.rb +643 -0
  961. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_application_options.rb +468 -0
  962. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_backtrace.rb +119 -0
  963. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_clean.rb +61 -0
  964. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_cpu_counter.rb +68 -0
  965. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_definitions.rb +84 -0
  966. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_directory_task.rb +76 -0
  967. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_dsl.rb +40 -0
  968. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_early_time.rb +31 -0
  969. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_extension.rb +59 -0
  970. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_file_creation_task.rb +56 -0
  971. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_file_list.rb +670 -0
  972. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_file_list_path_map.rb +8 -0
  973. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_file_task.rb +197 -0
  974. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_file_utils.rb +314 -0
  975. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_ftp_file.rb +74 -0
  976. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_functional.rb +482 -0
  977. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_invocation_chain.rb +64 -0
  978. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_late_time.rb +18 -0
  979. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_linked_list.rb +84 -0
  980. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_makefile_loader.rb +46 -0
  981. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_multi_task.rb +64 -0
  982. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_name_space.rb +57 -0
  983. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_package_task.rb +79 -0
  984. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_path_map.rb +168 -0
  985. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_path_map_explode.rb +34 -0
  986. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_path_map_partial.rb +18 -0
  987. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_pathname_extensions.rb +15 -0
  988. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_pseudo_status.rb +21 -0
  989. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_rake_test_loader.rb +20 -0
  990. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_reduce_compat.rb +26 -0
  991. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_require.rb +40 -0
  992. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_rules.rb +388 -0
  993. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_scope.rb +44 -0
  994. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task.rb +393 -0
  995. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_argument_parsing.rb +119 -0
  996. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_arguments.rb +127 -0
  997. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_lib.rb +9 -0
  998. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_manager.rb +178 -0
  999. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  1000. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_task_with_arguments.rb +172 -0
  1001. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_test_task.rb +146 -0
  1002. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_thread_pool.rb +145 -0
  1003. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_top_level_functions.rb +71 -0
  1004. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_rake_win32.rb +72 -0
  1005. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_thread_history_display.rb +101 -0
  1006. data/vendor/bundle/ruby/2.0.0/gems/rake-10.5.0/test/test_trace_output.rb +52 -0
  1007. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/LICENSE.txt +20 -0
  1008. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/README.md +128 -0
  1009. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/assets/logo.png +0 -0
  1010. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/assets/output.html.erb +250 -0
  1011. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/bin/rubocop +18 -0
  1012. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/config/default.yml +1253 -0
  1013. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/config/disabled.yml +108 -0
  1014. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/config/enabled.yml +1471 -0
  1015. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop.rb +425 -0
  1016. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/ast_node.rb +623 -0
  1017. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/ast_node/builder.rb +31 -0
  1018. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/ast_node/sexp.rb +14 -0
  1019. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/ast_node/traversal.rb +172 -0
  1020. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cached_data.rb +78 -0
  1021. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cli.rb +185 -0
  1022. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/comment_config.rb +158 -0
  1023. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/config.rb +313 -0
  1024. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/config_loader.rb +192 -0
  1025. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/config_loader_resolver.rb +42 -0
  1026. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/config_store.rb +45 -0
  1027. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/autocorrect_logic.rb +27 -0
  1028. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/commissioner.rb +104 -0
  1029. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/cop.rb +282 -0
  1030. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/corrector.rb +136 -0
  1031. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/force.rb +42 -0
  1032. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/ignored_node.rb +39 -0
  1033. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/ambiguous_operator.rb +51 -0
  1034. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/ambiguous_regexp_literal.rb +37 -0
  1035. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/assignment_in_condition.rb +64 -0
  1036. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/block_alignment.rb +200 -0
  1037. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/circular_argument_reference.rb +70 -0
  1038. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/condition_position.rb +55 -0
  1039. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/debugger.rb +45 -0
  1040. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/def_end_alignment.rb +59 -0
  1041. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/deprecated_class_methods.rb +81 -0
  1042. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/duplicate_methods.rb +128 -0
  1043. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/duplicated_key.rb +31 -0
  1044. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/each_with_object_argument.rb +30 -0
  1045. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/else_layout.rb +69 -0
  1046. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/empty_ensure.rb +19 -0
  1047. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/empty_interpolation.rb +23 -0
  1048. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/end_alignment.rb +140 -0
  1049. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/end_in_method.rb +18 -0
  1050. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/ensure_return.rb +23 -0
  1051. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/eval.rb +23 -0
  1052. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/float_out_of_range.rb +31 -0
  1053. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/format_parameter_mismatch.rb +156 -0
  1054. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/handle_exceptions.rb +19 -0
  1055. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/implicit_string_concatenation.rb +91 -0
  1056. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/ineffective_access_modifier.rb +135 -0
  1057. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/inherit_exception.rb +69 -0
  1058. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/invalid_character_literal.rb +39 -0
  1059. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/literal_in_condition.rb +130 -0
  1060. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/literal_in_interpolation.rb +71 -0
  1061. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/loop.rb +28 -0
  1062. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/nested_method_definition.rb +61 -0
  1063. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/next_without_accumulator.rb +46 -0
  1064. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/non_local_exit_from_iterator.rb +76 -0
  1065. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/parentheses_as_grouped_expression.rb +53 -0
  1066. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/percent_string_array.rb +60 -0
  1067. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/percent_symbol_array.rb +57 -0
  1068. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/rand_one.rb +36 -0
  1069. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/require_parentheses.rb +69 -0
  1070. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/rescue_exception.rb +26 -0
  1071. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/shadowed_exception.rb +138 -0
  1072. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/shadowing_outer_local_variable.rb +30 -0
  1073. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/string_conversion_in_interpolation.rb +52 -0
  1074. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/syntax.rb +56 -0
  1075. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/underscore_prefixed_variable_name.rb +40 -0
  1076. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/unneeded_disable.rb +195 -0
  1077. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/unreachable_code.rb +33 -0
  1078. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/unused_block_argument.rb +89 -0
  1079. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/unused_method_argument.rb +52 -0
  1080. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_access_modifier.rb +203 -0
  1081. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_array_splat.rb +56 -0
  1082. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_assignment.rb +101 -0
  1083. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_comparison.rb +30 -0
  1084. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_else_without_rescue.rb +32 -0
  1085. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/useless_setter_call.rb +151 -0
  1086. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/lint/void.rb +59 -0
  1087. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/abc_size.rb +40 -0
  1088. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/block_nesting.rb +53 -0
  1089. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/class_length.rb +25 -0
  1090. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/cyclomatic_complexity.rb +32 -0
  1091. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/line_length.rb +118 -0
  1092. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/method_length.rb +32 -0
  1093. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/module_length.rb +25 -0
  1094. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/parameter_lists.rb +45 -0
  1095. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/metrics/perceived_complexity.rb +63 -0
  1096. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/access_modifier_node.rb +42 -0
  1097. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/annotation_comment.rb +37 -0
  1098. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/array_hash_indentation.rb +81 -0
  1099. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/array_syntax.rb +25 -0
  1100. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/autocorrect_alignment.rb +152 -0
  1101. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/check_assignment.rb +41 -0
  1102. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/classish_length.rb +37 -0
  1103. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/code_length.rb +33 -0
  1104. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/configurable_enforced_style.rb +92 -0
  1105. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/configurable_max.rb +20 -0
  1106. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/configurable_naming.rb +46 -0
  1107. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/empty_lines_around_body.rb +64 -0
  1108. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/end_keyword_alignment.rb +81 -0
  1109. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/first_element_line_break.rb +42 -0
  1110. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/frozen_string_literal.rb +35 -0
  1111. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/hash_node.rb +15 -0
  1112. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/if_node.rb +37 -0
  1113. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/integer_node.rb +13 -0
  1114. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/match_range.rb +26 -0
  1115. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/method_complexity.rb +31 -0
  1116. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/method_preference.rb +29 -0
  1117. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/min_body_length.rb +20 -0
  1118. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/multiline_expression_indentation.rb +192 -0
  1119. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/multiline_literal_brace_layout.rb +141 -0
  1120. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/negative_conditional.rb +27 -0
  1121. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/on_method_def.rb +31 -0
  1122. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/on_normal_if_unless.rb +38 -0
  1123. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/parentheses.rb +23 -0
  1124. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/parser_diagnostic.rb +35 -0
  1125. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/percent_literal.rb +37 -0
  1126. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/preceding_following_alignment.rb +80 -0
  1127. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/safe_assignment.rb +20 -0
  1128. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/space_after_punctuation.rb +56 -0
  1129. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/space_before_punctuation.rb +51 -0
  1130. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/space_inside.rb +79 -0
  1131. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/statement_modifier.rb +64 -0
  1132. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/string_help.rb +34 -0
  1133. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/string_literals_help.rb +34 -0
  1134. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/surrounding_space.rb +41 -0
  1135. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/trailing_comma.rb +161 -0
  1136. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/mixin/unused_argument.rb +43 -0
  1137. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/offense.rb +189 -0
  1138. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/case_when_splat.rb +196 -0
  1139. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/casecmp.rb +96 -0
  1140. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/count.rb +111 -0
  1141. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/detect.rb +111 -0
  1142. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/double_start_end_with.rb +65 -0
  1143. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/end_with.rb +55 -0
  1144. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/fixed_size.rb +52 -0
  1145. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/flat_map.rb +79 -0
  1146. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/hash_each.rb +86 -0
  1147. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/lstrip_rstrip.rb +44 -0
  1148. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/push_splat.rb +47 -0
  1149. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/range_include.rb +40 -0
  1150. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/redundant_block_call.rb +94 -0
  1151. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/redundant_match.rb +52 -0
  1152. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/redundant_merge.rb +121 -0
  1153. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/redundant_sort_by.rb +45 -0
  1154. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/reverse_each.rb +43 -0
  1155. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/sample.rb +139 -0
  1156. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/size.rb +64 -0
  1157. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/start_with.rb +58 -0
  1158. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/string_replacement.rb +205 -0
  1159. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/performance/times_map.rb +62 -0
  1160. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/action_filter.rb +97 -0
  1161. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/date.rb +131 -0
  1162. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/delegate.rb +108 -0
  1163. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/exit.rb +62 -0
  1164. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/find_by.rb +58 -0
  1165. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/find_each.rb +60 -0
  1166. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/has_and_belongs_to_many.rb +18 -0
  1167. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/output.rb +30 -0
  1168. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/output_safety.rb +45 -0
  1169. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/pluralization_grammar.rb +106 -0
  1170. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/read_write_attribute.rb +71 -0
  1171. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/request_referer.rb +40 -0
  1172. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/save_bang.rb +77 -0
  1173. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/scope_args.rb +34 -0
  1174. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/time_zone.rb +185 -0
  1175. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/uniq_before_pluck.rb +92 -0
  1176. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/rails/validation.rb +68 -0
  1177. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/severity.rb +77 -0
  1178. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/access_modifier_indentation.rb +81 -0
  1179. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/accessor_method_name.rb +46 -0
  1180. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/alias.rb +120 -0
  1181. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/align_array.rb +21 -0
  1182. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/align_hash.rb +256 -0
  1183. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/align_parameters.rb +70 -0
  1184. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/and_or.rb +131 -0
  1185. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/array_join.rb +35 -0
  1186. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/ascii_comments.rb +40 -0
  1187. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/ascii_identifiers.rb +38 -0
  1188. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/attr.rb +47 -0
  1189. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/auto_resource_cleanup.rb +46 -0
  1190. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/bare_percent_literals.rb +58 -0
  1191. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/begin_block.rb +17 -0
  1192. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/block_comments.rb +51 -0
  1193. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/block_delimiters.rb +217 -0
  1194. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/block_end_newline.rb +57 -0
  1195. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/braces_around_hash_parameters.rb +114 -0
  1196. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/case_equality.rb +19 -0
  1197. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/case_indentation.rb +92 -0
  1198. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/character_literal.rb +46 -0
  1199. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/class_and_module_camel_case.rb +30 -0
  1200. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/class_and_module_children.rb +70 -0
  1201. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/class_check.rb +43 -0
  1202. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/class_methods.rb +69 -0
  1203. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/class_vars.rb +24 -0
  1204. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/closing_parenthesis_indentation.rb +88 -0
  1205. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/collection_methods.rb +52 -0
  1206. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/colon_method_call.rb +41 -0
  1207. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/command_literal.rb +113 -0
  1208. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/comment_annotation.rb +64 -0
  1209. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/comment_indentation.rb +72 -0
  1210. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/conditional_assignment.rb +645 -0
  1211. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/constant_name.rb +30 -0
  1212. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/copyright.rb +90 -0
  1213. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/def_with_parentheses.rb +34 -0
  1214. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/documentation.rb +108 -0
  1215. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/dot_position.rb +89 -0
  1216. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/double_negation.rb +35 -0
  1217. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/each_for_simple_loop.rb +57 -0
  1218. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/each_with_object.rb +93 -0
  1219. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/else_alignment.rb +111 -0
  1220. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_case_condition.rb +96 -0
  1221. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_else.rb +138 -0
  1222. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_line_between_defs.rb +76 -0
  1223. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines.rb +61 -0
  1224. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines_around_access_modifier.rb +91 -0
  1225. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines_around_block_body.rb +42 -0
  1226. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines_around_class_body.rb +40 -0
  1227. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines_around_method_body.rb +42 -0
  1228. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_lines_around_module_body.rb +45 -0
  1229. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/empty_literal.rb +91 -0
  1230. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/encoding.rb +79 -0
  1231. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/end_block.rb +18 -0
  1232. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/end_of_line.rb +31 -0
  1233. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/even_odd.rb +77 -0
  1234. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/extra_spacing.rb +224 -0
  1235. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/file_name.rb +155 -0
  1236. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/first_array_element_line_break.rb +42 -0
  1237. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/first_hash_element_line_break.rb +34 -0
  1238. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/first_method_argument_line_break.rb +50 -0
  1239. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/first_method_parameter_line_break.rb +43 -0
  1240. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/first_parameter_indentation.rb +113 -0
  1241. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/flip_flop.rb +21 -0
  1242. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/for.rb +49 -0
  1243. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/format_string.rb +77 -0
  1244. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/frozen_string_literal_comment.rb +68 -0
  1245. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/global_vars.rb +71 -0
  1246. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/guard_clause.rb +132 -0
  1247. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/hash_syntax.rb +165 -0
  1248. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/identical_conditional_branches.rb +93 -0
  1249. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/if_inside_else.rb +49 -0
  1250. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/if_unless_modifier.rb +86 -0
  1251. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/if_unless_modifier_of_if_unless.rb +45 -0
  1252. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/if_with_semicolon.rb +21 -0
  1253. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/implicit_runtime_error.rb +32 -0
  1254. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/indent_array.rb +115 -0
  1255. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/indent_assignment.rb +43 -0
  1256. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/indent_hash.rb +134 -0
  1257. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/indentation_consistency.rb +52 -0
  1258. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/indentation_width.rb +284 -0
  1259. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/infinite_loop.rb +90 -0
  1260. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/initial_indentation.rb +38 -0
  1261. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/inline_comment.rb +20 -0
  1262. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/lambda.rb +208 -0
  1263. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/lambda_call.rb +63 -0
  1264. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/leading_comment_space.rb +33 -0
  1265. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/line_end_concatenation.rb +98 -0
  1266. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/method_call_parentheses.rb +70 -0
  1267. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/method_called_on_do_end_block.rb +43 -0
  1268. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/method_def_parentheses.rb +85 -0
  1269. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/method_missing.rb +74 -0
  1270. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/method_name.rb +29 -0
  1271. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/missing_else.rb +74 -0
  1272. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/module_function.rb +54 -0
  1273. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_array_brace_layout.rb +82 -0
  1274. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_assignment_layout.rb +92 -0
  1275. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_block_chain.rb +45 -0
  1276. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_block_layout.rb +128 -0
  1277. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_hash_brace_layout.rb +82 -0
  1278. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_if_then.rb +42 -0
  1279. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_method_call_brace_layout.rb +90 -0
  1280. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_method_call_indentation.rb +176 -0
  1281. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_method_definition_brace_layout.rb +83 -0
  1282. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_operation_indentation.rb +89 -0
  1283. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/multiline_ternary_operator.rb +26 -0
  1284. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/mutable_constant.rb +56 -0
  1285. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/negated_if.rb +48 -0
  1286. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/negated_while.rb +48 -0
  1287. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/nested_modifier.rb +117 -0
  1288. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/nested_parenthesized_calls.rb +60 -0
  1289. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/nested_ternary_operator.rb +24 -0
  1290. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/next.rb +224 -0
  1291. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/nil_comparison.rb +39 -0
  1292. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/non_nil_check.rb +117 -0
  1293. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/not.rb +73 -0
  1294. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/numeric_literal_prefix.rb +92 -0
  1295. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/numeric_literals.rb +80 -0
  1296. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/numeric_predicate.rb +142 -0
  1297. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/one_line_conditional.rb +76 -0
  1298. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/op_method.rb +44 -0
  1299. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/option_hash.rb +70 -0
  1300. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/optional_arguments.rb +50 -0
  1301. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/parallel_assignment.rb +268 -0
  1302. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/parentheses_around_condition.rb +59 -0
  1303. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/percent_literal_delimiters.rb +86 -0
  1304. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/percent_q_literals.rb +50 -0
  1305. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/perl_backrefs.rb +32 -0
  1306. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/predicate_name.rb +68 -0
  1307. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/preferred_hash_methods.rb +40 -0
  1308. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/proc.rb +31 -0
  1309. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/raise_args.rb +137 -0
  1310. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_begin.rb +48 -0
  1311. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_exception.rb +56 -0
  1312. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_freeze.rb +48 -0
  1313. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_parentheses.rb +166 -0
  1314. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_return.rb +96 -0
  1315. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/redundant_self.rb +150 -0
  1316. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/regexp_literal.rb +109 -0
  1317. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/rescue_ensure_alignment.rb +85 -0
  1318. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/rescue_modifier.rb +50 -0
  1319. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/self_assignment.rb +94 -0
  1320. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/semicolon.rb +72 -0
  1321. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/send.rb +20 -0
  1322. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/signal_exception.rb +112 -0
  1323. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/single_line_block_params.rb +69 -0
  1324. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/single_line_methods.rb +71 -0
  1325. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_after_colon.rb +43 -0
  1326. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_after_comma.rb +22 -0
  1327. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_after_method_name.rb +39 -0
  1328. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_after_not.rb +42 -0
  1329. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_after_semicolon.rb +22 -0
  1330. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_around_block_parameters.rb +111 -0
  1331. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_around_equals_in_parameter_default.rb +71 -0
  1332. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_around_keyword.rb +226 -0
  1333. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_around_operators.rb +132 -0
  1334. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_before_block_braces.rb +65 -0
  1335. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_before_comma.rb +17 -0
  1336. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_before_comment.rb +28 -0
  1337. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_before_first_arg.rb +62 -0
  1338. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_before_semicolon.rb +17 -0
  1339. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_array_percent_literal.rb +53 -0
  1340. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_block_braces.rb +166 -0
  1341. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_brackets.rb +21 -0
  1342. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_hash_literal_braces.rb +136 -0
  1343. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_parens.rb +17 -0
  1344. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_percent_literal_delimiters.rb +64 -0
  1345. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_range_literal.rb +64 -0
  1346. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/space_inside_string_interpolation.rb +52 -0
  1347. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/special_global_vars.rb +157 -0
  1348. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/stabby_lambda_parentheses.rb +115 -0
  1349. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/string_literals.rb +103 -0
  1350. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/string_literals_in_interpolation.rb +31 -0
  1351. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/string_methods.rb +32 -0
  1352. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/struct_inheritance.rb +44 -0
  1353. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/symbol_array.rb +107 -0
  1354. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/symbol_literal.rb +33 -0
  1355. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/symbol_proc.rb +150 -0
  1356. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/tab.rb +58 -0
  1357. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/ternary_parentheses.rb +94 -0
  1358. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trailing_blank_lines.rb +81 -0
  1359. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trailing_comma_in_arguments.rb +71 -0
  1360. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trailing_comma_in_literal.rb +57 -0
  1361. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trailing_underscore_variable.rb +99 -0
  1362. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trailing_whitespace.rb +29 -0
  1363. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/trivial_accessors.rb +177 -0
  1364. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/unless_else.rb +48 -0
  1365. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/unneeded_capital_w.rb +37 -0
  1366. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/unneeded_interpolation.rb +100 -0
  1367. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/unneeded_percent_q.rb +91 -0
  1368. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/variable_interpolation.rb +45 -0
  1369. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/variable_name.rb +40 -0
  1370. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/when_then.rb +23 -0
  1371. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/while_until_do.rb +41 -0
  1372. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/while_until_modifier.rb +41 -0
  1373. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/word_array.rb +151 -0
  1374. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/style/zero_length_predicate.rb +82 -0
  1375. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/team.rb +190 -0
  1376. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/util.rb +252 -0
  1377. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force.rb +425 -0
  1378. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/assignment.rb +96 -0
  1379. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/locatable.rb +197 -0
  1380. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/reference.rb +50 -0
  1381. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/scope.rb +92 -0
  1382. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/variable.rb +103 -0
  1383. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/cop/variable_force/variable_table.rb +129 -0
  1384. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/error.rb +12 -0
  1385. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/base_formatter.rb +128 -0
  1386. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/clang_style_formatter.rb +55 -0
  1387. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/colorizable.rb +42 -0
  1388. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/disabled_config_formatter.rb +176 -0
  1389. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/disabled_lines_formatter.rb +58 -0
  1390. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/emacs_style_formatter.rb +25 -0
  1391. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/file_list_formatter.rb +20 -0
  1392. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/formatter_set.rb +101 -0
  1393. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/fuubar_style_formatter.rb +75 -0
  1394. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/html_formatter.rb +134 -0
  1395. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/json_formatter.rb +75 -0
  1396. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/offense_count_formatter.rb +56 -0
  1397. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/progress_formatter.rb +64 -0
  1398. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/simple_text_formatter.rb +135 -0
  1399. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/text_util.rb +21 -0
  1400. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/formatter/worst_offenders_formatter.rb +61 -0
  1401. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/name_similarity.rb +22 -0
  1402. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/node_pattern.rb +497 -0
  1403. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/options.rb +317 -0
  1404. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/path_util.rb +32 -0
  1405. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/processed_source.rb +147 -0
  1406. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rake_task.rb +87 -0
  1407. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/remote_config.rb +63 -0
  1408. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/result_cache.rb +169 -0
  1409. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rspec/cop_helper.rb +84 -0
  1410. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rspec/host_environment_simulation_helper.rb +33 -0
  1411. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rspec/shared_contexts.rb +79 -0
  1412. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rspec/shared_examples.rb +101 -0
  1413. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/rspec/support.rb +9 -0
  1414. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/runner.rb +303 -0
  1415. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/string_interpreter.rb +58 -0
  1416. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/string_util.rb +153 -0
  1417. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/target_finder.rb +140 -0
  1418. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/token.rb +26 -0
  1419. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/version.rb +22 -0
  1420. data/vendor/bundle/ruby/2.0.0/gems/rubocop-0.42.0/lib/rubocop/warning.rb +12 -0
  1421. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/LICENSE.txt +19 -0
  1422. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/README.md +38 -0
  1423. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/Rakefile +2 -0
  1424. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar.rb +17 -0
  1425. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/base.rb +159 -0
  1426. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/calculators/length.rb +88 -0
  1427. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/calculators/length_spec.rb +9 -0
  1428. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/calculators/running_average.rb +9 -0
  1429. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components.rb +5 -0
  1430. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components/bar.rb +96 -0
  1431. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components/percentage.rb +29 -0
  1432. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components/rate.rb +43 -0
  1433. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components/time.rb +103 -0
  1434. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/components/title.rb +13 -0
  1435. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1436. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/format.rb +3 -0
  1437. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/format/formatter.rb +27 -0
  1438. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/format/molecule.rb +58 -0
  1439. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/format/string.rb +36 -0
  1440. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/output.rb +61 -0
  1441. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1442. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1443. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/progress.rb +111 -0
  1444. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/throttle.rb +25 -0
  1445. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/time.rb +30 -0
  1446. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/timer.rb +72 -0
  1447. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/lib/ruby-progressbar/version.rb +3 -0
  1448. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/fixtures/benchmark.rb +28 -0
  1449. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/base_spec.rb +949 -0
  1450. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/calculators/length_calculator_spec.rb +17 -0
  1451. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/calculators/running_average_spec.rb +19 -0
  1452. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/bar_spec.rb +234 -0
  1453. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/percentage_spec.rb +9 -0
  1454. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/rate_spec.rb +9 -0
  1455. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/throttle_spec.rb +157 -0
  1456. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/time_spec.rb +307 -0
  1457. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/components/title_spec.rb +12 -0
  1458. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/format/formatter_spec.rb +9 -0
  1459. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/format/molecule_spec.rb +30 -0
  1460. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/format/string_spec.rb +9 -0
  1461. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/output_spec.rb +7 -0
  1462. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/outputs/non_tty_spec.rb +9 -0
  1463. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/outputs/tty_spec.rb +9 -0
  1464. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/progress_spec.rb +156 -0
  1465. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/time_spec.rb +45 -0
  1466. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/ruby-progressbar/timer_spec.rb +7 -0
  1467. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/spec_helper.rb +6 -0
  1468. data/vendor/bundle/ruby/2.0.0/gems/ruby-progressbar-1.8.1/spec/support/time.rb +17 -0
  1469. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/ChangeLog +31 -0
  1470. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/Gemfile +3 -0
  1471. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/LICENSE +20 -0
  1472. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/README.md +131 -0
  1473. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/Rakefile +5 -0
  1474. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/lib/sigdump.rb +148 -0
  1475. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/lib/sigdump/setup.rb +4 -0
  1476. data/vendor/bundle/ruby/2.0.0/gems/sigdump-0.2.4/sigdump.gemspec +21 -0
  1477. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/Gemfile +4 -0
  1478. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/LICENSE.txt +56 -0
  1479. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/README.md +37 -0
  1480. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/Rakefile +10 -0
  1481. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/Makefile +238 -0
  1482. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/extconf.rb +3 -0
  1483. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/mkmf.log +68 -0
  1484. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/scrub.bundle +0 -0
  1485. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/scrub.c +382 -0
  1486. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/ext/string/scrub.o +0 -0
  1487. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/lib/string-scrub.rb +1 -0
  1488. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/lib/string/scrub.bundle +0 -0
  1489. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/string-scrub.gemspec +25 -0
  1490. data/vendor/bundle/ruby/2.0.0/gems/string-scrub-0.0.5/test/test_scrub.rb +74 -0
  1491. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/COPYING +67 -0
  1492. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/GPL +339 -0
  1493. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/LGPL +502 -0
  1494. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/PSFL +271 -0
  1495. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/README.md +101 -0
  1496. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/Rakefile +71 -0
  1497. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/doc/text/how-to.md +90 -0
  1498. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/doc/text/news.md +1181 -0
  1499. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test-unit.rb +34 -0
  1500. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit.rb +505 -0
  1501. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/assertion-failed-error.rb +25 -0
  1502. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/assertions.rb +2244 -0
  1503. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/attribute-matcher.rb +26 -0
  1504. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/attribute.rb +158 -0
  1505. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/auto-runner-loader.rb +17 -0
  1506. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/autorunner.rb +536 -0
  1507. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/code-snippet-fetcher.rb +58 -0
  1508. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector.rb +73 -0
  1509. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector/descendant.rb +19 -0
  1510. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector/dir.rb +108 -0
  1511. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector/load.rb +202 -0
  1512. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector/objectspace.rb +34 -0
  1513. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/collector/xml.rb +249 -0
  1514. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/color-scheme.rb +198 -0
  1515. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/color.rb +134 -0
  1516. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/data.rb +262 -0
  1517. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/diff.rb +746 -0
  1518. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/error.rb +158 -0
  1519. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/exception-handler.rb +82 -0
  1520. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/failure.rb +169 -0
  1521. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/fault-location-detector.rb +100 -0
  1522. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/fixture.rb +298 -0
  1523. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/notification.rb +136 -0
  1524. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/omission.rb +195 -0
  1525. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/pending.rb +154 -0
  1526. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/priority.rb +192 -0
  1527. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/runner/console.rb +59 -0
  1528. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/runner/emacs.rb +8 -0
  1529. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/runner/xml.rb +15 -0
  1530. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/test-suite-creator.rb +89 -0
  1531. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/testcase.rb +831 -0
  1532. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/testresult.rb +132 -0
  1533. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/testsuite.rb +175 -0
  1534. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/console/outputlevel.rb +15 -0
  1535. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/console/testrunner.rb +695 -0
  1536. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  1537. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/testrunner.rb +53 -0
  1538. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/testrunnermediator.rb +114 -0
  1539. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  1540. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/ui/xml/testrunner.rb +224 -0
  1541. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/util/backtracefilter.rb +59 -0
  1542. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/util/method-owner-finder.rb +28 -0
  1543. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/util/observable.rb +90 -0
  1544. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/util/output.rb +31 -0
  1545. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/util/procwrapper.rb +48 -0
  1546. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/lib/test/unit/version.rb +5 -0
  1547. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/sample/adder.rb +13 -0
  1548. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/sample/subtracter.rb +12 -0
  1549. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/sample/test_adder.rb +20 -0
  1550. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/sample/test_subtracter.rb +20 -0
  1551. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/sample/test_user.rb +23 -0
  1552. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/collector/test-descendant.rb +182 -0
  1553. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/collector/test-load.rb +442 -0
  1554. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/collector/test_dir.rb +407 -0
  1555. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/collector/test_objectspace.rb +102 -0
  1556. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/header-label.csv +3 -0
  1557. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/header-label.tsv +3 -0
  1558. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/header.csv +3 -0
  1559. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/header.tsv +3 -0
  1560. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/no-header.csv +2 -0
  1561. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/no-header.tsv +2 -0
  1562. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/fixtures/plus.csv +3 -0
  1563. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/run-test.rb +22 -0
  1564. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-assertions.rb +2177 -0
  1565. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-attribute-matcher.rb +38 -0
  1566. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-attribute.rb +123 -0
  1567. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-code-snippet.rb +37 -0
  1568. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-color-scheme.rb +82 -0
  1569. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-color.rb +47 -0
  1570. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-data.rb +303 -0
  1571. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-diff.rb +518 -0
  1572. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-emacs-runner.rb +60 -0
  1573. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-error.rb +26 -0
  1574. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-failure.rb +33 -0
  1575. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-fault-location-detector.rb +163 -0
  1576. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-fixture.rb +713 -0
  1577. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-notification.rb +33 -0
  1578. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-omission.rb +81 -0
  1579. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-pending.rb +70 -0
  1580. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-priority.rb +173 -0
  1581. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-test-case.rb +1204 -0
  1582. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-test-result.rb +113 -0
  1583. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-test-suite-creator.rb +97 -0
  1584. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/test-test-suite.rb +151 -0
  1585. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/testunit-test-util.rb +31 -0
  1586. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/ui/test_testrunmediator.rb +20 -0
  1587. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/util/test-method-owner-finder.rb +38 -0
  1588. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/util/test-output.rb +11 -0
  1589. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/util/test_backtracefilter.rb +52 -0
  1590. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/util/test_observable.rb +102 -0
  1591. data/vendor/bundle/ruby/2.0.0/gems/test-unit-3.2.3/test/util/test_procwrapper.rb +36 -0
  1592. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/Gemfile +20 -0
  1593. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/LICENSE +144 -0
  1594. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/README.md +60 -0
  1595. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/Rakefile +62 -0
  1596. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/examples/bench_cache.rb +35 -0
  1597. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/JRubyCacheBackendLibrary.java +245 -0
  1598. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMap.java +31 -0
  1599. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/ConcurrentHashMapV8.java +3863 -0
  1600. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/LongAdder.java +203 -0
  1601. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/Striped64.java +342 -0
  1602. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/ConcurrentHashMapV8.java +3800 -0
  1603. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/LongAdder.java +204 -0
  1604. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166e/nounsafe/Striped64.java +291 -0
  1605. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/org/jruby/ext/thread_safe/jsr166y/ThreadLocalRandom.java +199 -0
  1606. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/ext/thread_safe/JrubyCacheBackendService.java +15 -0
  1607. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe.rb +65 -0
  1608. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/atomic_reference_cache_backend.rb +908 -0
  1609. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/cache.rb +161 -0
  1610. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/mri_cache_backend.rb +60 -0
  1611. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/non_concurrent_cache_backend.rb +135 -0
  1612. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_cache_backend.rb +77 -0
  1613. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/synchronized_delegator.rb +43 -0
  1614. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util.rb +16 -0
  1615. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/adder.rb +62 -0
  1616. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/atomic_reference.rb +44 -0
  1617. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/cheap_lockable.rb +106 -0
  1618. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/power_of_two_tuple.rb +26 -0
  1619. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/striped64.rb +222 -0
  1620. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile.rb +64 -0
  1621. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/volatile_tuple.rb +46 -0
  1622. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/util/xor_shift_random.rb +41 -0
  1623. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/lib/thread_safe/version.rb +21 -0
  1624. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/spec_helper.rb +31 -0
  1625. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/src/thread_safe/SecurityManager.java +21 -0
  1626. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/support/threads.rb +1 -0
  1627. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/support/threadsafe_test.rb +75 -0
  1628. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/array_spec.rb +18 -0
  1629. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/cache_loops_spec.rb +507 -0
  1630. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/cache_spec.rb +943 -0
  1631. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/hash_spec.rb +17 -0
  1632. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/no_unsafe_spec.rb +27 -0
  1633. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/spec/thread_safe/synchronized_delegator_spec.rb +85 -0
  1634. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/tasks/update_doc.rake +45 -0
  1635. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/thread_safe.gemspec +26 -0
  1636. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/yard-template/default/fulldoc/html/css/common.css +125 -0
  1637. data/vendor/bundle/ruby/2.0.0/gems/thread_safe-0.3.6/yard-template/default/layout/html/footer.erb +16 -0
  1638. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/CHANGES.md +770 -0
  1639. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/LICENSE +19 -0
  1640. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/README.md +151 -0
  1641. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/Rakefile +107 -0
  1642. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo.rb +40 -0
  1643. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/country.rb +196 -0
  1644. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/country_index_definition.rb +31 -0
  1645. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/country_info.rb +42 -0
  1646. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/country_timezone.rb +123 -0
  1647. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/data_source.rb +190 -0
  1648. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/data_timezone.rb +58 -0
  1649. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/data_timezone_info.rb +55 -0
  1650. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/info_timezone.rb +30 -0
  1651. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/linked_timezone.rb +63 -0
  1652. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/linked_timezone_info.rb +26 -0
  1653. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/offset_rationals.rb +77 -0
  1654. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/ruby_core_support.rb +146 -0
  1655. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/ruby_country_info.rb +70 -0
  1656. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/ruby_data_source.rb +136 -0
  1657. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/time_or_datetime.rb +333 -0
  1658. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone.rb +669 -0
  1659. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_definition.rb +36 -0
  1660. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_index_definition.rb +54 -0
  1661. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_info.rb +30 -0
  1662. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_offset.rb +78 -0
  1663. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_period.rb +221 -0
  1664. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_proxy.rb +99 -0
  1665. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_transition.rb +120 -0
  1666. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/timezone_transition_definition.rb +101 -0
  1667. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/transition_data_timezone_info.rb +274 -0
  1668. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/zoneinfo_country_info.rb +35 -0
  1669. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/zoneinfo_data_source.rb +487 -0
  1670. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/lib/tzinfo/zoneinfo_timezone_info.rb +294 -0
  1671. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_country.rb +236 -0
  1672. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_country_index_definition.rb +69 -0
  1673. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_country_info.rb +16 -0
  1674. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_country_timezone.rb +161 -0
  1675. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_data_source.rb +218 -0
  1676. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_data_timezone.rb +99 -0
  1677. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_data_timezone_info.rb +18 -0
  1678. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_info_timezone.rb +34 -0
  1679. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_linked_timezone.rb +155 -0
  1680. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_linked_timezone_info.rb +23 -0
  1681. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_offset_rationals.rb +23 -0
  1682. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_ruby_core_support.rb +168 -0
  1683. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_ruby_country_info.rb +80 -0
  1684. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_ruby_data_source.rb +143 -0
  1685. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_time_or_datetime.rb +639 -0
  1686. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone.rb +1350 -0
  1687. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_definition.rb +113 -0
  1688. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_index_definition.rb +73 -0
  1689. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_info.rb +11 -0
  1690. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_london.rb +143 -0
  1691. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_melbourne.rb +142 -0
  1692. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_new_york.rb +142 -0
  1693. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_offset.rb +126 -0
  1694. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_period.rb +548 -0
  1695. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_proxy.rb +127 -0
  1696. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_transition.rb +352 -0
  1697. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_transition_definition.rb +284 -0
  1698. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_timezone_utc.rb +27 -0
  1699. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_transition_data_timezone_info.rb +423 -0
  1700. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_zoneinfo_country_info.rb +64 -0
  1701. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_zoneinfo_data_source.rb +1193 -0
  1702. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tc_zoneinfo_timezone_info.rb +1128 -0
  1703. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/test_utils.rb +134 -0
  1704. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/ts_all.rb +7 -0
  1705. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/ts_all_ruby.rb +5 -0
  1706. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/ts_all_zoneinfo.rb +7 -0
  1707. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data.rb +8 -0
  1708. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1709. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/America/New_York.rb +315 -0
  1710. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Australia/Melbourne.rb +218 -0
  1711. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/EST.rb +19 -0
  1712. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  1713. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  1714. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  1715. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Europe/Amsterdam.rb +261 -0
  1716. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Europe/Andorra.rb +186 -0
  1717. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Europe/London.rb +321 -0
  1718. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Europe/Paris.rb +265 -0
  1719. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/Europe/Prague.rb +220 -0
  1720. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/definitions/UTC.rb +16 -0
  1721. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/indexes/countries.rb +927 -0
  1722. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/indexes/timezones.rb +596 -0
  1723. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/tzinfo-data/tzinfo/data/version.rb +14 -0
  1724. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  1725. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/America/New_York +0 -0
  1726. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Australia/Melbourne +0 -0
  1727. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/EST +0 -0
  1728. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Etc/UTC +0 -0
  1729. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Europe/Amsterdam +0 -0
  1730. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Europe/Andorra +0 -0
  1731. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Europe/London +0 -0
  1732. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Europe/Paris +0 -0
  1733. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Europe/Prague +0 -0
  1734. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/Factory +0 -0
  1735. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/iso3166.tab +275 -0
  1736. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/posix/Europe/London +0 -0
  1737. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/posixrules +0 -0
  1738. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/right/Europe/London +0 -0
  1739. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/zone.tab +439 -0
  1740. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/test/zoneinfo/zone1970.tab +369 -0
  1741. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-1.2.3/tzinfo.gemspec +21 -0
  1742. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/CONTRIBUTING.md +7 -0
  1743. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/LICENSE +19 -0
  1744. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/README.md +42 -0
  1745. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data.rb +8 -0
  1746. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Abidjan.rb +23 -0
  1747. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Accra.rb +70 -0
  1748. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Addis_Ababa.rb +18 -0
  1749. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Algiers.rb +60 -0
  1750. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Asmara.rb +18 -0
  1751. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Asmera.rb +18 -0
  1752. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Bamako.rb +18 -0
  1753. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Bangui.rb +18 -0
  1754. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Banjul.rb +18 -0
  1755. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Bissau.rb +25 -0
  1756. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Blantyre.rb +18 -0
  1757. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Brazzaville.rb +18 -0
  1758. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Bujumbura.rb +18 -0
  1759. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Cairo.rb +150 -0
  1760. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Casablanca.rb +183 -0
  1761. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Ceuta.rb +211 -0
  1762. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Conakry.rb +18 -0
  1763. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Dakar.rb +18 -0
  1764. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Dar_es_Salaam.rb +18 -0
  1765. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Djibouti.rb +18 -0
  1766. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Douala.rb +18 -0
  1767. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/El_Aaiun.rb +172 -0
  1768. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Freetown.rb +18 -0
  1769. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Gaborone.rb +18 -0
  1770. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Harare.rb +18 -0
  1771. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Johannesburg.rb +30 -0
  1772. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Juba.rb +18 -0
  1773. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Kampala.rb +18 -0
  1774. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Khartoum.rb +58 -0
  1775. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Kigali.rb +18 -0
  1776. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Kinshasa.rb +18 -0
  1777. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Lagos.rb +23 -0
  1778. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Libreville.rb +18 -0
  1779. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Lome.rb +18 -0
  1780. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Luanda.rb +18 -0
  1781. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Lubumbashi.rb +18 -0
  1782. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Lusaka.rb +18 -0
  1783. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Malabo.rb +18 -0
  1784. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Maputo.rb +23 -0
  1785. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Maseru.rb +18 -0
  1786. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Mbabane.rb +18 -0
  1787. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Mogadishu.rb +18 -0
  1788. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Monrovia.rb +27 -0
  1789. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Nairobi.rb +28 -0
  1790. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Ndjamena.rb +26 -0
  1791. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Niamey.rb +18 -0
  1792. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Nouakchott.rb +18 -0
  1793. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Ouagadougou.rb +18 -0
  1794. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Porto__m__Novo.rb +18 -0
  1795. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Sao_Tome.rb +18 -0
  1796. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Timbuktu.rb +18 -0
  1797. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Tripoli.rb +56 -0
  1798. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Tunis.rb +58 -0
  1799. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Africa/Windhoek.rb +179 -0
  1800. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Adak.rb +235 -0
  1801. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Anchorage.rb +235 -0
  1802. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Anguilla.rb +18 -0
  1803. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Antigua.rb +18 -0
  1804. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Araguaina.rb +74 -0
  1805. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Buenos_Aires.rb +89 -0
  1806. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Catamarca.rb +89 -0
  1807. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/ComodRivadavia.rb +20 -0
  1808. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Cordoba.rb +89 -0
  1809. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Jujuy.rb +87 -0
  1810. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/La_Rioja.rb +90 -0
  1811. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Mendoza.rb +89 -0
  1812. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Rio_Gallegos.rb +89 -0
  1813. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Salta.rb +87 -0
  1814. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/San_Juan.rb +90 -0
  1815. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/San_Luis.rb +90 -0
  1816. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Tucuman.rb +91 -0
  1817. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Argentina/Ushuaia.rb +89 -0
  1818. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Aruba.rb +18 -0
  1819. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Asuncion.rb +213 -0
  1820. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Atikokan.rb +33 -0
  1821. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Atka.rb +18 -0
  1822. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Bahia.rb +84 -0
  1823. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Bahia_Banderas.rb +179 -0
  1824. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Barbados.rb +34 -0
  1825. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Belem.rb +52 -0
  1826. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Belize.rb +79 -0
  1827. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Blanc__m__Sablon.rb +31 -0
  1828. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Boa_Vista.rb +56 -0
  1829. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Bogota.rb +28 -0
  1830. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Boise.rb +238 -0
  1831. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Buenos_Aires.rb +18 -0
  1832. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cambridge_Bay.rb +212 -0
  1833. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Campo_Grande.rb +210 -0
  1834. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cancun.rb +67 -0
  1835. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Caracas.rb +29 -0
  1836. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Catamarca.rb +18 -0
  1837. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cayenne.rb +25 -0
  1838. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cayman.rb +18 -0
  1839. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Chicago.rb +322 -0
  1840. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Chihuahua.rb +175 -0
  1841. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Coral_Harbour.rb +18 -0
  1842. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cordoba.rb +18 -0
  1843. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Costa_Rica.rb +34 -0
  1844. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Creston.rb +26 -0
  1845. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Cuiaba.rb +208 -0
  1846. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Curacao.rb +25 -0
  1847. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Danmarkshavn.rb +58 -0
  1848. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Dawson.rb +215 -0
  1849. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Dawson_Creek.rb +84 -0
  1850. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Denver.rb +243 -0
  1851. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Detroit.rb +225 -0
  1852. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Dominica.rb +18 -0
  1853. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Edmonton.rb +239 -0
  1854. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Eirunepe.rb +57 -0
  1855. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/El_Salvador.rb +28 -0
  1856. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Ensenada.rb +18 -0
  1857. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Fort_Nelson.rb +169 -0
  1858. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Fort_Wayne.rb +18 -0
  1859. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Fortaleza.rb +62 -0
  1860. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Glace_Bay.rb +225 -0
  1861. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Godthab.rb +200 -0
  1862. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Goose_Bay.rb +294 -0
  1863. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Grand_Turk.rb +101 -0
  1864. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Grenada.rb +18 -0
  1865. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Guadeloupe.rb +18 -0
  1866. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Guatemala.rb +32 -0
  1867. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Guayaquil.rb +28 -0
  1868. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Guyana.rb +27 -0
  1869. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Halifax.rb +313 -0
  1870. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Havana.rb +240 -0
  1871. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Hermosillo.rb +40 -0
  1872. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Indianapolis.rb +188 -0
  1873. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Knox.rb +242 -0
  1874. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Marengo.rb +192 -0
  1875. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Petersburg.rb +205 -0
  1876. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Tell_City.rb +190 -0
  1877. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Vevay.rb +170 -0
  1878. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Vincennes.rb +190 -0
  1879. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indiana/Winamac.rb +196 -0
  1880. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Indianapolis.rb +18 -0
  1881. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Inuvik.rb +205 -0
  1882. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Iqaluit.rb +209 -0
  1883. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Jamaica.rb +46 -0
  1884. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Jujuy.rb +18 -0
  1885. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Juneau.rb +234 -0
  1886. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Kentucky/Louisville.rb +267 -0
  1887. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Kentucky/Monticello.rb +237 -0
  1888. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Knox_IN.rb +18 -0
  1889. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Kralendijk.rb +18 -0
  1890. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/La_Paz.rb +27 -0
  1891. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Lima.rb +40 -0
  1892. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Los_Angeles.rb +271 -0
  1893. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Louisville.rb +18 -0
  1894. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Lower_Princes.rb +18 -0
  1895. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Maceio.rb +64 -0
  1896. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Managua.rb +41 -0
  1897. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Manaus.rb +54 -0
  1898. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Marigot.rb +18 -0
  1899. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Martinique.rb +28 -0
  1900. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Matamoros.rb +170 -0
  1901. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Mazatlan.rb +178 -0
  1902. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Mendoza.rb +18 -0
  1903. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Menominee.rb +229 -0
  1904. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Merida.rb +171 -0
  1905. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Metlakatla.rb +168 -0
  1906. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Mexico_City.rb +183 -0
  1907. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Miquelon.rb +188 -0
  1908. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Moncton.rb +293 -0
  1909. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Monterrey.rb +170 -0
  1910. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Montevideo.rb +114 -0
  1911. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Montreal.rb +18 -0
  1912. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Montserrat.rb +18 -0
  1913. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Nassau.rb +232 -0
  1914. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/New_York.rb +321 -0
  1915. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Nipigon.rb +220 -0
  1916. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Nome.rb +235 -0
  1917. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Noronha.rb +62 -0
  1918. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/North_Dakota/Beulah.rb +239 -0
  1919. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/North_Dakota/Center.rb +239 -0
  1920. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/North_Dakota/New_Salem.rb +239 -0
  1921. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Ojinaga.rb +175 -0
  1922. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Panama.rb +25 -0
  1923. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Pangnirtung.rb +212 -0
  1924. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Paramaribo.rb +29 -0
  1925. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Phoenix.rb +35 -0
  1926. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Port__m__au__m__Prince.rb +170 -0
  1927. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Port_of_Spain.rb +23 -0
  1928. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Porto_Acre.rb +18 -0
  1929. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Porto_Velho.rb +52 -0
  1930. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Puerto_Rico.rb +28 -0
  1931. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Punta_Arenas.rb +143 -0
  1932. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Rainy_River.rb +220 -0
  1933. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Rankin_Inlet.rb +204 -0
  1934. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Recife.rb +62 -0
  1935. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Regina.rb +79 -0
  1936. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Resolute.rb +204 -0
  1937. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Rio_Branco.rb +55 -0
  1938. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Rosario.rb +18 -0
  1939. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Santa_Isabel.rb +18 -0
  1940. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Santarem.rb +54 -0
  1941. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Santiago.rb +244 -0
  1942. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Santo_Domingo.rb +43 -0
  1943. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Sao_Paulo.rb +210 -0
  1944. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Scoresbysund.rb +202 -0
  1945. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Shiprock.rb +18 -0
  1946. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Sitka.rb +233 -0
  1947. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Barthelemy.rb +18 -0
  1948. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Johns.rb +327 -0
  1949. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Kitts.rb +18 -0
  1950. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Lucia.rb +18 -0
  1951. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Thomas.rb +18 -0
  1952. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/St_Vincent.rb +18 -0
  1953. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Swift_Current.rb +49 -0
  1954. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Tegucigalpa.rb +30 -0
  1955. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Thule.rb +178 -0
  1956. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Thunder_Bay.rb +225 -0
  1957. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Tijuana.rb +235 -0
  1958. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Toronto.rb +318 -0
  1959. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Tortola.rb +18 -0
  1960. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Vancouver.rb +275 -0
  1961. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Virgin.rb +18 -0
  1962. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Whitehorse.rb +215 -0
  1963. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Winnipeg.rb +271 -0
  1964. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Yakutat.rb +232 -0
  1965. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/America/Yellowknife.rb +208 -0
  1966. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Casey.rb +29 -0
  1967. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Davis.rb +30 -0
  1968. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/DumontDUrville.rb +25 -0
  1969. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Macquarie.rb +115 -0
  1970. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Mawson.rb +25 -0
  1971. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/McMurdo.rb +18 -0
  1972. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Palmer.rb +107 -0
  1973. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Rothera.rb +23 -0
  1974. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/South_Pole.rb +18 -0
  1975. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Syowa.rb +23 -0
  1976. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Troll.rb +150 -0
  1977. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Antarctica/Vostok.rb +23 -0
  1978. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Arctic/Longyearbyen.rb +18 -0
  1979. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Aden.rb +18 -0
  1980. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Almaty.rb +76 -0
  1981. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Amman.rb +200 -0
  1982. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Anadyr.rb +91 -0
  1983. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Aqtau.rb +76 -0
  1984. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Aqtobe.rb +77 -0
  1985. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ashgabat.rb +50 -0
  1986. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ashkhabad.rb +18 -0
  1987. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Atyrau.rb +77 -0
  1988. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Baghdad.rb +78 -0
  1989. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Bahrain.rb +18 -0
  1990. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Baku.rb +91 -0
  1991. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Bangkok.rb +25 -0
  1992. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Barnaul.rb +92 -0
  1993. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Beirut.rb +224 -0
  1994. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Bishkek.rb +77 -0
  1995. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Brunei.rb +25 -0
  1996. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Calcutta.rb +18 -0
  1997. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Chita.rb +92 -0
  1998. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Choibalsan.rb +77 -0
  1999. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Chongqing.rb +18 -0
  2000. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Chungking.rb +18 -0
  2001. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Colombo.rb +35 -0
  2002. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Dacca.rb +18 -0
  2003. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Damascus.rb +234 -0
  2004. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Dhaka.rb +33 -0
  2005. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Dili.rb +27 -0
  2006. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Dubai.rb +23 -0
  2007. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Dushanbe.rb +49 -0
  2008. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Famagusta.rb +109 -0
  2009. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Gaza.rb +229 -0
  2010. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Harbin.rb +18 -0
  2011. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Hebron.rb +231 -0
  2012. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ho_Chi_Minh.rb +34 -0
  2013. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Hong_Kong.rb +93 -0
  2014. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Hovd.rb +74 -0
  2015. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Irkutsk.rb +93 -0
  2016. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Istanbul.rb +18 -0
  2017. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Jakarta.rb +35 -0
  2018. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Jayapura.rb +27 -0
  2019. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Jerusalem.rb +228 -0
  2020. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kabul.rb +25 -0
  2021. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kamchatka.rb +89 -0
  2022. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Karachi.rb +37 -0
  2023. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kashgar.rb +18 -0
  2024. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kathmandu.rb +25 -0
  2025. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Katmandu.rb +18 -0
  2026. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Khandyga.rb +95 -0
  2027. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kolkata.rb +30 -0
  2028. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Krasnoyarsk.rb +91 -0
  2029. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kuala_Lumpur.rb +36 -0
  2030. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kuching.rb +43 -0
  2031. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Kuwait.rb +18 -0
  2032. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Macao.rb +18 -0
  2033. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Macau.rb +64 -0
  2034. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Magadan.rb +92 -0
  2035. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Makassar.rb +29 -0
  2036. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Manila.rb +35 -0
  2037. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Muscat.rb +18 -0
  2038. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Nicosia.rb +210 -0
  2039. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Novokuznetsk.rb +89 -0
  2040. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Novosibirsk.rb +92 -0
  2041. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Omsk.rb +91 -0
  2042. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Oral.rb +78 -0
  2043. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Phnom_Penh.rb +18 -0
  2044. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Pontianak.rb +35 -0
  2045. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Pyongyang.rb +28 -0
  2046. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Qatar.rb +25 -0
  2047. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Qyzylorda.rb +77 -0
  2048. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Rangoon.rb +18 -0
  2049. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Riyadh.rb +23 -0
  2050. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Saigon.rb +18 -0
  2051. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Sakhalin.rb +92 -0
  2052. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Samarkand.rb +49 -0
  2053. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Seoul.rb +47 -0
  2054. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Shanghai.rb +40 -0
  2055. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Singapore.rb +36 -0
  2056. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Srednekolymsk.rb +91 -0
  2057. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Taipei.rb +65 -0
  2058. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tashkent.rb +49 -0
  2059. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tbilisi.rb +78 -0
  2060. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tehran.rb +186 -0
  2061. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tel_Aviv.rb +18 -0
  2062. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Thimbu.rb +18 -0
  2063. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Thimphu.rb +25 -0
  2064. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tokyo.rb +32 -0
  2065. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Tomsk.rb +92 -0
  2066. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ujung_Pandang.rb +18 -0
  2067. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ulaanbaatar.rb +74 -0
  2068. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ulan_Bator.rb +18 -0
  2069. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Urumqi.rb +23 -0
  2070. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Ust__m__Nera.rb +94 -0
  2071. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Vientiane.rb +18 -0
  2072. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Vladivostok.rb +91 -0
  2073. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Yakutsk.rb +91 -0
  2074. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Yangon.rb +28 -0
  2075. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Yekaterinburg.rb +93 -0
  2076. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Asia/Yerevan.rb +87 -0
  2077. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Azores.rb +309 -0
  2078. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Bermuda.rb +212 -0
  2079. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Canary.rb +202 -0
  2080. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Cape_Verde.rb +28 -0
  2081. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Faeroe.rb +18 -0
  2082. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Faroe.rb +198 -0
  2083. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Jan_Mayen.rb +18 -0
  2084. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Madeira.rb +308 -0
  2085. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Reykjavik.rb +92 -0
  2086. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/South_Georgia.rb +23 -0
  2087. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/St_Helena.rb +18 -0
  2088. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Atlantic/Stanley.rb +96 -0
  2089. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/ACT.rb +18 -0
  2090. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Adelaide.rb +226 -0
  2091. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Brisbane.rb +40 -0
  2092. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Broken_Hill.rb +228 -0
  2093. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Canberra.rb +18 -0
  2094. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Currie.rb +224 -0
  2095. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Darwin.rb +34 -0
  2096. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Eucla.rb +42 -0
  2097. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Hobart.rb +232 -0
  2098. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/LHI.rb +18 -0
  2099. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Lindeman.rb +44 -0
  2100. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Lord_Howe.rb +199 -0
  2101. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Melbourne.rb +224 -0
  2102. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/NSW.rb +18 -0
  2103. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/North.rb +18 -0
  2104. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Perth.rb +42 -0
  2105. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Queensland.rb +18 -0
  2106. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/South.rb +18 -0
  2107. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Sydney.rb +224 -0
  2108. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Tasmania.rb +18 -0
  2109. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Victoria.rb +18 -0
  2110. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/West.rb +18 -0
  2111. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Australia/Yancowinna.rb +18 -0
  2112. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Brazil/Acre.rb +18 -0
  2113. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Brazil/DeNoronha.rb +18 -0
  2114. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Brazil/East.rb +18 -0
  2115. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Brazil/West.rb +18 -0
  2116. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/CET.rb +216 -0
  2117. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/CST6CDT.rb +231 -0
  2118. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Atlantic.rb +18 -0
  2119. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Central.rb +18 -0
  2120. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/East__m__Saskatchewan.rb +18 -0
  2121. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Eastern.rb +18 -0
  2122. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Mountain.rb +18 -0
  2123. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Newfoundland.rb +18 -0
  2124. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Pacific.rb +18 -0
  2125. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Saskatchewan.rb +18 -0
  2126. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Canada/Yukon.rb +18 -0
  2127. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Chile/Continental.rb +18 -0
  2128. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Chile/EasterIsland.rb +18 -0
  2129. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Cuba.rb +16 -0
  2130. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/EET.rb +202 -0
  2131. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/EST.rb +19 -0
  2132. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/EST5EDT.rb +231 -0
  2133. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Egypt.rb +16 -0
  2134. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Eire.rb +16 -0
  2135. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT.rb +21 -0
  2136. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT0.rb +18 -0
  2137. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__0.rb +18 -0
  2138. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__1.rb +21 -0
  2139. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__10.rb +21 -0
  2140. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__11.rb +21 -0
  2141. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__12.rb +21 -0
  2142. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__13.rb +21 -0
  2143. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__14.rb +21 -0
  2144. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__2.rb +21 -0
  2145. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__3.rb +21 -0
  2146. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__4.rb +21 -0
  2147. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__5.rb +21 -0
  2148. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__6.rb +21 -0
  2149. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__7.rb +21 -0
  2150. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__8.rb +21 -0
  2151. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__m__9.rb +21 -0
  2152. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__0.rb +18 -0
  2153. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__1.rb +21 -0
  2154. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__10.rb +21 -0
  2155. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__11.rb +21 -0
  2156. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__12.rb +21 -0
  2157. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__2.rb +21 -0
  2158. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__3.rb +21 -0
  2159. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__4.rb +21 -0
  2160. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__5.rb +21 -0
  2161. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__6.rb +21 -0
  2162. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__7.rb +21 -0
  2163. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__8.rb +21 -0
  2164. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/GMT__p__9.rb +21 -0
  2165. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/Greenwich.rb +18 -0
  2166. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/UCT.rb +21 -0
  2167. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/UTC.rb +21 -0
  2168. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/Universal.rb +18 -0
  2169. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Etc/Zulu.rb +18 -0
  2170. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Amsterdam.rb +267 -0
  2171. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Andorra.rb +192 -0
  2172. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Astrakhan.rb +89 -0
  2173. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Athens.rb +224 -0
  2174. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Belfast.rb +18 -0
  2175. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Belgrade.rb +202 -0
  2176. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Berlin.rb +227 -0
  2177. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Bratislava.rb +18 -0
  2178. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Brussels.rb +271 -0
  2179. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Bucharest.rb +220 -0
  2180. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Budapest.rb +234 -0
  2181. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Busingen.rb +18 -0
  2182. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Chisinau.rb +230 -0
  2183. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Copenhagen.rb +218 -0
  2184. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Dublin.rb +315 -0
  2185. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Gibraltar.rb +284 -0
  2186. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Guernsey.rb +18 -0
  2187. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Helsinki.rb +202 -0
  2188. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Isle_of_Man.rb +18 -0
  2189. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Istanbul.rb +155 -0
  2190. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Jersey.rb +18 -0
  2191. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Kaliningrad.rb +109 -0
  2192. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Kiev.rb +209 -0
  2193. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Kirov.rb +88 -0
  2194. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Lisbon.rb +307 -0
  2195. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Ljubljana.rb +18 -0
  2196. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/London.rb +327 -0
  2197. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Luxembourg.rb +270 -0
  2198. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Madrid.rb +248 -0
  2199. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Malta.rb +252 -0
  2200. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Mariehamn.rb +18 -0
  2201. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Minsk.rb +97 -0
  2202. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Monaco.rb +272 -0
  2203. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Moscow.rb +109 -0
  2204. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Nicosia.rb +18 -0
  2205. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Oslo.rb +224 -0
  2206. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Paris.rb +271 -0
  2207. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Podgorica.rb +18 -0
  2208. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Prague.rb +226 -0
  2209. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Riga.rb +215 -0
  2210. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Rome.rb +254 -0
  2211. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Samara.rb +90 -0
  2212. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/San_Marino.rb +18 -0
  2213. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Sarajevo.rb +18 -0
  2214. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Saratov.rb +89 -0
  2215. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Simferopol.rb +104 -0
  2216. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Skopje.rb +18 -0
  2217. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Sofia.rb +212 -0
  2218. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Stockholm.rb +204 -0
  2219. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Tallinn.rb +211 -0
  2220. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Tirane.rb +216 -0
  2221. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Tiraspol.rb +18 -0
  2222. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Ulyanovsk.rb +93 -0
  2223. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Uzhgorod.rb +207 -0
  2224. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Vaduz.rb +18 -0
  2225. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Vatican.rb +18 -0
  2226. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Vienna.rb +222 -0
  2227. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Vilnius.rb +209 -0
  2228. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Volgograd.rb +88 -0
  2229. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Warsaw.rb +251 -0
  2230. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Zagreb.rb +18 -0
  2231. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Zaporozhye.rb +210 -0
  2232. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Europe/Zurich.rb +204 -0
  2233. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Factory.rb +19 -0
  2234. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GB.rb +16 -0
  2235. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GB__m__Eire.rb +16 -0
  2236. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GMT.rb +16 -0
  2237. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GMT0.rb +16 -0
  2238. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GMT__m__0.rb +16 -0
  2239. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/GMT__p__0.rb +16 -0
  2240. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Greenwich.rb +16 -0
  2241. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/HST.rb +19 -0
  2242. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Hongkong.rb +16 -0
  2243. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Iceland.rb +16 -0
  2244. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Antananarivo.rb +18 -0
  2245. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Chagos.rb +25 -0
  2246. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Christmas.rb +23 -0
  2247. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Cocos.rb +23 -0
  2248. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Comoro.rb +18 -0
  2249. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Kerguelen.rb +23 -0
  2250. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Mahe.rb +23 -0
  2251. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Maldives.rb +25 -0
  2252. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Mauritius.rb +28 -0
  2253. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Mayotte.rb +18 -0
  2254. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Indian/Reunion.rb +23 -0
  2255. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Iran.rb +16 -0
  2256. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Israel.rb +16 -0
  2257. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Jamaica.rb +16 -0
  2258. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Japan.rb +16 -0
  2259. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Kwajalein.rb +16 -0
  2260. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Libya.rb +16 -0
  2261. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/MET.rb +216 -0
  2262. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/MST.rb +19 -0
  2263. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/MST7MDT.rb +231 -0
  2264. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Mexico/BajaNorte.rb +18 -0
  2265. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Mexico/BajaSur.rb +18 -0
  2266. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Mexico/General.rb +18 -0
  2267. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/NZ.rb +16 -0
  2268. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/NZ__m__CHAT.rb +16 -0
  2269. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Navajo.rb +16 -0
  2270. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/PRC.rb +16 -0
  2271. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/PST8PDT.rb +231 -0
  2272. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Apia.rb +145 -0
  2273. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Auckland.rb +241 -0
  2274. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Bougainville.rb +30 -0
  2275. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Chatham.rb +212 -0
  2276. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Chuuk.rb +23 -0
  2277. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Easter.rb +224 -0
  2278. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Efate.rb +44 -0
  2279. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Enderbury.rb +27 -0
  2280. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Fakaofo.rb +25 -0
  2281. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Fiji.rb +144 -0
  2282. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Funafuti.rb +23 -0
  2283. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Galapagos.rb +28 -0
  2284. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Gambier.rb +23 -0
  2285. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Guadalcanal.rb +23 -0
  2286. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Guam.rb +27 -0
  2287. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Honolulu.rb +30 -0
  2288. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Johnston.rb +18 -0
  2289. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Kiritimati.rb +27 -0
  2290. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Kosrae.rb +26 -0
  2291. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Kwajalein.rb +27 -0
  2292. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Majuro.rb +25 -0
  2293. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Marquesas.rb +23 -0
  2294. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Midway.rb +18 -0
  2295. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Nauru.rb +28 -0
  2296. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Niue.rb +27 -0
  2297. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Norfolk.rb +30 -0
  2298. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Noumea.rb +30 -0
  2299. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Pago_Pago.rb +25 -0
  2300. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Palau.rb +23 -0
  2301. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Pitcairn.rb +25 -0
  2302. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Pohnpei.rb +23 -0
  2303. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Ponape.rb +18 -0
  2304. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Port_Moresby.rb +25 -0
  2305. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Rarotonga.rb +51 -0
  2306. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Saipan.rb +18 -0
  2307. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Samoa.rb +18 -0
  2308. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Tahiti.rb +23 -0
  2309. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Tarawa.rb +23 -0
  2310. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Tongatapu.rb +134 -0
  2311. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Truk.rb +18 -0
  2312. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Wake.rb +23 -0
  2313. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Wallis.rb +23 -0
  2314. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Pacific/Yap.rb +18 -0
  2315. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Poland.rb +16 -0
  2316. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Portugal.rb +16 -0
  2317. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/ROC.rb +16 -0
  2318. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/ROK.rb +16 -0
  2319. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Singapore.rb +16 -0
  2320. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Turkey.rb +16 -0
  2321. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/UCT.rb +16 -0
  2322. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Alaska.rb +18 -0
  2323. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Aleutian.rb +18 -0
  2324. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Arizona.rb +18 -0
  2325. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Central.rb +18 -0
  2326. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/East__m__Indiana.rb +18 -0
  2327. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Eastern.rb +18 -0
  2328. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Hawaii.rb +18 -0
  2329. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Indiana__m__Starke.rb +18 -0
  2330. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Michigan.rb +18 -0
  2331. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Mountain.rb +18 -0
  2332. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Pacific.rb +18 -0
  2333. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Pacific__m__New.rb +18 -0
  2334. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/US/Samoa.rb +18 -0
  2335. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/UTC.rb +16 -0
  2336. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Universal.rb +16 -0
  2337. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/WET.rb +202 -0
  2338. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/W__m__SU.rb +16 -0
  2339. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/definitions/Zulu.rb +16 -0
  2340. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/indexes/countries.rb +938 -0
  2341. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/indexes/timezones.rb +609 -0
  2342. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/tzdataparser.rb +1338 -0
  2343. data/vendor/bundle/ruby/2.0.0/gems/tzinfo-data-1.2017.2/lib/tzinfo/data/version.rb +20 -0
  2344. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/CHANGELOG.md +92 -0
  2345. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/MIT-LICENSE.txt +22 -0
  2346. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/README.md +120 -0
  2347. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/Rakefile +64 -0
  2348. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/data/display_width.marshal.gz +0 -0
  2349. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/lib/unicode/display_width.rb +51 -0
  2350. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/lib/unicode/display_width/constants.rb +8 -0
  2351. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/lib/unicode/display_width/index.rb +7 -0
  2352. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/lib/unicode/display_width/no_string_ext.rb +7 -0
  2353. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/lib/unicode/display_width/string_ext.rb +17 -0
  2354. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/spec/display_width_spec.rb +156 -0
  2355. data/vendor/bundle/ruby/2.0.0/gems/unicode-display_width-1.2.1/unicode-display_width.gemspec +18 -0
  2356. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/CHANGELOG.md +332 -0
  2357. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/Gemfile +3 -0
  2358. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/LICENSE +21 -0
  2359. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/README.md +367 -0
  2360. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/Rakefile +2 -0
  2361. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/encode.rb +72 -0
  2362. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/encode_json_and_marshal.rb +42 -0
  2363. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/encode_json_and_yaml.rb +53 -0
  2364. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/http.rb +32 -0
  2365. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/parse.rb +94 -0
  2366. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/parse_json_and_marshal.rb +50 -0
  2367. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/parse_json_and_yaml.rb +55 -0
  2368. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/parse_stream.rb +54 -0
  2369. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/item.json +1 -0
  2370. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/ohai.json +1216 -0
  2371. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/ohai.marshal_dump +0 -0
  2372. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/ohai.yml +975 -0
  2373. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/twitter_search.json +1 -0
  2374. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/twitter_stream.json +430 -0
  2375. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/benchmark/subjects/unicode.json +1 -0
  2376. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/encoding/chunked_encoding.rb +27 -0
  2377. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/encoding/one_shot.rb +13 -0
  2378. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/encoding/to_an_io.rb +12 -0
  2379. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/http/twitter_search_api.rb +12 -0
  2380. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/http/twitter_stream_api.rb +26 -0
  2381. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/parsing/from_file.rb +14 -0
  2382. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/parsing/from_stdin.rb +9 -0
  2383. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/examples/parsing/from_string.rb +13 -0
  2384. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/Makefile +238 -0
  2385. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/api/yajl_common.h +89 -0
  2386. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/api/yajl_gen.h +161 -0
  2387. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/api/yajl_parse.h +196 -0
  2388. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/api/yajl_version.h +23 -0
  2389. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/extconf.rb +7 -0
  2390. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl.bundle +0 -0
  2391. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl.c +164 -0
  2392. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl.o +0 -0
  2393. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_alloc.c +65 -0
  2394. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_alloc.h +51 -0
  2395. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_alloc.o +0 -0
  2396. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_buf.c +119 -0
  2397. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_buf.h +80 -0
  2398. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_buf.o +0 -0
  2399. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_bytestack.h +85 -0
  2400. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_encode.c +201 -0
  2401. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_encode.h +55 -0
  2402. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_encode.o +0 -0
  2403. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_ext.c +941 -0
  2404. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_ext.h +135 -0
  2405. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_ext.o +0 -0
  2406. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_gen.c +344 -0
  2407. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_gen.o +0 -0
  2408. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_lex.c +748 -0
  2409. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_lex.h +146 -0
  2410. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_lex.o +0 -0
  2411. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_parser.c +450 -0
  2412. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_parser.h +84 -0
  2413. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_parser.o +0 -0
  2414. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_version.c +7 -0
  2415. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/ext/yajl/yajl_version.o +0 -0
  2416. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl.rb +76 -0
  2417. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/bzip2.rb +11 -0
  2418. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/bzip2/stream_reader.rb +31 -0
  2419. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/bzip2/stream_writer.rb +14 -0
  2420. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/deflate.rb +6 -0
  2421. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/deflate/stream_reader.rb +43 -0
  2422. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/deflate/stream_writer.rb +20 -0
  2423. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/gzip.rb +6 -0
  2424. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/gzip/stream_reader.rb +30 -0
  2425. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/gzip/stream_writer.rb +13 -0
  2426. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/http_stream.rb +212 -0
  2427. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/json_gem.rb +13 -0
  2428. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/json_gem/encoding.rb +50 -0
  2429. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/json_gem/parsing.rb +26 -0
  2430. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/version.rb +3 -0
  2431. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/lib/yajl/yajl.bundle +0 -0
  2432. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/script/bootstrap +5 -0
  2433. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/encoding/encoding_spec.rb +315 -0
  2434. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/global/global_spec.rb +54 -0
  2435. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.bzip2.dump +0 -0
  2436. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.chunked.dump +11 -0
  2437. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.deflate.dump +0 -0
  2438. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.error.dump +12 -0
  2439. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.gzip.dump +0 -0
  2440. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.html.dump +1220 -0
  2441. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/fixtures/http.raw.dump +1226 -0
  2442. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_delete_spec.rb +98 -0
  2443. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_error_spec.rb +31 -0
  2444. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_get_spec.rb +109 -0
  2445. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_post_spec.rb +123 -0
  2446. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_put_spec.rb +105 -0
  2447. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/http/http_stream_options_spec.rb +27 -0
  2448. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/json_gem_compatibility/compatibility_spec.rb +207 -0
  2449. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/active_support_spec.rb +64 -0
  2450. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/chunked_spec.rb +96 -0
  2451. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail.15.json +1 -0
  2452. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail.16.json +1 -0
  2453. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail.17.json +1 -0
  2454. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail.26.json +1 -0
  2455. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail11.json +1 -0
  2456. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail12.json +1 -0
  2457. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail13.json +1 -0
  2458. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail14.json +1 -0
  2459. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail19.json +1 -0
  2460. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail20.json +1 -0
  2461. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail21.json +1 -0
  2462. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail22.json +1 -0
  2463. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail23.json +1 -0
  2464. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail24.json +1 -0
  2465. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail25.json +1 -0
  2466. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail27.json +2 -0
  2467. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail28.json +2 -0
  2468. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail3.json +1 -0
  2469. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail4.json +1 -0
  2470. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail5.json +1 -0
  2471. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail6.json +1 -0
  2472. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/fail9.json +1 -0
  2473. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.array.json +6 -0
  2474. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.codepoints_from_unicode_org.json +1 -0
  2475. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.contacts.json +1 -0
  2476. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.db100.xml.json +1 -0
  2477. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.db1000.xml.json +1 -0
  2478. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.dc_simple_with_comments.json +11 -0
  2479. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.deep_arrays.json +1 -0
  2480. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.difficult_json_c_test_case.json +1 -0
  2481. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.difficult_json_c_test_case_with_comments.json +1 -0
  2482. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.doubles.json +1 -0
  2483. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.empty_array.json +1 -0
  2484. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.empty_string.json +1 -0
  2485. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.escaped_bulgarian.json +4 -0
  2486. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.escaped_foobar.json +1 -0
  2487. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.item.json +1 -0
  2488. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample1.json +23 -0
  2489. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample2.json +11 -0
  2490. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample3.json +26 -0
  2491. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample4-nows.json +88 -0
  2492. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample4.json +89 -0
  2493. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.json-org-sample5.json +27 -0
  2494. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.map-spain.xml.json +1 -0
  2495. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.ns-invoice100.xml.json +1 -0
  2496. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.ns-soap.xml.json +1 -0
  2497. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.numbers-fp-4k.json +6 -0
  2498. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.numbers-fp-64k.json +61 -0
  2499. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.numbers-int-4k.json +11 -0
  2500. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.numbers-int-64k.json +154 -0
  2501. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.twitter-search.json +1 -0
  2502. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.twitter-search2.json +1 -0
  2503. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.unicode.json +3315 -0
  2504. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass.yelp.json +1 -0
  2505. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass1.json +56 -0
  2506. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass2.json +1 -0
  2507. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures/pass3.json +6 -0
  2508. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/fixtures_spec.rb +40 -0
  2509. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/large_number_spec.rb +60 -0
  2510. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/parsing/one_off_spec.rb +90 -0
  2511. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/rcov.opts +3 -0
  2512. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/spec/spec_helper.rb +13 -0
  2513. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/tasks/compile.rake +35 -0
  2514. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/tasks/rspec.rake +16 -0
  2515. data/vendor/bundle/ruby/2.0.0/gems/yajl-ruby-1.3.0/yajl-ruby.gemspec +26 -0
  2516. data/vendor/bundle/ruby/2.0.0/specifications/ast-2.3.0.gemspec +56 -0
  2517. data/vendor/bundle/ruby/2.0.0/specifications/cool.io-1.5.0.gemspec +39 -0
  2518. data/vendor/bundle/ruby/2.0.0/specifications/fluentd-0.12.35.gemspec +83 -0
  2519. data/vendor/bundle/ruby/2.0.0/specifications/http_parser.rb-0.6.0.gemspec +46 -0
  2520. data/vendor/bundle/ruby/2.0.0/specifications/json-2.1.0.gemspec +37 -0
  2521. data/vendor/bundle/ruby/2.0.0/specifications/msgpack-1.1.0.gemspec +50 -0
  2522. data/vendor/bundle/ruby/2.0.0/specifications/parser-2.4.0.0.gemspec +58 -0
  2523. data/vendor/bundle/ruby/2.0.0/specifications/power_assert-1.0.2.gemspec +48 -0
  2524. data/vendor/bundle/ruby/2.0.0/specifications/powerpack-0.1.1.gemspec +38 -0
  2525. data/vendor/bundle/ruby/2.0.0/specifications/rainbow-2.2.2.gemspec +35 -0
  2526. data/vendor/bundle/ruby/2.0.0/specifications/rake-10.5.0.gemspec +40 -0
  2527. data/vendor/bundle/ruby/2.0.0/specifications/rubocop-0.42.0.gemspec +48 -0
  2528. data/vendor/bundle/ruby/2.0.0/specifications/ruby-progressbar-1.8.1.gemspec +42 -0
  2529. data/vendor/bundle/ruby/2.0.0/specifications/sigdump-0.2.4.gemspec +29 -0
  2530. data/vendor/bundle/ruby/2.0.0/specifications/string-scrub-0.0.5.gemspec +41 -0
  2531. data/vendor/bundle/ruby/2.0.0/specifications/test-unit-3.2.3.gemspec +44 -0
  2532. data/vendor/bundle/ruby/2.0.0/specifications/thread_safe-0.3.6.gemspec +35 -0
  2533. data/vendor/bundle/ruby/2.0.0/specifications/tzinfo-1.2.3.gemspec +34 -0
  2534. data/vendor/bundle/ruby/2.0.0/specifications/tzinfo-data-1.2017.2.gemspec +34 -0
  2535. data/vendor/bundle/ruby/2.0.0/specifications/unicode-display_width-1.2.1.gemspec +35 -0
  2536. data/vendor/bundle/ruby/2.0.0/specifications/yajl-ruby-1.3.0.gemspec +40 -0
  2537. metadata +2643 -0
@@ -0,0 +1,79 @@
1
+ # This file is used with the GYP meta build system.
2
+ # http://code.google.com/p/gyp/
3
+ # To build try this:
4
+ # svn co http://gyp.googlecode.com/svn/trunk gyp
5
+ # ./gyp/gyp -f make --depth=`pwd` http_parser.gyp
6
+ # ./out/Debug/test
7
+ {
8
+ 'target_defaults': {
9
+ 'default_configuration': 'Debug',
10
+ 'configurations': {
11
+ # TODO: hoist these out and put them somewhere common, because
12
+ # RuntimeLibrary MUST MATCH across the entire project
13
+ 'Debug': {
14
+ 'defines': [ 'DEBUG', '_DEBUG' ],
15
+ 'msvs_settings': {
16
+ 'VCCLCompilerTool': {
17
+ 'RuntimeLibrary': 1, # static debug
18
+ },
19
+ },
20
+ },
21
+ 'Release': {
22
+ 'defines': [ 'NDEBUG' ],
23
+ 'msvs_settings': {
24
+ 'VCCLCompilerTool': {
25
+ 'RuntimeLibrary': 0, # static release
26
+ },
27
+ },
28
+ }
29
+ },
30
+ 'msvs_settings': {
31
+ 'VCCLCompilerTool': {
32
+ },
33
+ 'VCLibrarianTool': {
34
+ },
35
+ 'VCLinkerTool': {
36
+ 'GenerateDebugInformation': 'true',
37
+ },
38
+ },
39
+ 'conditions': [
40
+ ['OS == "win"', {
41
+ 'defines': [
42
+ 'WIN32'
43
+ ],
44
+ }]
45
+ ],
46
+ },
47
+
48
+ 'targets': [
49
+ {
50
+ 'target_name': 'http_parser',
51
+ 'type': 'static_library',
52
+ 'include_dirs': [ '.' ],
53
+ 'direct_dependent_settings': {
54
+ 'include_dirs': [ '.' ],
55
+ },
56
+ 'defines': [ 'HTTP_PARSER_STRICT=0' ],
57
+ 'sources': [ './http_parser.c', ],
58
+ 'conditions': [
59
+ ['OS=="win"', {
60
+ 'msvs_settings': {
61
+ 'VCCLCompilerTool': {
62
+ # Compile as C++. http_parser.c is actually C99, but C++ is
63
+ # close enough in this case.
64
+ 'CompileAs': 2,
65
+ },
66
+ },
67
+ }]
68
+ ],
69
+ },
70
+
71
+ {
72
+ 'target_name': 'test',
73
+ 'type': 'executable',
74
+ 'dependencies': [ 'http_parser' ],
75
+ 'sources': [ 'test.c' ]
76
+ }
77
+ ]
78
+ }
79
+
@@ -0,0 +1,312 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+ #ifndef http_parser_h
22
+ #define http_parser_h
23
+ #ifdef __cplusplus
24
+ extern "C" {
25
+ #endif
26
+
27
+ #define HTTP_PARSER_VERSION_MAJOR 1
28
+ #define HTTP_PARSER_VERSION_MINOR 0
29
+
30
+ #include <sys/types.h>
31
+ #if defined(_WIN32) && !defined(__MINGW32__) && (!defined(_MSC_VER) || _MSC_VER<1600)
32
+ typedef __int8 int8_t;
33
+ typedef unsigned __int8 uint8_t;
34
+ typedef __int16 int16_t;
35
+ typedef unsigned __int16 uint16_t;
36
+ typedef __int32 int32_t;
37
+ typedef unsigned __int32 uint32_t;
38
+ typedef __int64 int64_t;
39
+ typedef unsigned __int64 uint64_t;
40
+
41
+ typedef unsigned int size_t;
42
+ typedef int ssize_t;
43
+ #else
44
+ #include <stdint.h>
45
+ #endif
46
+
47
+ /* Compile with -DHTTP_PARSER_STRICT=0 to make less checks, but run
48
+ * faster
49
+ */
50
+ #ifndef HTTP_PARSER_STRICT
51
+ # define HTTP_PARSER_STRICT 1
52
+ #endif
53
+
54
+ /* Compile with -DHTTP_PARSER_DEBUG=1 to add extra debugging information to
55
+ * the error reporting facility.
56
+ */
57
+ #ifndef HTTP_PARSER_DEBUG
58
+ # define HTTP_PARSER_DEBUG 0
59
+ #endif
60
+
61
+
62
+ /* Maximium header size allowed */
63
+ #define HTTP_MAX_HEADER_SIZE (80*1024)
64
+
65
+
66
+ typedef struct http_parser http_parser;
67
+ typedef struct http_parser_settings http_parser_settings;
68
+ typedef struct http_parser_result http_parser_result;
69
+
70
+
71
+ /* Callbacks should return non-zero to indicate an error. The parser will
72
+ * then halt execution.
73
+ *
74
+ * The one exception is on_headers_complete. In a HTTP_RESPONSE parser
75
+ * returning '1' from on_headers_complete will tell the parser that it
76
+ * should not expect a body. This is used when receiving a response to a
77
+ * HEAD request which may contain 'Content-Length' or 'Transfer-Encoding:
78
+ * chunked' headers that indicate the presence of a body.
79
+ *
80
+ * http_data_cb does not return data chunks. It will be call arbitrarally
81
+ * many times for each string. E.G. you might get 10 callbacks for "on_path"
82
+ * each providing just a few characters more data.
83
+ */
84
+ typedef int (*http_data_cb) (http_parser*, const char *at, size_t length);
85
+ typedef int (*http_cb) (http_parser*);
86
+
87
+
88
+ /* Request Methods */
89
+ enum http_method
90
+ { HTTP_DELETE = 0
91
+ , HTTP_GET
92
+ , HTTP_HEAD
93
+ , HTTP_POST
94
+ , HTTP_PUT
95
+ /* pathological */
96
+ , HTTP_CONNECT
97
+ , HTTP_OPTIONS
98
+ , HTTP_TRACE
99
+ /* webdav */
100
+ , HTTP_COPY
101
+ , HTTP_LOCK
102
+ , HTTP_MKCOL
103
+ , HTTP_MOVE
104
+ , HTTP_PROPFIND
105
+ , HTTP_PROPPATCH
106
+ , HTTP_UNLOCK
107
+ /* subversion */
108
+ , HTTP_REPORT
109
+ , HTTP_MKACTIVITY
110
+ , HTTP_CHECKOUT
111
+ , HTTP_MERGE
112
+ /* upnp */
113
+ , HTTP_MSEARCH
114
+ , HTTP_NOTIFY
115
+ , HTTP_SUBSCRIBE
116
+ , HTTP_UNSUBSCRIBE
117
+ /* RFC-5789 */
118
+ , HTTP_PATCH
119
+ , HTTP_PURGE
120
+ };
121
+
122
+
123
+ enum http_parser_type { HTTP_REQUEST, HTTP_RESPONSE, HTTP_BOTH };
124
+
125
+
126
+ /* Flag values for http_parser.flags field */
127
+ enum flags
128
+ { F_CHUNKED = 1 << 0
129
+ , F_CONNECTION_KEEP_ALIVE = 1 << 1
130
+ , F_CONNECTION_CLOSE = 1 << 2
131
+ , F_TRAILING = 1 << 3
132
+ , F_UPGRADE = 1 << 4
133
+ , F_SKIPBODY = 1 << 5
134
+ };
135
+
136
+
137
+ /* Map for errno-related constants
138
+ *
139
+ * The provided argument should be a macro that takes 2 arguments.
140
+ */
141
+ #define HTTP_ERRNO_MAP(XX) \
142
+ /* No error */ \
143
+ XX(OK, "success") \
144
+ \
145
+ /* Callback-related errors */ \
146
+ XX(CB_message_begin, "the on_message_begin callback failed") \
147
+ XX(CB_url, "the on_url callback failed") \
148
+ XX(CB_header_field, "the on_header_field callback failed") \
149
+ XX(CB_header_value, "the on_header_value callback failed") \
150
+ XX(CB_headers_complete, "the on_headers_complete callback failed") \
151
+ XX(CB_body, "the on_body callback failed") \
152
+ XX(CB_message_complete, "the on_message_complete callback failed") \
153
+ \
154
+ /* Parsing-related errors */ \
155
+ XX(INVALID_EOF_STATE, "stream ended at an unexpected time") \
156
+ XX(HEADER_OVERFLOW, \
157
+ "too many header bytes seen; overflow detected") \
158
+ XX(CLOSED_CONNECTION, \
159
+ "data received after completed connection: close message") \
160
+ XX(INVALID_VERSION, "invalid HTTP version") \
161
+ XX(INVALID_STATUS, "invalid HTTP status code") \
162
+ XX(INVALID_METHOD, "invalid HTTP method") \
163
+ XX(INVALID_URL, "invalid URL") \
164
+ XX(INVALID_HOST, "invalid host") \
165
+ XX(INVALID_PORT, "invalid port") \
166
+ XX(INVALID_PATH, "invalid path") \
167
+ XX(INVALID_QUERY_STRING, "invalid query string") \
168
+ XX(INVALID_FRAGMENT, "invalid fragment") \
169
+ XX(LF_EXPECTED, "LF character expected") \
170
+ XX(INVALID_HEADER_TOKEN, "invalid character in header") \
171
+ XX(INVALID_CONTENT_LENGTH, \
172
+ "invalid character in content-length header") \
173
+ XX(INVALID_CHUNK_SIZE, \
174
+ "invalid character in chunk size header") \
175
+ XX(INVALID_CONSTANT, "invalid constant string") \
176
+ XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\
177
+ XX(STRICT, "strict mode assertion failed") \
178
+ XX(PAUSED, "parser is paused") \
179
+ XX(UNKNOWN, "an unknown error occurred")
180
+
181
+
182
+ /* Define HPE_* values for each errno value above */
183
+ #define HTTP_ERRNO_GEN(n, s) HPE_##n,
184
+ enum http_errno {
185
+ HTTP_ERRNO_MAP(HTTP_ERRNO_GEN)
186
+ };
187
+ #undef HTTP_ERRNO_GEN
188
+
189
+
190
+ /* Get an http_errno value from an http_parser */
191
+ #define HTTP_PARSER_ERRNO(p) ((enum http_errno) (p)->http_errno)
192
+
193
+ /* Get the line number that generated the current error */
194
+ #if HTTP_PARSER_DEBUG
195
+ #define HTTP_PARSER_ERRNO_LINE(p) ((p)->error_lineno)
196
+ #else
197
+ #define HTTP_PARSER_ERRNO_LINE(p) 0
198
+ #endif
199
+
200
+
201
+ struct http_parser {
202
+ /** PRIVATE **/
203
+ unsigned char type : 2; /* enum http_parser_type */
204
+ unsigned char flags : 6; /* F_* values from 'flags' enum; semi-public */
205
+ unsigned char state; /* enum state from http_parser.c */
206
+ unsigned char header_state; /* enum header_state from http_parser.c */
207
+ unsigned char index; /* index into current matcher */
208
+
209
+ uint32_t nread; /* # bytes read in various scenarios */
210
+ uint64_t content_length; /* # bytes in body (0 if no Content-Length header) */
211
+
212
+ /** READ-ONLY **/
213
+ unsigned short http_major;
214
+ unsigned short http_minor;
215
+ unsigned short status_code; /* responses only */
216
+ unsigned char method; /* requests only */
217
+ unsigned char http_errno : 7;
218
+
219
+ /* 1 = Upgrade header was present and the parser has exited because of that.
220
+ * 0 = No upgrade header present.
221
+ * Should be checked when http_parser_execute() returns in addition to
222
+ * error checking.
223
+ */
224
+ unsigned char upgrade : 1;
225
+
226
+ #if HTTP_PARSER_DEBUG
227
+ uint32_t error_lineno;
228
+ #endif
229
+
230
+ /** PUBLIC **/
231
+ void *data; /* A pointer to get hook to the "connection" or "socket" object */
232
+ };
233
+
234
+
235
+ struct http_parser_settings {
236
+ http_cb on_message_begin;
237
+ http_data_cb on_url;
238
+ http_data_cb on_header_field;
239
+ http_data_cb on_header_value;
240
+ http_cb on_headers_complete;
241
+ http_data_cb on_body;
242
+ http_cb on_message_complete;
243
+ };
244
+
245
+
246
+ enum http_parser_url_fields
247
+ { UF_SCHEMA = 0
248
+ , UF_HOST = 1
249
+ , UF_PORT = 2
250
+ , UF_PATH = 3
251
+ , UF_QUERY = 4
252
+ , UF_FRAGMENT = 5
253
+ , UF_MAX = 6
254
+ };
255
+
256
+
257
+ /* Result structure for http_parser_parse_url().
258
+ *
259
+ * Callers should index into field_data[] with UF_* values iff field_set
260
+ * has the relevant (1 << UF_*) bit set. As a courtesy to clients (and
261
+ * because we probably have padding left over), we convert any port to
262
+ * a uint16_t.
263
+ */
264
+ struct http_parser_url {
265
+ uint16_t field_set; /* Bitmask of (1 << UF_*) values */
266
+ uint16_t port; /* Converted UF_PORT string */
267
+
268
+ struct {
269
+ uint16_t off; /* Offset into buffer in which field starts */
270
+ uint16_t len; /* Length of run in buffer */
271
+ } field_data[UF_MAX];
272
+ };
273
+
274
+
275
+ void http_parser_init(http_parser *parser, enum http_parser_type type);
276
+
277
+
278
+ size_t http_parser_execute(http_parser *parser,
279
+ const http_parser_settings *settings,
280
+ const char *data,
281
+ size_t len);
282
+
283
+
284
+ /* If http_should_keep_alive() in the on_headers_complete or
285
+ * on_message_complete callback returns true, then this will be should be
286
+ * the last message on the connection.
287
+ * If you are the server, respond with the "Connection: close" header.
288
+ * If you are the client, close the connection.
289
+ */
290
+ int http_should_keep_alive(http_parser *parser);
291
+
292
+ /* Returns a string version of the HTTP method. */
293
+ const char *http_method_str(enum http_method m);
294
+
295
+ /* Return a string name of the given error */
296
+ const char *http_errno_name(enum http_errno err);
297
+
298
+ /* Return a string description of the given error */
299
+ const char *http_errno_description(enum http_errno err);
300
+
301
+ /* Parse a URL; return nonzero on failure */
302
+ int http_parser_parse_url(const char *buf, size_t buflen,
303
+ int is_connect,
304
+ struct http_parser_url *u);
305
+
306
+ /* Pause or un-pause the parser; a nonzero value pauses */
307
+ void http_parser_pause(http_parser *parser, int paused);
308
+
309
+ #ifdef __cplusplus
310
+ }
311
+ #endif
312
+ #endif
@@ -0,0 +1,2876 @@
1
+ /* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
+ *
3
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ * of this software and associated documentation files (the "Software"), to
5
+ * deal in the Software without restriction, including without limitation the
6
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
+ * sell copies of the Software, and to permit persons to whom the Software is
8
+ * furnished to do so, subject to the following conditions:
9
+ *
10
+ * The above copyright notice and this permission notice shall be included in
11
+ * all copies or substantial portions of the Software.
12
+ *
13
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
+ * IN THE SOFTWARE.
20
+ */
21
+ #include "http_parser.h"
22
+ #include <stdlib.h>
23
+ #include <assert.h>
24
+ #include <stdio.h>
25
+ #include <stdlib.h> /* rand */
26
+ #include <string.h>
27
+ #include <stdarg.h>
28
+
29
+ #undef TRUE
30
+ #define TRUE 1
31
+ #undef FALSE
32
+ #define FALSE 0
33
+
34
+ #define MAX_HEADERS 13
35
+ #define MAX_ELEMENT_SIZE 500
36
+
37
+ #define MIN(a,b) ((a) < (b) ? (a) : (b))
38
+
39
+ static http_parser *parser;
40
+
41
+ struct message {
42
+ const char *name; // for debugging purposes
43
+ const char *raw;
44
+ enum http_parser_type type;
45
+ enum http_method method;
46
+ int status_code;
47
+ char request_path[MAX_ELEMENT_SIZE];
48
+ char request_url[MAX_ELEMENT_SIZE];
49
+ char fragment[MAX_ELEMENT_SIZE];
50
+ char query_string[MAX_ELEMENT_SIZE];
51
+ char body[MAX_ELEMENT_SIZE];
52
+ size_t body_size;
53
+ uint16_t port;
54
+ int num_headers;
55
+ enum { NONE=0, FIELD, VALUE } last_header_element;
56
+ char headers [MAX_HEADERS][2][MAX_ELEMENT_SIZE];
57
+ int should_keep_alive;
58
+
59
+ const char *upgrade; // upgraded body
60
+
61
+ unsigned short http_major;
62
+ unsigned short http_minor;
63
+
64
+ int message_begin_cb_called;
65
+ int headers_complete_cb_called;
66
+ int message_complete_cb_called;
67
+ int message_complete_on_eof;
68
+ };
69
+
70
+ static int currently_parsing_eof;
71
+
72
+ static struct message messages[5];
73
+ static int num_messages;
74
+ static http_parser_settings *current_pause_parser;
75
+
76
+ /* * R E Q U E S T S * */
77
+ const struct message requests[] =
78
+ #define CURL_GET 0
79
+ { {.name= "curl get"
80
+ ,.type= HTTP_REQUEST
81
+ ,.raw= "GET /test HTTP/1.1\r\n"
82
+ "User-Agent: curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1\r\n"
83
+ "Host: 0.0.0.0=5000\r\n"
84
+ "Accept: */*\r\n"
85
+ "\r\n"
86
+ ,.should_keep_alive= TRUE
87
+ ,.message_complete_on_eof= FALSE
88
+ ,.http_major= 1
89
+ ,.http_minor= 1
90
+ ,.method= HTTP_GET
91
+ ,.query_string= ""
92
+ ,.fragment= ""
93
+ ,.request_path= "/test"
94
+ ,.request_url= "/test"
95
+ ,.num_headers= 3
96
+ ,.headers=
97
+ { { "User-Agent", "curl/7.18.0 (i486-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1" }
98
+ , { "Host", "0.0.0.0=5000" }
99
+ , { "Accept", "*/*" }
100
+ }
101
+ ,.body= ""
102
+ }
103
+
104
+ #define FIREFOX_GET 1
105
+ , {.name= "firefox get"
106
+ ,.type= HTTP_REQUEST
107
+ ,.raw= "GET /favicon.ico HTTP/1.1\r\n"
108
+ "Host: 0.0.0.0=5000\r\n"
109
+ "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0\r\n"
110
+ "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
111
+ "Accept-Language: en-us,en;q=0.5\r\n"
112
+ "Accept-Encoding: gzip,deflate\r\n"
113
+ "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
114
+ "Keep-Alive: 300\r\n"
115
+ "Connection: keep-alive\r\n"
116
+ "\r\n"
117
+ ,.should_keep_alive= TRUE
118
+ ,.message_complete_on_eof= FALSE
119
+ ,.http_major= 1
120
+ ,.http_minor= 1
121
+ ,.method= HTTP_GET
122
+ ,.query_string= ""
123
+ ,.fragment= ""
124
+ ,.request_path= "/favicon.ico"
125
+ ,.request_url= "/favicon.ico"
126
+ ,.num_headers= 8
127
+ ,.headers=
128
+ { { "Host", "0.0.0.0=5000" }
129
+ , { "User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko/2008061015 Firefox/3.0" }
130
+ , { "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" }
131
+ , { "Accept-Language", "en-us,en;q=0.5" }
132
+ , { "Accept-Encoding", "gzip,deflate" }
133
+ , { "Accept-Charset", "ISO-8859-1,utf-8;q=0.7,*;q=0.7" }
134
+ , { "Keep-Alive", "300" }
135
+ , { "Connection", "keep-alive" }
136
+ }
137
+ ,.body= ""
138
+ }
139
+
140
+ #define DUMBFUCK 2
141
+ , {.name= "dumbfuck"
142
+ ,.type= HTTP_REQUEST
143
+ ,.raw= "GET /dumbfuck HTTP/1.1\r\n"
144
+ "aaaaaaaaaaaaa:++++++++++\r\n"
145
+ "\r\n"
146
+ ,.should_keep_alive= TRUE
147
+ ,.message_complete_on_eof= FALSE
148
+ ,.http_major= 1
149
+ ,.http_minor= 1
150
+ ,.method= HTTP_GET
151
+ ,.query_string= ""
152
+ ,.fragment= ""
153
+ ,.request_path= "/dumbfuck"
154
+ ,.request_url= "/dumbfuck"
155
+ ,.num_headers= 1
156
+ ,.headers=
157
+ { { "aaaaaaaaaaaaa", "++++++++++" }
158
+ }
159
+ ,.body= ""
160
+ }
161
+
162
+ #define FRAGMENT_IN_URI 3
163
+ , {.name= "fragment in url"
164
+ ,.type= HTTP_REQUEST
165
+ ,.raw= "GET /forums/1/topics/2375?page=1#posts-17408 HTTP/1.1\r\n"
166
+ "\r\n"
167
+ ,.should_keep_alive= TRUE
168
+ ,.message_complete_on_eof= FALSE
169
+ ,.http_major= 1
170
+ ,.http_minor= 1
171
+ ,.method= HTTP_GET
172
+ ,.query_string= "page=1"
173
+ ,.fragment= "posts-17408"
174
+ ,.request_path= "/forums/1/topics/2375"
175
+ /* XXX request url does include fragment? */
176
+ ,.request_url= "/forums/1/topics/2375?page=1#posts-17408"
177
+ ,.num_headers= 0
178
+ ,.body= ""
179
+ }
180
+
181
+ #define GET_NO_HEADERS_NO_BODY 4
182
+ , {.name= "get no headers no body"
183
+ ,.type= HTTP_REQUEST
184
+ ,.raw= "GET /get_no_headers_no_body/world HTTP/1.1\r\n"
185
+ "\r\n"
186
+ ,.should_keep_alive= TRUE
187
+ ,.message_complete_on_eof= FALSE /* would need Connection: close */
188
+ ,.http_major= 1
189
+ ,.http_minor= 1
190
+ ,.method= HTTP_GET
191
+ ,.query_string= ""
192
+ ,.fragment= ""
193
+ ,.request_path= "/get_no_headers_no_body/world"
194
+ ,.request_url= "/get_no_headers_no_body/world"
195
+ ,.num_headers= 0
196
+ ,.body= ""
197
+ }
198
+
199
+ #define GET_ONE_HEADER_NO_BODY 5
200
+ , {.name= "get one header no body"
201
+ ,.type= HTTP_REQUEST
202
+ ,.raw= "GET /get_one_header_no_body HTTP/1.1\r\n"
203
+ "Accept: */*\r\n"
204
+ "\r\n"
205
+ ,.should_keep_alive= TRUE
206
+ ,.message_complete_on_eof= FALSE /* would need Connection: close */
207
+ ,.http_major= 1
208
+ ,.http_minor= 1
209
+ ,.method= HTTP_GET
210
+ ,.query_string= ""
211
+ ,.fragment= ""
212
+ ,.request_path= "/get_one_header_no_body"
213
+ ,.request_url= "/get_one_header_no_body"
214
+ ,.num_headers= 1
215
+ ,.headers=
216
+ { { "Accept" , "*/*" }
217
+ }
218
+ ,.body= ""
219
+ }
220
+
221
+ #define GET_FUNKY_CONTENT_LENGTH 6
222
+ , {.name= "get funky content length body hello"
223
+ ,.type= HTTP_REQUEST
224
+ ,.raw= "GET /get_funky_content_length_body_hello HTTP/1.0\r\n"
225
+ "conTENT-Length: 5\r\n"
226
+ "\r\n"
227
+ "HELLO"
228
+ ,.should_keep_alive= FALSE
229
+ ,.message_complete_on_eof= FALSE
230
+ ,.http_major= 1
231
+ ,.http_minor= 0
232
+ ,.method= HTTP_GET
233
+ ,.query_string= ""
234
+ ,.fragment= ""
235
+ ,.request_path= "/get_funky_content_length_body_hello"
236
+ ,.request_url= "/get_funky_content_length_body_hello"
237
+ ,.num_headers= 1
238
+ ,.headers=
239
+ { { "conTENT-Length" , "5" }
240
+ }
241
+ ,.body= "HELLO"
242
+ }
243
+
244
+ #define POST_IDENTITY_BODY_WORLD 7
245
+ , {.name= "post identity body world"
246
+ ,.type= HTTP_REQUEST
247
+ ,.raw= "POST /post_identity_body_world?q=search#hey HTTP/1.1\r\n"
248
+ "Accept: */*\r\n"
249
+ "Transfer-Encoding: identity\r\n"
250
+ "Content-Length: 5\r\n"
251
+ "\r\n"
252
+ "World"
253
+ ,.should_keep_alive= TRUE
254
+ ,.message_complete_on_eof= FALSE
255
+ ,.http_major= 1
256
+ ,.http_minor= 1
257
+ ,.method= HTTP_POST
258
+ ,.query_string= "q=search"
259
+ ,.fragment= "hey"
260
+ ,.request_path= "/post_identity_body_world"
261
+ ,.request_url= "/post_identity_body_world?q=search#hey"
262
+ ,.num_headers= 3
263
+ ,.headers=
264
+ { { "Accept", "*/*" }
265
+ , { "Transfer-Encoding", "identity" }
266
+ , { "Content-Length", "5" }
267
+ }
268
+ ,.body= "World"
269
+ }
270
+
271
+ #define POST_CHUNKED_ALL_YOUR_BASE 8
272
+ , {.name= "post - chunked body: all your base are belong to us"
273
+ ,.type= HTTP_REQUEST
274
+ ,.raw= "POST /post_chunked_all_your_base HTTP/1.1\r\n"
275
+ "Transfer-Encoding: chunked\r\n"
276
+ "\r\n"
277
+ "1e\r\nall your base are belong to us\r\n"
278
+ "0\r\n"
279
+ "\r\n"
280
+ ,.should_keep_alive= TRUE
281
+ ,.message_complete_on_eof= FALSE
282
+ ,.http_major= 1
283
+ ,.http_minor= 1
284
+ ,.method= HTTP_POST
285
+ ,.query_string= ""
286
+ ,.fragment= ""
287
+ ,.request_path= "/post_chunked_all_your_base"
288
+ ,.request_url= "/post_chunked_all_your_base"
289
+ ,.num_headers= 1
290
+ ,.headers=
291
+ { { "Transfer-Encoding" , "chunked" }
292
+ }
293
+ ,.body= "all your base are belong to us"
294
+ }
295
+
296
+ #define TWO_CHUNKS_MULT_ZERO_END 9
297
+ , {.name= "two chunks ; triple zero ending"
298
+ ,.type= HTTP_REQUEST
299
+ ,.raw= "POST /two_chunks_mult_zero_end HTTP/1.1\r\n"
300
+ "Transfer-Encoding: chunked\r\n"
301
+ "\r\n"
302
+ "5\r\nhello\r\n"
303
+ "6\r\n world\r\n"
304
+ "000\r\n"
305
+ "\r\n"
306
+ ,.should_keep_alive= TRUE
307
+ ,.message_complete_on_eof= FALSE
308
+ ,.http_major= 1
309
+ ,.http_minor= 1
310
+ ,.method= HTTP_POST
311
+ ,.query_string= ""
312
+ ,.fragment= ""
313
+ ,.request_path= "/two_chunks_mult_zero_end"
314
+ ,.request_url= "/two_chunks_mult_zero_end"
315
+ ,.num_headers= 1
316
+ ,.headers=
317
+ { { "Transfer-Encoding", "chunked" }
318
+ }
319
+ ,.body= "hello world"
320
+ }
321
+
322
+ #define CHUNKED_W_TRAILING_HEADERS 10
323
+ , {.name= "chunked with trailing headers. blech."
324
+ ,.type= HTTP_REQUEST
325
+ ,.raw= "POST /chunked_w_trailing_headers HTTP/1.1\r\n"
326
+ "Transfer-Encoding: chunked\r\n"
327
+ "\r\n"
328
+ "5\r\nhello\r\n"
329
+ "6\r\n world\r\n"
330
+ "0\r\n"
331
+ "Vary: *\r\n"
332
+ "Content-Type: text/plain\r\n"
333
+ "\r\n"
334
+ ,.should_keep_alive= TRUE
335
+ ,.message_complete_on_eof= FALSE
336
+ ,.http_major= 1
337
+ ,.http_minor= 1
338
+ ,.method= HTTP_POST
339
+ ,.query_string= ""
340
+ ,.fragment= ""
341
+ ,.request_path= "/chunked_w_trailing_headers"
342
+ ,.request_url= "/chunked_w_trailing_headers"
343
+ ,.num_headers= 3
344
+ ,.headers=
345
+ { { "Transfer-Encoding", "chunked" }
346
+ , { "Vary", "*" }
347
+ , { "Content-Type", "text/plain" }
348
+ }
349
+ ,.body= "hello world"
350
+ }
351
+
352
+ #define CHUNKED_W_BULLSHIT_AFTER_LENGTH 11
353
+ , {.name= "with bullshit after the length"
354
+ ,.type= HTTP_REQUEST
355
+ ,.raw= "POST /chunked_w_bullshit_after_length HTTP/1.1\r\n"
356
+ "Transfer-Encoding: chunked\r\n"
357
+ "\r\n"
358
+ "5; ihatew3;whatthefuck=aretheseparametersfor\r\nhello\r\n"
359
+ "6; blahblah; blah\r\n world\r\n"
360
+ "0\r\n"
361
+ "\r\n"
362
+ ,.should_keep_alive= TRUE
363
+ ,.message_complete_on_eof= FALSE
364
+ ,.http_major= 1
365
+ ,.http_minor= 1
366
+ ,.method= HTTP_POST
367
+ ,.query_string= ""
368
+ ,.fragment= ""
369
+ ,.request_path= "/chunked_w_bullshit_after_length"
370
+ ,.request_url= "/chunked_w_bullshit_after_length"
371
+ ,.num_headers= 1
372
+ ,.headers=
373
+ { { "Transfer-Encoding", "chunked" }
374
+ }
375
+ ,.body= "hello world"
376
+ }
377
+
378
+ #define WITH_QUOTES 12
379
+ , {.name= "with quotes"
380
+ ,.type= HTTP_REQUEST
381
+ ,.raw= "GET /with_\"stupid\"_quotes?foo=\"bar\" HTTP/1.1\r\n\r\n"
382
+ ,.should_keep_alive= TRUE
383
+ ,.message_complete_on_eof= FALSE
384
+ ,.http_major= 1
385
+ ,.http_minor= 1
386
+ ,.method= HTTP_GET
387
+ ,.query_string= "foo=\"bar\""
388
+ ,.fragment= ""
389
+ ,.request_path= "/with_\"stupid\"_quotes"
390
+ ,.request_url= "/with_\"stupid\"_quotes?foo=\"bar\""
391
+ ,.num_headers= 0
392
+ ,.headers= { }
393
+ ,.body= ""
394
+ }
395
+
396
+ #define APACHEBENCH_GET 13
397
+ /* The server receiving this request SHOULD NOT wait for EOF
398
+ * to know that content-length == 0.
399
+ * How to represent this in a unit test? message_complete_on_eof
400
+ * Compare with NO_CONTENT_LENGTH_RESPONSE.
401
+ */
402
+ , {.name = "apachebench get"
403
+ ,.type= HTTP_REQUEST
404
+ ,.raw= "GET /test HTTP/1.0\r\n"
405
+ "Host: 0.0.0.0:5000\r\n"
406
+ "User-Agent: ApacheBench/2.3\r\n"
407
+ "Accept: */*\r\n\r\n"
408
+ ,.should_keep_alive= FALSE
409
+ ,.message_complete_on_eof= FALSE
410
+ ,.http_major= 1
411
+ ,.http_minor= 0
412
+ ,.method= HTTP_GET
413
+ ,.query_string= ""
414
+ ,.fragment= ""
415
+ ,.request_path= "/test"
416
+ ,.request_url= "/test"
417
+ ,.num_headers= 3
418
+ ,.headers= { { "Host", "0.0.0.0:5000" }
419
+ , { "User-Agent", "ApacheBench/2.3" }
420
+ , { "Accept", "*/*" }
421
+ }
422
+ ,.body= ""
423
+ }
424
+
425
+ #define QUERY_URL_WITH_QUESTION_MARK_GET 14
426
+ /* Some clients include '?' characters in query strings.
427
+ */
428
+ , {.name = "query url with question mark"
429
+ ,.type= HTTP_REQUEST
430
+ ,.raw= "GET /test.cgi?foo=bar?baz HTTP/1.1\r\n\r\n"
431
+ ,.should_keep_alive= TRUE
432
+ ,.message_complete_on_eof= FALSE
433
+ ,.http_major= 1
434
+ ,.http_minor= 1
435
+ ,.method= HTTP_GET
436
+ ,.query_string= "foo=bar?baz"
437
+ ,.fragment= ""
438
+ ,.request_path= "/test.cgi"
439
+ ,.request_url= "/test.cgi?foo=bar?baz"
440
+ ,.num_headers= 0
441
+ ,.headers= {}
442
+ ,.body= ""
443
+ }
444
+
445
+ #define PREFIX_NEWLINE_GET 15
446
+ /* Some clients, especially after a POST in a keep-alive connection,
447
+ * will send an extra CRLF before the next request
448
+ */
449
+ , {.name = "newline prefix get"
450
+ ,.type= HTTP_REQUEST
451
+ ,.raw= "\r\nGET /test HTTP/1.1\r\n\r\n"
452
+ ,.should_keep_alive= TRUE
453
+ ,.message_complete_on_eof= FALSE
454
+ ,.http_major= 1
455
+ ,.http_minor= 1
456
+ ,.method= HTTP_GET
457
+ ,.query_string= ""
458
+ ,.fragment= ""
459
+ ,.request_path= "/test"
460
+ ,.request_url= "/test"
461
+ ,.num_headers= 0
462
+ ,.headers= { }
463
+ ,.body= ""
464
+ }
465
+
466
+ #define UPGRADE_REQUEST 16
467
+ , {.name = "upgrade request"
468
+ ,.type= HTTP_REQUEST
469
+ ,.raw= "GET /demo HTTP/1.1\r\n"
470
+ "Host: example.com\r\n"
471
+ "Connection: Upgrade\r\n"
472
+ "Sec-WebSocket-Key2: 12998 5 Y3 1 .P00\r\n"
473
+ "Sec-WebSocket-Protocol: sample\r\n"
474
+ "Upgrade: WebSocket\r\n"
475
+ "Sec-WebSocket-Key1: 4 @1 46546xW%0l 1 5\r\n"
476
+ "Origin: http://example.com\r\n"
477
+ "\r\n"
478
+ "Hot diggity dogg"
479
+ ,.should_keep_alive= TRUE
480
+ ,.message_complete_on_eof= FALSE
481
+ ,.http_major= 1
482
+ ,.http_minor= 1
483
+ ,.method= HTTP_GET
484
+ ,.query_string= ""
485
+ ,.fragment= ""
486
+ ,.request_path= "/demo"
487
+ ,.request_url= "/demo"
488
+ ,.num_headers= 7
489
+ ,.upgrade="Hot diggity dogg"
490
+ ,.headers= { { "Host", "example.com" }
491
+ , { "Connection", "Upgrade" }
492
+ , { "Sec-WebSocket-Key2", "12998 5 Y3 1 .P00" }
493
+ , { "Sec-WebSocket-Protocol", "sample" }
494
+ , { "Upgrade", "WebSocket" }
495
+ , { "Sec-WebSocket-Key1", "4 @1 46546xW%0l 1 5" }
496
+ , { "Origin", "http://example.com" }
497
+ }
498
+ ,.body= ""
499
+ }
500
+
501
+ #define CONNECT_REQUEST 17
502
+ , {.name = "connect request"
503
+ ,.type= HTTP_REQUEST
504
+ ,.raw= "CONNECT 0-home0.netscape.com:443 HTTP/1.0\r\n"
505
+ "User-agent: Mozilla/1.1N\r\n"
506
+ "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
507
+ "\r\n"
508
+ "some data\r\n"
509
+ "and yet even more data"
510
+ ,.should_keep_alive= FALSE
511
+ ,.message_complete_on_eof= FALSE
512
+ ,.http_major= 1
513
+ ,.http_minor= 0
514
+ ,.method= HTTP_CONNECT
515
+ ,.query_string= ""
516
+ ,.fragment= ""
517
+ ,.request_path= ""
518
+ ,.request_url= "0-home0.netscape.com:443"
519
+ ,.num_headers= 2
520
+ ,.upgrade="some data\r\nand yet even more data"
521
+ ,.headers= { { "User-agent", "Mozilla/1.1N" }
522
+ , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
523
+ }
524
+ ,.body= ""
525
+ }
526
+
527
+ #define REPORT_REQ 18
528
+ , {.name= "report request"
529
+ ,.type= HTTP_REQUEST
530
+ ,.raw= "REPORT /test HTTP/1.1\r\n"
531
+ "\r\n"
532
+ ,.should_keep_alive= TRUE
533
+ ,.message_complete_on_eof= FALSE
534
+ ,.http_major= 1
535
+ ,.http_minor= 1
536
+ ,.method= HTTP_REPORT
537
+ ,.query_string= ""
538
+ ,.fragment= ""
539
+ ,.request_path= "/test"
540
+ ,.request_url= "/test"
541
+ ,.num_headers= 0
542
+ ,.headers= {}
543
+ ,.body= ""
544
+ }
545
+
546
+ #define NO_HTTP_VERSION 19
547
+ , {.name= "request with no http version"
548
+ ,.type= HTTP_REQUEST
549
+ ,.raw= "GET /\r\n"
550
+ "\r\n"
551
+ ,.should_keep_alive= FALSE
552
+ ,.message_complete_on_eof= FALSE
553
+ ,.http_major= 0
554
+ ,.http_minor= 9
555
+ ,.method= HTTP_GET
556
+ ,.query_string= ""
557
+ ,.fragment= ""
558
+ ,.request_path= "/"
559
+ ,.request_url= "/"
560
+ ,.num_headers= 0
561
+ ,.headers= {}
562
+ ,.body= ""
563
+ }
564
+
565
+ #define MSEARCH_REQ 20
566
+ , {.name= "m-search request"
567
+ ,.type= HTTP_REQUEST
568
+ ,.raw= "M-SEARCH * HTTP/1.1\r\n"
569
+ "HOST: 239.255.255.250:1900\r\n"
570
+ "MAN: \"ssdp:discover\"\r\n"
571
+ "ST: \"ssdp:all\"\r\n"
572
+ "\r\n"
573
+ ,.should_keep_alive= TRUE
574
+ ,.message_complete_on_eof= FALSE
575
+ ,.http_major= 1
576
+ ,.http_minor= 1
577
+ ,.method= HTTP_MSEARCH
578
+ ,.query_string= ""
579
+ ,.fragment= ""
580
+ ,.request_path= "*"
581
+ ,.request_url= "*"
582
+ ,.num_headers= 3
583
+ ,.headers= { { "HOST", "239.255.255.250:1900" }
584
+ , { "MAN", "\"ssdp:discover\"" }
585
+ , { "ST", "\"ssdp:all\"" }
586
+ }
587
+ ,.body= ""
588
+ }
589
+
590
+ #define LINE_FOLDING_IN_HEADER 20
591
+ , {.name= "line folding in header value"
592
+ ,.type= HTTP_REQUEST
593
+ ,.raw= "GET / HTTP/1.1\r\n"
594
+ "Line1: abc\r\n"
595
+ "\tdef\r\n"
596
+ " ghi\r\n"
597
+ "\t\tjkl\r\n"
598
+ " mno \r\n"
599
+ "\t \tqrs\r\n"
600
+ "Line2: \t line2\t\r\n"
601
+ "\r\n"
602
+ ,.should_keep_alive= TRUE
603
+ ,.message_complete_on_eof= FALSE
604
+ ,.http_major= 1
605
+ ,.http_minor= 1
606
+ ,.method= HTTP_GET
607
+ ,.query_string= ""
608
+ ,.fragment= ""
609
+ ,.request_path= "/"
610
+ ,.request_url= "/"
611
+ ,.num_headers= 2
612
+ ,.headers= { { "Line1", "abcdefghijklmno qrs" }
613
+ , { "Line2", "line2\t" }
614
+ }
615
+ ,.body= ""
616
+ }
617
+
618
+
619
+ #define QUERY_TERMINATED_HOST 21
620
+ , {.name= "host terminated by a query string"
621
+ ,.type= HTTP_REQUEST
622
+ ,.raw= "GET http://hypnotoad.org?hail=all HTTP/1.1\r\n"
623
+ "\r\n"
624
+ ,.should_keep_alive= TRUE
625
+ ,.message_complete_on_eof= FALSE
626
+ ,.http_major= 1
627
+ ,.http_minor= 1
628
+ ,.method= HTTP_GET
629
+ ,.query_string= "hail=all"
630
+ ,.fragment= ""
631
+ ,.request_path= ""
632
+ ,.request_url= "http://hypnotoad.org?hail=all"
633
+ ,.num_headers= 0
634
+ ,.headers= { }
635
+ ,.body= ""
636
+ }
637
+
638
+ #define QUERY_TERMINATED_HOSTPORT 22
639
+ , {.name= "host:port terminated by a query string"
640
+ ,.type= HTTP_REQUEST
641
+ ,.raw= "GET http://hypnotoad.org:1234?hail=all HTTP/1.1\r\n"
642
+ "\r\n"
643
+ ,.should_keep_alive= TRUE
644
+ ,.message_complete_on_eof= FALSE
645
+ ,.http_major= 1
646
+ ,.http_minor= 1
647
+ ,.method= HTTP_GET
648
+ ,.query_string= "hail=all"
649
+ ,.fragment= ""
650
+ ,.request_path= ""
651
+ ,.request_url= "http://hypnotoad.org:1234?hail=all"
652
+ ,.port= 1234
653
+ ,.num_headers= 0
654
+ ,.headers= { }
655
+ ,.body= ""
656
+ }
657
+
658
+ #define SPACE_TERMINATED_HOSTPORT 23
659
+ , {.name= "host:port terminated by a space"
660
+ ,.type= HTTP_REQUEST
661
+ ,.raw= "GET http://hypnotoad.org:1234 HTTP/1.1\r\n"
662
+ "\r\n"
663
+ ,.should_keep_alive= TRUE
664
+ ,.message_complete_on_eof= FALSE
665
+ ,.http_major= 1
666
+ ,.http_minor= 1
667
+ ,.method= HTTP_GET
668
+ ,.query_string= ""
669
+ ,.fragment= ""
670
+ ,.request_path= ""
671
+ ,.request_url= "http://hypnotoad.org:1234"
672
+ ,.port= 1234
673
+ ,.num_headers= 0
674
+ ,.headers= { }
675
+ ,.body= ""
676
+ }
677
+
678
+ #define PATCH_REQ 24
679
+ , {.name = "PATCH request"
680
+ ,.type= HTTP_REQUEST
681
+ ,.raw= "PATCH /file.txt HTTP/1.1\r\n"
682
+ "Host: www.example.com\r\n"
683
+ "Content-Type: application/example\r\n"
684
+ "If-Match: \"e0023aa4e\"\r\n"
685
+ "Content-Length: 10\r\n"
686
+ "\r\n"
687
+ "cccccccccc"
688
+ ,.should_keep_alive= TRUE
689
+ ,.message_complete_on_eof= FALSE
690
+ ,.http_major= 1
691
+ ,.http_minor= 1
692
+ ,.method= HTTP_PATCH
693
+ ,.query_string= ""
694
+ ,.fragment= ""
695
+ ,.request_path= "/file.txt"
696
+ ,.request_url= "/file.txt"
697
+ ,.num_headers= 4
698
+ ,.headers= { { "Host", "www.example.com" }
699
+ , { "Content-Type", "application/example" }
700
+ , { "If-Match", "\"e0023aa4e\"" }
701
+ , { "Content-Length", "10" }
702
+ }
703
+ ,.body= "cccccccccc"
704
+ }
705
+
706
+ #define CONNECT_CAPS_REQUEST 25
707
+ , {.name = "connect caps request"
708
+ ,.type= HTTP_REQUEST
709
+ ,.raw= "CONNECT HOME0.NETSCAPE.COM:443 HTTP/1.0\r\n"
710
+ "User-agent: Mozilla/1.1N\r\n"
711
+ "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
712
+ "\r\n"
713
+ ,.should_keep_alive= FALSE
714
+ ,.message_complete_on_eof= FALSE
715
+ ,.http_major= 1
716
+ ,.http_minor= 0
717
+ ,.method= HTTP_CONNECT
718
+ ,.query_string= ""
719
+ ,.fragment= ""
720
+ ,.request_path= ""
721
+ ,.request_url= "HOME0.NETSCAPE.COM:443"
722
+ ,.num_headers= 2
723
+ ,.upgrade=""
724
+ ,.headers= { { "User-agent", "Mozilla/1.1N" }
725
+ , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
726
+ }
727
+ ,.body= ""
728
+ }
729
+
730
+ #if !HTTP_PARSER_STRICT
731
+ #define UTF8_PATH_REQ 26
732
+ , {.name= "utf-8 path request"
733
+ ,.type= HTTP_REQUEST
734
+ ,.raw= "GET /δ¶/δt/pope?q=1#narf HTTP/1.1\r\n"
735
+ "Host: github.com\r\n"
736
+ "\r\n"
737
+ ,.should_keep_alive= TRUE
738
+ ,.message_complete_on_eof= FALSE
739
+ ,.http_major= 1
740
+ ,.http_minor= 1
741
+ ,.method= HTTP_GET
742
+ ,.query_string= "q=1"
743
+ ,.fragment= "narf"
744
+ ,.request_path= "/δ¶/δt/pope"
745
+ ,.request_url= "/δ¶/δt/pope?q=1#narf"
746
+ ,.num_headers= 1
747
+ ,.headers= { {"Host", "github.com" }
748
+ }
749
+ ,.body= ""
750
+ }
751
+
752
+ #define HOSTNAME_UNDERSCORE 27
753
+ , {.name = "hostname underscore"
754
+ ,.type= HTTP_REQUEST
755
+ ,.raw= "CONNECT home_0.netscape.com:443 HTTP/1.0\r\n"
756
+ "User-agent: Mozilla/1.1N\r\n"
757
+ "Proxy-authorization: basic aGVsbG86d29ybGQ=\r\n"
758
+ "\r\n"
759
+ ,.should_keep_alive= FALSE
760
+ ,.message_complete_on_eof= FALSE
761
+ ,.http_major= 1
762
+ ,.http_minor= 0
763
+ ,.method= HTTP_CONNECT
764
+ ,.query_string= ""
765
+ ,.fragment= ""
766
+ ,.request_path= ""
767
+ ,.request_url= "home_0.netscape.com:443"
768
+ ,.num_headers= 2
769
+ ,.upgrade=""
770
+ ,.headers= { { "User-agent", "Mozilla/1.1N" }
771
+ , { "Proxy-authorization", "basic aGVsbG86d29ybGQ=" }
772
+ }
773
+ ,.body= ""
774
+ }
775
+ #endif /* !HTTP_PARSER_STRICT */
776
+
777
+ /* see https://github.com/ry/http-parser/issues/47 */
778
+ #define EAT_TRAILING_CRLF_NO_CONNECTION_CLOSE 28
779
+ , {.name = "eat CRLF between requests, no \"Connection: close\" header"
780
+ ,.raw= "POST / HTTP/1.1\r\n"
781
+ "Host: www.example.com\r\n"
782
+ "Content-Type: application/x-www-form-urlencoded\r\n"
783
+ "Content-Length: 4\r\n"
784
+ "\r\n"
785
+ "q=42\r\n" /* note the trailing CRLF */
786
+ ,.should_keep_alive= TRUE
787
+ ,.message_complete_on_eof= FALSE
788
+ ,.http_major= 1
789
+ ,.http_minor= 1
790
+ ,.method= HTTP_POST
791
+ ,.query_string= ""
792
+ ,.fragment= ""
793
+ ,.request_path= "/"
794
+ ,.request_url= "/"
795
+ ,.num_headers= 3
796
+ ,.upgrade= 0
797
+ ,.headers= { { "Host", "www.example.com" }
798
+ , { "Content-Type", "application/x-www-form-urlencoded" }
799
+ , { "Content-Length", "4" }
800
+ }
801
+ ,.body= "q=42"
802
+ }
803
+
804
+ /* see https://github.com/ry/http-parser/issues/47 */
805
+ #define EAT_TRAILING_CRLF_WITH_CONNECTION_CLOSE 29
806
+ , {.name = "eat CRLF between requests even if \"Connection: close\" is set"
807
+ ,.raw= "POST / HTTP/1.1\r\n"
808
+ "Host: www.example.com\r\n"
809
+ "Content-Type: application/x-www-form-urlencoded\r\n"
810
+ "Content-Length: 4\r\n"
811
+ "Connection: close\r\n"
812
+ "\r\n"
813
+ "q=42\r\n" /* note the trailing CRLF */
814
+ ,.should_keep_alive= FALSE
815
+ ,.message_complete_on_eof= FALSE /* input buffer isn't empty when on_message_complete is called */
816
+ ,.http_major= 1
817
+ ,.http_minor= 1
818
+ ,.method= HTTP_POST
819
+ ,.query_string= ""
820
+ ,.fragment= ""
821
+ ,.request_path= "/"
822
+ ,.request_url= "/"
823
+ ,.num_headers= 4
824
+ ,.upgrade= 0
825
+ ,.headers= { { "Host", "www.example.com" }
826
+ , { "Content-Type", "application/x-www-form-urlencoded" }
827
+ , { "Content-Length", "4" }
828
+ , { "Connection", "close" }
829
+ }
830
+ ,.body= "q=42"
831
+ }
832
+
833
+ #define PURGE_REQ 30
834
+ , {.name = "PURGE request"
835
+ ,.type= HTTP_REQUEST
836
+ ,.raw= "PURGE /file.txt HTTP/1.1\r\n"
837
+ "Host: www.example.com\r\n"
838
+ "\r\n"
839
+ ,.should_keep_alive= TRUE
840
+ ,.message_complete_on_eof= FALSE
841
+ ,.http_major= 1
842
+ ,.http_minor= 1
843
+ ,.method= HTTP_PURGE
844
+ ,.query_string= ""
845
+ ,.fragment= ""
846
+ ,.request_path= "/file.txt"
847
+ ,.request_url= "/file.txt"
848
+ ,.num_headers= 1
849
+ ,.headers= { { "Host", "www.example.com" } }
850
+ ,.body= ""
851
+ }
852
+
853
+ , {.name= NULL } /* sentinel */
854
+ };
855
+
856
+ /* * R E S P O N S E S * */
857
+ const struct message responses[] =
858
+ #define GOOGLE_301 0
859
+ { {.name= "google 301"
860
+ ,.type= HTTP_RESPONSE
861
+ ,.raw= "HTTP/1.1 301 Moved Permanently\r\n"
862
+ "Location: http://www.google.com/\r\n"
863
+ "Content-Type: text/html; charset=UTF-8\r\n"
864
+ "Date: Sun, 26 Apr 2009 11:11:49 GMT\r\n"
865
+ "Expires: Tue, 26 May 2009 11:11:49 GMT\r\n"
866
+ "X-$PrototypeBI-Version: 1.6.0.3\r\n" /* $ char in header field */
867
+ "Cache-Control: public, max-age=2592000\r\n"
868
+ "Server: gws\r\n"
869
+ "Content-Length: 219 \r\n"
870
+ "\r\n"
871
+ "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n"
872
+ "<TITLE>301 Moved</TITLE></HEAD><BODY>\n"
873
+ "<H1>301 Moved</H1>\n"
874
+ "The document has moved\n"
875
+ "<A HREF=\"http://www.google.com/\">here</A>.\r\n"
876
+ "</BODY></HTML>\r\n"
877
+ ,.should_keep_alive= TRUE
878
+ ,.message_complete_on_eof= FALSE
879
+ ,.http_major= 1
880
+ ,.http_minor= 1
881
+ ,.status_code= 301
882
+ ,.num_headers= 8
883
+ ,.headers=
884
+ { { "Location", "http://www.google.com/" }
885
+ , { "Content-Type", "text/html; charset=UTF-8" }
886
+ , { "Date", "Sun, 26 Apr 2009 11:11:49 GMT" }
887
+ , { "Expires", "Tue, 26 May 2009 11:11:49 GMT" }
888
+ , { "X-$PrototypeBI-Version", "1.6.0.3" }
889
+ , { "Cache-Control", "public, max-age=2592000" }
890
+ , { "Server", "gws" }
891
+ , { "Content-Length", "219 " }
892
+ }
893
+ ,.body= "<HTML><HEAD><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n"
894
+ "<TITLE>301 Moved</TITLE></HEAD><BODY>\n"
895
+ "<H1>301 Moved</H1>\n"
896
+ "The document has moved\n"
897
+ "<A HREF=\"http://www.google.com/\">here</A>.\r\n"
898
+ "</BODY></HTML>\r\n"
899
+ }
900
+
901
+ #define NO_CONTENT_LENGTH_RESPONSE 1
902
+ /* The client should wait for the server's EOF. That is, when content-length
903
+ * is not specified, and "Connection: close", the end of body is specified
904
+ * by the EOF.
905
+ * Compare with APACHEBENCH_GET
906
+ */
907
+ , {.name= "no content-length response"
908
+ ,.type= HTTP_RESPONSE
909
+ ,.raw= "HTTP/1.1 200 OK\r\n"
910
+ "Date: Tue, 04 Aug 2009 07:59:32 GMT\r\n"
911
+ "Server: Apache\r\n"
912
+ "X-Powered-By: Servlet/2.5 JSP/2.1\r\n"
913
+ "Content-Type: text/xml; charset=utf-8\r\n"
914
+ "Connection: close\r\n"
915
+ "\r\n"
916
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
917
+ "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
918
+ " <SOAP-ENV:Body>\n"
919
+ " <SOAP-ENV:Fault>\n"
920
+ " <faultcode>SOAP-ENV:Client</faultcode>\n"
921
+ " <faultstring>Client Error</faultstring>\n"
922
+ " </SOAP-ENV:Fault>\n"
923
+ " </SOAP-ENV:Body>\n"
924
+ "</SOAP-ENV:Envelope>"
925
+ ,.should_keep_alive= FALSE
926
+ ,.message_complete_on_eof= TRUE
927
+ ,.http_major= 1
928
+ ,.http_minor= 1
929
+ ,.status_code= 200
930
+ ,.num_headers= 5
931
+ ,.headers=
932
+ { { "Date", "Tue, 04 Aug 2009 07:59:32 GMT" }
933
+ , { "Server", "Apache" }
934
+ , { "X-Powered-By", "Servlet/2.5 JSP/2.1" }
935
+ , { "Content-Type", "text/xml; charset=utf-8" }
936
+ , { "Connection", "close" }
937
+ }
938
+ ,.body= "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
939
+ "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
940
+ " <SOAP-ENV:Body>\n"
941
+ " <SOAP-ENV:Fault>\n"
942
+ " <faultcode>SOAP-ENV:Client</faultcode>\n"
943
+ " <faultstring>Client Error</faultstring>\n"
944
+ " </SOAP-ENV:Fault>\n"
945
+ " </SOAP-ENV:Body>\n"
946
+ "</SOAP-ENV:Envelope>"
947
+ }
948
+
949
+ #define NO_HEADERS_NO_BODY_404 2
950
+ , {.name= "404 no headers no body"
951
+ ,.type= HTTP_RESPONSE
952
+ ,.raw= "HTTP/1.1 404 Not Found\r\n\r\n"
953
+ ,.should_keep_alive= FALSE
954
+ ,.message_complete_on_eof= TRUE
955
+ ,.http_major= 1
956
+ ,.http_minor= 1
957
+ ,.status_code= 404
958
+ ,.num_headers= 0
959
+ ,.headers= {}
960
+ ,.body_size= 0
961
+ ,.body= ""
962
+ }
963
+
964
+ #define NO_REASON_PHRASE 3
965
+ , {.name= "301 no response phrase"
966
+ ,.type= HTTP_RESPONSE
967
+ ,.raw= "HTTP/1.1 301\r\n\r\n"
968
+ ,.should_keep_alive = FALSE
969
+ ,.message_complete_on_eof= TRUE
970
+ ,.http_major= 1
971
+ ,.http_minor= 1
972
+ ,.status_code= 301
973
+ ,.num_headers= 0
974
+ ,.headers= {}
975
+ ,.body= ""
976
+ }
977
+
978
+ #define TRAILING_SPACE_ON_CHUNKED_BODY 4
979
+ , {.name="200 trailing space on chunked body"
980
+ ,.type= HTTP_RESPONSE
981
+ ,.raw= "HTTP/1.1 200 OK\r\n"
982
+ "Content-Type: text/plain\r\n"
983
+ "Transfer-Encoding: chunked\r\n"
984
+ "\r\n"
985
+ "25 \r\n"
986
+ "This is the data in the first chunk\r\n"
987
+ "\r\n"
988
+ "1C\r\n"
989
+ "and this is the second one\r\n"
990
+ "\r\n"
991
+ "0 \r\n"
992
+ "\r\n"
993
+ ,.should_keep_alive= TRUE
994
+ ,.message_complete_on_eof= FALSE
995
+ ,.http_major= 1
996
+ ,.http_minor= 1
997
+ ,.status_code= 200
998
+ ,.num_headers= 2
999
+ ,.headers=
1000
+ { {"Content-Type", "text/plain" }
1001
+ , {"Transfer-Encoding", "chunked" }
1002
+ }
1003
+ ,.body_size = 37+28
1004
+ ,.body =
1005
+ "This is the data in the first chunk\r\n"
1006
+ "and this is the second one\r\n"
1007
+
1008
+ }
1009
+
1010
+ #define NO_CARRIAGE_RET 5
1011
+ , {.name="no carriage ret"
1012
+ ,.type= HTTP_RESPONSE
1013
+ ,.raw= "HTTP/1.1 200 OK\n"
1014
+ "Content-Type: text/html; charset=utf-8\n"
1015
+ "Connection: close\n"
1016
+ "\n"
1017
+ "these headers are from http://news.ycombinator.com/"
1018
+ ,.should_keep_alive= FALSE
1019
+ ,.message_complete_on_eof= TRUE
1020
+ ,.http_major= 1
1021
+ ,.http_minor= 1
1022
+ ,.status_code= 200
1023
+ ,.num_headers= 2
1024
+ ,.headers=
1025
+ { {"Content-Type", "text/html; charset=utf-8" }
1026
+ , {"Connection", "close" }
1027
+ }
1028
+ ,.body= "these headers are from http://news.ycombinator.com/"
1029
+ }
1030
+
1031
+ #define PROXY_CONNECTION 6
1032
+ , {.name="proxy connection"
1033
+ ,.type= HTTP_RESPONSE
1034
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1035
+ "Content-Type: text/html; charset=UTF-8\r\n"
1036
+ "Content-Length: 11\r\n"
1037
+ "Proxy-Connection: close\r\n"
1038
+ "Date: Thu, 31 Dec 2009 20:55:48 +0000\r\n"
1039
+ "\r\n"
1040
+ "hello world"
1041
+ ,.should_keep_alive= FALSE
1042
+ ,.message_complete_on_eof= FALSE
1043
+ ,.http_major= 1
1044
+ ,.http_minor= 1
1045
+ ,.status_code= 200
1046
+ ,.num_headers= 4
1047
+ ,.headers=
1048
+ { {"Content-Type", "text/html; charset=UTF-8" }
1049
+ , {"Content-Length", "11" }
1050
+ , {"Proxy-Connection", "close" }
1051
+ , {"Date", "Thu, 31 Dec 2009 20:55:48 +0000"}
1052
+ }
1053
+ ,.body= "hello world"
1054
+ }
1055
+
1056
+ #define UNDERSTORE_HEADER_KEY 7
1057
+ // shown by
1058
+ // curl -o /dev/null -v "http://ad.doubleclick.net/pfadx/DARTSHELLCONFIGXML;dcmt=text/xml;"
1059
+ , {.name="underscore header key"
1060
+ ,.type= HTTP_RESPONSE
1061
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1062
+ "Server: DCLK-AdSvr\r\n"
1063
+ "Content-Type: text/xml\r\n"
1064
+ "Content-Length: 0\r\n"
1065
+ "DCLK_imp: v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o\r\n\r\n"
1066
+ ,.should_keep_alive= TRUE
1067
+ ,.message_complete_on_eof= FALSE
1068
+ ,.http_major= 1
1069
+ ,.http_minor= 1
1070
+ ,.status_code= 200
1071
+ ,.num_headers= 4
1072
+ ,.headers=
1073
+ { {"Server", "DCLK-AdSvr" }
1074
+ , {"Content-Type", "text/xml" }
1075
+ , {"Content-Length", "0" }
1076
+ , {"DCLK_imp", "v7;x;114750856;0-0;0;17820020;0/0;21603567/21621457/1;;~okv=;dcmt=text/xml;;~cs=o" }
1077
+ }
1078
+ ,.body= ""
1079
+ }
1080
+
1081
+ #define BONJOUR_MADAME_FR 8
1082
+ /* The client should not merge two headers fields when the first one doesn't
1083
+ * have a value.
1084
+ */
1085
+ , {.name= "bonjourmadame.fr"
1086
+ ,.type= HTTP_RESPONSE
1087
+ ,.raw= "HTTP/1.0 301 Moved Permanently\r\n"
1088
+ "Date: Thu, 03 Jun 2010 09:56:32 GMT\r\n"
1089
+ "Server: Apache/2.2.3 (Red Hat)\r\n"
1090
+ "Cache-Control: public\r\n"
1091
+ "Pragma: \r\n"
1092
+ "Location: http://www.bonjourmadame.fr/\r\n"
1093
+ "Vary: Accept-Encoding\r\n"
1094
+ "Content-Length: 0\r\n"
1095
+ "Content-Type: text/html; charset=UTF-8\r\n"
1096
+ "Connection: keep-alive\r\n"
1097
+ "\r\n"
1098
+ ,.should_keep_alive= TRUE
1099
+ ,.message_complete_on_eof= FALSE
1100
+ ,.http_major= 1
1101
+ ,.http_minor= 0
1102
+ ,.status_code= 301
1103
+ ,.num_headers= 9
1104
+ ,.headers=
1105
+ { { "Date", "Thu, 03 Jun 2010 09:56:32 GMT" }
1106
+ , { "Server", "Apache/2.2.3 (Red Hat)" }
1107
+ , { "Cache-Control", "public" }
1108
+ , { "Pragma", "" }
1109
+ , { "Location", "http://www.bonjourmadame.fr/" }
1110
+ , { "Vary", "Accept-Encoding" }
1111
+ , { "Content-Length", "0" }
1112
+ , { "Content-Type", "text/html; charset=UTF-8" }
1113
+ , { "Connection", "keep-alive" }
1114
+ }
1115
+ ,.body= ""
1116
+ }
1117
+
1118
+ #define RES_FIELD_UNDERSCORE 9
1119
+ /* Should handle spaces in header fields */
1120
+ , {.name= "field underscore"
1121
+ ,.type= HTTP_RESPONSE
1122
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1123
+ "Date: Tue, 28 Sep 2010 01:14:13 GMT\r\n"
1124
+ "Server: Apache\r\n"
1125
+ "Cache-Control: no-cache, must-revalidate\r\n"
1126
+ "Expires: Mon, 26 Jul 1997 05:00:00 GMT\r\n"
1127
+ ".et-Cookie: PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com\r\n"
1128
+ "Vary: Accept-Encoding\r\n"
1129
+ "_eep-Alive: timeout=45\r\n" /* semantic value ignored */
1130
+ "_onnection: Keep-Alive\r\n" /* semantic value ignored */
1131
+ "Transfer-Encoding: chunked\r\n"
1132
+ "Content-Type: text/html\r\n"
1133
+ "Connection: close\r\n"
1134
+ "\r\n"
1135
+ "0\r\n\r\n"
1136
+ ,.should_keep_alive= FALSE
1137
+ ,.message_complete_on_eof= FALSE
1138
+ ,.http_major= 1
1139
+ ,.http_minor= 1
1140
+ ,.status_code= 200
1141
+ ,.num_headers= 11
1142
+ ,.headers=
1143
+ { { "Date", "Tue, 28 Sep 2010 01:14:13 GMT" }
1144
+ , { "Server", "Apache" }
1145
+ , { "Cache-Control", "no-cache, must-revalidate" }
1146
+ , { "Expires", "Mon, 26 Jul 1997 05:00:00 GMT" }
1147
+ , { ".et-Cookie", "PlaxoCS=1274804622353690521; path=/; domain=.plaxo.com" }
1148
+ , { "Vary", "Accept-Encoding" }
1149
+ , { "_eep-Alive", "timeout=45" }
1150
+ , { "_onnection", "Keep-Alive" }
1151
+ , { "Transfer-Encoding", "chunked" }
1152
+ , { "Content-Type", "text/html" }
1153
+ , { "Connection", "close" }
1154
+ }
1155
+ ,.body= ""
1156
+ }
1157
+
1158
+ #define NON_ASCII_IN_STATUS_LINE 10
1159
+ /* Should handle non-ASCII in status line */
1160
+ , {.name= "non-ASCII in status line"
1161
+ ,.type= HTTP_RESPONSE
1162
+ ,.raw= "HTTP/1.1 500 Oriëntatieprobleem\r\n"
1163
+ "Date: Fri, 5 Nov 2010 23:07:12 GMT+2\r\n"
1164
+ "Content-Length: 0\r\n"
1165
+ "Connection: close\r\n"
1166
+ "\r\n"
1167
+ ,.should_keep_alive= FALSE
1168
+ ,.message_complete_on_eof= FALSE
1169
+ ,.http_major= 1
1170
+ ,.http_minor= 1
1171
+ ,.status_code= 500
1172
+ ,.num_headers= 3
1173
+ ,.headers=
1174
+ { { "Date", "Fri, 5 Nov 2010 23:07:12 GMT+2" }
1175
+ , { "Content-Length", "0" }
1176
+ , { "Connection", "close" }
1177
+ }
1178
+ ,.body= ""
1179
+ }
1180
+
1181
+ #define HTTP_VERSION_0_9 11
1182
+ /* Should handle HTTP/0.9 */
1183
+ , {.name= "http version 0.9"
1184
+ ,.type= HTTP_RESPONSE
1185
+ ,.raw= "HTTP/0.9 200 OK\r\n"
1186
+ "\r\n"
1187
+ ,.should_keep_alive= FALSE
1188
+ ,.message_complete_on_eof= TRUE
1189
+ ,.http_major= 0
1190
+ ,.http_minor= 9
1191
+ ,.status_code= 200
1192
+ ,.num_headers= 0
1193
+ ,.headers=
1194
+ {}
1195
+ ,.body= ""
1196
+ }
1197
+
1198
+ #define NO_CONTENT_LENGTH_NO_TRANSFER_ENCODING_RESPONSE 12
1199
+ /* The client should wait for the server's EOF. That is, when neither
1200
+ * content-length nor transfer-encoding is specified, the end of body
1201
+ * is specified by the EOF.
1202
+ */
1203
+ , {.name= "neither content-length nor transfer-encoding response"
1204
+ ,.type= HTTP_RESPONSE
1205
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1206
+ "Content-Type: text/plain\r\n"
1207
+ "\r\n"
1208
+ "hello world"
1209
+ ,.should_keep_alive= FALSE
1210
+ ,.message_complete_on_eof= TRUE
1211
+ ,.http_major= 1
1212
+ ,.http_minor= 1
1213
+ ,.status_code= 200
1214
+ ,.num_headers= 1
1215
+ ,.headers=
1216
+ { { "Content-Type", "text/plain" }
1217
+ }
1218
+ ,.body= "hello world"
1219
+ }
1220
+
1221
+ #define NO_BODY_HTTP10_KA_200 13
1222
+ , {.name= "HTTP/1.0 with keep-alive and EOF-terminated 200 status"
1223
+ ,.type= HTTP_RESPONSE
1224
+ ,.raw= "HTTP/1.0 200 OK\r\n"
1225
+ "Connection: keep-alive\r\n"
1226
+ "\r\n"
1227
+ ,.should_keep_alive= FALSE
1228
+ ,.message_complete_on_eof= TRUE
1229
+ ,.http_major= 1
1230
+ ,.http_minor= 0
1231
+ ,.status_code= 200
1232
+ ,.num_headers= 1
1233
+ ,.headers=
1234
+ { { "Connection", "keep-alive" }
1235
+ }
1236
+ ,.body_size= 0
1237
+ ,.body= ""
1238
+ }
1239
+
1240
+ #define NO_BODY_HTTP10_KA_204 14
1241
+ , {.name= "HTTP/1.0 with keep-alive and a 204 status"
1242
+ ,.type= HTTP_RESPONSE
1243
+ ,.raw= "HTTP/1.0 204 No content\r\n"
1244
+ "Connection: keep-alive\r\n"
1245
+ "\r\n"
1246
+ ,.should_keep_alive= TRUE
1247
+ ,.message_complete_on_eof= FALSE
1248
+ ,.http_major= 1
1249
+ ,.http_minor= 0
1250
+ ,.status_code= 204
1251
+ ,.num_headers= 1
1252
+ ,.headers=
1253
+ { { "Connection", "keep-alive" }
1254
+ }
1255
+ ,.body_size= 0
1256
+ ,.body= ""
1257
+ }
1258
+
1259
+ #define NO_BODY_HTTP11_KA_200 15
1260
+ , {.name= "HTTP/1.1 with an EOF-terminated 200 status"
1261
+ ,.type= HTTP_RESPONSE
1262
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1263
+ "\r\n"
1264
+ ,.should_keep_alive= FALSE
1265
+ ,.message_complete_on_eof= TRUE
1266
+ ,.http_major= 1
1267
+ ,.http_minor= 1
1268
+ ,.status_code= 200
1269
+ ,.num_headers= 0
1270
+ ,.headers={}
1271
+ ,.body_size= 0
1272
+ ,.body= ""
1273
+ }
1274
+
1275
+ #define NO_BODY_HTTP11_KA_204 16
1276
+ , {.name= "HTTP/1.1 with a 204 status"
1277
+ ,.type= HTTP_RESPONSE
1278
+ ,.raw= "HTTP/1.1 204 No content\r\n"
1279
+ "\r\n"
1280
+ ,.should_keep_alive= TRUE
1281
+ ,.message_complete_on_eof= FALSE
1282
+ ,.http_major= 1
1283
+ ,.http_minor= 1
1284
+ ,.status_code= 204
1285
+ ,.num_headers= 0
1286
+ ,.headers={}
1287
+ ,.body_size= 0
1288
+ ,.body= ""
1289
+ }
1290
+
1291
+ #define NO_BODY_HTTP11_NOKA_204 17
1292
+ , {.name= "HTTP/1.1 with a 204 status and keep-alive disabled"
1293
+ ,.type= HTTP_RESPONSE
1294
+ ,.raw= "HTTP/1.1 204 No content\r\n"
1295
+ "Connection: close\r\n"
1296
+ "\r\n"
1297
+ ,.should_keep_alive= FALSE
1298
+ ,.message_complete_on_eof= FALSE
1299
+ ,.http_major= 1
1300
+ ,.http_minor= 1
1301
+ ,.status_code= 204
1302
+ ,.num_headers= 1
1303
+ ,.headers=
1304
+ { { "Connection", "close" }
1305
+ }
1306
+ ,.body_size= 0
1307
+ ,.body= ""
1308
+ }
1309
+
1310
+ #define NO_BODY_HTTP11_KA_CHUNKED_200 18
1311
+ , {.name= "HTTP/1.1 with chunked endocing and a 200 response"
1312
+ ,.type= HTTP_RESPONSE
1313
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1314
+ "Transfer-Encoding: chunked\r\n"
1315
+ "\r\n"
1316
+ "0\r\n"
1317
+ "\r\n"
1318
+ ,.should_keep_alive= TRUE
1319
+ ,.message_complete_on_eof= FALSE
1320
+ ,.http_major= 1
1321
+ ,.http_minor= 1
1322
+ ,.status_code= 200
1323
+ ,.num_headers= 1
1324
+ ,.headers=
1325
+ { { "Transfer-Encoding", "chunked" }
1326
+ }
1327
+ ,.body_size= 0
1328
+ ,.body= ""
1329
+ }
1330
+
1331
+ #if !HTTP_PARSER_STRICT
1332
+ #define SPACE_IN_FIELD_RES 19
1333
+ /* Should handle spaces in header fields */
1334
+ , {.name= "field space"
1335
+ ,.type= HTTP_RESPONSE
1336
+ ,.raw= "HTTP/1.1 200 OK\r\n"
1337
+ "Server: Microsoft-IIS/6.0\r\n"
1338
+ "X-Powered-By: ASP.NET\r\n"
1339
+ "en-US Content-Type: text/xml\r\n" /* this is the problem */
1340
+ "Content-Type: text/xml\r\n"
1341
+ "Content-Length: 16\r\n"
1342
+ "Date: Fri, 23 Jul 2010 18:45:38 GMT\r\n"
1343
+ "Connection: keep-alive\r\n"
1344
+ "\r\n"
1345
+ "<xml>hello</xml>" /* fake body */
1346
+ ,.should_keep_alive= TRUE
1347
+ ,.message_complete_on_eof= FALSE
1348
+ ,.http_major= 1
1349
+ ,.http_minor= 1
1350
+ ,.status_code= 200
1351
+ ,.num_headers= 7
1352
+ ,.headers=
1353
+ { { "Server", "Microsoft-IIS/6.0" }
1354
+ , { "X-Powered-By", "ASP.NET" }
1355
+ , { "en-US Content-Type", "text/xml" }
1356
+ , { "Content-Type", "text/xml" }
1357
+ , { "Content-Length", "16" }
1358
+ , { "Date", "Fri, 23 Jul 2010 18:45:38 GMT" }
1359
+ , { "Connection", "keep-alive" }
1360
+ }
1361
+ ,.body= "<xml>hello</xml>"
1362
+ }
1363
+ #endif /* !HTTP_PARSER_STRICT */
1364
+
1365
+ , {.name= NULL } /* sentinel */
1366
+ };
1367
+
1368
+ int
1369
+ request_url_cb (http_parser *p, const char *buf, size_t len)
1370
+ {
1371
+ assert(p == parser);
1372
+ strncat(messages[num_messages].request_url, buf, len);
1373
+ return 0;
1374
+ }
1375
+
1376
+ int
1377
+ header_field_cb (http_parser *p, const char *buf, size_t len)
1378
+ {
1379
+ assert(p == parser);
1380
+ struct message *m = &messages[num_messages];
1381
+
1382
+ if (m->last_header_element != FIELD)
1383
+ m->num_headers++;
1384
+
1385
+ strncat(m->headers[m->num_headers-1][0], buf, len);
1386
+
1387
+ m->last_header_element = FIELD;
1388
+
1389
+ return 0;
1390
+ }
1391
+
1392
+ int
1393
+ header_value_cb (http_parser *p, const char *buf, size_t len)
1394
+ {
1395
+ assert(p == parser);
1396
+ struct message *m = &messages[num_messages];
1397
+
1398
+ strncat(m->headers[m->num_headers-1][1], buf, len);
1399
+
1400
+ m->last_header_element = VALUE;
1401
+
1402
+ return 0;
1403
+ }
1404
+
1405
+ int
1406
+ body_cb (http_parser *p, const char *buf, size_t len)
1407
+ {
1408
+ assert(p == parser);
1409
+ strncat(messages[num_messages].body, buf, len);
1410
+ messages[num_messages].body_size += len;
1411
+ // printf("body_cb: '%s'\n", requests[num_messages].body);
1412
+ return 0;
1413
+ }
1414
+
1415
+ int
1416
+ count_body_cb (http_parser *p, const char *buf, size_t len)
1417
+ {
1418
+ assert(p == parser);
1419
+ assert(buf);
1420
+ messages[num_messages].body_size += len;
1421
+ return 0;
1422
+ }
1423
+
1424
+ int
1425
+ message_begin_cb (http_parser *p)
1426
+ {
1427
+ assert(p == parser);
1428
+ messages[num_messages].message_begin_cb_called = TRUE;
1429
+ return 0;
1430
+ }
1431
+
1432
+ int
1433
+ headers_complete_cb (http_parser *p)
1434
+ {
1435
+ assert(p == parser);
1436
+ messages[num_messages].method = parser->method;
1437
+ messages[num_messages].status_code = parser->status_code;
1438
+ messages[num_messages].http_major = parser->http_major;
1439
+ messages[num_messages].http_minor = parser->http_minor;
1440
+ messages[num_messages].headers_complete_cb_called = TRUE;
1441
+ messages[num_messages].should_keep_alive = http_should_keep_alive(parser);
1442
+ return 0;
1443
+ }
1444
+
1445
+ int
1446
+ message_complete_cb (http_parser *p)
1447
+ {
1448
+ assert(p == parser);
1449
+ if (messages[num_messages].should_keep_alive != http_should_keep_alive(parser))
1450
+ {
1451
+ fprintf(stderr, "\n\n *** Error http_should_keep_alive() should have same "
1452
+ "value in both on_message_complete and on_headers_complete "
1453
+ "but it doesn't! ***\n\n");
1454
+ assert(0);
1455
+ exit(1);
1456
+ }
1457
+ messages[num_messages].message_complete_cb_called = TRUE;
1458
+
1459
+ messages[num_messages].message_complete_on_eof = currently_parsing_eof;
1460
+
1461
+ num_messages++;
1462
+ return 0;
1463
+ }
1464
+
1465
+ /* These dontcall_* callbacks exist so that we can verify that when we're
1466
+ * paused, no additional callbacks are invoked */
1467
+ int
1468
+ dontcall_message_begin_cb (http_parser *p)
1469
+ {
1470
+ if (p) { } // gcc
1471
+ fprintf(stderr, "\n\n*** on_message_begin() called on paused parser ***\n\n");
1472
+ exit(1);
1473
+ }
1474
+
1475
+ int
1476
+ dontcall_header_field_cb (http_parser *p, const char *buf, size_t len)
1477
+ {
1478
+ if (p || buf || len) { } // gcc
1479
+ fprintf(stderr, "\n\n*** on_header_field() called on paused parser ***\n\n");
1480
+ exit(1);
1481
+ }
1482
+
1483
+ int
1484
+ dontcall_header_value_cb (http_parser *p, const char *buf, size_t len)
1485
+ {
1486
+ if (p || buf || len) { } // gcc
1487
+ fprintf(stderr, "\n\n*** on_header_value() called on paused parser ***\n\n");
1488
+ exit(1);
1489
+ }
1490
+
1491
+ int
1492
+ dontcall_request_url_cb (http_parser *p, const char *buf, size_t len)
1493
+ {
1494
+ if (p || buf || len) { } // gcc
1495
+ fprintf(stderr, "\n\n*** on_request_url() called on paused parser ***\n\n");
1496
+ exit(1);
1497
+ }
1498
+
1499
+ int
1500
+ dontcall_body_cb (http_parser *p, const char *buf, size_t len)
1501
+ {
1502
+ if (p || buf || len) { } // gcc
1503
+ fprintf(stderr, "\n\n*** on_body_cb() called on paused parser ***\n\n");
1504
+ exit(1);
1505
+ }
1506
+
1507
+ int
1508
+ dontcall_headers_complete_cb (http_parser *p)
1509
+ {
1510
+ if (p) { } // gcc
1511
+ fprintf(stderr, "\n\n*** on_headers_complete() called on paused "
1512
+ "parser ***\n\n");
1513
+ exit(1);
1514
+ }
1515
+
1516
+ int
1517
+ dontcall_message_complete_cb (http_parser *p)
1518
+ {
1519
+ if (p) { } // gcc
1520
+ fprintf(stderr, "\n\n*** on_message_complete() called on paused "
1521
+ "parser ***\n\n");
1522
+ exit(1);
1523
+ }
1524
+
1525
+ static http_parser_settings settings_dontcall =
1526
+ {.on_message_begin = dontcall_message_begin_cb
1527
+ ,.on_header_field = dontcall_header_field_cb
1528
+ ,.on_header_value = dontcall_header_value_cb
1529
+ ,.on_url = dontcall_request_url_cb
1530
+ ,.on_body = dontcall_body_cb
1531
+ ,.on_headers_complete = dontcall_headers_complete_cb
1532
+ ,.on_message_complete = dontcall_message_complete_cb
1533
+ };
1534
+
1535
+ /* These pause_* callbacks always pause the parser and just invoke the regular
1536
+ * callback that tracks content. Before returning, we overwrite the parser
1537
+ * settings to point to the _dontcall variety so that we can verify that
1538
+ * the pause actually did, you know, pause. */
1539
+ int
1540
+ pause_message_begin_cb (http_parser *p)
1541
+ {
1542
+ http_parser_pause(p, 1);
1543
+ *current_pause_parser = settings_dontcall;
1544
+ return message_begin_cb(p);
1545
+ }
1546
+
1547
+ int
1548
+ pause_header_field_cb (http_parser *p, const char *buf, size_t len)
1549
+ {
1550
+ http_parser_pause(p, 1);
1551
+ *current_pause_parser = settings_dontcall;
1552
+ return header_field_cb(p, buf, len);
1553
+ }
1554
+
1555
+ int
1556
+ pause_header_value_cb (http_parser *p, const char *buf, size_t len)
1557
+ {
1558
+ http_parser_pause(p, 1);
1559
+ *current_pause_parser = settings_dontcall;
1560
+ return header_value_cb(p, buf, len);
1561
+ }
1562
+
1563
+ int
1564
+ pause_request_url_cb (http_parser *p, const char *buf, size_t len)
1565
+ {
1566
+ http_parser_pause(p, 1);
1567
+ *current_pause_parser = settings_dontcall;
1568
+ return request_url_cb(p, buf, len);
1569
+ }
1570
+
1571
+ int
1572
+ pause_body_cb (http_parser *p, const char *buf, size_t len)
1573
+ {
1574
+ http_parser_pause(p, 1);
1575
+ *current_pause_parser = settings_dontcall;
1576
+ return body_cb(p, buf, len);
1577
+ }
1578
+
1579
+ int
1580
+ pause_headers_complete_cb (http_parser *p)
1581
+ {
1582
+ http_parser_pause(p, 1);
1583
+ *current_pause_parser = settings_dontcall;
1584
+ return headers_complete_cb(p);
1585
+ }
1586
+
1587
+ int
1588
+ pause_message_complete_cb (http_parser *p)
1589
+ {
1590
+ http_parser_pause(p, 1);
1591
+ *current_pause_parser = settings_dontcall;
1592
+ return message_complete_cb(p);
1593
+ }
1594
+
1595
+ static http_parser_settings settings_pause =
1596
+ {.on_message_begin = pause_message_begin_cb
1597
+ ,.on_header_field = pause_header_field_cb
1598
+ ,.on_header_value = pause_header_value_cb
1599
+ ,.on_url = pause_request_url_cb
1600
+ ,.on_body = pause_body_cb
1601
+ ,.on_headers_complete = pause_headers_complete_cb
1602
+ ,.on_message_complete = pause_message_complete_cb
1603
+ };
1604
+
1605
+ static http_parser_settings settings =
1606
+ {.on_message_begin = message_begin_cb
1607
+ ,.on_header_field = header_field_cb
1608
+ ,.on_header_value = header_value_cb
1609
+ ,.on_url = request_url_cb
1610
+ ,.on_body = body_cb
1611
+ ,.on_headers_complete = headers_complete_cb
1612
+ ,.on_message_complete = message_complete_cb
1613
+ };
1614
+
1615
+ static http_parser_settings settings_count_body =
1616
+ {.on_message_begin = message_begin_cb
1617
+ ,.on_header_field = header_field_cb
1618
+ ,.on_header_value = header_value_cb
1619
+ ,.on_url = request_url_cb
1620
+ ,.on_body = count_body_cb
1621
+ ,.on_headers_complete = headers_complete_cb
1622
+ ,.on_message_complete = message_complete_cb
1623
+ };
1624
+
1625
+ static http_parser_settings settings_null =
1626
+ {.on_message_begin = 0
1627
+ ,.on_header_field = 0
1628
+ ,.on_header_value = 0
1629
+ ,.on_url = 0
1630
+ ,.on_body = 0
1631
+ ,.on_headers_complete = 0
1632
+ ,.on_message_complete = 0
1633
+ };
1634
+
1635
+ void
1636
+ parser_init (enum http_parser_type type)
1637
+ {
1638
+ num_messages = 0;
1639
+
1640
+ assert(parser == NULL);
1641
+
1642
+ parser = malloc(sizeof(http_parser));
1643
+
1644
+ http_parser_init(parser, type);
1645
+
1646
+ memset(&messages, 0, sizeof messages);
1647
+
1648
+ }
1649
+
1650
+ void
1651
+ parser_free ()
1652
+ {
1653
+ assert(parser);
1654
+ free(parser);
1655
+ parser = NULL;
1656
+ }
1657
+
1658
+ size_t parse (const char *buf, size_t len)
1659
+ {
1660
+ size_t nparsed;
1661
+ currently_parsing_eof = (len == 0);
1662
+ nparsed = http_parser_execute(parser, &settings, buf, len);
1663
+ return nparsed;
1664
+ }
1665
+
1666
+ size_t parse_count_body (const char *buf, size_t len)
1667
+ {
1668
+ size_t nparsed;
1669
+ currently_parsing_eof = (len == 0);
1670
+ nparsed = http_parser_execute(parser, &settings_count_body, buf, len);
1671
+ return nparsed;
1672
+ }
1673
+
1674
+ size_t parse_pause (const char *buf, size_t len)
1675
+ {
1676
+ size_t nparsed;
1677
+ http_parser_settings s = settings_pause;
1678
+
1679
+ currently_parsing_eof = (len == 0);
1680
+ current_pause_parser = &s;
1681
+ nparsed = http_parser_execute(parser, current_pause_parser, buf, len);
1682
+ return nparsed;
1683
+ }
1684
+
1685
+ static inline int
1686
+ check_str_eq (const struct message *m,
1687
+ const char *prop,
1688
+ const char *expected,
1689
+ const char *found) {
1690
+ if ((expected == NULL) != (found == NULL)) {
1691
+ printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name);
1692
+ printf("expected %s\n", (expected == NULL) ? "NULL" : expected);
1693
+ printf(" found %s\n", (found == NULL) ? "NULL" : found);
1694
+ return 0;
1695
+ }
1696
+ if (expected != NULL && 0 != strcmp(expected, found)) {
1697
+ printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name);
1698
+ printf("expected '%s'\n", expected);
1699
+ printf(" found '%s'\n", found);
1700
+ return 0;
1701
+ }
1702
+ return 1;
1703
+ }
1704
+
1705
+ static inline int
1706
+ check_num_eq (const struct message *m,
1707
+ const char *prop,
1708
+ int expected,
1709
+ int found) {
1710
+ if (expected != found) {
1711
+ printf("\n*** Error: %s in '%s' ***\n\n", prop, m->name);
1712
+ printf("expected %d\n", expected);
1713
+ printf(" found %d\n", found);
1714
+ return 0;
1715
+ }
1716
+ return 1;
1717
+ }
1718
+
1719
+ #define MESSAGE_CHECK_STR_EQ(expected, found, prop) \
1720
+ if (!check_str_eq(expected, #prop, expected->prop, found->prop)) return 0
1721
+
1722
+ #define MESSAGE_CHECK_NUM_EQ(expected, found, prop) \
1723
+ if (!check_num_eq(expected, #prop, expected->prop, found->prop)) return 0
1724
+
1725
+ #define MESSAGE_CHECK_URL_EQ(u, expected, found, prop, fn) \
1726
+ do { \
1727
+ char ubuf[256]; \
1728
+ \
1729
+ if ((u)->field_set & (1 << (fn))) { \
1730
+ memcpy(ubuf, (found)->request_url + (u)->field_data[(fn)].off, \
1731
+ (u)->field_data[(fn)].len); \
1732
+ ubuf[(u)->field_data[(fn)].len] = '\0'; \
1733
+ } else { \
1734
+ ubuf[0] = '\0'; \
1735
+ } \
1736
+ \
1737
+ check_str_eq(expected, #prop, expected->prop, ubuf); \
1738
+ } while(0)
1739
+
1740
+ int
1741
+ message_eq (int index, const struct message *expected)
1742
+ {
1743
+ int i;
1744
+ struct message *m = &messages[index];
1745
+
1746
+ MESSAGE_CHECK_NUM_EQ(expected, m, http_major);
1747
+ MESSAGE_CHECK_NUM_EQ(expected, m, http_minor);
1748
+
1749
+ if (expected->type == HTTP_REQUEST) {
1750
+ MESSAGE_CHECK_NUM_EQ(expected, m, method);
1751
+ } else {
1752
+ MESSAGE_CHECK_NUM_EQ(expected, m, status_code);
1753
+ }
1754
+
1755
+ MESSAGE_CHECK_NUM_EQ(expected, m, should_keep_alive);
1756
+ MESSAGE_CHECK_NUM_EQ(expected, m, message_complete_on_eof);
1757
+
1758
+ assert(m->message_begin_cb_called);
1759
+ assert(m->headers_complete_cb_called);
1760
+ assert(m->message_complete_cb_called);
1761
+
1762
+
1763
+ MESSAGE_CHECK_STR_EQ(expected, m, request_url);
1764
+
1765
+ /* Check URL components; we can't do this w/ CONNECT since it doesn't
1766
+ * send us a well-formed URL.
1767
+ */
1768
+ if (*m->request_url && m->method != HTTP_CONNECT) {
1769
+ struct http_parser_url u;
1770
+
1771
+ if (http_parser_parse_url(m->request_url, strlen(m->request_url), 0, &u)) {
1772
+ fprintf(stderr, "\n\n*** failed to parse URL %s ***\n\n",
1773
+ m->request_url);
1774
+ exit(1);
1775
+ }
1776
+
1777
+ m->port = (u.field_set & (1 << UF_PORT)) ?
1778
+ u.port : 0;
1779
+
1780
+ MESSAGE_CHECK_URL_EQ(&u, expected, m, query_string, UF_QUERY);
1781
+ MESSAGE_CHECK_URL_EQ(&u, expected, m, fragment, UF_FRAGMENT);
1782
+ MESSAGE_CHECK_URL_EQ(&u, expected, m, request_path, UF_PATH);
1783
+ MESSAGE_CHECK_NUM_EQ(expected, m, port);
1784
+ }
1785
+
1786
+ if (expected->body_size) {
1787
+ MESSAGE_CHECK_NUM_EQ(expected, m, body_size);
1788
+ } else {
1789
+ MESSAGE_CHECK_STR_EQ(expected, m, body);
1790
+ }
1791
+
1792
+ MESSAGE_CHECK_NUM_EQ(expected, m, num_headers);
1793
+
1794
+ int r;
1795
+ for (i = 0; i < m->num_headers; i++) {
1796
+ r = check_str_eq(expected, "header field", expected->headers[i][0], m->headers[i][0]);
1797
+ if (!r) return 0;
1798
+ r = check_str_eq(expected, "header value", expected->headers[i][1], m->headers[i][1]);
1799
+ if (!r) return 0;
1800
+ }
1801
+
1802
+ MESSAGE_CHECK_STR_EQ(expected, m, upgrade);
1803
+
1804
+ return 1;
1805
+ }
1806
+
1807
+ /* Given a sequence of varargs messages, return the number of them that the
1808
+ * parser should successfully parse, taking into account that upgraded
1809
+ * messages prevent all subsequent messages from being parsed.
1810
+ */
1811
+ size_t
1812
+ count_parsed_messages(const size_t nmsgs, ...) {
1813
+ size_t i;
1814
+ va_list ap;
1815
+
1816
+ va_start(ap, nmsgs);
1817
+
1818
+ for (i = 0; i < nmsgs; i++) {
1819
+ struct message *m = va_arg(ap, struct message *);
1820
+
1821
+ if (m->upgrade) {
1822
+ va_end(ap);
1823
+ return i + 1;
1824
+ }
1825
+ }
1826
+
1827
+ va_end(ap);
1828
+ return nmsgs;
1829
+ }
1830
+
1831
+ /* Given a sequence of bytes and the number of these that we were able to
1832
+ * parse, verify that upgrade bodies are correct.
1833
+ */
1834
+ void
1835
+ upgrade_message_fix(char *body, const size_t nread, const size_t nmsgs, ...) {
1836
+ va_list ap;
1837
+ size_t i;
1838
+ size_t off = 0;
1839
+
1840
+ va_start(ap, nmsgs);
1841
+
1842
+ for (i = 0; i < nmsgs; i++) {
1843
+ struct message *m = va_arg(ap, struct message *);
1844
+
1845
+ off += strlen(m->raw);
1846
+
1847
+ if (m->upgrade) {
1848
+ off -= strlen(m->upgrade);
1849
+
1850
+ /* Check the portion of the response after its specified upgrade */
1851
+ if (!check_str_eq(m, "upgrade", body + off, body + nread)) {
1852
+ exit(1);
1853
+ }
1854
+
1855
+ /* Fix up the response so that message_eq() will verify the beginning
1856
+ * of the upgrade */
1857
+ *(body + nread + strlen(m->upgrade)) = '\0';
1858
+ messages[num_messages -1 ].upgrade = body + nread;
1859
+
1860
+ va_end(ap);
1861
+ return;
1862
+ }
1863
+ }
1864
+
1865
+ va_end(ap);
1866
+ printf("\n\n*** Error: expected a message with upgrade ***\n");
1867
+
1868
+ exit(1);
1869
+ }
1870
+
1871
+ static void
1872
+ print_error (const char *raw, size_t error_location)
1873
+ {
1874
+ fprintf(stderr, "\n*** %s:%d -- %s ***\n\n",
1875
+ "http_parser.c", HTTP_PARSER_ERRNO_LINE(parser),
1876
+ http_errno_description(HTTP_PARSER_ERRNO(parser)));
1877
+
1878
+ int this_line = 0, char_len = 0;
1879
+ size_t i, j, len = strlen(raw), error_location_line = 0;
1880
+ for (i = 0; i < len; i++) {
1881
+ if (i == error_location) this_line = 1;
1882
+ switch (raw[i]) {
1883
+ case '\r':
1884
+ char_len = 2;
1885
+ fprintf(stderr, "\\r");
1886
+ break;
1887
+
1888
+ case '\n':
1889
+ char_len = 2;
1890
+ fprintf(stderr, "\\n\n");
1891
+
1892
+ if (this_line) goto print;
1893
+
1894
+ error_location_line = 0;
1895
+ continue;
1896
+
1897
+ default:
1898
+ char_len = 1;
1899
+ fputc(raw[i], stderr);
1900
+ break;
1901
+ }
1902
+ if (!this_line) error_location_line += char_len;
1903
+ }
1904
+
1905
+ fprintf(stderr, "[eof]\n");
1906
+
1907
+ print:
1908
+ for (j = 0; j < error_location_line; j++) {
1909
+ fputc(' ', stderr);
1910
+ }
1911
+ fprintf(stderr, "^\n\nerror location: %u\n", (unsigned int)error_location);
1912
+ }
1913
+
1914
+ void
1915
+ test_preserve_data (void)
1916
+ {
1917
+ char my_data[] = "application-specific data";
1918
+ http_parser parser;
1919
+ parser.data = my_data;
1920
+ http_parser_init(&parser, HTTP_REQUEST);
1921
+ if (parser.data != my_data) {
1922
+ printf("\n*** parser.data not preserved accross http_parser_init ***\n\n");
1923
+ exit(1);
1924
+ }
1925
+ }
1926
+
1927
+ struct url_test {
1928
+ const char *name;
1929
+ const char *url;
1930
+ int is_connect;
1931
+ struct http_parser_url u;
1932
+ int rv;
1933
+ };
1934
+
1935
+ const struct url_test url_tests[] =
1936
+ { {.name="proxy request"
1937
+ ,.url="http://hostname/"
1938
+ ,.is_connect=0
1939
+ ,.u=
1940
+ {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH)
1941
+ ,.port=0
1942
+ ,.field_data=
1943
+ {{ 0, 4 } /* UF_SCHEMA */
1944
+ ,{ 7, 8 } /* UF_HOST */
1945
+ ,{ 0, 0 } /* UF_PORT */
1946
+ ,{ 15, 1 } /* UF_PATH */
1947
+ ,{ 0, 0 } /* UF_QUERY */
1948
+ ,{ 0, 0 } /* UF_FRAGMENT */
1949
+ }
1950
+ }
1951
+ ,.rv=0
1952
+ }
1953
+
1954
+ , {.name="CONNECT request"
1955
+ ,.url="hostname:443"
1956
+ ,.is_connect=1
1957
+ ,.u=
1958
+ {.field_set=(1 << UF_HOST) | (1 << UF_PORT)
1959
+ ,.port=443
1960
+ ,.field_data=
1961
+ {{ 0, 0 } /* UF_SCHEMA */
1962
+ ,{ 0, 8 } /* UF_HOST */
1963
+ ,{ 9, 3 } /* UF_PORT */
1964
+ ,{ 0, 0 } /* UF_PATH */
1965
+ ,{ 0, 0 } /* UF_QUERY */
1966
+ ,{ 0, 0 } /* UF_FRAGMENT */
1967
+ }
1968
+ }
1969
+ ,.rv=0
1970
+ }
1971
+
1972
+ , {.name="proxy ipv6 request"
1973
+ ,.url="http://[1:2::3:4]/"
1974
+ ,.is_connect=0
1975
+ ,.u=
1976
+ {.field_set=(1 << UF_SCHEMA) | (1 << UF_HOST) | (1 << UF_PATH)
1977
+ ,.port=0
1978
+ ,.field_data=
1979
+ {{ 0, 4 } /* UF_SCHEMA */
1980
+ ,{ 8, 8 } /* UF_HOST */
1981
+ ,{ 0, 0 } /* UF_PORT */
1982
+ ,{ 17, 1 } /* UF_PATH */
1983
+ ,{ 0, 0 } /* UF_QUERY */
1984
+ ,{ 0, 0 } /* UF_FRAGMENT */
1985
+ }
1986
+ }
1987
+ ,.rv=0
1988
+ }
1989
+
1990
+ , {.name="CONNECT ipv6 address"
1991
+ ,.url="[1:2::3:4]:443"
1992
+ ,.is_connect=1
1993
+ ,.u=
1994
+ {.field_set=(1 << UF_HOST) | (1 << UF_PORT)
1995
+ ,.port=443
1996
+ ,.field_data=
1997
+ {{ 0, 0 } /* UF_SCHEMA */
1998
+ ,{ 1, 8 } /* UF_HOST */
1999
+ ,{ 11, 3 } /* UF_PORT */
2000
+ ,{ 0, 0 } /* UF_PATH */
2001
+ ,{ 0, 0 } /* UF_QUERY */
2002
+ ,{ 0, 0 } /* UF_FRAGMENT */
2003
+ }
2004
+ }
2005
+ ,.rv=0
2006
+ }
2007
+
2008
+ , {.name="extra ? in query string"
2009
+ ,.url="http://a.tbcdn.cn/p/fp/2010c/??fp-header-min.css,fp-base-min.css,fp-channel-min.css,fp-product-min.css,fp-mall-min.css,fp-category-min.css,fp-sub-min.css,fp-gdp4p-min.css,fp-css3-min.css,fp-misc-min.css?t=20101022.css"
2010
+ ,.is_connect=0
2011
+ ,.u=
2012
+ {.field_set=(1<<UF_SCHEMA) | (1<<UF_HOST) | (1<<UF_PATH) | (1<<UF_QUERY)
2013
+ ,.port=0
2014
+ ,.field_data=
2015
+ {{ 0, 4 } /* UF_SCHEMA */
2016
+ ,{ 7, 10 } /* UF_HOST */
2017
+ ,{ 0, 0 } /* UF_PORT */
2018
+ ,{ 17, 12 } /* UF_PATH */
2019
+ ,{ 30,187 } /* UF_QUERY */
2020
+ ,{ 0, 0 } /* UF_FRAGMENT */
2021
+ }
2022
+ }
2023
+ ,.rv=0
2024
+ }
2025
+
2026
+ , {.name="proxy empty host"
2027
+ ,.url="http://:443/"
2028
+ ,.is_connect=0
2029
+ ,.rv=1
2030
+ }
2031
+
2032
+ , {.name="proxy empty port"
2033
+ ,.url="http://hostname:/"
2034
+ ,.is_connect=0
2035
+ ,.rv=1
2036
+ }
2037
+
2038
+ , {.name="CONNECT empty host"
2039
+ ,.url=":443"
2040
+ ,.is_connect=1
2041
+ ,.rv=1
2042
+ }
2043
+
2044
+ , {.name="CONNECT empty port"
2045
+ ,.url="hostname:"
2046
+ ,.is_connect=1
2047
+ ,.rv=1
2048
+ }
2049
+
2050
+ , {.name="CONNECT with extra bits"
2051
+ ,.url="hostname:443/"
2052
+ ,.is_connect=1
2053
+ ,.rv=1
2054
+ }
2055
+ };
2056
+
2057
+ void
2058
+ dump_url (const char *url, const struct http_parser_url *u)
2059
+ {
2060
+ char part[512];
2061
+ unsigned int i;
2062
+
2063
+ printf("\tfield_set: 0x%x, port: %u\n", u->field_set, u->port);
2064
+ for (i = 0; i < UF_MAX; i++) {
2065
+ if ((u->field_set & (1 << i)) == 0) {
2066
+ printf("\tfield_data[%u]: unset\n", i);
2067
+ continue;
2068
+ }
2069
+
2070
+ memcpy(part, url + u->field_data[i].off, u->field_data[i].len);
2071
+ part[u->field_data[i].len] = '\0';
2072
+
2073
+ printf("\tfield_data[%u]: off: %u len: %u part: \"%s\"\n",
2074
+ i,
2075
+ u->field_data[i].off,
2076
+ u->field_data[i].len,
2077
+ part);
2078
+ }
2079
+ }
2080
+
2081
+ void
2082
+ test_parse_url (void)
2083
+ {
2084
+ struct http_parser_url u;
2085
+ const struct url_test *test;
2086
+ unsigned int i;
2087
+ int rv;
2088
+
2089
+ for (i = 0; i < (sizeof(url_tests) / sizeof(url_tests[0])); i++) {
2090
+ test = &url_tests[i];
2091
+ memset(&u, 0, sizeof(u));
2092
+
2093
+ rv = http_parser_parse_url(test->url,
2094
+ strlen(test->url),
2095
+ test->is_connect,
2096
+ &u);
2097
+
2098
+ if (test->rv == 0) {
2099
+ if (rv != 0) {
2100
+ printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, "
2101
+ "unexpected rv %d ***\n\n", test->url, test->name, rv);
2102
+ exit(1);
2103
+ }
2104
+
2105
+ if (memcmp(&u, &test->u, sizeof(u)) != 0) {
2106
+ printf("\n*** http_parser_parse_url(\"%s\") \"%s\" failed ***\n",
2107
+ test->url, test->name);
2108
+
2109
+ printf("target http_parser_url:\n");
2110
+ dump_url(test->url, &test->u);
2111
+ printf("result http_parser_url:\n");
2112
+ dump_url(test->url, &u);
2113
+
2114
+ exit(1);
2115
+ }
2116
+ } else {
2117
+ /* test->rv != 0 */
2118
+ if (rv == 0) {
2119
+ printf("\n*** http_parser_parse_url(\"%s\") \"%s\" test failed, "
2120
+ "unexpected rv %d ***\n\n", test->url, test->name, rv);
2121
+ exit(1);
2122
+ }
2123
+ }
2124
+ }
2125
+ }
2126
+
2127
+ void
2128
+ test_message (const struct message *message)
2129
+ {
2130
+ size_t raw_len = strlen(message->raw);
2131
+ size_t msg1len;
2132
+ for (msg1len = 0; msg1len < raw_len; msg1len++) {
2133
+ parser_init(message->type);
2134
+
2135
+ size_t read;
2136
+ const char *msg1 = message->raw;
2137
+ const char *msg2 = msg1 + msg1len;
2138
+ size_t msg2len = raw_len - msg1len;
2139
+
2140
+ if (msg1len) {
2141
+ read = parse(msg1, msg1len);
2142
+
2143
+ if (message->upgrade && parser->upgrade) {
2144
+ messages[num_messages - 1].upgrade = msg1 + read;
2145
+ goto test;
2146
+ }
2147
+
2148
+ if (read != msg1len) {
2149
+ print_error(msg1, read);
2150
+ exit(1);
2151
+ }
2152
+ }
2153
+
2154
+
2155
+ read = parse(msg2, msg2len);
2156
+
2157
+ if (message->upgrade && parser->upgrade) {
2158
+ messages[num_messages - 1].upgrade = msg2 + read;
2159
+ goto test;
2160
+ }
2161
+
2162
+ if (read != msg2len) {
2163
+ print_error(msg2, read);
2164
+ exit(1);
2165
+ }
2166
+
2167
+ read = parse(NULL, 0);
2168
+
2169
+ if (read != 0) {
2170
+ print_error(message->raw, read);
2171
+ exit(1);
2172
+ }
2173
+
2174
+ test:
2175
+
2176
+ if (num_messages != 1) {
2177
+ printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name);
2178
+ exit(1);
2179
+ }
2180
+
2181
+ if(!message_eq(0, message)) exit(1);
2182
+
2183
+ parser_free();
2184
+ }
2185
+ }
2186
+
2187
+ void
2188
+ test_message_count_body (const struct message *message)
2189
+ {
2190
+ parser_init(message->type);
2191
+
2192
+ size_t read;
2193
+ size_t l = strlen(message->raw);
2194
+ size_t i, toread;
2195
+ size_t chunk = 4024;
2196
+
2197
+ for (i = 0; i < l; i+= chunk) {
2198
+ toread = MIN(l-i, chunk);
2199
+ read = parse_count_body(message->raw + i, toread);
2200
+ if (read != toread) {
2201
+ print_error(message->raw, read);
2202
+ exit(1);
2203
+ }
2204
+ }
2205
+
2206
+
2207
+ read = parse_count_body(NULL, 0);
2208
+ if (read != 0) {
2209
+ print_error(message->raw, read);
2210
+ exit(1);
2211
+ }
2212
+
2213
+ if (num_messages != 1) {
2214
+ printf("\n*** num_messages != 1 after testing '%s' ***\n\n", message->name);
2215
+ exit(1);
2216
+ }
2217
+
2218
+ if(!message_eq(0, message)) exit(1);
2219
+
2220
+ parser_free();
2221
+ }
2222
+
2223
+ void
2224
+ test_simple (const char *buf, enum http_errno err_expected)
2225
+ {
2226
+ parser_init(HTTP_REQUEST);
2227
+
2228
+ size_t parsed;
2229
+ int pass;
2230
+ enum http_errno err;
2231
+
2232
+ parsed = parse(buf, strlen(buf));
2233
+ pass = (parsed == strlen(buf));
2234
+ err = HTTP_PARSER_ERRNO(parser);
2235
+ parsed = parse(NULL, 0);
2236
+ pass &= (parsed == 0);
2237
+
2238
+ parser_free();
2239
+
2240
+ /* In strict mode, allow us to pass with an unexpected HPE_STRICT as
2241
+ * long as the caller isn't expecting success.
2242
+ */
2243
+ #if HTTP_PARSER_STRICT
2244
+ if (err_expected != err && err_expected != HPE_OK && err != HPE_STRICT) {
2245
+ #else
2246
+ if (err_expected != err) {
2247
+ #endif
2248
+ fprintf(stderr, "\n*** test_simple expected %s, but saw %s ***\n\n%s\n",
2249
+ http_errno_name(err_expected), http_errno_name(err), buf);
2250
+ exit(1);
2251
+ }
2252
+ }
2253
+
2254
+ void
2255
+ test_header_overflow_error (int req)
2256
+ {
2257
+ http_parser parser;
2258
+ http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE);
2259
+ size_t parsed;
2260
+ const char *buf;
2261
+ buf = req ? "GET / HTTP/1.1\r\n" : "HTTP/1.0 200 OK\r\n";
2262
+ parsed = http_parser_execute(&parser, &settings_null, buf, strlen(buf));
2263
+ assert(parsed == strlen(buf));
2264
+
2265
+ buf = "header-key: header-value\r\n";
2266
+ size_t buflen = strlen(buf);
2267
+
2268
+ int i;
2269
+ for (i = 0; i < 10000; i++) {
2270
+ parsed = http_parser_execute(&parser, &settings_null, buf, buflen);
2271
+ if (parsed != buflen) {
2272
+ //fprintf(stderr, "error found on iter %d\n", i);
2273
+ assert(HTTP_PARSER_ERRNO(&parser) == HPE_HEADER_OVERFLOW);
2274
+ return;
2275
+ }
2276
+ }
2277
+
2278
+ fprintf(stderr, "\n*** Error expected but none in header overflow test ***\n");
2279
+ exit(1);
2280
+ }
2281
+
2282
+ static void
2283
+ test_content_length_overflow (const char *buf, size_t buflen, int expect_ok)
2284
+ {
2285
+ http_parser parser;
2286
+ http_parser_init(&parser, HTTP_RESPONSE);
2287
+ http_parser_execute(&parser, &settings_null, buf, buflen);
2288
+
2289
+ if (expect_ok)
2290
+ assert(HTTP_PARSER_ERRNO(&parser) == HPE_OK);
2291
+ else
2292
+ assert(HTTP_PARSER_ERRNO(&parser) == HPE_INVALID_CONTENT_LENGTH);
2293
+ }
2294
+
2295
+ void
2296
+ test_header_content_length_overflow_error (void)
2297
+ {
2298
+ #define X(size) \
2299
+ "HTTP/1.1 200 OK\r\n" \
2300
+ "Content-Length: " #size "\r\n" \
2301
+ "\r\n"
2302
+ const char a[] = X(18446744073709551614); /* 2^64-2 */
2303
+ const char b[] = X(18446744073709551615); /* 2^64-1 */
2304
+ const char c[] = X(18446744073709551616); /* 2^64 */
2305
+ #undef X
2306
+ test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */
2307
+ test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */
2308
+ test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */
2309
+ }
2310
+
2311
+ void
2312
+ test_chunk_content_length_overflow_error (void)
2313
+ {
2314
+ #define X(size) \
2315
+ "HTTP/1.1 200 OK\r\n" \
2316
+ "Transfer-Encoding: chunked\r\n" \
2317
+ "\r\n" \
2318
+ #size "\r\n" \
2319
+ "..."
2320
+ const char a[] = X(FFFFFFFFFFFFFFFE); /* 2^64-2 */
2321
+ const char b[] = X(FFFFFFFFFFFFFFFF); /* 2^64-1 */
2322
+ const char c[] = X(10000000000000000); /* 2^64 */
2323
+ #undef X
2324
+ test_content_length_overflow(a, sizeof(a) - 1, 1); /* expect ok */
2325
+ test_content_length_overflow(b, sizeof(b) - 1, 0); /* expect failure */
2326
+ test_content_length_overflow(c, sizeof(c) - 1, 0); /* expect failure */
2327
+ }
2328
+
2329
+ void
2330
+ test_no_overflow_long_body (int req, size_t length)
2331
+ {
2332
+ http_parser parser;
2333
+ http_parser_init(&parser, req ? HTTP_REQUEST : HTTP_RESPONSE);
2334
+ size_t parsed;
2335
+ size_t i;
2336
+ char buf1[3000];
2337
+ size_t buf1len = sprintf(buf1, "%s\r\nConnection: Keep-Alive\r\nContent-Length: %zu\r\n\r\n",
2338
+ req ? "POST / HTTP/1.0" : "HTTP/1.0 200 OK", length);
2339
+ parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len);
2340
+ if (parsed != buf1len)
2341
+ goto err;
2342
+
2343
+ for (i = 0; i < length; i++) {
2344
+ char foo = 'a';
2345
+ parsed = http_parser_execute(&parser, &settings_null, &foo, 1);
2346
+ if (parsed != 1)
2347
+ goto err;
2348
+ }
2349
+
2350
+ parsed = http_parser_execute(&parser, &settings_null, buf1, buf1len);
2351
+ if (parsed != buf1len) goto err;
2352
+ return;
2353
+
2354
+ err:
2355
+ fprintf(stderr,
2356
+ "\n*** error in test_no_overflow_long_body %s of length %zu ***\n",
2357
+ req ? "REQUEST" : "RESPONSE",
2358
+ length);
2359
+ exit(1);
2360
+ }
2361
+
2362
+ void
2363
+ test_multiple3 (const struct message *r1, const struct message *r2, const struct message *r3)
2364
+ {
2365
+ int message_count = count_parsed_messages(3, r1, r2, r3);
2366
+
2367
+ char total[ strlen(r1->raw)
2368
+ + strlen(r2->raw)
2369
+ + strlen(r3->raw)
2370
+ + 1
2371
+ ];
2372
+ total[0] = '\0';
2373
+
2374
+ strcat(total, r1->raw);
2375
+ strcat(total, r2->raw);
2376
+ strcat(total, r3->raw);
2377
+
2378
+ parser_init(r1->type);
2379
+
2380
+ size_t read;
2381
+
2382
+ read = parse(total, strlen(total));
2383
+
2384
+ if (parser->upgrade) {
2385
+ upgrade_message_fix(total, read, 3, r1, r2, r3);
2386
+ goto test;
2387
+ }
2388
+
2389
+ if (read != strlen(total)) {
2390
+ print_error(total, read);
2391
+ exit(1);
2392
+ }
2393
+
2394
+ read = parse(NULL, 0);
2395
+
2396
+ if (read != 0) {
2397
+ print_error(total, read);
2398
+ exit(1);
2399
+ }
2400
+
2401
+ test:
2402
+
2403
+ if (message_count != num_messages) {
2404
+ fprintf(stderr, "\n\n*** Parser didn't see 3 messages only %d *** \n", num_messages);
2405
+ exit(1);
2406
+ }
2407
+
2408
+ if (!message_eq(0, r1)) exit(1);
2409
+ if (message_count > 1 && !message_eq(1, r2)) exit(1);
2410
+ if (message_count > 2 && !message_eq(2, r3)) exit(1);
2411
+
2412
+ parser_free();
2413
+ }
2414
+
2415
+ /* SCAN through every possible breaking to make sure the
2416
+ * parser can handle getting the content in any chunks that
2417
+ * might come from the socket
2418
+ */
2419
+ void
2420
+ test_scan (const struct message *r1, const struct message *r2, const struct message *r3)
2421
+ {
2422
+ char total[80*1024] = "\0";
2423
+ char buf1[80*1024] = "\0";
2424
+ char buf2[80*1024] = "\0";
2425
+ char buf3[80*1024] = "\0";
2426
+
2427
+ strcat(total, r1->raw);
2428
+ strcat(total, r2->raw);
2429
+ strcat(total, r3->raw);
2430
+
2431
+ size_t read;
2432
+
2433
+ int total_len = strlen(total);
2434
+
2435
+ int total_ops = 2 * (total_len - 1) * (total_len - 2) / 2;
2436
+ int ops = 0 ;
2437
+
2438
+ size_t buf1_len, buf2_len, buf3_len;
2439
+ int message_count = count_parsed_messages(3, r1, r2, r3);
2440
+
2441
+ int i,j,type_both;
2442
+ for (type_both = 0; type_both < 2; type_both ++ ) {
2443
+ for (j = 2; j < total_len; j ++ ) {
2444
+ for (i = 1; i < j; i ++ ) {
2445
+
2446
+ if (ops % 1000 == 0) {
2447
+ printf("\b\b\b\b%3.0f%%", 100 * (float)ops /(float)total_ops);
2448
+ fflush(stdout);
2449
+ }
2450
+ ops += 1;
2451
+
2452
+ parser_init(type_both ? HTTP_BOTH : r1->type);
2453
+
2454
+ buf1_len = i;
2455
+ strncpy(buf1, total, buf1_len);
2456
+ buf1[buf1_len] = 0;
2457
+
2458
+ buf2_len = j - i;
2459
+ strncpy(buf2, total+i, buf2_len);
2460
+ buf2[buf2_len] = 0;
2461
+
2462
+ buf3_len = total_len - j;
2463
+ strncpy(buf3, total+j, buf3_len);
2464
+ buf3[buf3_len] = 0;
2465
+
2466
+ read = parse(buf1, buf1_len);
2467
+
2468
+ if (parser->upgrade) goto test;
2469
+
2470
+ if (read != buf1_len) {
2471
+ print_error(buf1, read);
2472
+ goto error;
2473
+ }
2474
+
2475
+ read += parse(buf2, buf2_len);
2476
+
2477
+ if (parser->upgrade) goto test;
2478
+
2479
+ if (read != buf1_len + buf2_len) {
2480
+ print_error(buf2, read);
2481
+ goto error;
2482
+ }
2483
+
2484
+ read += parse(buf3, buf3_len);
2485
+
2486
+ if (parser->upgrade) goto test;
2487
+
2488
+ if (read != buf1_len + buf2_len + buf3_len) {
2489
+ print_error(buf3, read);
2490
+ goto error;
2491
+ }
2492
+
2493
+ parse(NULL, 0);
2494
+
2495
+ test:
2496
+ if (parser->upgrade) {
2497
+ upgrade_message_fix(total, read, 3, r1, r2, r3);
2498
+ }
2499
+
2500
+ if (message_count != num_messages) {
2501
+ fprintf(stderr, "\n\nParser didn't see %d messages only %d\n",
2502
+ message_count, num_messages);
2503
+ goto error;
2504
+ }
2505
+
2506
+ if (!message_eq(0, r1)) {
2507
+ fprintf(stderr, "\n\nError matching messages[0] in test_scan.\n");
2508
+ goto error;
2509
+ }
2510
+
2511
+ if (message_count > 1 && !message_eq(1, r2)) {
2512
+ fprintf(stderr, "\n\nError matching messages[1] in test_scan.\n");
2513
+ goto error;
2514
+ }
2515
+
2516
+ if (message_count > 2 && !message_eq(2, r3)) {
2517
+ fprintf(stderr, "\n\nError matching messages[2] in test_scan.\n");
2518
+ goto error;
2519
+ }
2520
+
2521
+ parser_free();
2522
+ }
2523
+ }
2524
+ }
2525
+ puts("\b\b\b\b100%");
2526
+ return;
2527
+
2528
+ error:
2529
+ fprintf(stderr, "i=%d j=%d\n", i, j);
2530
+ fprintf(stderr, "buf1 (%u) %s\n\n", (unsigned int)buf1_len, buf1);
2531
+ fprintf(stderr, "buf2 (%u) %s\n\n", (unsigned int)buf2_len , buf2);
2532
+ fprintf(stderr, "buf3 (%u) %s\n", (unsigned int)buf3_len, buf3);
2533
+ exit(1);
2534
+ }
2535
+
2536
+ // user required to free the result
2537
+ // string terminated by \0
2538
+ char *
2539
+ create_large_chunked_message (int body_size_in_kb, const char* headers)
2540
+ {
2541
+ int i;
2542
+ size_t wrote = 0;
2543
+ size_t headers_len = strlen(headers);
2544
+ size_t bufsize = headers_len + (5+1024+2)*body_size_in_kb + 6;
2545
+ char * buf = malloc(bufsize);
2546
+
2547
+ memcpy(buf, headers, headers_len);
2548
+ wrote += headers_len;
2549
+
2550
+ for (i = 0; i < body_size_in_kb; i++) {
2551
+ // write 1kb chunk into the body.
2552
+ memcpy(buf + wrote, "400\r\n", 5);
2553
+ wrote += 5;
2554
+ memset(buf + wrote, 'C', 1024);
2555
+ wrote += 1024;
2556
+ strcpy(buf + wrote, "\r\n");
2557
+ wrote += 2;
2558
+ }
2559
+
2560
+ memcpy(buf + wrote, "0\r\n\r\n", 6);
2561
+ wrote += 6;
2562
+ assert(wrote == bufsize);
2563
+
2564
+ return buf;
2565
+ }
2566
+
2567
+ /* Verify that we can pause parsing at any of the bytes in the
2568
+ * message and still get the result that we're expecting. */
2569
+ void
2570
+ test_message_pause (const struct message *msg)
2571
+ {
2572
+ char *buf = (char*) msg->raw;
2573
+ size_t buflen = strlen(msg->raw);
2574
+ size_t nread;
2575
+
2576
+ parser_init(msg->type);
2577
+
2578
+ do {
2579
+ nread = parse_pause(buf, buflen);
2580
+
2581
+ // We can only set the upgrade buffer once we've gotten our message
2582
+ // completion callback.
2583
+ if (messages[0].message_complete_cb_called &&
2584
+ msg->upgrade &&
2585
+ parser->upgrade) {
2586
+ messages[0].upgrade = buf + nread;
2587
+ goto test;
2588
+ }
2589
+
2590
+ if (nread < buflen) {
2591
+
2592
+ // Not much do to if we failed a strict-mode check
2593
+ if (HTTP_PARSER_ERRNO(parser) == HPE_STRICT) {
2594
+ parser_free();
2595
+ return;
2596
+ }
2597
+
2598
+ assert (HTTP_PARSER_ERRNO(parser) == HPE_PAUSED);
2599
+ }
2600
+
2601
+ buf += nread;
2602
+ buflen -= nread;
2603
+ http_parser_pause(parser, 0);
2604
+ } while (buflen > 0);
2605
+
2606
+ nread = parse_pause(NULL, 0);
2607
+ assert (nread == 0);
2608
+
2609
+ test:
2610
+ if (num_messages != 1) {
2611
+ printf("\n*** num_messages != 1 after testing '%s' ***\n\n", msg->name);
2612
+ exit(1);
2613
+ }
2614
+
2615
+ if(!message_eq(0, msg)) exit(1);
2616
+
2617
+ parser_free();
2618
+ }
2619
+
2620
+ int
2621
+ main (void)
2622
+ {
2623
+ parser = NULL;
2624
+ int i, j, k;
2625
+ int request_count;
2626
+ int response_count;
2627
+
2628
+ printf("sizeof(http_parser) = %u\n", (unsigned int)sizeof(http_parser));
2629
+
2630
+ for (request_count = 0; requests[request_count].name; request_count++);
2631
+ for (response_count = 0; responses[response_count].name; response_count++);
2632
+
2633
+ //// API
2634
+ test_preserve_data();
2635
+ test_parse_url();
2636
+
2637
+ //// OVERFLOW CONDITIONS
2638
+
2639
+ test_header_overflow_error(HTTP_REQUEST);
2640
+ test_no_overflow_long_body(HTTP_REQUEST, 1000);
2641
+ test_no_overflow_long_body(HTTP_REQUEST, 100000);
2642
+
2643
+ test_header_overflow_error(HTTP_RESPONSE);
2644
+ test_no_overflow_long_body(HTTP_RESPONSE, 1000);
2645
+ test_no_overflow_long_body(HTTP_RESPONSE, 100000);
2646
+
2647
+ test_header_content_length_overflow_error();
2648
+ test_chunk_content_length_overflow_error();
2649
+
2650
+ //// RESPONSES
2651
+
2652
+ for (i = 0; i < response_count; i++) {
2653
+ test_message(&responses[i]);
2654
+ }
2655
+
2656
+ for (i = 0; i < response_count; i++) {
2657
+ test_message_pause(&responses[i]);
2658
+ }
2659
+
2660
+ for (i = 0; i < response_count; i++) {
2661
+ if (!responses[i].should_keep_alive) continue;
2662
+ for (j = 0; j < response_count; j++) {
2663
+ if (!responses[j].should_keep_alive) continue;
2664
+ for (k = 0; k < response_count; k++) {
2665
+ test_multiple3(&responses[i], &responses[j], &responses[k]);
2666
+ }
2667
+ }
2668
+ }
2669
+
2670
+ test_message_count_body(&responses[NO_HEADERS_NO_BODY_404]);
2671
+ test_message_count_body(&responses[TRAILING_SPACE_ON_CHUNKED_BODY]);
2672
+
2673
+ // test very large chunked response
2674
+ {
2675
+ char * msg = create_large_chunked_message(31337,
2676
+ "HTTP/1.0 200 OK\r\n"
2677
+ "Transfer-Encoding: chunked\r\n"
2678
+ "Content-Type: text/plain\r\n"
2679
+ "\r\n");
2680
+ struct message large_chunked =
2681
+ {.name= "large chunked"
2682
+ ,.type= HTTP_RESPONSE
2683
+ ,.raw= msg
2684
+ ,.should_keep_alive= FALSE
2685
+ ,.message_complete_on_eof= FALSE
2686
+ ,.http_major= 1
2687
+ ,.http_minor= 0
2688
+ ,.status_code= 200
2689
+ ,.num_headers= 2
2690
+ ,.headers=
2691
+ { { "Transfer-Encoding", "chunked" }
2692
+ , { "Content-Type", "text/plain" }
2693
+ }
2694
+ ,.body_size= 31337*1024
2695
+ };
2696
+ test_message_count_body(&large_chunked);
2697
+ free(msg);
2698
+ }
2699
+
2700
+
2701
+
2702
+ printf("response scan 1/2 ");
2703
+ test_scan( &responses[TRAILING_SPACE_ON_CHUNKED_BODY]
2704
+ , &responses[NO_BODY_HTTP10_KA_204]
2705
+ , &responses[NO_REASON_PHRASE]
2706
+ );
2707
+
2708
+ printf("response scan 2/2 ");
2709
+ test_scan( &responses[BONJOUR_MADAME_FR]
2710
+ , &responses[UNDERSTORE_HEADER_KEY]
2711
+ , &responses[NO_CARRIAGE_RET]
2712
+ );
2713
+
2714
+ puts("responses okay");
2715
+
2716
+
2717
+ /// REQUESTS
2718
+
2719
+ test_simple("hello world", HPE_INVALID_METHOD);
2720
+ test_simple("GET / HTP/1.1\r\n\r\n", HPE_INVALID_VERSION);
2721
+
2722
+
2723
+ test_simple("ASDF / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
2724
+ test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
2725
+ test_simple("GETA / HTTP/1.1\r\n\r\n", HPE_INVALID_METHOD);
2726
+
2727
+ // Well-formed but incomplete
2728
+ test_simple("GET / HTTP/1.1\r\n"
2729
+ "Content-Type: text/plain\r\n"
2730
+ "Content-Length: 6\r\n"
2731
+ "\r\n"
2732
+ "fooba",
2733
+ HPE_OK);
2734
+
2735
+ static const char *all_methods[] = {
2736
+ "DELETE",
2737
+ "GET",
2738
+ "HEAD",
2739
+ "POST",
2740
+ "PUT",
2741
+ //"CONNECT", //CONNECT can't be tested like other methods, it's a tunnel
2742
+ "OPTIONS",
2743
+ "TRACE",
2744
+ "COPY",
2745
+ "LOCK",
2746
+ "MKCOL",
2747
+ "MOVE",
2748
+ "PROPFIND",
2749
+ "PROPPATCH",
2750
+ "UNLOCK",
2751
+ "REPORT",
2752
+ "MKACTIVITY",
2753
+ "CHECKOUT",
2754
+ "MERGE",
2755
+ "M-SEARCH",
2756
+ "NOTIFY",
2757
+ "SUBSCRIBE",
2758
+ "UNSUBSCRIBE",
2759
+ "PATCH",
2760
+ 0 };
2761
+ const char **this_method;
2762
+ for (this_method = all_methods; *this_method; this_method++) {
2763
+ char buf[200];
2764
+ sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method);
2765
+ test_simple(buf, HPE_OK);
2766
+ }
2767
+
2768
+ static const char *bad_methods[] = {
2769
+ "C******",
2770
+ "M****",
2771
+ 0 };
2772
+ for (this_method = bad_methods; *this_method; this_method++) {
2773
+ char buf[200];
2774
+ sprintf(buf, "%s / HTTP/1.1\r\n\r\n", *this_method);
2775
+ test_simple(buf, HPE_UNKNOWN);
2776
+ }
2777
+
2778
+ const char *dumbfuck2 =
2779
+ "GET / HTTP/1.1\r\n"
2780
+ "X-SSL-Bullshit: -----BEGIN CERTIFICATE-----\r\n"
2781
+ "\tMIIFbTCCBFWgAwIBAgICH4cwDQYJKoZIhvcNAQEFBQAwcDELMAkGA1UEBhMCVUsx\r\n"
2782
+ "\tETAPBgNVBAoTCGVTY2llbmNlMRIwEAYDVQQLEwlBdXRob3JpdHkxCzAJBgNVBAMT\r\n"
2783
+ "\tAkNBMS0wKwYJKoZIhvcNAQkBFh5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMu\r\n"
2784
+ "\tdWswHhcNMDYwNzI3MTQxMzI4WhcNMDcwNzI3MTQxMzI4WjBbMQswCQYDVQQGEwJV\r\n"
2785
+ "\tSzERMA8GA1UEChMIZVNjaWVuY2UxEzARBgNVBAsTCk1hbmNoZXN0ZXIxCzAJBgNV\r\n"
2786
+ "\tBAcTmrsogriqMWLAk1DMRcwFQYDVQQDEw5taWNoYWVsIHBhcmQYJKoZIhvcNAQEB\r\n"
2787
+ "\tBQADggEPADCCAQoCggEBANPEQBgl1IaKdSS1TbhF3hEXSl72G9J+WC/1R64fAcEF\r\n"
2788
+ "\tW51rEyFYiIeZGx/BVzwXbeBoNUK41OK65sxGuflMo5gLflbwJtHBRIEKAfVVp3YR\r\n"
2789
+ "\tgW7cMA/s/XKgL1GEC7rQw8lIZT8RApukCGqOVHSi/F1SiFlPDxuDfmdiNzL31+sL\r\n"
2790
+ "\t0iwHDdNkGjy5pyBSB8Y79dsSJtCW/iaLB0/n8Sj7HgvvZJ7x0fr+RQjYOUUfrePP\r\n"
2791
+ "\tu2MSpFyf+9BbC/aXgaZuiCvSR+8Snv3xApQY+fULK/xY8h8Ua51iXoQ5jrgu2SqR\r\n"
2792
+ "\twgA7BUi3G8LFzMBl8FRCDYGUDy7M6QaHXx1ZWIPWNKsCAwEAAaOCAiQwggIgMAwG\r\n"
2793
+ "\tA1UdEwEB/wQCMAAwEQYJYIZIAYb4QgHTTPAQDAgWgMA4GA1UdDwEB/wQEAwID6DAs\r\n"
2794
+ "\tBglghkgBhvhCAQ0EHxYdVUsgZS1TY2llbmNlIFVzZXIgQ2VydGlmaWNhdGUwHQYD\r\n"
2795
+ "\tVR0OBBYEFDTt/sf9PeMaZDHkUIldrDYMNTBZMIGaBgNVHSMEgZIwgY+AFAI4qxGj\r\n"
2796
+ "\tloCLDdMVKwiljjDastqooXSkcjBwMQswCQYDVQQGEwJVSzERMA8GA1UEChMIZVNj\r\n"
2797
+ "\taWVuY2UxEjAQBgNVBAsTCUF1dGhvcml0eTELMAkGA1UEAxMCQ0ExLTArBgkqhkiG\r\n"
2798
+ "\t9w0BCQEWHmNhLW9wZXJhdG9yQGdyaWQtc3VwcG9ydC5hYy51a4IBADApBgNVHRIE\r\n"
2799
+ "\tIjAggR5jYS1vcGVyYXRvckBncmlkLXN1cHBvcnQuYWMudWswGQYDVR0gBBIwEDAO\r\n"
2800
+ "\tBgwrBgEEAdkvAQEBAQYwPQYJYIZIAYb4QgEEBDAWLmh0dHA6Ly9jYS5ncmlkLXN1\r\n"
2801
+ "\tcHBvcnQuYWMudmT4sopwqlBWsvcHViL2NybC9jYWNybC5jcmwwPQYJYIZIAYb4QgEDBDAWLmh0\r\n"
2802
+ "\tdHA6Ly9jYS5ncmlkLXN1cHBvcnQuYWMudWsvcHViL2NybC9jYWNybC5jcmwwPwYD\r\n"
2803
+ "\tVR0fBDgwNjA0oDKgMIYuaHR0cDovL2NhLmdyaWQt5hYy51ay9wdWIv\r\n"
2804
+ "\tY3JsL2NhY3JsLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAS/U4iiooBENGW/Hwmmd3\r\n"
2805
+ "\tXCy6Zrt08YjKCzGNjorT98g8uGsqYjSxv/hmi0qlnlHs+k/3Iobc3LjS5AMYr5L8\r\n"
2806
+ "\tUO7OSkgFFlLHQyC9JzPfmLCAugvzEbyv4Olnsr8hbxF1MbKZoQxUZtMVu29wjfXk\r\n"
2807
+ "\thTeApBv7eaKCWpSp7MCbvgzm74izKhu3vlDk9w6qVrxePfGgpKPqfHiOoGhFnbTK\r\n"
2808
+ "\twTC6o2xq5y0qZ03JonF7OJspEd3I5zKY3E+ov7/ZhW6DqT8UFvsAdjvQbXyhV8Eu\r\n"
2809
+ "\tYhixw1aKEPzNjNowuIseVogKOLXxWI5vAi5HgXdS0/ES5gDGsABo4fqovUKlgop3\r\n"
2810
+ "\tRA==\r\n"
2811
+ "\t-----END CERTIFICATE-----\r\n"
2812
+ "\r\n";
2813
+ test_simple(dumbfuck2, HPE_OK);
2814
+
2815
+ #if 0
2816
+ // NOTE(Wed Nov 18 11:57:27 CET 2009) this seems okay. we just read body
2817
+ // until EOF.
2818
+ //
2819
+ // no content-length
2820
+ // error if there is a body without content length
2821
+ const char *bad_get_no_headers_no_body = "GET /bad_get_no_headers_no_body/world HTTP/1.1\r\n"
2822
+ "Accept: */*\r\n"
2823
+ "\r\n"
2824
+ "HELLO";
2825
+ test_simple(bad_get_no_headers_no_body, 0);
2826
+ #endif
2827
+ /* TODO sending junk and large headers gets rejected */
2828
+
2829
+
2830
+ /* check to make sure our predefined requests are okay */
2831
+ for (i = 0; requests[i].name; i++) {
2832
+ test_message(&requests[i]);
2833
+ }
2834
+
2835
+ for (i = 0; i < request_count; i++) {
2836
+ test_message_pause(&requests[i]);
2837
+ }
2838
+
2839
+ for (i = 0; i < request_count; i++) {
2840
+ if (!requests[i].should_keep_alive) continue;
2841
+ for (j = 0; j < request_count; j++) {
2842
+ if (!requests[j].should_keep_alive) continue;
2843
+ for (k = 0; k < request_count; k++) {
2844
+ test_multiple3(&requests[i], &requests[j], &requests[k]);
2845
+ }
2846
+ }
2847
+ }
2848
+
2849
+ printf("request scan 1/4 ");
2850
+ test_scan( &requests[GET_NO_HEADERS_NO_BODY]
2851
+ , &requests[GET_ONE_HEADER_NO_BODY]
2852
+ , &requests[GET_NO_HEADERS_NO_BODY]
2853
+ );
2854
+
2855
+ printf("request scan 2/4 ");
2856
+ test_scan( &requests[POST_CHUNKED_ALL_YOUR_BASE]
2857
+ , &requests[POST_IDENTITY_BODY_WORLD]
2858
+ , &requests[GET_FUNKY_CONTENT_LENGTH]
2859
+ );
2860
+
2861
+ printf("request scan 3/4 ");
2862
+ test_scan( &requests[TWO_CHUNKS_MULT_ZERO_END]
2863
+ , &requests[CHUNKED_W_TRAILING_HEADERS]
2864
+ , &requests[CHUNKED_W_BULLSHIT_AFTER_LENGTH]
2865
+ );
2866
+
2867
+ printf("request scan 4/4 ");
2868
+ test_scan( &requests[QUERY_URL_WITH_QUESTION_MARK_GET]
2869
+ , &requests[PREFIX_NEWLINE_GET ]
2870
+ , &requests[CONNECT_REQUEST]
2871
+ );
2872
+
2873
+ puts("requests okay");
2874
+
2875
+ return 0;
2876
+ }