zayef 0.1.1 → 0.2.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 (1308) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +6 -0
  3. data/.rspec_status +71 -0
  4. data/.rubocop.yml +40 -0
  5. data/.simplecov +19 -0
  6. data/CHANGELOG.md +32 -0
  7. data/CONTRIBUTING.md +281 -0
  8. data/README.md +327 -116
  9. data/REFACTORING.md +220 -0
  10. data/Rakefile +45 -2
  11. data/cliff.toml +2 -0
  12. data/data/moroccan_business.json +97 -0
  13. data/data/moroccan_culture.json +127 -0
  14. data/data/moroccan_geography.json +99 -0
  15. data/data/moroccan_names.json +65 -0
  16. data/demo.rb +161 -7
  17. data/examples/refactored_usage.rb +85 -0
  18. data/lib/zayef/data_loader.rb +245 -0
  19. data/lib/zayef/generator.rb +454 -276
  20. data/lib/zayef/version.rb +1 -1
  21. data/lib/zayef.rb +40 -0
  22. data/test_user_code.rb +41 -0
  23. data/user_example.rb +34 -0
  24. data/vendor/bundle/ruby/3.0.0/bin/htmldiff +31 -0
  25. data/vendor/bundle/ruby/3.0.0/bin/ldiff +31 -0
  26. data/vendor/bundle/ruby/3.0.0/bin/rspec +29 -0
  27. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/json-2.13.2/gem_make.out +8 -0
  28. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/prism-1.5.1/gem_make.out +8 -0
  29. data/vendor/bundle/ruby/3.0.0/extensions/x86_64-linux/3.0.0/racc-1.8.1/gem_make.out +8 -0
  30. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/LICENSE.MIT +20 -0
  31. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/README.YARD.md +12 -0
  32. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/node.rb +268 -0
  33. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor/mixin.rb +288 -0
  34. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/processor.rb +12 -0
  35. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast/sexp.rb +30 -0
  36. data/vendor/bundle/ruby/3.0.0/gems/ast-2.4.3/lib/ast.rb +17 -0
  37. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/.rspec +1 -0
  38. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CHANGELOG.md +518 -0
  39. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CODE_OF_CONDUCT.md +128 -0
  40. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTING.md +71 -0
  41. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/CONTRIBUTORS.md +49 -0
  42. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/LICENCE.md +40 -0
  43. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Manifest.txt +115 -0
  44. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/README.md +92 -0
  45. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/Rakefile +115 -0
  46. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/SECURITY.md +41 -0
  47. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/htmldiff +35 -0
  48. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/bin/ldiff +9 -0
  49. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/COPYING.txt +339 -0
  50. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/docs/artistic.txt +127 -0
  51. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/array.rb +7 -0
  52. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/backports.rb +13 -0
  53. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/block.rb +37 -0
  54. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/callbacks.rb +327 -0
  55. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/change.rb +174 -0
  56. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/htmldiff.rb +160 -0
  57. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/hunk.rb +379 -0
  58. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/internals.rb +308 -0
  59. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/ldiff.rb +189 -0
  60. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/string.rb +5 -0
  61. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs/version.rb +7 -0
  62. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff/lcs.rb +742 -0
  63. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/lib/diff-lcs.rb +3 -0
  64. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/mise.toml +5 -0
  65. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/change_spec.rb +89 -0
  66. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/diff_spec.rb +51 -0
  67. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/123_x +2 -0
  68. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/456_x +2 -0
  69. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/aX +1 -0
  70. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/bXaX +1 -0
  71. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds1.csv +50 -0
  72. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ds2.csv +51 -0
  73. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/empty +0 -0
  74. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file1.bin +0 -0
  75. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/file2.bin +0 -0
  76. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines +4 -0
  77. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/four_lines_with_missing_new_line +4 -0
  78. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-e +1 -0
  79. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line1-f +1 -0
  80. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-e +1 -0
  81. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/diff.missing_new_line2-f +1 -0
  82. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-e +2 -0
  83. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.chef-f +2 -0
  84. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-e +1 -0
  85. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line1-f +1 -0
  86. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-e +1 -0
  87. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/error.diff.missing_new_line2-f +1 -0
  88. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff +4 -0
  89. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-c +7 -0
  90. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-e +3 -0
  91. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-f +3 -0
  92. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff-u +5 -0
  93. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1 +0 -0
  94. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-c +0 -0
  95. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-e +0 -0
  96. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-f +0 -0
  97. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin1-u +0 -0
  98. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2 +1 -0
  99. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-c +1 -0
  100. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-e +1 -0
  101. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-f +1 -0
  102. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.bin2-u +1 -0
  103. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef +4 -0
  104. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-c +15 -0
  105. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-e +3 -0
  106. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-f +3 -0
  107. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef-u +9 -0
  108. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2 +7 -0
  109. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-c +20 -0
  110. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-d +7 -0
  111. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-e +7 -0
  112. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-f +7 -0
  113. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.chef2-u +16 -0
  114. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines +5 -0
  115. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-c +9 -0
  116. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-e +6 -0
  117. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-f +6 -0
  118. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.empty.vs.four_lines-u +7 -0
  119. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty +5 -0
  120. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-c +9 -0
  121. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-e +1 -0
  122. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-f +1 -0
  123. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.four_lines.vs.empty-u +7 -0
  124. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context +4 -0
  125. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-c +9 -0
  126. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-e +3 -0
  127. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-f +3 -0
  128. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.issue95_trailing_context-u +6 -0
  129. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1 +5 -0
  130. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-c +14 -0
  131. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-e +0 -0
  132. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-f +0 -0
  133. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line1-u +9 -0
  134. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2 +5 -0
  135. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-c +14 -0
  136. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-e +0 -0
  137. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-f +0 -0
  138. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/ldiff/output.diff.missing_new_line2-u +9 -0
  139. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef +4 -0
  140. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/new-chef2 +17 -0
  141. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef +4 -0
  142. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/fixtures/old-chef2 +14 -0
  143. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/hunk_spec.rb +83 -0
  144. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/issues_spec.rb +160 -0
  145. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/lcs_spec.rb +56 -0
  146. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/ldiff_spec.rb +100 -0
  147. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/patch_spec.rb +416 -0
  148. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/sdiff_spec.rb +216 -0
  149. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/spec_helper.rb +376 -0
  150. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_balanced_spec.rb +312 -0
  151. data/vendor/bundle/ruby/3.0.0/gems/diff-lcs-1.6.2/spec/traverse_sequences_spec.rb +137 -0
  152. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/dependabot.yml +15 -0
  153. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.github/workflows/main.yml +42 -0
  154. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.gitignore +11 -0
  155. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rspec +2 -0
  156. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.rubocop.yml +5 -0
  157. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/.yardopts +7 -0
  158. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Gemfile +26 -0
  159. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/HISTORY.md +134 -0
  160. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/LICENSE +21 -0
  161. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/README.md +409 -0
  162. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/Rakefile +14 -0
  163. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/SECURITY.md +19 -0
  164. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/docile.gemspec +36 -0
  165. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/backtrace_filter.rb +24 -0
  166. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/chaining_fallback_context_proxy.rb +27 -0
  167. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/execution.rb +53 -0
  168. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/fallback_context_proxy.rb +107 -0
  169. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile/version.rb +6 -0
  170. data/vendor/bundle/ruby/3.0.0/gems/docile-1.4.1/lib/docile.rb +134 -0
  171. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/BSDL +22 -0
  172. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/CHANGES.md +660 -0
  173. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/COPYING +56 -0
  174. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/LEGAL +8 -0
  175. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/README.md +281 -0
  176. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/fbuffer/fbuffer.h +270 -0
  177. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/extconf.rb +16 -0
  178. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/generator/generator.c +2162 -0
  179. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/extconf.rb +15 -0
  180. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/parser/parser.c +1552 -0
  181. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/conf.rb +24 -0
  182. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/simd/simd.h +188 -0
  183. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/fpconv.c +479 -0
  184. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/ext/json/ext/vendor/jeaiii-ltoa.h +267 -0
  185. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/json.gemspec +62 -0
  186. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/bigdecimal.rb +58 -0
  187. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/complex.rb +51 -0
  188. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/core.rb +12 -0
  189. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date.rb +54 -0
  190. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/date_time.rb +67 -0
  191. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/exception.rb +49 -0
  192. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/ostruct.rb +54 -0
  193. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/range.rb +54 -0
  194. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/rational.rb +49 -0
  195. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/regexp.rb +48 -0
  196. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/set.rb +48 -0
  197. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/struct.rb +52 -0
  198. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/symbol.rb +52 -0
  199. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/add/time.rb +52 -0
  200. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/common.rb +1105 -0
  201. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext/generator/state.rb +106 -0
  202. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/ext.rb +45 -0
  203. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/generic_object.rb +75 -0
  204. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/truffle_ruby/generator.rb +690 -0
  205. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json/version.rb +5 -0
  206. data/vendor/bundle/ruby/3.0.0/gems/json-2.13.2/lib/json.rb +620 -0
  207. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/LICENSE.txt +21 -0
  208. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/README.md +88 -0
  209. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_kind.rb +85 -0
  210. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/code_action_trigger_kind.rb +22 -0
  211. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_kind.rb +36 -0
  212. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_item_tag.rb +16 -0
  213. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/completion_trigger_kind.rb +26 -0
  214. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_severity.rb +24 -0
  215. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/diagnostic_tag.rb +24 -0
  216. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_diagnostic_report_kind.rb +21 -0
  217. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/document_highlight_kind.rb +23 -0
  218. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/error_codes.rb +73 -0
  219. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/failure_handling_kind.rb +30 -0
  220. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_change_type.rb +23 -0
  221. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/file_operation_pattern_kind.rb +20 -0
  222. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/folding_range_kind.rb +24 -0
  223. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/initialize_error_codes.rb +16 -0
  224. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/inlay_hint_kind.rb +19 -0
  225. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_format.rb +25 -0
  226. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/insert_text_mode.rb +30 -0
  227. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/markup_kind.rb +23 -0
  228. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/message_type.rb +24 -0
  229. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/moniker_kind.rb +24 -0
  230. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/notebook_cell_kind.rb +19 -0
  231. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/position_encoding_kind.rb +32 -0
  232. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/prepare_support_default_behavior.rb +13 -0
  233. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/resource_operation_kind.rb +23 -0
  234. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_modifiers.rb +18 -0
  235. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/semantic_token_types.rb +35 -0
  236. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/signature_help_trigger_kind.rb +24 -0
  237. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_kind.rb +37 -0
  238. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/symbol_tag.rb +15 -0
  239. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_save_reason.rb +24 -0
  240. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/text_document_sync_kind.rb +27 -0
  241. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/token_format.rb +9 -0
  242. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/uniqueness_level.rb +31 -0
  243. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant/watch_kind.rb +20 -0
  244. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/constant.rb +77 -0
  245. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/annotated_text_edit.rb +56 -0
  246. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_params.rb +44 -0
  247. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/apply_workspace_edit_result.rb +56 -0
  248. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_client_capabilities.rb +36 -0
  249. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_call.rb +43 -0
  250. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_incoming_calls_params.rb +49 -0
  251. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_item.rb +100 -0
  252. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_options.rb +30 -0
  253. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_call.rb +43 -0
  254. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_outgoing_calls_params.rb +49 -0
  255. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_prepare_params.rb +51 -0
  256. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/call_hierarchy_registration_options.rb +50 -0
  257. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/cancel_params.rb +33 -0
  258. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/change_annotation.rb +57 -0
  259. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/client_capabilities.rb +78 -0
  260. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action.rb +127 -0
  261. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_client_capabilities.rb +95 -0
  262. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_context.rb +63 -0
  263. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_options.rb +52 -0
  264. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_params.rb +73 -0
  265. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_action_registration_options.rb +62 -0
  266. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_description.rb +36 -0
  267. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens.rb +61 -0
  268. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_client_capabilities.rb +33 -0
  269. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_options.rb +39 -0
  270. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_params.rb +52 -0
  271. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_registration_options.rb +49 -0
  272. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/code_lens_workspace_client_capabilities.rb +39 -0
  273. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color.rb +63 -0
  274. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_information.rb +42 -0
  275. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation.rb +57 -0
  276. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/color_presentation_params.rb +70 -0
  277. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/command.rb +52 -0
  278. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_client_capabilities.rb +79 -0
  279. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_context.rb +48 -0
  280. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item.rb +267 -0
  281. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_item_label_details.rb +49 -0
  282. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_list.rb +69 -0
  283. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_options.rb +87 -0
  284. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_params.rb +72 -0
  285. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/completion_registration_options.rb +94 -0
  286. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_item.rb +42 -0
  287. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/configuration_params.rb +30 -0
  288. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file.rb +63 -0
  289. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_file_options.rb +45 -0
  290. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/create_files_params.rb +37 -0
  291. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_client_capabilities.rb +44 -0
  292. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_options.rb +30 -0
  293. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_params.rb +61 -0
  294. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/declaration_registration_options.rb +50 -0
  295. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_client_capabilities.rb +42 -0
  296. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_options.rb +30 -0
  297. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_params.rb +61 -0
  298. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/definition_registration_options.rb +40 -0
  299. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file.rb +63 -0
  300. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_file_options.rb +45 -0
  301. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/delete_files_params.rb +37 -0
  302. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic.rb +110 -0
  303. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_client_capabilities.rb +49 -0
  304. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_options.rb +64 -0
  305. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_registration_options.rb +84 -0
  306. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_related_information.rb +47 -0
  307. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_server_cancellation_data.rb +33 -0
  308. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/diagnostic_workspace_client_capabilities.rb +42 -0
  309. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_client_capabilities.rb +33 -0
  310. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_configuration_params.rb +33 -0
  311. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_notebook_document_params.rb +56 -0
  312. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_text_document_params.rb +56 -0
  313. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_client_capabilities.rb +45 -0
  314. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_params.rb +33 -0
  315. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_watched_files_registration_options.rb +36 -0
  316. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_change_workspace_folders_params.rb +33 -0
  317. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_notebook_document_params.rb +46 -0
  318. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_close_text_document_params.rb +33 -0
  319. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_notebook_document_params.rb +46 -0
  320. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_open_text_document_params.rb +33 -0
  321. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_notebook_document_params.rb +36 -0
  322. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/did_save_text_document_params.rb +43 -0
  323. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_client_capabilities.rb +33 -0
  324. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_options.rb +30 -0
  325. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_params.rb +52 -0
  326. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_color_registration_options.rb +50 -0
  327. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_params.rb +73 -0
  328. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_diagnostic_report_partial_result.rb +33 -0
  329. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_filter.rb +63 -0
  330. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_client_capabilities.rb +33 -0
  331. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_options.rb +30 -0
  332. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_params.rb +51 -0
  333. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_formatting_registration_options.rb +40 -0
  334. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight.rb +47 -0
  335. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_client_capabilities.rb +33 -0
  336. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_options.rb +30 -0
  337. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_params.rb +61 -0
  338. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_highlight_registration_options.rb +40 -0
  339. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link.rb +70 -0
  340. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_client_capabilities.rb +42 -0
  341. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_options.rb +39 -0
  342. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_params.rb +52 -0
  343. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_link_registration_options.rb +49 -0
  344. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_client_capabilities.rb +33 -0
  345. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_options.rb +42 -0
  346. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_params.rb +65 -0
  347. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_on_type_formatting_registration_options.rb +52 -0
  348. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_client_capabilities.rb +33 -0
  349. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_options.rb +30 -0
  350. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_params.rb +60 -0
  351. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_range_formatting_registration_options.rb +40 -0
  352. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol.rb +108 -0
  353. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_client_capabilities.rb +73 -0
  354. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_options.rb +40 -0
  355. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_params.rb +52 -0
  356. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/document_symbol_registration_options.rb +50 -0
  357. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_client_capabilities.rb +33 -0
  358. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_options.rb +39 -0
  359. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_params.rb +51 -0
  360. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execute_command_registration_options.rb +42 -0
  361. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/execution_summary.rb +45 -0
  362. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_create.rb +36 -0
  363. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_delete.rb +36 -0
  364. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_event.rb +45 -0
  365. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_filter.rb +46 -0
  366. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern.rb +67 -0
  367. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_pattern_options.rb +36 -0
  368. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_operation_registration_options.rb +36 -0
  369. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_rename.rb +45 -0
  370. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/file_system_watcher.rb +45 -0
  371. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range.rb +94 -0
  372. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_client_capabilities.rb +76 -0
  373. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_options.rb +30 -0
  374. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_params.rb +52 -0
  375. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/folding_range_registration_options.rb +50 -0
  376. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/formatting_options.rb +72 -0
  377. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/full_document_diagnostic_report.rb +56 -0
  378. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover.rb +46 -0
  379. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_client_capabilities.rb +44 -0
  380. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_options.rb +30 -0
  381. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_params.rb +51 -0
  382. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_registration_options.rb +40 -0
  383. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/hover_result.rb +30 -0
  384. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_client_capabilities.rb +44 -0
  385. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_options.rb +30 -0
  386. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_params.rb +61 -0
  387. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/implementation_registration_options.rb +50 -0
  388. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_error.rb +36 -0
  389. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_params.rb +128 -0
  390. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialize_result.rb +42 -0
  391. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/initialized_params.rb +24 -0
  392. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint.rb +122 -0
  393. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_client_capabilities.rb +46 -0
  394. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_label_part.rb +79 -0
  395. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_options.rb +43 -0
  396. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_params.rb +54 -0
  397. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_registration_options.rb +63 -0
  398. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inlay_hint_workspace_client_capabilities.rb +42 -0
  399. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_client_capabilities.rb +37 -0
  400. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_context.rb +44 -0
  401. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_evaluatable_expression.rb +52 -0
  402. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_options.rb +33 -0
  403. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_params.rb +64 -0
  404. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_registration_options.rb +53 -0
  405. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_text.rb +45 -0
  406. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_variable_lookup.rb +61 -0
  407. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/inline_value_workspace_client_capabilities.rb +42 -0
  408. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/insert_replace_edit.rb +54 -0
  409. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_client_capabilities.rb +36 -0
  410. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_options.rb +30 -0
  411. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_params.rb +51 -0
  412. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_range_registration_options.rb +50 -0
  413. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/linked_editing_ranges.rb +46 -0
  414. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location.rb +36 -0
  415. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/location_link.rb +68 -0
  416. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_message_params.rb +42 -0
  417. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/log_trace_params.rb +43 -0
  418. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/markup_content.rb +68 -0
  419. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message.rb +30 -0
  420. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/message_action_item.rb +33 -0
  421. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker.rb +64 -0
  422. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_client_capabilities.rb +36 -0
  423. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_options.rb +30 -0
  424. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_params.rb +61 -0
  425. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/moniker_registration_options.rb +40 -0
  426. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell.rb +69 -0
  427. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_array_change.rb +55 -0
  428. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_cell_text_document_filter.rb +52 -0
  429. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document.rb +74 -0
  430. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_change_event.rb +45 -0
  431. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_client_capabilities.rb +36 -0
  432. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_filter.rb +79 -0
  433. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_identifier.rb +36 -0
  434. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_client_capabilities.rb +48 -0
  435. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_options.rb +56 -0
  436. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notebook_document_sync_registration_options.rb +56 -0
  437. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/notification_message.rb +48 -0
  438. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/optional_versioned_text_document_identifier.rb +50 -0
  439. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/parameter_information.rb +56 -0
  440. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/partial_result_params.rb +34 -0
  441. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/position.rb +46 -0
  442. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/prepare_rename_params.rb +51 -0
  443. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/previous_result_id.rb +46 -0
  444. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/progress_params.rb +42 -0
  445. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_client_capabilities.rb +73 -0
  446. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/publish_diagnostics_params.rb +52 -0
  447. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/range.rb +42 -0
  448. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_client_capabilities.rb +33 -0
  449. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_context.rb +33 -0
  450. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_options.rb +30 -0
  451. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_params.rb +67 -0
  452. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/reference_registration_options.rb +40 -0
  453. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration.rb +55 -0
  454. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/registration_params.rb +30 -0
  455. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/regular_expressions_client_capabilities.rb +45 -0
  456. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_full_document_diagnostic_report.rb +69 -0
  457. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/related_unchanged_document_diagnostic_report.rb +62 -0
  458. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/relative_pattern.rb +48 -0
  459. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_client_capabilities.rb +69 -0
  460. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file.rb +72 -0
  461. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_file_options.rb +45 -0
  462. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_files_params.rb +38 -0
  463. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_options.rb +39 -0
  464. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_params.rb +62 -0
  465. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/rename_registration_options.rb +49 -0
  466. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/request_message.rb +57 -0
  467. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_error.rb +52 -0
  468. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/response_message.rb +58 -0
  469. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/save_options.rb +33 -0
  470. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range.rb +43 -0
  471. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_client_capabilities.rb +36 -0
  472. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_options.rb +30 -0
  473. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_params.rb +61 -0
  474. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/selection_range_registration_options.rb +50 -0
  475. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens.rb +45 -0
  476. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_client_capabilities.rb +125 -0
  477. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta.rb +40 -0
  478. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_params.rb +62 -0
  479. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_delta_partial_result.rb +30 -0
  480. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_edit.rb +51 -0
  481. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_legend.rb +42 -0
  482. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_options.rb +58 -0
  483. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_params.rb +52 -0
  484. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_partial_result.rb +30 -0
  485. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_range_params.rb +61 -0
  486. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_registration_options.rb +78 -0
  487. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/semantic_tokens_workspace_client_capabilities.rb +39 -0
  488. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/server_capabilities.rb +352 -0
  489. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/set_trace_params.rb +33 -0
  490. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_client_capabilities.rb +37 -0
  491. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_params.rb +71 -0
  492. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_document_result.rb +36 -0
  493. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_params.rb +42 -0
  494. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_client_capabilities.rb +36 -0
  495. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/show_message_request_params.rb +51 -0
  496. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help.rb +71 -0
  497. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_client_capabilities.rb +55 -0
  498. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_context.rb +74 -0
  499. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_options.rb +53 -0
  500. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_params.rb +62 -0
  501. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_help_registration_options.rb +63 -0
  502. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/signature_information.rb +69 -0
  503. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/static_registration_options.rb +37 -0
  504. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/symbol_information.rb +93 -0
  505. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_change_registration_options.rb +47 -0
  506. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_client_capabilities.rb +297 -0
  507. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_content_change_event.rb +59 -0
  508. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_edit.rb +42 -0
  509. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_identifier.rb +33 -0
  510. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_item.rb +61 -0
  511. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_position_params.rb +42 -0
  512. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_registration_options.rb +37 -0
  513. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_save_registration_options.rb +43 -0
  514. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_client_capabilities.rb +62 -0
  515. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_document_sync_options.rb +78 -0
  516. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/text_edit.rb +44 -0
  517. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_client_capabilities.rb +44 -0
  518. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_options.rb +30 -0
  519. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_params.rb +61 -0
  520. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_definition_registration_options.rb +50 -0
  521. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_item.rb +102 -0
  522. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_options.rb +30 -0
  523. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_prepare_params.rb +51 -0
  524. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_registration_options.rb +50 -0
  525. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_subtypes_params.rb +49 -0
  526. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/type_hierarchy_supertypes_params.rb +49 -0
  527. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unchanged_document_diagnostic_report.rb +50 -0
  528. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration.rb +46 -0
  529. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/unregistration_params.rb +30 -0
  530. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_notebook_document_identifier.rb +45 -0
  531. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/versioned_text_document_identifier.rb +45 -0
  532. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/will_save_text_document_params.rb +45 -0
  533. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_begin.rb +80 -0
  534. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_cancel_params.rb +33 -0
  535. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_create_params.rb +33 -0
  536. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_end.rb +40 -0
  537. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_options.rb +30 -0
  538. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_params.rb +33 -0
  539. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/work_done_progress_report.rb +70 -0
  540. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_params.rb +65 -0
  541. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report.rb +33 -0
  542. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_diagnostic_report_partial_result.rb +33 -0
  543. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit.rb +68 -0
  544. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_edit_client_capabilities.rb +75 -0
  545. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folder.rb +43 -0
  546. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_change_event.rb +45 -0
  547. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_folders_server_capabilities.rb +48 -0
  548. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_full_document_diagnostic_report.rb +75 -0
  549. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol.rb +89 -0
  550. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_client_capabilities.rb +64 -0
  551. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_options.rb +40 -0
  552. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_params.rb +56 -0
  553. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_symbol_registration_options.rb +40 -0
  554. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface/workspace_unchanged_document_diagnostic_report.rb +68 -0
  555. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/interface.rb +631 -0
  556. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/reader.rb +35 -0
  557. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io/writer.rb +39 -0
  558. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/io.rb +2 -0
  559. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/reader.rb +13 -0
  560. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio/writer.rb +13 -0
  561. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport/stdio.rb +2 -0
  562. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/transport.rb +2 -0
  563. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol/version.rb +5 -0
  564. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server/protocol.rb +4 -0
  565. data/vendor/bundle/ruby/3.0.0/gems/language_server-protocol-3.17.0.5/lib/language_server-protocol.rb +1 -0
  566. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/.standard.yml +3 -0
  567. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/CHANGELOG.md +15 -0
  568. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile +9 -0
  569. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Gemfile.lock +58 -0
  570. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/LICENSE.txt +21 -0
  571. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/README.md +173 -0
  572. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/Rakefile +12 -0
  573. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/about.rb +9 -0
  574. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/context.rb +11 -0
  575. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/error.rb +4 -0
  576. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/plugin.rb +22 -0
  577. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/rules.rb +17 -0
  578. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/support/merges_upstream_metadata.rb +23 -0
  579. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller/version.rb +3 -0
  580. data/vendor/bundle/ruby/3.0.0/gems/lint_roller-1.1.0/lib/lint_roller.rb +13 -0
  581. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/MIT-LICENSE.txt +20 -0
  582. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel/version.rb +4 -0
  583. data/vendor/bundle/ruby/3.0.0/gems/parallel-1.27.0/lib/parallel.rb +708 -0
  584. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/BSDmakefile +58 -0
  585. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CHANGELOG.md +713 -0
  586. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CODE_OF_CONDUCT.md +76 -0
  587. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/CONTRIBUTING.md +58 -0
  588. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/LICENSE.md +7 -0
  589. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/Makefile +109 -0
  590. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/README.md +142 -0
  591. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/config.yml +4713 -0
  592. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/build_system.md +119 -0
  593. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/configuration.md +68 -0
  594. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/cruby_compilation.md +27 -0
  595. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/design.md +53 -0
  596. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/encoding.md +121 -0
  597. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/fuzzing.md +88 -0
  598. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/heredocs.md +36 -0
  599. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/javascript.md +118 -0
  600. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/local_variable_depth.md +229 -0
  601. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/mapping.md +117 -0
  602. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parser_translation.md +24 -0
  603. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/parsing_rules.md +22 -0
  604. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/releasing.md +96 -0
  605. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/relocation.md +34 -0
  606. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ripper_translation.md +72 -0
  607. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_api.md +44 -0
  608. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/ruby_parser_translation.md +19 -0
  609. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/serialization.md +233 -0
  610. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/docs/testing.md +55 -0
  611. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_node.c +6941 -0
  612. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/api_pack.c +276 -0
  613. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extconf.rb +127 -0
  614. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.c +1419 -0
  615. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/ext/prism/extension.h +19 -0
  616. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/ast.h +8190 -0
  617. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/defines.h +260 -0
  618. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/diagnostic.h +455 -0
  619. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/encoding.h +283 -0
  620. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/node.h +129 -0
  621. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/options.h +482 -0
  622. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/pack.h +163 -0
  623. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/parser.h +933 -0
  624. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/prettyprint.h +34 -0
  625. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/regexp.h +43 -0
  626. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/static_literals.h +121 -0
  627. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_buffer.h +236 -0
  628. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_char.h +204 -0
  629. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_constant_pool.h +218 -0
  630. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_integer.h +130 -0
  631. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_list.h +103 -0
  632. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_memchr.h +29 -0
  633. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_newline_list.h +113 -0
  634. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_string.h +200 -0
  635. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strncasecmp.h +32 -0
  636. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/util/pm_strpbrk.h +46 -0
  637. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism/version.h +29 -0
  638. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/include/prism.h +408 -0
  639. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/compiler.rb +801 -0
  640. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/desugar_compiler.rb +392 -0
  641. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dispatcher.rb +2210 -0
  642. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dot_visitor.rb +4762 -0
  643. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/dsl.rb +1003 -0
  644. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/ffi.rb +570 -0
  645. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/inspect_visitor.rb +2392 -0
  646. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/lex_compat.rb +928 -0
  647. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/mutation_compiler.rb +772 -0
  648. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node.rb +18816 -0
  649. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/node_ext.rb +511 -0
  650. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pack.rb +230 -0
  651. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/comments.rb +188 -0
  652. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/errors.rb +66 -0
  653. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result/newlines.rb +155 -0
  654. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/parse_result.rb +911 -0
  655. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/pattern.rb +269 -0
  656. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/append_as_bytes.rb +15 -0
  657. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/byteindex.rb +13 -0
  658. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/scan_byte.rb +14 -0
  659. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/unpack1.rb +14 -0
  660. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/polyfill/warn.rb +42 -0
  661. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/reflection.rb +416 -0
  662. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/relocation.rb +505 -0
  663. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/serialize.rb +2397 -0
  664. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/string_query.rb +31 -0
  665. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/builder.rb +62 -0
  666. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/compiler.rb +2234 -0
  667. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser/lexer.rb +820 -0
  668. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser.rb +367 -0
  669. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser33.rb +13 -0
  670. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser34.rb +13 -0
  671. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser35.rb +13 -0
  672. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/parser_current.rb +24 -0
  673. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/sexp.rb +126 -0
  674. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper/shim.rb +5 -0
  675. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ripper.rb +3474 -0
  676. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation/ruby_parser.rb +1929 -0
  677. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/translation.rb +16 -0
  678. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism/visitor.rb +813 -0
  679. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/lib/prism.rb +91 -0
  680. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/prism.gemspec +174 -0
  681. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/compiler.rbi +12 -0
  682. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/dsl.rbi +524 -0
  683. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/inspect_visitor.rbi +12 -0
  684. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node.rbi +8734 -0
  685. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/node_ext.rbi +107 -0
  686. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/parse_result.rbi +404 -0
  687. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/reflection.rbi +58 -0
  688. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/string_query.rbi +12 -0
  689. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser.rbi +11 -0
  690. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser33.rbi +6 -0
  691. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser34.rbi +6 -0
  692. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/parser35.rbi +6 -0
  693. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/translation/ripper.rbi +15 -0
  694. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism/visitor.rbi +473 -0
  695. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/rbi/prism.rbi +66 -0
  696. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/compiler.rbs +9 -0
  697. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dispatcher.rbs +19 -0
  698. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dot_visitor.rbs +6 -0
  699. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/dsl.rbs +351 -0
  700. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/inspect_visitor.rbs +22 -0
  701. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/lex_compat.rbs +10 -0
  702. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/mutation_compiler.rbs +159 -0
  703. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node.rbs +4028 -0
  704. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/node_ext.rbs +149 -0
  705. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pack.rbs +43 -0
  706. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result/comments.rbs +38 -0
  707. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/parse_result.rbs +196 -0
  708. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/pattern.rbs +13 -0
  709. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/reflection.rbs +50 -0
  710. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/relocation.rbs +185 -0
  711. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/serialize.rbs +8 -0
  712. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/string_query.rbs +11 -0
  713. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism/visitor.rbs +169 -0
  714. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/sig/prism.rbs +254 -0
  715. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/diagnostic.c +848 -0
  716. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/encoding.c +5235 -0
  717. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/node.c +8676 -0
  718. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/options.c +328 -0
  719. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/pack.c +509 -0
  720. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prettyprint.c +8941 -0
  721. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/prism.c +23302 -0
  722. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/regexp.c +790 -0
  723. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/serialize.c +2268 -0
  724. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/static_literals.c +617 -0
  725. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/token_type.c +703 -0
  726. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_buffer.c +357 -0
  727. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_char.c +318 -0
  728. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_constant_pool.c +342 -0
  729. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_integer.c +670 -0
  730. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_list.c +49 -0
  731. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_memchr.c +35 -0
  732. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_newline_list.c +125 -0
  733. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_string.c +383 -0
  734. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strncasecmp.c +36 -0
  735. data/vendor/bundle/ruby/3.0.0/gems/prism-1.5.1/src/util/pm_strpbrk.c +206 -0
  736. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/BSDL +22 -0
  737. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/COPYING +56 -0
  738. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ChangeLog +846 -0
  739. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  740. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/README.rdoc +60 -0
  741. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/TODO +5 -0
  742. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/bin/racc +320 -0
  743. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar.en.rdoc +218 -0
  744. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/en/grammar2.en.rdoc +219 -0
  745. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/command.ja.html +99 -0
  746. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/debug.ja.rdoc +36 -0
  747. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/grammar.ja.rdoc +348 -0
  748. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/index.ja.html +10 -0
  749. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/parser.ja.rdoc +125 -0
  750. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/doc/ja/usage.ja.html +414 -0
  751. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/cparse.c +840 -0
  752. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/ext/racc/cparse/extconf.rb +8 -0
  753. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/compat.rb +33 -0
  754. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/debugflags.rb +60 -0
  755. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/exception.rb +16 -0
  756. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammar.rb +1191 -0
  757. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/grammarfileparser.rb +667 -0
  758. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/info.rb +18 -0
  759. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/iset.rb +92 -0
  760. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/logfilegenerator.rb +212 -0
  761. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser-text.rb +644 -0
  762. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parser.rb +630 -0
  763. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/parserfilegenerator.rb +473 -0
  764. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/sourcetext.rb +35 -0
  765. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/state.rb +976 -0
  766. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/statetransitiontable.rb +311 -0
  767. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc/static.rb +5 -0
  768. data/vendor/bundle/ruby/3.0.0/gems/racc-1.8.1/lib/racc.rb +6 -0
  769. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/Changelog.md +101 -0
  770. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/LICENSE +20 -0
  771. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/README.markdown +227 -0
  772. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/color.rb +150 -0
  773. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/ext/string.rb +64 -0
  774. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/global.rb +25 -0
  775. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/null_presenter.rb +100 -0
  776. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/presenter.rb +144 -0
  777. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/refinement.rb +14 -0
  778. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/string_utils.rb +22 -0
  779. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/version.rb +5 -0
  780. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/wrapper.rb +22 -0
  781. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow/x11_color_names.rb +153 -0
  782. data/vendor/bundle/ruby/3.0.0/gems/rainbow-3.1.1/lib/rainbow.rb +13 -0
  783. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Gemfile +17 -0
  784. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/LICENSE +22 -0
  785. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/Rakefile +25 -0
  786. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/error.rb +6 -0
  787. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/base.rb +78 -0
  788. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/alternation.rb +12 -0
  789. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/anchor.rb +26 -0
  790. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/backreference.rb +58 -0
  791. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/intersection.rb +11 -0
  792. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set/range.rb +21 -0
  793. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_set.rb +25 -0
  794. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/character_type.rb +19 -0
  795. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/conditional.rb +52 -0
  796. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/escape_sequence.rb +33 -0
  797. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/free_space.rb +19 -0
  798. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/group.rb +75 -0
  799. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/keep.rb +9 -0
  800. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/literal.rb +5 -0
  801. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/posix_class.rb +13 -0
  802. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/root.rb +11 -0
  803. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/classes/unicode_property.rb +121 -0
  804. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/construct.rb +43 -0
  805. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_char.rb +7 -0
  806. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/escape_sequence_codepoint.rb +76 -0
  807. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/human_name.rb +45 -0
  808. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match.rb +15 -0
  809. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/match_length.rb +178 -0
  810. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/negative.rb +22 -0
  811. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/options.rb +37 -0
  812. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/parts.rb +25 -0
  813. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/printing.rb +28 -0
  814. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/referenced_expressions.rb +30 -0
  815. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/strfregexp.rb +116 -0
  816. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/tests.rb +145 -0
  817. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/methods/traverse.rb +82 -0
  818. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/quantifier.rb +86 -0
  819. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence.rb +33 -0
  820. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/sequence_operation.rb +22 -0
  821. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/shared.rb +114 -0
  822. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression/subexpression.rb +69 -0
  823. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/expression.rb +42 -0
  824. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/lexer.rb +171 -0
  825. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/parser.rb +602 -0
  826. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/char_type.rl +28 -0
  827. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/premature_end_error.rb +10 -0
  828. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/scanner_error.rb +8 -0
  829. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/errors/validation_error.rb +65 -0
  830. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/long.csv +670 -0
  831. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/properties/short.csv +257 -0
  832. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/property.rl +30 -0
  833. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner/scanner.rl +864 -0
  834. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/scanner.rb +2601 -0
  835. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/any.rb +12 -0
  836. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/base.rb +122 -0
  837. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/anchor.rb +17 -0
  838. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/assertion.rb +15 -0
  839. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/backreference.rb +35 -0
  840. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_set.rb +18 -0
  841. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/character_type.rb +18 -0
  842. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/conditional.rb +18 -0
  843. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/escape.rb +35 -0
  844. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/group.rb +25 -0
  845. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/keep.rb +14 -0
  846. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/meta.rb +22 -0
  847. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/posix_class.rb +19 -0
  848. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/quantifier.rb +37 -0
  849. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/unicode_property.rb +766 -0
  850. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token/virtual.rb +13 -0
  851. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/token.rb +47 -0
  852. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/version_lookup.rb +67 -0
  853. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.8.6.rb +16 -0
  854. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.1.rb +13 -0
  855. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/1.9.3.rb +6 -0
  856. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.0.0.rb +12 -0
  857. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.2.0.rb +6 -0
  858. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.3.0.rb +6 -0
  859. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.0.rb +6 -0
  860. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.4.1.rb +5 -0
  861. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.5.0.rb +6 -0
  862. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.0.rb +6 -0
  863. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.2.rb +6 -0
  864. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/2.6.3.rb +6 -0
  865. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.1.0.rb +6 -0
  866. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.2.0.rb +6 -0
  867. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions/3.5.0.rb +4 -0
  868. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax/versions.rb +10 -0
  869. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/syntax.rb +13 -0
  870. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/token.rb +26 -0
  871. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser/version.rb +7 -0
  872. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/lib/regexp_parser.rb +8 -0
  873. data/vendor/bundle/ruby/3.0.0/gems/regexp_parser-2.11.3/regexp_parser.gemspec +36 -0
  874. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/LICENSE.md +27 -0
  875. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/README.md +47 -0
  876. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec/version.rb +5 -0
  877. data/vendor/bundle/ruby/3.0.0/gems/rspec-3.13.1/lib/rspec.rb +3 -0
  878. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.document +5 -0
  879. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/.yardopts +8 -0
  880. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/Changelog.md +2439 -0
  881. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/LICENSE.md +26 -0
  882. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/README.md +389 -0
  883. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/exe/rspec +4 -0
  884. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/autorun.rb +3 -0
  885. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/backtrace_formatter.rb +65 -0
  886. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/coordinator.rb +62 -0
  887. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/example_minimizer.rb +173 -0
  888. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/fork_runner.rb +140 -0
  889. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/server.rb +61 -0
  890. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_command.rb +126 -0
  891. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/shell_runner.rb +73 -0
  892. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/bisect/utilities.rb +69 -0
  893. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration.rb +2419 -0
  894. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/configuration_options.rb +240 -0
  895. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/did_you_mean.rb +52 -0
  896. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/drb.rb +120 -0
  897. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/dsl.rb +98 -0
  898. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example.rb +666 -0
  899. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_group.rb +912 -0
  900. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/example_status_persister.rb +235 -0
  901. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/filter_manager.rb +231 -0
  902. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/flat_map.rb +20 -0
  903. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_bisect_formatter.rb +45 -0
  904. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_formatter.rb +70 -0
  905. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/base_text_formatter.rb +75 -0
  906. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_drb_formatter.rb +29 -0
  907. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/bisect_progress_formatter.rb +157 -0
  908. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/console_codes.rb +76 -0
  909. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/deprecation_formatter.rb +223 -0
  910. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/documentation_formatter.rb +102 -0
  911. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/exception_presenter.rb +553 -0
  912. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/failure_list_formatter.rb +23 -0
  913. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/fallback_message_formatter.rb +28 -0
  914. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/helpers.rb +118 -0
  915. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_formatter.rb +153 -0
  916. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_printer.rb +412 -0
  917. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/html_snippet_extractor.rb +122 -0
  918. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/json_formatter.rb +103 -0
  919. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/profile_formatter.rb +68 -0
  920. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/progress_formatter.rb +29 -0
  921. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/protocol.rb +182 -0
  922. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/snippet_extractor.rb +134 -0
  923. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters/syntax_highlighter.rb +91 -0
  924. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/formatters.rb +279 -0
  925. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/hooks.rb +646 -0
  926. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/invocations.rb +87 -0
  927. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/memoized_helpers.rb +580 -0
  928. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata.rb +498 -0
  929. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/metadata_filter.rb +255 -0
  930. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/minitest_assertions_adapter.rb +31 -0
  931. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/flexmock.rb +31 -0
  932. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/mocha.rb +57 -0
  933. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/null.rb +14 -0
  934. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rr.rb +31 -0
  935. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/mocking_adapters/rspec.rb +32 -0
  936. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/notifications.rb +523 -0
  937. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/option_parser.rb +325 -0
  938. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ordering.rb +208 -0
  939. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/output_wrapper.rb +29 -0
  940. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/pending.rb +157 -0
  941. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/profiler.rb +34 -0
  942. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/.rspec +1 -0
  943. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer/spec/spec_helper.rb +98 -0
  944. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/project_initializer.rb +48 -0
  945. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/rake_task.rb +190 -0
  946. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/reporter.rb +266 -0
  947. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/ruby_project.rb +53 -0
  948. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/runner.rb +216 -0
  949. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/sandbox.rb +37 -0
  950. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/set.rb +54 -0
  951. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_context.rb +55 -0
  952. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shared_example_group.rb +271 -0
  953. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/shell_escape.rb +49 -0
  954. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/test_unit_assertions_adapter.rb +30 -0
  955. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/version.rb +9 -0
  956. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/warnings.rb +40 -0
  957. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core/world.rb +287 -0
  958. data/vendor/bundle/ruby/3.0.0/gems/rspec-core-3.13.5/lib/rspec/core.rb +212 -0
  959. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.document +5 -0
  960. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/.yardopts +6 -0
  961. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/Changelog.md +1366 -0
  962. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/LICENSE.md +25 -0
  963. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/README.md +326 -0
  964. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/block_snippet_extractor.rb +255 -0
  965. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/configuration.rb +244 -0
  966. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/expectation_target.rb +163 -0
  967. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/fail_with.rb +39 -0
  968. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/failure_aggregator.rb +236 -0
  969. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/handler.rb +181 -0
  970. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/minitest_integration.rb +58 -0
  971. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/syntax.rb +132 -0
  972. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations/version.rb +8 -0
  973. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/expectations.rb +82 -0
  974. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/aliased_matcher.rb +116 -0
  975. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/all.rb +86 -0
  976. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/base_matcher.rb +225 -0
  977. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be.rb +191 -0
  978. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_between.rb +77 -0
  979. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_instance_of.rb +26 -0
  980. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_kind_of.rb +20 -0
  981. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/be_within.rb +72 -0
  982. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/change.rb +452 -0
  983. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/compound.rb +293 -0
  984. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/contain_exactly.rb +312 -0
  985. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/count_expectation.rb +171 -0
  986. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/cover.rb +24 -0
  987. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eq.rb +44 -0
  988. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/eql.rb +38 -0
  989. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/equal.rb +81 -0
  990. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/exist.rb +90 -0
  991. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/has.rb +194 -0
  992. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/have_attributes.rb +114 -0
  993. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/include.rb +218 -0
  994. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/match.rb +120 -0
  995. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/operators.rb +128 -0
  996. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/output.rb +207 -0
  997. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/raise_error.rb +275 -0
  998. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/respond_to.rb +200 -0
  999. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/satisfy.rb +62 -0
  1000. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/start_or_end_with.rb +94 -0
  1001. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/throw_symbol.rb +138 -0
  1002. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in/yield.rb +375 -0
  1003. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/built_in.rb +53 -0
  1004. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/composable.rb +171 -0
  1005. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/dsl.rb +546 -0
  1006. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/english_phrasing.rb +60 -0
  1007. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/fail_matchers.rb +42 -0
  1008. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/generated_descriptions.rb +41 -0
  1009. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_delegator.rb +61 -0
  1010. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/matcher_protocol.rb +105 -0
  1011. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers/multi_matcher_diff.rb +82 -0
  1012. data/vendor/bundle/ruby/3.0.0/gems/rspec-expectations-3.13.5/lib/rspec/matchers.rb +1046 -0
  1013. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.document +5 -0
  1014. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/.yardopts +6 -0
  1015. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/Changelog.md +1329 -0
  1016. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/LICENSE.md +25 -0
  1017. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/README.md +465 -0
  1018. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/chain.rb +111 -0
  1019. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/error_generator.rb +31 -0
  1020. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expect_chain_chain.rb +31 -0
  1021. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/expectation_chain.rb +50 -0
  1022. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/message_chains.rb +83 -0
  1023. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/proxy.rb +125 -0
  1024. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/recorder.rb +299 -0
  1025. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain.rb +51 -0
  1026. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance/stub_chain_chain.rb +23 -0
  1027. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/any_instance.rb +11 -0
  1028. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_list_matcher.rb +117 -0
  1029. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/argument_matchers.rb +366 -0
  1030. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/configuration.rb +212 -0
  1031. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/error_generator.rb +390 -0
  1032. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/example_methods.rb +434 -0
  1033. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/instance_method_stasher.rb +146 -0
  1034. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/marshal_extension.rb +41 -0
  1035. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/expectation_customization.rb +20 -0
  1036. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/have_received.rb +134 -0
  1037. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive.rb +134 -0
  1038. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_message_chain.rb +82 -0
  1039. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/matchers/receive_messages.rb +77 -0
  1040. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_chain.rb +87 -0
  1041. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/message_expectation.rb +856 -0
  1042. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_double.rb +316 -0
  1043. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/method_reference.rb +214 -0
  1044. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/minitest_integration.rb +68 -0
  1045. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/mutate_const.rb +339 -0
  1046. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/object_reference.rb +149 -0
  1047. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/order_group.rb +81 -0
  1048. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/proxy.rb +517 -0
  1049. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/space.rb +238 -0
  1050. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/standalone.rb +3 -0
  1051. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/syntax.rb +325 -0
  1052. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/targets.rb +124 -0
  1053. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/test_double.rb +173 -0
  1054. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_double.rb +125 -0
  1055. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_message_expectation.rb +55 -0
  1056. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/verifying_proxy.rb +221 -0
  1057. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks/version.rb +9 -0
  1058. data/vendor/bundle/ruby/3.0.0/gems/rspec-mocks-3.13.5/lib/rspec/mocks.rb +133 -0
  1059. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/Changelog.md +437 -0
  1060. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/LICENSE.md +23 -0
  1061. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/README.md +40 -0
  1062. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/caller_filter.rb +85 -0
  1063. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/comparable_version.rb +48 -0
  1064. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/differ.rb +216 -0
  1065. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/directory_maker.rb +65 -0
  1066. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/encoded_string.rb +163 -0
  1067. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/fuzzy_matcher.rb +50 -0
  1068. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/hunk_generator.rb +49 -0
  1069. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/matcher_definition.rb +44 -0
  1070. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/method_signature_verifier.rb +467 -0
  1071. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/mutex.rb +75 -0
  1072. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/object_formatter.rb +279 -0
  1073. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/recursive_const_methods.rb +78 -0
  1074. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/reentrant_mutex.rb +80 -0
  1075. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/ruby_features.rb +221 -0
  1076. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/location.rb +23 -0
  1077. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/node.rb +112 -0
  1078. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source/token.rb +96 -0
  1079. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/source.rb +87 -0
  1080. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/deprecation_helpers.rb +50 -0
  1081. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/diff_helpers.rb +45 -0
  1082. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/formatting_support.rb +11 -0
  1083. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/in_sub_process.rb +73 -0
  1084. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/library_wide_checks.rb +152 -0
  1085. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/shell_out.rb +115 -0
  1086. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/stderr_splitter.rb +77 -0
  1087. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/string_matcher.rb +47 -0
  1088. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_directory.rb +15 -0
  1089. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec/with_isolated_stderr.rb +15 -0
  1090. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/spec.rb +84 -0
  1091. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/version.rb +9 -0
  1092. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/warnings.rb +41 -0
  1093. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support/with_keywords_when_needed.rb +35 -0
  1094. data/vendor/bundle/ruby/3.0.0/gems/rspec-support-3.13.6/lib/rspec/support.rb +163 -0
  1095. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/LICENSE.txt +19 -0
  1096. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/README.md +131 -0
  1097. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/Rakefile +2 -0
  1098. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/base.rb +234 -0
  1099. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/calculators/length.rb +98 -0
  1100. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/bar.rb +102 -0
  1101. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/percentage.rb +27 -0
  1102. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/rate.rb +39 -0
  1103. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/time.rb +101 -0
  1104. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/components/title.rb +13 -0
  1105. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/errors/invalid_progress_error.rb +4 -0
  1106. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/formatter.rb +27 -0
  1107. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/molecule.rb +61 -0
  1108. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/format/string.rb +38 -0
  1109. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/output.rb +71 -0
  1110. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/non_tty.rb +47 -0
  1111. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/null.rb +33 -0
  1112. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/outputs/tty.rb +32 -0
  1113. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/progress.rb +108 -0
  1114. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projector.rb +14 -0
  1115. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/projectors/smoothed_average.rb +71 -0
  1116. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements/progress_enumerator.rb +28 -0
  1117. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/refinements.rb +1 -0
  1118. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/throttle.rb +25 -0
  1119. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/time.rb +30 -0
  1120. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/timer.rb +78 -0
  1121. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar/version.rb +3 -0
  1122. data/vendor/bundle/ruby/3.0.0/gems/ruby-progressbar-1.13.0/lib/ruby-progressbar.rb +12 -0
  1123. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/CHANGELOG.md +191 -0
  1124. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/LICENSE +20 -0
  1125. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/README.md +974 -0
  1126. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/alternate-formatters.md +71 -0
  1127. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/commercial-services.md +25 -0
  1128. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/doc/editor-integration.md +18 -0
  1129. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/minitest/simplecov_plugin.rb +15 -0
  1130. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/branches_combiner.rb +32 -0
  1131. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/files_combiner.rb +24 -0
  1132. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/lines_combiner.rb +43 -0
  1133. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine/results_combiner.rb +60 -0
  1134. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/combine.rb +30 -0
  1135. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/command_guesser.rb +64 -0
  1136. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/configuration.rb +500 -0
  1137. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/coverage_statistics.rb +56 -0
  1138. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/default_formatter.rb +20 -0
  1139. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/defaults.rb +53 -0
  1140. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/exit_code_handling.rb +29 -0
  1141. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/maximum_coverage_drop_check.rb +83 -0
  1142. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_coverage_by_file_check.rb +54 -0
  1143. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes/minimum_overall_coverage_check.rb +53 -0
  1144. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/exit_codes.rb +15 -0
  1145. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/file_list.rb +120 -0
  1146. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/filter.rb +94 -0
  1147. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/multi_formatter.rb +32 -0
  1148. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter/simple_formatter.rb +25 -0
  1149. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/formatter.rb +10 -0
  1150. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/last_run.rb +28 -0
  1151. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/lines_classifier.rb +48 -0
  1152. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/load_global_config.rb +8 -0
  1153. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/no_defaults.rb +4 -0
  1154. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/process.rb +19 -0
  1155. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/bundler_filter.rb +5 -0
  1156. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/hidden_filter.rb +5 -0
  1157. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/rails.rb +18 -0
  1158. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/root_filter.rb +10 -0
  1159. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles/test_frameworks.rb +8 -0
  1160. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/profiles.rb +35 -0
  1161. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result.rb +94 -0
  1162. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_adapter.rb +30 -0
  1163. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/result_merger.rb +194 -0
  1164. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/simulate_coverage.rb +29 -0
  1165. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/branch.rb +84 -0
  1166. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file/line.rb +72 -0
  1167. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/source_file.rb +355 -0
  1168. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/useless_results_remover.rb +18 -0
  1169. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov/version.rb +5 -0
  1170. data/vendor/bundle/ruby/3.0.0/gems/simplecov-0.22.0/lib/simplecov.rb +470 -0
  1171. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/.document +5 -0
  1172. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/CHANGELOG.md +114 -0
  1173. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/LICENSE +20 -0
  1174. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/README.md +30 -0
  1175. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/Rakefile +55 -0
  1176. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html/version.rb +9 -0
  1177. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/lib/simplecov-html.rb +165 -0
  1178. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc.png +0 -0
  1179. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_asc_disabled.png +0 -0
  1180. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_both.png +0 -0
  1181. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc.png +0 -0
  1182. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/DataTables-1.10.20/images/sort_desc_disabled.png +0 -0
  1183. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.css +1 -0
  1184. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/application.js +7 -0
  1185. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/border.png +0 -0
  1186. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/controls.png +0 -0
  1187. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading.gif +0 -0
  1188. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/colorbox/loading_background.png +0 -0
  1189. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_green.png +0 -0
  1190. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_red.png +0 -0
  1191. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/favicon_yellow.png +0 -0
  1192. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  1193. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  1194. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  1195. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1196. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  1197. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  1198. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  1199. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  1200. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_222222_256x240.png +0 -0
  1201. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_2e83ff_256x240.png +0 -0
  1202. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_454545_256x240.png +0 -0
  1203. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_888888_256x240.png +0 -0
  1204. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/images/ui-icons_cd0a0a_256x240.png +0 -0
  1205. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/loading.gif +0 -0
  1206. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/public/magnify.png +0 -0
  1207. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/covered_percent.erb +3 -0
  1208. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/file_list.erb +78 -0
  1209. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/layout.erb +40 -0
  1210. data/vendor/bundle/ruby/3.0.0/gems/simplecov-html-0.13.2/views/source_file.erb +57 -0
  1211. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/CHANGELOG.md +13 -0
  1212. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/README.md +29 -0
  1213. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_exporter.rb +27 -0
  1214. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/result_hash_formatter.rb +52 -0
  1215. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/source_file_formatter.rb +65 -0
  1216. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter/version.rb +5 -0
  1217. data/vendor/bundle/ruby/3.0.0/gems/simplecov_json_formatter-0.1.4/lib/simplecov_json_formatter.rb +36 -0
  1218. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/CHANGELOG.md +299 -0
  1219. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/MIT-LICENSE.txt +22 -0
  1220. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/README.md +194 -0
  1221. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/data/display_width.marshal.gz +0 -0
  1222. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/constants.rb +10 -0
  1223. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/emoji_support.rb +55 -0
  1224. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/index.rb +34 -0
  1225. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/no_string_ext.rb +8 -0
  1226. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/reline_ext.rb +14 -0
  1227. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width/string_ext.rb +9 -0
  1228. data/vendor/bundle/ruby/3.0.0/gems/unicode-display_width-3.2.0/lib/unicode/display_width.rb +247 -0
  1229. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.gitignore +3 -0
  1230. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/.rake_tasks +5 -0
  1231. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CHANGELOG.md +196 -0
  1232. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/CODE_OF_CONDUCT.md +74 -0
  1233. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Gemfile +7 -0
  1234. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/MIT-LICENSE.txt +20 -0
  1235. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/README.md +205 -0
  1236. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/Rakefile +46 -0
  1237. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/emoji.marshal.gz +0 -0
  1238. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/data/generate_constants.rb +344 -0
  1239. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/constants.rb +49 -0
  1240. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex.rb +8 -0
  1241. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_basic.rb +8 -0
  1242. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_emoji_keycap.rb +8 -0
  1243. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe.rb +8 -0
  1244. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_mqe_uqe.rb +8 -0
  1245. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_include_text.rb +8 -0
  1246. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto.rb +8 -0
  1247. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_picto_no_emoji.rb +8 -0
  1248. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_possible.rb +8 -0
  1249. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_component.rb +8 -0
  1250. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_emoji.rb +8 -0
  1251. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier.rb +8 -0
  1252. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_modifier_base.rb +8 -0
  1253. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_prop_presentation.rb +8 -0
  1254. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text.rb +8 -0
  1255. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_text_presentation.rb +8 -0
  1256. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid.rb +8 -0
  1257. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_valid_include_text.rb +8 -0
  1258. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed.rb +8 -0
  1259. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated/regex_well_formed_include_text.rb +8 -0
  1260. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex.rb +8 -0
  1261. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_basic.rb +8 -0
  1262. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_emoji_keycap.rb +8 -0
  1263. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe.rb +8 -0
  1264. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_mqe_uqe.rb +8 -0
  1265. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_include_text.rb +8 -0
  1266. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto.rb +8 -0
  1267. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_picto_no_emoji.rb +8 -0
  1268. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_possible.rb +8 -0
  1269. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_component.rb +8 -0
  1270. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_emoji.rb +8 -0
  1271. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier.rb +8 -0
  1272. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_modifier_base.rb +8 -0
  1273. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_prop_presentation.rb +8 -0
  1274. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text.rb +8 -0
  1275. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_text_presentation.rb +8 -0
  1276. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid.rb +8 -0
  1277. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_valid_include_text.rb +8 -0
  1278. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed.rb +8 -0
  1279. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/generated_native/regex_well_formed_include_text.rb +8 -0
  1280. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/index.rb +14 -0
  1281. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/lazy_constants.rb +56 -0
  1282. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji/list.rb +13 -0
  1283. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/lib/unicode/emoji.rb +111 -0
  1284. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/data/.keep +0 -0
  1285. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/emoji_test_txt_spec.rb +181 -0
  1286. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/spec/unicode_emoji_spec.rb +725 -0
  1287. data/vendor/bundle/ruby/3.0.0/gems/unicode-emoji-4.1.0/unicode-emoji.gemspec +22 -0
  1288. data/vendor/bundle/ruby/3.0.0/specifications/ast-2.4.3.gemspec +40 -0
  1289. data/vendor/bundle/ruby/3.0.0/specifications/diff-lcs-1.6.2.gemspec +46 -0
  1290. data/vendor/bundle/ruby/3.0.0/specifications/docile-1.4.1.gemspec +22 -0
  1291. data/vendor/bundle/ruby/3.0.0/specifications/language_server-protocol-3.17.0.5.gemspec +42 -0
  1292. data/vendor/bundle/ruby/3.0.0/specifications/lint_roller-1.1.0.gemspec +22 -0
  1293. data/vendor/bundle/ruby/3.0.0/specifications/parallel-1.27.0.gemspec +21 -0
  1294. data/vendor/bundle/ruby/3.0.0/specifications/rainbow-3.1.1.gemspec +31 -0
  1295. data/vendor/bundle/ruby/3.0.0/specifications/regexp_parser-2.11.3.gemspec +22 -0
  1296. data/vendor/bundle/ruby/3.0.0/specifications/rspec-3.13.1.gemspec +39 -0
  1297. data/vendor/bundle/ruby/3.0.0/specifications/rspec-core-3.13.5.gemspec +37 -0
  1298. data/vendor/bundle/ruby/3.0.0/specifications/rspec-expectations-3.13.5.gemspec +36 -0
  1299. data/vendor/bundle/ruby/3.0.0/specifications/rspec-mocks-3.13.5.gemspec +36 -0
  1300. data/vendor/bundle/ruby/3.0.0/specifications/rspec-support-3.13.6.gemspec +36 -0
  1301. data/vendor/bundle/ruby/3.0.0/specifications/ruby-progressbar-1.13.0.gemspec +38 -0
  1302. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-0.22.0.gemspec +36 -0
  1303. data/vendor/bundle/ruby/3.0.0/specifications/simplecov-html-0.13.2.gemspec +22 -0
  1304. data/vendor/bundle/ruby/3.0.0/specifications/simplecov_json_formatter-0.1.4.gemspec +21 -0
  1305. data/vendor/bundle/ruby/3.0.0/specifications/unicode-display_width-3.2.0.gemspec +38 -0
  1306. data/vendor/bundle/ruby/3.0.0/specifications/unicode-emoji-4.1.0.gemspec +22 -0
  1307. data/zayef.gemspec +7 -0
  1308. metadata +1332 -7
@@ -0,0 +1,1552 @@
1
+ #include "ruby.h"
2
+ #include "ruby/encoding.h"
3
+
4
+ /* shims */
5
+ /* This is the fallback definition from Ruby 3.4 */
6
+
7
+ #ifndef RBIMPL_STDBOOL_H
8
+ #if defined(__cplusplus)
9
+ # if defined(HAVE_STDBOOL_H) && (__cplusplus >= 201103L)
10
+ # include <cstdbool>
11
+ # endif
12
+ #elif defined(HAVE_STDBOOL_H)
13
+ # include <stdbool.h>
14
+ #elif !defined(HAVE__BOOL)
15
+ typedef unsigned char _Bool;
16
+ # define bool _Bool
17
+ # define true ((_Bool)+1)
18
+ # define false ((_Bool)+0)
19
+ # define __bool_true_false_are_defined
20
+ #endif
21
+ #endif
22
+
23
+ #include "../simd/simd.h"
24
+
25
+ #ifndef RB_UNLIKELY
26
+ #define RB_UNLIKELY(expr) expr
27
+ #endif
28
+
29
+ #ifndef RB_LIKELY
30
+ #define RB_LIKELY(expr) expr
31
+ #endif
32
+
33
+ static VALUE mJSON, eNestingError, Encoding_UTF_8;
34
+ static VALUE CNaN, CInfinity, CMinusInfinity;
35
+
36
+ static ID i_chr, i_aset, i_aref,
37
+ i_leftshift, i_new, i_try_convert, i_uminus, i_encode;
38
+
39
+ static VALUE sym_max_nesting, sym_allow_nan, sym_allow_trailing_comma, sym_symbolize_names, sym_freeze,
40
+ sym_decimal_class, sym_on_load, sym_allow_duplicate_key;
41
+
42
+ static int binary_encindex;
43
+ static int utf8_encindex;
44
+
45
+ #ifndef HAVE_RB_HASH_BULK_INSERT
46
+ // For TruffleRuby
47
+ void
48
+ rb_hash_bulk_insert(long count, const VALUE *pairs, VALUE hash)
49
+ {
50
+ long index = 0;
51
+ while (index < count) {
52
+ VALUE name = pairs[index++];
53
+ VALUE value = pairs[index++];
54
+ rb_hash_aset(hash, name, value);
55
+ }
56
+ RB_GC_GUARD(hash);
57
+ }
58
+ #endif
59
+
60
+ #ifndef HAVE_RB_HASH_NEW_CAPA
61
+ #define rb_hash_new_capa(n) rb_hash_new()
62
+ #endif
63
+
64
+
65
+ /* name cache */
66
+
67
+ #include <string.h>
68
+ #include <ctype.h>
69
+
70
+ // Object names are likely to be repeated, and are frozen.
71
+ // As such we can re-use them if we keep a cache of the ones we've seen so far,
72
+ // and save much more expensive lookups into the global fstring table.
73
+ // This cache implementation is deliberately simple, as we're optimizing for compactness,
74
+ // to be able to fit safely on the stack.
75
+ // As such, binary search into a sorted array gives a good tradeoff between compactness and
76
+ // performance.
77
+ #define JSON_RVALUE_CACHE_CAPA 63
78
+ typedef struct rvalue_cache_struct {
79
+ int length;
80
+ VALUE entries[JSON_RVALUE_CACHE_CAPA];
81
+ } rvalue_cache;
82
+
83
+ static rb_encoding *enc_utf8;
84
+
85
+ #define JSON_RVALUE_CACHE_MAX_ENTRY_LENGTH 55
86
+
87
+ static inline VALUE build_interned_string(const char *str, const long length)
88
+ {
89
+ # ifdef HAVE_RB_ENC_INTERNED_STR
90
+ return rb_enc_interned_str(str, length, enc_utf8);
91
+ # else
92
+ VALUE rstring = rb_utf8_str_new(str, length);
93
+ return rb_funcall(rb_str_freeze(rstring), i_uminus, 0);
94
+ # endif
95
+ }
96
+
97
+ static inline VALUE build_symbol(const char *str, const long length)
98
+ {
99
+ return rb_str_intern(build_interned_string(str, length));
100
+ }
101
+
102
+ static void rvalue_cache_insert_at(rvalue_cache *cache, int index, VALUE rstring)
103
+ {
104
+ MEMMOVE(&cache->entries[index + 1], &cache->entries[index], VALUE, cache->length - index);
105
+ cache->length++;
106
+ cache->entries[index] = rstring;
107
+ }
108
+
109
+ static inline int rstring_cache_cmp(const char *str, const long length, VALUE rstring)
110
+ {
111
+ long rstring_length = RSTRING_LEN(rstring);
112
+ if (length == rstring_length) {
113
+ return memcmp(str, RSTRING_PTR(rstring), length);
114
+ } else {
115
+ return (int)(length - rstring_length);
116
+ }
117
+ }
118
+
119
+ static VALUE rstring_cache_fetch(rvalue_cache *cache, const char *str, const long length)
120
+ {
121
+ if (RB_UNLIKELY(length > JSON_RVALUE_CACHE_MAX_ENTRY_LENGTH)) {
122
+ // Common names aren't likely to be very long. So we just don't
123
+ // cache names above an arbitrary threshold.
124
+ return Qfalse;
125
+ }
126
+
127
+ if (RB_UNLIKELY(!isalpha((unsigned char)str[0]))) {
128
+ // Simple heuristic, if the first character isn't a letter,
129
+ // we're much less likely to see this string again.
130
+ // We mostly want to cache strings that are likely to be repeated.
131
+ return Qfalse;
132
+ }
133
+
134
+ int low = 0;
135
+ int high = cache->length - 1;
136
+ int mid = 0;
137
+ int last_cmp = 0;
138
+
139
+ while (low <= high) {
140
+ mid = (high + low) >> 1;
141
+ VALUE entry = cache->entries[mid];
142
+ last_cmp = rstring_cache_cmp(str, length, entry);
143
+
144
+ if (last_cmp == 0) {
145
+ return entry;
146
+ } else if (last_cmp > 0) {
147
+ low = mid + 1;
148
+ } else {
149
+ high = mid - 1;
150
+ }
151
+ }
152
+
153
+ if (RB_UNLIKELY(memchr(str, '\\', length))) {
154
+ // We assume the overwhelming majority of names don't need to be escaped.
155
+ // But if they do, we have to fallback to the slow path.
156
+ return Qfalse;
157
+ }
158
+
159
+ VALUE rstring = build_interned_string(str, length);
160
+
161
+ if (cache->length < JSON_RVALUE_CACHE_CAPA) {
162
+ if (last_cmp > 0) {
163
+ mid += 1;
164
+ }
165
+
166
+ rvalue_cache_insert_at(cache, mid, rstring);
167
+ }
168
+ return rstring;
169
+ }
170
+
171
+ static VALUE rsymbol_cache_fetch(rvalue_cache *cache, const char *str, const long length)
172
+ {
173
+ if (RB_UNLIKELY(length > JSON_RVALUE_CACHE_MAX_ENTRY_LENGTH)) {
174
+ // Common names aren't likely to be very long. So we just don't
175
+ // cache names above an arbitrary threshold.
176
+ return Qfalse;
177
+ }
178
+
179
+ if (RB_UNLIKELY(!isalpha((unsigned char)str[0]))) {
180
+ // Simple heuristic, if the first character isn't a letter,
181
+ // we're much less likely to see this string again.
182
+ // We mostly want to cache strings that are likely to be repeated.
183
+ return Qfalse;
184
+ }
185
+
186
+ int low = 0;
187
+ int high = cache->length - 1;
188
+ int mid = 0;
189
+ int last_cmp = 0;
190
+
191
+ while (low <= high) {
192
+ mid = (high + low) >> 1;
193
+ VALUE entry = cache->entries[mid];
194
+ last_cmp = rstring_cache_cmp(str, length, rb_sym2str(entry));
195
+
196
+ if (last_cmp == 0) {
197
+ return entry;
198
+ } else if (last_cmp > 0) {
199
+ low = mid + 1;
200
+ } else {
201
+ high = mid - 1;
202
+ }
203
+ }
204
+
205
+ if (RB_UNLIKELY(memchr(str, '\\', length))) {
206
+ // We assume the overwhelming majority of names don't need to be escaped.
207
+ // But if they do, we have to fallback to the slow path.
208
+ return Qfalse;
209
+ }
210
+
211
+ VALUE rsymbol = build_symbol(str, length);
212
+
213
+ if (cache->length < JSON_RVALUE_CACHE_CAPA) {
214
+ if (last_cmp > 0) {
215
+ mid += 1;
216
+ }
217
+
218
+ rvalue_cache_insert_at(cache, mid, rsymbol);
219
+ }
220
+ return rsymbol;
221
+ }
222
+
223
+ /* rvalue stack */
224
+
225
+ #define RVALUE_STACK_INITIAL_CAPA 128
226
+
227
+ enum rvalue_stack_type {
228
+ RVALUE_STACK_HEAP_ALLOCATED = 0,
229
+ RVALUE_STACK_STACK_ALLOCATED = 1,
230
+ };
231
+
232
+ typedef struct rvalue_stack_struct {
233
+ enum rvalue_stack_type type;
234
+ long capa;
235
+ long head;
236
+ VALUE *ptr;
237
+ } rvalue_stack;
238
+
239
+ static rvalue_stack *rvalue_stack_spill(rvalue_stack *old_stack, VALUE *handle, rvalue_stack **stack_ref);
240
+
241
+ static rvalue_stack *rvalue_stack_grow(rvalue_stack *stack, VALUE *handle, rvalue_stack **stack_ref)
242
+ {
243
+ long required = stack->capa * 2;
244
+
245
+ if (stack->type == RVALUE_STACK_STACK_ALLOCATED) {
246
+ stack = rvalue_stack_spill(stack, handle, stack_ref);
247
+ } else {
248
+ REALLOC_N(stack->ptr, VALUE, required);
249
+ stack->capa = required;
250
+ }
251
+ return stack;
252
+ }
253
+
254
+ static VALUE rvalue_stack_push(rvalue_stack *stack, VALUE value, VALUE *handle, rvalue_stack **stack_ref)
255
+ {
256
+ if (RB_UNLIKELY(stack->head >= stack->capa)) {
257
+ stack = rvalue_stack_grow(stack, handle, stack_ref);
258
+ }
259
+ stack->ptr[stack->head] = value;
260
+ stack->head++;
261
+ return value;
262
+ }
263
+
264
+ static inline VALUE *rvalue_stack_peek(rvalue_stack *stack, long count)
265
+ {
266
+ return stack->ptr + (stack->head - count);
267
+ }
268
+
269
+ static inline void rvalue_stack_pop(rvalue_stack *stack, long count)
270
+ {
271
+ stack->head -= count;
272
+ }
273
+
274
+ static void rvalue_stack_mark(void *ptr)
275
+ {
276
+ rvalue_stack *stack = (rvalue_stack *)ptr;
277
+ long index;
278
+ for (index = 0; index < stack->head; index++) {
279
+ rb_gc_mark(stack->ptr[index]);
280
+ }
281
+ }
282
+
283
+ static void rvalue_stack_free(void *ptr)
284
+ {
285
+ rvalue_stack *stack = (rvalue_stack *)ptr;
286
+ if (stack) {
287
+ ruby_xfree(stack->ptr);
288
+ ruby_xfree(stack);
289
+ }
290
+ }
291
+
292
+ static size_t rvalue_stack_memsize(const void *ptr)
293
+ {
294
+ const rvalue_stack *stack = (const rvalue_stack *)ptr;
295
+ return sizeof(rvalue_stack) + sizeof(VALUE) * stack->capa;
296
+ }
297
+
298
+ static const rb_data_type_t JSON_Parser_rvalue_stack_type = {
299
+ "JSON::Ext::Parser/rvalue_stack",
300
+ {
301
+ .dmark = rvalue_stack_mark,
302
+ .dfree = rvalue_stack_free,
303
+ .dsize = rvalue_stack_memsize,
304
+ },
305
+ 0, 0,
306
+ RUBY_TYPED_FREE_IMMEDIATELY,
307
+ };
308
+
309
+ static rvalue_stack *rvalue_stack_spill(rvalue_stack *old_stack, VALUE *handle, rvalue_stack **stack_ref)
310
+ {
311
+ rvalue_stack *stack;
312
+ *handle = TypedData_Make_Struct(0, rvalue_stack, &JSON_Parser_rvalue_stack_type, stack);
313
+ *stack_ref = stack;
314
+ MEMCPY(stack, old_stack, rvalue_stack, 1);
315
+
316
+ stack->capa = old_stack->capa << 1;
317
+ stack->ptr = ALLOC_N(VALUE, stack->capa);
318
+ stack->type = RVALUE_STACK_HEAP_ALLOCATED;
319
+ MEMCPY(stack->ptr, old_stack->ptr, VALUE, old_stack->head);
320
+ return stack;
321
+ }
322
+
323
+ static void rvalue_stack_eagerly_release(VALUE handle)
324
+ {
325
+ if (handle) {
326
+ rvalue_stack *stack;
327
+ TypedData_Get_Struct(handle, rvalue_stack, &JSON_Parser_rvalue_stack_type, stack);
328
+ RTYPEDDATA_DATA(handle) = NULL;
329
+ rvalue_stack_free(stack);
330
+ }
331
+ }
332
+
333
+
334
+ #ifndef HAVE_STRNLEN
335
+ static size_t strnlen(const char *s, size_t maxlen)
336
+ {
337
+ char *p;
338
+ return ((p = memchr(s, '\0', maxlen)) ? p - s : maxlen);
339
+ }
340
+ #endif
341
+
342
+ static int convert_UTF32_to_UTF8(char *buf, uint32_t ch)
343
+ {
344
+ int len = 1;
345
+ if (ch <= 0x7F) {
346
+ buf[0] = (char) ch;
347
+ } else if (ch <= 0x07FF) {
348
+ buf[0] = (char) ((ch >> 6) | 0xC0);
349
+ buf[1] = (char) ((ch & 0x3F) | 0x80);
350
+ len++;
351
+ } else if (ch <= 0xFFFF) {
352
+ buf[0] = (char) ((ch >> 12) | 0xE0);
353
+ buf[1] = (char) (((ch >> 6) & 0x3F) | 0x80);
354
+ buf[2] = (char) ((ch & 0x3F) | 0x80);
355
+ len += 2;
356
+ } else if (ch <= 0x1fffff) {
357
+ buf[0] =(char) ((ch >> 18) | 0xF0);
358
+ buf[1] =(char) (((ch >> 12) & 0x3F) | 0x80);
359
+ buf[2] =(char) (((ch >> 6) & 0x3F) | 0x80);
360
+ buf[3] =(char) ((ch & 0x3F) | 0x80);
361
+ len += 3;
362
+ } else {
363
+ buf[0] = '?';
364
+ }
365
+ return len;
366
+ }
367
+
368
+ enum duplicate_key_action {
369
+ JSON_DEPRECATED = 0,
370
+ JSON_IGNORE,
371
+ JSON_RAISE,
372
+ };
373
+
374
+ typedef struct JSON_ParserStruct {
375
+ VALUE on_load_proc;
376
+ VALUE decimal_class;
377
+ ID decimal_method_id;
378
+ enum duplicate_key_action on_duplicate_key;
379
+ int max_nesting;
380
+ bool allow_nan;
381
+ bool allow_trailing_comma;
382
+ bool parsing_name;
383
+ bool symbolize_names;
384
+ bool freeze;
385
+ } JSON_ParserConfig;
386
+
387
+ typedef struct JSON_ParserStateStruct {
388
+ VALUE stack_handle;
389
+ const char *start;
390
+ const char *cursor;
391
+ const char *end;
392
+ rvalue_stack *stack;
393
+ rvalue_cache name_cache;
394
+ int in_array;
395
+ int current_nesting;
396
+ } JSON_ParserState;
397
+
398
+ static void cursor_position(JSON_ParserState *state, long *line_out, long *column_out)
399
+ {
400
+ const char *cursor = state->cursor;
401
+ long column = 0;
402
+ long line = 1;
403
+
404
+ while (cursor >= state->start) {
405
+ if (*cursor-- == '\n') {
406
+ break;
407
+ }
408
+ column++;
409
+ }
410
+
411
+ while (cursor >= state->start) {
412
+ if (*cursor-- == '\n') {
413
+ line++;
414
+ }
415
+ }
416
+ *line_out = line;
417
+ *column_out = column;
418
+ }
419
+
420
+ static void emit_parse_warning(const char *message, JSON_ParserState *state)
421
+ {
422
+ long line, column;
423
+ cursor_position(state, &line, &column);
424
+
425
+ VALUE warning = rb_sprintf("%s at line %ld column %ld", message, line, column);
426
+ rb_funcall(mJSON, rb_intern("deprecation_warning"), 1, warning);
427
+ }
428
+
429
+ #define PARSE_ERROR_FRAGMENT_LEN 32
430
+
431
+ #ifdef RBIMPL_ATTR_NORETURN
432
+ RBIMPL_ATTR_NORETURN()
433
+ #endif
434
+ static void raise_parse_error(const char *format, JSON_ParserState *state)
435
+ {
436
+ unsigned char buffer[PARSE_ERROR_FRAGMENT_LEN + 3];
437
+ long line, column;
438
+ cursor_position(state, &line, &column);
439
+
440
+ const char *ptr = "EOF";
441
+ if (state->cursor && state->cursor < state->end) {
442
+ ptr = state->cursor;
443
+ size_t len = 0;
444
+ while (len < PARSE_ERROR_FRAGMENT_LEN) {
445
+ char ch = ptr[len];
446
+ if (!ch || ch == '\n' || ch == ' ' || ch == '\t' || ch == '\r') {
447
+ break;
448
+ }
449
+ len++;
450
+ }
451
+
452
+ if (len) {
453
+ buffer[0] = '\'';
454
+ MEMCPY(buffer + 1, ptr, char, len);
455
+
456
+ while (buffer[len] >= 0x80 && buffer[len] < 0xC0) { // Is continuation byte
457
+ len--;
458
+ }
459
+
460
+ if (buffer[len] >= 0xC0) { // multibyte character start
461
+ len--;
462
+ }
463
+
464
+ buffer[len + 1] = '\'';
465
+ buffer[len + 2] = '\0';
466
+ ptr = (const char *)buffer;
467
+ }
468
+ }
469
+
470
+ VALUE msg = rb_sprintf(format, ptr);
471
+ VALUE message = rb_enc_sprintf(enc_utf8, "%s at line %ld column %ld", RSTRING_PTR(msg), line, column);
472
+ RB_GC_GUARD(msg);
473
+
474
+ VALUE exc = rb_exc_new_str(rb_path2class("JSON::ParserError"), message);
475
+ rb_ivar_set(exc, rb_intern("@line"), LONG2NUM(line));
476
+ rb_ivar_set(exc, rb_intern("@column"), LONG2NUM(column));
477
+ rb_exc_raise(exc);
478
+ }
479
+
480
+ #ifdef RBIMPL_ATTR_NORETURN
481
+ RBIMPL_ATTR_NORETURN()
482
+ #endif
483
+ static void raise_parse_error_at(const char *format, JSON_ParserState *state, const char *at)
484
+ {
485
+ state->cursor = at;
486
+ raise_parse_error(format, state);
487
+ }
488
+
489
+ /* unicode */
490
+
491
+ static const signed char digit_values[256] = {
492
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
493
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
494
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -1,
495
+ -1, -1, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1,
496
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
497
+ 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
498
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
499
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
500
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
501
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
502
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
503
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
504
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
505
+ -1, -1, -1, -1, -1, -1, -1
506
+ };
507
+
508
+ static uint32_t unescape_unicode(JSON_ParserState *state, const unsigned char *p)
509
+ {
510
+ signed char b;
511
+ uint32_t result = 0;
512
+ b = digit_values[p[0]];
513
+ if (b < 0) raise_parse_error_at("incomplete unicode character escape sequence at %s", state, (char *)p - 2);
514
+ result = (result << 4) | (unsigned char)b;
515
+ b = digit_values[p[1]];
516
+ if (b < 0) raise_parse_error_at("incomplete unicode character escape sequence at %s", state, (char *)p - 2);
517
+ result = (result << 4) | (unsigned char)b;
518
+ b = digit_values[p[2]];
519
+ if (b < 0) raise_parse_error_at("incomplete unicode character escape sequence at %s", state, (char *)p - 2);
520
+ result = (result << 4) | (unsigned char)b;
521
+ b = digit_values[p[3]];
522
+ if (b < 0) raise_parse_error_at("incomplete unicode character escape sequence at %s", state, (char *)p - 2);
523
+ result = (result << 4) | (unsigned char)b;
524
+ return result;
525
+ }
526
+
527
+ #define GET_PARSER_CONFIG \
528
+ JSON_ParserConfig *config; \
529
+ TypedData_Get_Struct(self, JSON_ParserConfig, &JSON_ParserConfig_type, config)
530
+
531
+ static const rb_data_type_t JSON_ParserConfig_type;
532
+
533
+ static const bool whitespace[256] = {
534
+ [' '] = 1,
535
+ ['\t'] = 1,
536
+ ['\n'] = 1,
537
+ ['\r'] = 1,
538
+ ['/'] = 1,
539
+ };
540
+
541
+ static void
542
+ json_eat_comments(JSON_ParserState *state)
543
+ {
544
+ if (state->cursor + 1 < state->end) {
545
+ switch (state->cursor[1]) {
546
+ case '/': {
547
+ state->cursor = memchr(state->cursor, '\n', state->end - state->cursor);
548
+ if (!state->cursor) {
549
+ state->cursor = state->end;
550
+ } else {
551
+ state->cursor++;
552
+ }
553
+ break;
554
+ }
555
+ case '*': {
556
+ state->cursor += 2;
557
+ while (true) {
558
+ state->cursor = memchr(state->cursor, '*', state->end - state->cursor);
559
+ if (!state->cursor) {
560
+ raise_parse_error_at("unexpected end of input, expected closing '*/'", state, state->end);
561
+ } else {
562
+ state->cursor++;
563
+ if (state->cursor < state->end && *state->cursor == '/') {
564
+ state->cursor++;
565
+ break;
566
+ }
567
+ }
568
+ }
569
+ break;
570
+ }
571
+ default:
572
+ raise_parse_error("unexpected token %s", state);
573
+ break;
574
+ }
575
+ } else {
576
+ raise_parse_error("unexpected token %s", state);
577
+ }
578
+ }
579
+
580
+ static inline void
581
+ json_eat_whitespace(JSON_ParserState *state)
582
+ {
583
+ while (state->cursor < state->end && RB_UNLIKELY(whitespace[(unsigned char)*state->cursor])) {
584
+ if (RB_LIKELY(*state->cursor != '/')) {
585
+ state->cursor++;
586
+ } else {
587
+ json_eat_comments(state);
588
+ }
589
+ }
590
+ }
591
+
592
+ static inline VALUE build_string(const char *start, const char *end, bool intern, bool symbolize)
593
+ {
594
+ if (symbolize) {
595
+ intern = true;
596
+ }
597
+ VALUE result;
598
+ # ifdef HAVE_RB_ENC_INTERNED_STR
599
+ if (intern) {
600
+ result = rb_enc_interned_str(start, (long)(end - start), enc_utf8);
601
+ } else {
602
+ result = rb_utf8_str_new(start, (long)(end - start));
603
+ }
604
+ # else
605
+ result = rb_utf8_str_new(start, (long)(end - start));
606
+ if (intern) {
607
+ result = rb_funcall(rb_str_freeze(result), i_uminus, 0);
608
+ }
609
+ # endif
610
+
611
+ if (symbolize) {
612
+ result = rb_str_intern(result);
613
+ }
614
+
615
+ return result;
616
+ }
617
+
618
+ static inline VALUE json_string_fastpath(JSON_ParserState *state, const char *string, const char *stringEnd, bool is_name, bool intern, bool symbolize)
619
+ {
620
+ size_t bufferSize = stringEnd - string;
621
+
622
+ if (is_name && state->in_array) {
623
+ VALUE cached_key;
624
+ if (RB_UNLIKELY(symbolize)) {
625
+ cached_key = rsymbol_cache_fetch(&state->name_cache, string, bufferSize);
626
+ } else {
627
+ cached_key = rstring_cache_fetch(&state->name_cache, string, bufferSize);
628
+ }
629
+
630
+ if (RB_LIKELY(cached_key)) {
631
+ return cached_key;
632
+ }
633
+ }
634
+
635
+ return build_string(string, stringEnd, intern, symbolize);
636
+ }
637
+
638
+ static VALUE json_string_unescape(JSON_ParserState *state, const char *string, const char *stringEnd, bool is_name, bool intern, bool symbolize)
639
+ {
640
+ size_t bufferSize = stringEnd - string;
641
+ const char *p = string, *pe = string, *unescape, *bufferStart;
642
+ char *buffer;
643
+ int unescape_len;
644
+ char buf[4];
645
+
646
+ if (is_name && state->in_array) {
647
+ VALUE cached_key;
648
+ if (RB_UNLIKELY(symbolize)) {
649
+ cached_key = rsymbol_cache_fetch(&state->name_cache, string, bufferSize);
650
+ } else {
651
+ cached_key = rstring_cache_fetch(&state->name_cache, string, bufferSize);
652
+ }
653
+
654
+ if (RB_LIKELY(cached_key)) {
655
+ return cached_key;
656
+ }
657
+ }
658
+
659
+ VALUE result = rb_str_buf_new(bufferSize);
660
+ rb_enc_associate_index(result, utf8_encindex);
661
+ buffer = RSTRING_PTR(result);
662
+ bufferStart = buffer;
663
+
664
+ while (pe < stringEnd && (pe = memchr(pe, '\\', stringEnd - pe))) {
665
+ unescape = (char *) "?";
666
+ unescape_len = 1;
667
+ if (pe > p) {
668
+ MEMCPY(buffer, p, char, pe - p);
669
+ buffer += pe - p;
670
+ }
671
+ switch (*++pe) {
672
+ case 'n':
673
+ unescape = (char *) "\n";
674
+ break;
675
+ case 'r':
676
+ unescape = (char *) "\r";
677
+ break;
678
+ case 't':
679
+ unescape = (char *) "\t";
680
+ break;
681
+ case '"':
682
+ unescape = (char *) "\"";
683
+ break;
684
+ case '\\':
685
+ unescape = (char *) "\\";
686
+ break;
687
+ case 'b':
688
+ unescape = (char *) "\b";
689
+ break;
690
+ case 'f':
691
+ unescape = (char *) "\f";
692
+ break;
693
+ case 'u':
694
+ if (pe > stringEnd - 5) {
695
+ raise_parse_error_at("incomplete unicode character escape sequence at %s", state, p);
696
+ } else {
697
+ uint32_t ch = unescape_unicode(state, (unsigned char *) ++pe);
698
+ pe += 3;
699
+ /* To handle values above U+FFFF, we take a sequence of
700
+ * \uXXXX escapes in the U+D800..U+DBFF then
701
+ * U+DC00..U+DFFF ranges, take the low 10 bits from each
702
+ * to make a 20-bit number, then add 0x10000 to get the
703
+ * final codepoint.
704
+ *
705
+ * See Unicode 15: 3.8 "Surrogates", 5.3 "Handling
706
+ * Surrogate Pairs in UTF-16", and 23.6 "Surrogates
707
+ * Area".
708
+ */
709
+ if ((ch & 0xFC00) == 0xD800) {
710
+ pe++;
711
+ if (pe > stringEnd - 6) {
712
+ raise_parse_error_at("incomplete surrogate pair at %s", state, p);
713
+ }
714
+ if (pe[0] == '\\' && pe[1] == 'u') {
715
+ uint32_t sur = unescape_unicode(state, (unsigned char *) pe + 2);
716
+ ch = (((ch & 0x3F) << 10) | ((((ch >> 6) & 0xF) + 1) << 16)
717
+ | (sur & 0x3FF));
718
+ pe += 5;
719
+ } else {
720
+ unescape = (char *) "?";
721
+ break;
722
+ }
723
+ }
724
+ unescape_len = convert_UTF32_to_UTF8(buf, ch);
725
+ unescape = buf;
726
+ }
727
+ break;
728
+ default:
729
+ p = pe;
730
+ continue;
731
+ }
732
+ MEMCPY(buffer, unescape, char, unescape_len);
733
+ buffer += unescape_len;
734
+ p = ++pe;
735
+ }
736
+
737
+ if (stringEnd > p) {
738
+ MEMCPY(buffer, p, char, stringEnd - p);
739
+ buffer += stringEnd - p;
740
+ }
741
+ rb_str_set_len(result, buffer - bufferStart);
742
+
743
+ if (symbolize) {
744
+ result = rb_str_intern(result);
745
+ } else if (intern) {
746
+ result = rb_funcall(rb_str_freeze(result), i_uminus, 0);
747
+ }
748
+
749
+ return result;
750
+ }
751
+
752
+ #define MAX_FAST_INTEGER_SIZE 18
753
+ static inline VALUE fast_decode_integer(const char *p, const char *pe)
754
+ {
755
+ bool negative = false;
756
+ if (*p == '-') {
757
+ negative = true;
758
+ p++;
759
+ }
760
+
761
+ long long memo = 0;
762
+ while (p < pe) {
763
+ memo *= 10;
764
+ memo += *p - '0';
765
+ p++;
766
+ }
767
+
768
+ if (negative) {
769
+ memo = -memo;
770
+ }
771
+ return LL2NUM(memo);
772
+ }
773
+
774
+ static VALUE json_decode_large_integer(const char *start, long len)
775
+ {
776
+ VALUE buffer_v;
777
+ char *buffer = RB_ALLOCV_N(char, buffer_v, len + 1);
778
+ MEMCPY(buffer, start, char, len);
779
+ buffer[len] = '\0';
780
+ VALUE number = rb_cstr2inum(buffer, 10);
781
+ RB_ALLOCV_END(buffer_v);
782
+ return number;
783
+ }
784
+
785
+ static inline VALUE
786
+ json_decode_integer(const char *start, const char *end)
787
+ {
788
+ long len = end - start;
789
+ if (RB_LIKELY(len < MAX_FAST_INTEGER_SIZE)) {
790
+ return fast_decode_integer(start, end);
791
+ }
792
+ return json_decode_large_integer(start, len);
793
+ }
794
+
795
+ static VALUE json_decode_large_float(const char *start, long len)
796
+ {
797
+ VALUE buffer_v;
798
+ char *buffer = RB_ALLOCV_N(char, buffer_v, len + 1);
799
+ MEMCPY(buffer, start, char, len);
800
+ buffer[len] = '\0';
801
+ VALUE number = DBL2NUM(rb_cstr_to_dbl(buffer, 1));
802
+ RB_ALLOCV_END(buffer_v);
803
+ return number;
804
+ }
805
+
806
+ static VALUE json_decode_float(JSON_ParserConfig *config, const char *start, const char *end)
807
+ {
808
+ long len = end - start;
809
+
810
+ if (RB_UNLIKELY(config->decimal_class)) {
811
+ VALUE text = rb_str_new(start, len);
812
+ return rb_funcallv(config->decimal_class, config->decimal_method_id, 1, &text);
813
+ } else if (RB_LIKELY(len < 64)) {
814
+ char buffer[64];
815
+ MEMCPY(buffer, start, char, len);
816
+ buffer[len] = '\0';
817
+ return DBL2NUM(rb_cstr_to_dbl(buffer, 1));
818
+ } else {
819
+ return json_decode_large_float(start, len);
820
+ }
821
+ }
822
+
823
+ static inline VALUE json_decode_array(JSON_ParserState *state, JSON_ParserConfig *config, long count)
824
+ {
825
+ VALUE array = rb_ary_new_from_values(count, rvalue_stack_peek(state->stack, count));
826
+ rvalue_stack_pop(state->stack, count);
827
+
828
+ if (config->freeze) {
829
+ RB_OBJ_FREEZE(array);
830
+ }
831
+
832
+ return array;
833
+ }
834
+
835
+ static VALUE json_find_duplicated_key(size_t count, const VALUE *pairs)
836
+ {
837
+ VALUE set = rb_hash_new_capa(count / 2);
838
+ for (size_t index = 0; index < count; index += 2) {
839
+ size_t before = RHASH_SIZE(set);
840
+ VALUE key = pairs[index];
841
+ rb_hash_aset(set, key, Qtrue);
842
+ if (RHASH_SIZE(set) == before) {
843
+ if (RB_SYMBOL_P(key)) {
844
+ return rb_sym2str(key);
845
+ }
846
+ return key;
847
+ }
848
+ }
849
+ return Qfalse;
850
+ }
851
+
852
+ static void emit_duplicate_key_warning(JSON_ParserState *state, VALUE duplicate_key)
853
+ {
854
+ VALUE message = rb_sprintf(
855
+ "detected duplicate key %"PRIsVALUE" in JSON object. This will raise an error in json 3.0 unless enabled via `allow_duplicate_key: true`",
856
+ rb_inspect(duplicate_key)
857
+ );
858
+
859
+ emit_parse_warning(RSTRING_PTR(message), state);
860
+ RB_GC_GUARD(message);
861
+ }
862
+
863
+ #ifdef RBIMPL_ATTR_NORETURN
864
+ RBIMPL_ATTR_NORETURN()
865
+ #endif
866
+ static void raise_duplicate_key_error(JSON_ParserState *state, VALUE duplicate_key)
867
+ {
868
+ VALUE message = rb_sprintf(
869
+ "duplicate key %"PRIsVALUE,
870
+ rb_inspect(duplicate_key)
871
+ );
872
+
873
+ raise_parse_error(RSTRING_PTR(message), state);
874
+ RB_GC_GUARD(message);
875
+ }
876
+
877
+ static inline VALUE json_decode_object(JSON_ParserState *state, JSON_ParserConfig *config, size_t count)
878
+ {
879
+ size_t entries_count = count / 2;
880
+ VALUE object = rb_hash_new_capa(entries_count);
881
+ const VALUE *pairs = rvalue_stack_peek(state->stack, count);
882
+ rb_hash_bulk_insert(count, pairs, object);
883
+
884
+ if (RB_UNLIKELY(RHASH_SIZE(object) < entries_count)) {
885
+ switch (config->on_duplicate_key) {
886
+ case JSON_IGNORE:
887
+ break;
888
+ case JSON_DEPRECATED:
889
+ emit_duplicate_key_warning(state, json_find_duplicated_key(count, pairs));
890
+ break;
891
+ case JSON_RAISE:
892
+ raise_duplicate_key_error(state, json_find_duplicated_key(count, pairs));
893
+ break;
894
+ }
895
+ }
896
+
897
+ rvalue_stack_pop(state->stack, count);
898
+
899
+ if (config->freeze) {
900
+ RB_OBJ_FREEZE(object);
901
+ }
902
+
903
+ return object;
904
+ }
905
+
906
+ static inline VALUE json_decode_string(JSON_ParserState *state, JSON_ParserConfig *config, const char *start, const char *end, bool escaped, bool is_name)
907
+ {
908
+ VALUE string;
909
+ bool intern = is_name || config->freeze;
910
+ bool symbolize = is_name && config->symbolize_names;
911
+ if (escaped) {
912
+ string = json_string_unescape(state, start, end, is_name, intern, symbolize);
913
+ } else {
914
+ string = json_string_fastpath(state, start, end, is_name, intern, symbolize);
915
+ }
916
+
917
+ return string;
918
+ }
919
+
920
+ static inline VALUE json_push_value(JSON_ParserState *state, JSON_ParserConfig *config, VALUE value)
921
+ {
922
+ if (RB_UNLIKELY(config->on_load_proc)) {
923
+ value = rb_proc_call_with_block(config->on_load_proc, 1, &value, Qnil);
924
+ }
925
+ rvalue_stack_push(state->stack, value, &state->stack_handle, &state->stack);
926
+ return value;
927
+ }
928
+
929
+ static const bool string_scan_table[256] = {
930
+ // ASCII Control Characters
931
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
932
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
933
+ // ASCII Characters
934
+ 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // '"'
935
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, // '\\'
938
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
939
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940
+ };
941
+
942
+ #if (defined(__GNUC__ ) || defined(__clang__))
943
+ #define FORCE_INLINE __attribute__((always_inline))
944
+ #else
945
+ #define FORCE_INLINE
946
+ #endif
947
+
948
+ #ifdef HAVE_SIMD
949
+ static SIMD_Implementation simd_impl = SIMD_NONE;
950
+ #endif /* HAVE_SIMD */
951
+
952
+ static inline bool FORCE_INLINE string_scan(JSON_ParserState *state)
953
+ {
954
+ #ifdef HAVE_SIMD
955
+ #if defined(HAVE_SIMD_NEON)
956
+
957
+ uint64_t mask = 0;
958
+ if (string_scan_simd_neon(&state->cursor, state->end, &mask)) {
959
+ state->cursor += trailing_zeros64(mask) >> 2;
960
+ return 1;
961
+ }
962
+
963
+ #elif defined(HAVE_SIMD_SSE2)
964
+ if (simd_impl == SIMD_SSE2) {
965
+ int mask = 0;
966
+ if (string_scan_simd_sse2(&state->cursor, state->end, &mask)) {
967
+ state->cursor += trailing_zeros(mask);
968
+ return 1;
969
+ }
970
+ }
971
+ #endif /* HAVE_SIMD_NEON or HAVE_SIMD_SSE2 */
972
+ #endif /* HAVE_SIMD */
973
+
974
+ while (state->cursor < state->end) {
975
+ if (RB_UNLIKELY(string_scan_table[(unsigned char)*state->cursor])) {
976
+ return 1;
977
+ }
978
+ *state->cursor++;
979
+ }
980
+ return 0;
981
+ }
982
+
983
+ static inline VALUE json_parse_string(JSON_ParserState *state, JSON_ParserConfig *config, bool is_name)
984
+ {
985
+ state->cursor++;
986
+ const char *start = state->cursor;
987
+ bool escaped = false;
988
+
989
+ while (RB_UNLIKELY(string_scan(state))) {
990
+ switch (*state->cursor) {
991
+ case '"': {
992
+ VALUE string = json_decode_string(state, config, start, state->cursor, escaped, is_name);
993
+ state->cursor++;
994
+ return json_push_value(state, config, string);
995
+ }
996
+ case '\\': {
997
+ state->cursor++;
998
+ escaped = true;
999
+ if ((unsigned char)*state->cursor < 0x20) {
1000
+ raise_parse_error("invalid ASCII control character in string: %s", state);
1001
+ }
1002
+ break;
1003
+ }
1004
+ default:
1005
+ raise_parse_error("invalid ASCII control character in string: %s", state);
1006
+ break;
1007
+ }
1008
+
1009
+ state->cursor++;
1010
+ }
1011
+
1012
+ raise_parse_error("unexpected end of input, expected closing \"", state);
1013
+ return Qfalse;
1014
+ }
1015
+
1016
+ static VALUE json_parse_any(JSON_ParserState *state, JSON_ParserConfig *config)
1017
+ {
1018
+ json_eat_whitespace(state);
1019
+ if (state->cursor >= state->end) {
1020
+ raise_parse_error("unexpected end of input", state);
1021
+ }
1022
+
1023
+ switch (*state->cursor) {
1024
+ case 'n':
1025
+ if ((state->end - state->cursor >= 4) && (memcmp(state->cursor, "null", 4) == 0)) {
1026
+ state->cursor += 4;
1027
+ return json_push_value(state, config, Qnil);
1028
+ }
1029
+
1030
+ raise_parse_error("unexpected token %s", state);
1031
+ break;
1032
+ case 't':
1033
+ if ((state->end - state->cursor >= 4) && (memcmp(state->cursor, "true", 4) == 0)) {
1034
+ state->cursor += 4;
1035
+ return json_push_value(state, config, Qtrue);
1036
+ }
1037
+
1038
+ raise_parse_error("unexpected token %s", state);
1039
+ break;
1040
+ case 'f':
1041
+ // Note: memcmp with a small power of two compile to an integer comparison
1042
+ if ((state->end - state->cursor >= 5) && (memcmp(state->cursor + 1, "alse", 4) == 0)) {
1043
+ state->cursor += 5;
1044
+ return json_push_value(state, config, Qfalse);
1045
+ }
1046
+
1047
+ raise_parse_error("unexpected token %s", state);
1048
+ break;
1049
+ case 'N':
1050
+ // Note: memcmp with a small power of two compile to an integer comparison
1051
+ if (config->allow_nan && (state->end - state->cursor >= 3) && (memcmp(state->cursor + 1, "aN", 2) == 0)) {
1052
+ state->cursor += 3;
1053
+ return json_push_value(state, config, CNaN);
1054
+ }
1055
+
1056
+ raise_parse_error("unexpected token %s", state);
1057
+ break;
1058
+ case 'I':
1059
+ if (config->allow_nan && (state->end - state->cursor >= 8) && (memcmp(state->cursor, "Infinity", 8) == 0)) {
1060
+ state->cursor += 8;
1061
+ return json_push_value(state, config, CInfinity);
1062
+ }
1063
+
1064
+ raise_parse_error("unexpected token %s", state);
1065
+ break;
1066
+ case '-':
1067
+ // Note: memcmp with a small power of two compile to an integer comparison
1068
+ if ((state->end - state->cursor >= 9) && (memcmp(state->cursor + 1, "Infinity", 8) == 0)) {
1069
+ if (config->allow_nan) {
1070
+ state->cursor += 9;
1071
+ return json_push_value(state, config, CMinusInfinity);
1072
+ } else {
1073
+ raise_parse_error("unexpected token %s", state);
1074
+ }
1075
+ }
1076
+ // Fallthrough
1077
+ case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': {
1078
+ bool integer = true;
1079
+
1080
+ // /\A-?(0|[1-9]\d*)(\.\d+)?([Ee][-+]?\d+)?/
1081
+ const char *start = state->cursor;
1082
+ state->cursor++;
1083
+
1084
+ while ((state->cursor < state->end) && (*state->cursor >= '0') && (*state->cursor <= '9')) {
1085
+ state->cursor++;
1086
+ }
1087
+
1088
+ long integer_length = state->cursor - start;
1089
+
1090
+ if (RB_UNLIKELY(start[0] == '0' && integer_length > 1)) {
1091
+ raise_parse_error_at("invalid number: %s", state, start);
1092
+ } else if (RB_UNLIKELY(integer_length > 2 && start[0] == '-' && start[1] == '0')) {
1093
+ raise_parse_error_at("invalid number: %s", state, start);
1094
+ } else if (RB_UNLIKELY(integer_length == 1 && start[0] == '-')) {
1095
+ raise_parse_error_at("invalid number: %s", state, start);
1096
+ }
1097
+
1098
+ if ((state->cursor < state->end) && (*state->cursor == '.')) {
1099
+ integer = false;
1100
+ state->cursor++;
1101
+
1102
+ if (state->cursor == state->end || *state->cursor < '0' || *state->cursor > '9') {
1103
+ raise_parse_error("invalid number: %s", state);
1104
+ }
1105
+
1106
+ while ((state->cursor < state->end) && (*state->cursor >= '0') && (*state->cursor <= '9')) {
1107
+ state->cursor++;
1108
+ }
1109
+ }
1110
+
1111
+ if ((state->cursor < state->end) && ((*state->cursor == 'e') || (*state->cursor == 'E'))) {
1112
+ integer = false;
1113
+ state->cursor++;
1114
+ if ((state->cursor < state->end) && ((*state->cursor == '+') || (*state->cursor == '-'))) {
1115
+ state->cursor++;
1116
+ }
1117
+
1118
+ if (state->cursor == state->end || *state->cursor < '0' || *state->cursor > '9') {
1119
+ raise_parse_error("invalid number: %s", state);
1120
+ }
1121
+
1122
+ while ((state->cursor < state->end) && (*state->cursor >= '0') && (*state->cursor <= '9')) {
1123
+ state->cursor++;
1124
+ }
1125
+ }
1126
+
1127
+ if (integer) {
1128
+ return json_push_value(state, config, json_decode_integer(start, state->cursor));
1129
+ }
1130
+ return json_push_value(state, config, json_decode_float(config, start, state->cursor));
1131
+ }
1132
+ case '"': {
1133
+ // %r{\A"[^"\\\t\n\x00]*(?:\\[bfnrtu\\/"][^"\\]*)*"}
1134
+ return json_parse_string(state, config, false);
1135
+ break;
1136
+ }
1137
+ case '[': {
1138
+ state->cursor++;
1139
+ json_eat_whitespace(state);
1140
+ long stack_head = state->stack->head;
1141
+
1142
+ if ((state->cursor < state->end) && (*state->cursor == ']')) {
1143
+ state->cursor++;
1144
+ return json_push_value(state, config, json_decode_array(state, config, 0));
1145
+ } else {
1146
+ state->current_nesting++;
1147
+ if (RB_UNLIKELY(config->max_nesting && (config->max_nesting < state->current_nesting))) {
1148
+ rb_raise(eNestingError, "nesting of %d is too deep", state->current_nesting);
1149
+ }
1150
+ state->in_array++;
1151
+ json_parse_any(state, config);
1152
+ }
1153
+
1154
+ while (true) {
1155
+ json_eat_whitespace(state);
1156
+
1157
+ if (state->cursor < state->end) {
1158
+ if (*state->cursor == ']') {
1159
+ state->cursor++;
1160
+ long count = state->stack->head - stack_head;
1161
+ state->current_nesting--;
1162
+ state->in_array--;
1163
+ return json_push_value(state, config, json_decode_array(state, config, count));
1164
+ }
1165
+
1166
+ if (*state->cursor == ',') {
1167
+ state->cursor++;
1168
+ if (config->allow_trailing_comma) {
1169
+ json_eat_whitespace(state);
1170
+ if ((state->cursor < state->end) && (*state->cursor == ']')) {
1171
+ continue;
1172
+ }
1173
+ }
1174
+ json_parse_any(state, config);
1175
+ continue;
1176
+ }
1177
+ }
1178
+
1179
+ raise_parse_error("expected ',' or ']' after array value", state);
1180
+ }
1181
+ break;
1182
+ }
1183
+ case '{': {
1184
+ const char *object_start_cursor = state->cursor;
1185
+
1186
+ state->cursor++;
1187
+ json_eat_whitespace(state);
1188
+ long stack_head = state->stack->head;
1189
+
1190
+ if ((state->cursor < state->end) && (*state->cursor == '}')) {
1191
+ state->cursor++;
1192
+ return json_push_value(state, config, json_decode_object(state, config, 0));
1193
+ } else {
1194
+ state->current_nesting++;
1195
+ if (RB_UNLIKELY(config->max_nesting && (config->max_nesting < state->current_nesting))) {
1196
+ rb_raise(eNestingError, "nesting of %d is too deep", state->current_nesting);
1197
+ }
1198
+
1199
+ if (*state->cursor != '"') {
1200
+ raise_parse_error("expected object key, got %s", state);
1201
+ }
1202
+ json_parse_string(state, config, true);
1203
+
1204
+ json_eat_whitespace(state);
1205
+ if ((state->cursor >= state->end) || (*state->cursor != ':')) {
1206
+ raise_parse_error("expected ':' after object key", state);
1207
+ }
1208
+ state->cursor++;
1209
+
1210
+ json_parse_any(state, config);
1211
+ }
1212
+
1213
+ while (true) {
1214
+ json_eat_whitespace(state);
1215
+
1216
+ if (state->cursor < state->end) {
1217
+ if (*state->cursor == '}') {
1218
+ state->cursor++;
1219
+ state->current_nesting--;
1220
+ size_t count = state->stack->head - stack_head;
1221
+
1222
+ // Temporary rewind cursor in case an error is raised
1223
+ const char *final_cursor = state->cursor;
1224
+ state->cursor = object_start_cursor;
1225
+ VALUE object = json_decode_object(state, config, count);
1226
+ state->cursor = final_cursor;
1227
+
1228
+ return json_push_value(state, config, object);
1229
+ }
1230
+
1231
+ if (*state->cursor == ',') {
1232
+ state->cursor++;
1233
+ json_eat_whitespace(state);
1234
+
1235
+ if (config->allow_trailing_comma) {
1236
+ if ((state->cursor < state->end) && (*state->cursor == '}')) {
1237
+ continue;
1238
+ }
1239
+ }
1240
+
1241
+ if (*state->cursor != '"') {
1242
+ raise_parse_error("expected object key, got: %s", state);
1243
+ }
1244
+ json_parse_string(state, config, true);
1245
+
1246
+ json_eat_whitespace(state);
1247
+ if ((state->cursor >= state->end) || (*state->cursor != ':')) {
1248
+ raise_parse_error("expected ':' after object key, got: %s", state);
1249
+ }
1250
+ state->cursor++;
1251
+
1252
+ json_parse_any(state, config);
1253
+
1254
+ continue;
1255
+ }
1256
+ }
1257
+
1258
+ raise_parse_error("expected ',' or '}' after object value, got: %s", state);
1259
+ }
1260
+ break;
1261
+ }
1262
+
1263
+ default:
1264
+ raise_parse_error("unexpected character: %s", state);
1265
+ break;
1266
+ }
1267
+
1268
+ raise_parse_error("unreacheable: %s", state);
1269
+ }
1270
+
1271
+ static void json_ensure_eof(JSON_ParserState *state)
1272
+ {
1273
+ json_eat_whitespace(state);
1274
+ if (state->cursor != state->end) {
1275
+ raise_parse_error("unexpected token at end of stream %s", state);
1276
+ }
1277
+ }
1278
+
1279
+ /*
1280
+ * Document-class: JSON::Ext::Parser
1281
+ *
1282
+ * This is the JSON parser implemented as a C extension. It can be configured
1283
+ * to be used by setting
1284
+ *
1285
+ * JSON.parser = JSON::Ext::Parser
1286
+ *
1287
+ * with the method parser= in JSON.
1288
+ *
1289
+ */
1290
+
1291
+ static VALUE convert_encoding(VALUE source)
1292
+ {
1293
+ int encindex = RB_ENCODING_GET(source);
1294
+
1295
+ if (RB_LIKELY(encindex == utf8_encindex)) {
1296
+ return source;
1297
+ }
1298
+
1299
+ if (encindex == binary_encindex) {
1300
+ // For historical reason, we silently reinterpret binary strings as UTF-8
1301
+ return rb_enc_associate_index(rb_str_dup(source), utf8_encindex);
1302
+ }
1303
+
1304
+ return rb_funcall(source, i_encode, 1, Encoding_UTF_8);
1305
+ }
1306
+
1307
+ static int parser_config_init_i(VALUE key, VALUE val, VALUE data)
1308
+ {
1309
+ JSON_ParserConfig *config = (JSON_ParserConfig *)data;
1310
+
1311
+ if (key == sym_max_nesting) { config->max_nesting = RTEST(val) ? FIX2INT(val) : 0; }
1312
+ else if (key == sym_allow_nan) { config->allow_nan = RTEST(val); }
1313
+ else if (key == sym_allow_trailing_comma) { config->allow_trailing_comma = RTEST(val); }
1314
+ else if (key == sym_symbolize_names) { config->symbolize_names = RTEST(val); }
1315
+ else if (key == sym_freeze) { config->freeze = RTEST(val); }
1316
+ else if (key == sym_on_load) { config->on_load_proc = RTEST(val) ? val : Qfalse; }
1317
+ else if (key == sym_allow_duplicate_key) { config->on_duplicate_key = RTEST(val) ? JSON_IGNORE : JSON_RAISE; }
1318
+ else if (key == sym_decimal_class) {
1319
+ if (RTEST(val)) {
1320
+ if (rb_respond_to(val, i_try_convert)) {
1321
+ config->decimal_class = val;
1322
+ config->decimal_method_id = i_try_convert;
1323
+ } else if (rb_respond_to(val, i_new)) {
1324
+ config->decimal_class = val;
1325
+ config->decimal_method_id = i_new;
1326
+ } else if (RB_TYPE_P(val, T_CLASS)) {
1327
+ VALUE name = rb_class_name(val);
1328
+ const char *name_cstr = RSTRING_PTR(name);
1329
+ const char *last_colon = strrchr(name_cstr, ':');
1330
+ if (last_colon) {
1331
+ const char *mod_path_end = last_colon - 1;
1332
+ VALUE mod_path = rb_str_substr(name, 0, mod_path_end - name_cstr);
1333
+ config->decimal_class = rb_path_to_class(mod_path);
1334
+
1335
+ const char *method_name_beg = last_colon + 1;
1336
+ long before_len = method_name_beg - name_cstr;
1337
+ long len = RSTRING_LEN(name) - before_len;
1338
+ VALUE method_name = rb_str_substr(name, before_len, len);
1339
+ config->decimal_method_id = SYM2ID(rb_str_intern(method_name));
1340
+ } else {
1341
+ config->decimal_class = rb_mKernel;
1342
+ config->decimal_method_id = SYM2ID(rb_str_intern(name));
1343
+ }
1344
+ }
1345
+ }
1346
+ }
1347
+
1348
+ return ST_CONTINUE;
1349
+ }
1350
+
1351
+ static void parser_config_init(JSON_ParserConfig *config, VALUE opts)
1352
+ {
1353
+ config->max_nesting = 100;
1354
+
1355
+ if (!NIL_P(opts)) {
1356
+ Check_Type(opts, T_HASH);
1357
+ if (RHASH_SIZE(opts) > 0) {
1358
+ // We assume in most cases few keys are set so it's faster to go over
1359
+ // the provided keys than to check all possible keys.
1360
+ rb_hash_foreach(opts, parser_config_init_i, (VALUE)config);
1361
+ }
1362
+
1363
+ }
1364
+ }
1365
+
1366
+ /*
1367
+ * call-seq: new(opts => {})
1368
+ *
1369
+ * Creates a new JSON::Ext::ParserConfig instance.
1370
+ *
1371
+ * It will be configured by the _opts_ hash. _opts_ can have the following
1372
+ * keys:
1373
+ *
1374
+ * _opts_ can have the following keys:
1375
+ * * *max_nesting*: The maximum depth of nesting allowed in the parsed data
1376
+ * structures. Disable depth checking with :max_nesting => false|nil|0, it
1377
+ * defaults to 100.
1378
+ * * *allow_nan*: If set to true, allow NaN, Infinity and -Infinity in
1379
+ * defiance of RFC 4627 to be parsed by the Parser. This option defaults to
1380
+ * false.
1381
+ * * *symbolize_names*: If set to true, returns symbols for the names
1382
+ * (keys) in a JSON object. Otherwise strings are returned, which is
1383
+ * also the default. It's not possible to use this option in
1384
+ * conjunction with the *create_additions* option.
1385
+ * * *decimal_class*: Specifies which class to use instead of the default
1386
+ * (Float) when parsing decimal numbers. This class must accept a single
1387
+ * string argument in its constructor.
1388
+ */
1389
+ static VALUE cParserConfig_initialize(VALUE self, VALUE opts)
1390
+ {
1391
+ GET_PARSER_CONFIG;
1392
+
1393
+ parser_config_init(config, opts);
1394
+
1395
+ RB_OBJ_WRITTEN(self, Qundef, config->decimal_class);
1396
+
1397
+ return self;
1398
+ }
1399
+
1400
+ static VALUE cParser_parse(JSON_ParserConfig *config, VALUE Vsource)
1401
+ {
1402
+ Vsource = convert_encoding(StringValue(Vsource));
1403
+ StringValue(Vsource);
1404
+
1405
+ VALUE rvalue_stack_buffer[RVALUE_STACK_INITIAL_CAPA];
1406
+ rvalue_stack stack = {
1407
+ .type = RVALUE_STACK_STACK_ALLOCATED,
1408
+ .ptr = rvalue_stack_buffer,
1409
+ .capa = RVALUE_STACK_INITIAL_CAPA,
1410
+ };
1411
+
1412
+ long len;
1413
+ const char *start;
1414
+ RSTRING_GETMEM(Vsource, start, len);
1415
+
1416
+ JSON_ParserState _state = {
1417
+ .start = start,
1418
+ .cursor = start,
1419
+ .end = start + len,
1420
+ .stack = &stack,
1421
+ };
1422
+ JSON_ParserState *state = &_state;
1423
+
1424
+ VALUE result = json_parse_any(state, config);
1425
+
1426
+ // This may be skipped in case of exception, but
1427
+ // it won't cause a leak.
1428
+ rvalue_stack_eagerly_release(state->stack_handle);
1429
+
1430
+ json_ensure_eof(state);
1431
+
1432
+ return result;
1433
+ }
1434
+
1435
+ /*
1436
+ * call-seq: parse(source)
1437
+ *
1438
+ * Parses the current JSON text _source_ and returns the complete data
1439
+ * structure as a result.
1440
+ * It raises JSON::ParserError if fail to parse.
1441
+ */
1442
+ static VALUE cParserConfig_parse(VALUE self, VALUE Vsource)
1443
+ {
1444
+ GET_PARSER_CONFIG;
1445
+ return cParser_parse(config, Vsource);
1446
+ }
1447
+
1448
+ static VALUE cParser_m_parse(VALUE klass, VALUE Vsource, VALUE opts)
1449
+ {
1450
+ Vsource = convert_encoding(StringValue(Vsource));
1451
+ StringValue(Vsource);
1452
+
1453
+ JSON_ParserConfig _config = {0};
1454
+ JSON_ParserConfig *config = &_config;
1455
+ parser_config_init(config, opts);
1456
+
1457
+ return cParser_parse(config, Vsource);
1458
+ }
1459
+
1460
+ static void JSON_ParserConfig_mark(void *ptr)
1461
+ {
1462
+ JSON_ParserConfig *config = ptr;
1463
+ rb_gc_mark(config->on_load_proc);
1464
+ rb_gc_mark(config->decimal_class);
1465
+ }
1466
+
1467
+ static void JSON_ParserConfig_free(void *ptr)
1468
+ {
1469
+ JSON_ParserConfig *config = ptr;
1470
+ ruby_xfree(config);
1471
+ }
1472
+
1473
+ static size_t JSON_ParserConfig_memsize(const void *ptr)
1474
+ {
1475
+ return sizeof(JSON_ParserConfig);
1476
+ }
1477
+
1478
+ static const rb_data_type_t JSON_ParserConfig_type = {
1479
+ "JSON::Ext::Parser/ParserConfig",
1480
+ {
1481
+ JSON_ParserConfig_mark,
1482
+ JSON_ParserConfig_free,
1483
+ JSON_ParserConfig_memsize,
1484
+ },
1485
+ 0, 0,
1486
+ RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED,
1487
+ };
1488
+
1489
+ static VALUE cJSON_parser_s_allocate(VALUE klass)
1490
+ {
1491
+ JSON_ParserConfig *config;
1492
+ return TypedData_Make_Struct(klass, JSON_ParserConfig, &JSON_ParserConfig_type, config);
1493
+ }
1494
+
1495
+ void Init_parser(void)
1496
+ {
1497
+ #ifdef HAVE_RB_EXT_RACTOR_SAFE
1498
+ rb_ext_ractor_safe(true);
1499
+ #endif
1500
+
1501
+ #undef rb_intern
1502
+ rb_require("json/common");
1503
+ mJSON = rb_define_module("JSON");
1504
+ VALUE mExt = rb_define_module_under(mJSON, "Ext");
1505
+ VALUE cParserConfig = rb_define_class_under(mExt, "ParserConfig", rb_cObject);
1506
+ eNestingError = rb_path2class("JSON::NestingError");
1507
+ rb_gc_register_mark_object(eNestingError);
1508
+ rb_define_alloc_func(cParserConfig, cJSON_parser_s_allocate);
1509
+ rb_define_method(cParserConfig, "initialize", cParserConfig_initialize, 1);
1510
+ rb_define_method(cParserConfig, "parse", cParserConfig_parse, 1);
1511
+
1512
+ VALUE cParser = rb_define_class_under(mExt, "Parser", rb_cObject);
1513
+ rb_define_singleton_method(cParser, "parse", cParser_m_parse, 2);
1514
+
1515
+ CNaN = rb_const_get(mJSON, rb_intern("NaN"));
1516
+ rb_gc_register_mark_object(CNaN);
1517
+
1518
+ CInfinity = rb_const_get(mJSON, rb_intern("Infinity"));
1519
+ rb_gc_register_mark_object(CInfinity);
1520
+
1521
+ CMinusInfinity = rb_const_get(mJSON, rb_intern("MinusInfinity"));
1522
+ rb_gc_register_mark_object(CMinusInfinity);
1523
+
1524
+ rb_global_variable(&Encoding_UTF_8);
1525
+ Encoding_UTF_8 = rb_const_get(rb_path2class("Encoding"), rb_intern("UTF_8"));
1526
+
1527
+ sym_max_nesting = ID2SYM(rb_intern("max_nesting"));
1528
+ sym_allow_nan = ID2SYM(rb_intern("allow_nan"));
1529
+ sym_allow_trailing_comma = ID2SYM(rb_intern("allow_trailing_comma"));
1530
+ sym_symbolize_names = ID2SYM(rb_intern("symbolize_names"));
1531
+ sym_freeze = ID2SYM(rb_intern("freeze"));
1532
+ sym_on_load = ID2SYM(rb_intern("on_load"));
1533
+ sym_decimal_class = ID2SYM(rb_intern("decimal_class"));
1534
+ sym_allow_duplicate_key = ID2SYM(rb_intern("allow_duplicate_key"));
1535
+
1536
+ i_chr = rb_intern("chr");
1537
+ i_aset = rb_intern("[]=");
1538
+ i_aref = rb_intern("[]");
1539
+ i_leftshift = rb_intern("<<");
1540
+ i_new = rb_intern("new");
1541
+ i_try_convert = rb_intern("try_convert");
1542
+ i_uminus = rb_intern("-@");
1543
+ i_encode = rb_intern("encode");
1544
+
1545
+ binary_encindex = rb_ascii8bit_encindex();
1546
+ utf8_encindex = rb_utf8_encindex();
1547
+ enc_utf8 = rb_utf8_encoding();
1548
+
1549
+ #ifdef HAVE_SIMD
1550
+ simd_impl = find_simd_implementation();
1551
+ #endif
1552
+ }