ruby_snowflake_client 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2097) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +11 -0
  3. data/.github/workflows/ci.yml +42 -0
  4. data/.github/workflows/release.yml +30 -0
  5. data/.gitignore +10 -0
  6. data/Gemfile +12 -0
  7. data/Gemfile.lock +43 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +130 -0
  10. data/Rakefile +3 -0
  11. data/ext/c-decl.go +54 -0
  12. data/ext/extconf.rb +21 -0
  13. data/ext/go.mod +60 -0
  14. data/ext/go.sum +173 -0
  15. data/ext/result.go +181 -0
  16. data/ext/ruby_snowflake.go +179 -0
  17. data/ext/vendor/github.com/99designs/go-keychain/.gitignore +24 -0
  18. data/ext/vendor/github.com/99designs/go-keychain/.golangci.yml +11 -0
  19. data/ext/vendor/github.com/99designs/go-keychain/.travis.yml +20 -0
  20. data/ext/vendor/github.com/99designs/go-keychain/LICENSE +22 -0
  21. data/ext/vendor/github.com/99designs/go-keychain/README.md +159 -0
  22. data/ext/vendor/github.com/99designs/go-keychain/corefoundation.go +359 -0
  23. data/ext/vendor/github.com/99designs/go-keychain/datetime.go +68 -0
  24. data/ext/vendor/github.com/99designs/go-keychain/ios.go +22 -0
  25. data/ext/vendor/github.com/99designs/go-keychain/keychain.go +531 -0
  26. data/ext/vendor/github.com/99designs/go-keychain/macos.go +272 -0
  27. data/ext/vendor/github.com/99designs/go-keychain/util.go +31 -0
  28. data/ext/vendor/github.com/99designs/keyring/.gitattributes +1 -0
  29. data/ext/vendor/github.com/99designs/keyring/.gitignore +1 -0
  30. data/ext/vendor/github.com/99designs/keyring/.golangci.yml +39 -0
  31. data/ext/vendor/github.com/99designs/keyring/LICENSE +22 -0
  32. data/ext/vendor/github.com/99designs/keyring/README.md +67 -0
  33. data/ext/vendor/github.com/99designs/keyring/Vagrantfile +85 -0
  34. data/ext/vendor/github.com/99designs/keyring/array.go +54 -0
  35. data/ext/vendor/github.com/99designs/keyring/config.go +58 -0
  36. data/ext/vendor/github.com/99designs/keyring/docker-compose.yml +7 -0
  37. data/ext/vendor/github.com/99designs/keyring/file.go +181 -0
  38. data/ext/vendor/github.com/99designs/keyring/keychain.go +296 -0
  39. data/ext/vendor/github.com/99designs/keyring/keyctl.go +327 -0
  40. data/ext/vendor/github.com/99designs/keyring/keyring.go +134 -0
  41. data/ext/vendor/github.com/99designs/keyring/kwallet.go +237 -0
  42. data/ext/vendor/github.com/99designs/keyring/pass.go +166 -0
  43. data/ext/vendor/github.com/99designs/keyring/prompt.go +27 -0
  44. data/ext/vendor/github.com/99designs/keyring/secretservice.go +293 -0
  45. data/ext/vendor/github.com/99designs/keyring/tilde.go +22 -0
  46. data/ext/vendor/github.com/99designs/keyring/wincred.go +98 -0
  47. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md +537 -0
  48. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/LICENSE.txt +21 -0
  49. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/README.md +39 -0
  50. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/ci.yml +29 -0
  51. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/cloud.go +44 -0
  52. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/cloud/doc.go +53 -0
  53. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/core.go +113 -0
  54. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/doc.go +257 -0
  55. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/errors.go +14 -0
  56. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/etag.go +48 -0
  57. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/exported.go +83 -0
  58. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/pipeline.go +97 -0
  59. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/request.go +182 -0
  60. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/exported/response_error.go +142 -0
  61. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/log/log.go +38 -0
  62. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go +158 -0
  63. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go +134 -0
  64. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go +118 -0
  65. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go +144 -0
  66. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/poller.go +24 -0
  67. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go +317 -0
  68. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go +35 -0
  69. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/shared.go +159 -0
  70. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/doc.go +10 -0
  71. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/log/log.go +50 -0
  72. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/doc.go +10 -0
  73. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/policy/policy.go +155 -0
  74. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/doc.go +10 -0
  75. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/errors.go +19 -0
  76. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go +77 -0
  77. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pipeline.go +66 -0
  78. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_api_version.go +75 -0
  79. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_bearer_token.go +116 -0
  80. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_body_download.go +73 -0
  81. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_http_header.go +39 -0
  82. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_include_response.go +34 -0
  83. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_logging.go +263 -0
  84. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_request_id.go +34 -0
  85. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_retry.go +251 -0
  86. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/policy_telemetry.go +79 -0
  87. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/poller.go +326 -0
  88. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go +248 -0
  89. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/response.go +136 -0
  90. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/transport_default_http_client.go +37 -0
  91. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/doc.go +9 -0
  92. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming/progress.go +75 -0
  93. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/to/doc.go +9 -0
  94. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/to/to.go +21 -0
  95. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/constants.go +41 -0
  96. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing/tracing.go +168 -0
  97. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/LICENSE.txt +21 -0
  98. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/diag/diag.go +51 -0
  99. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/diag/doc.go +7 -0
  100. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo/doc.go +7 -0
  101. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo/errorinfo.go +16 -0
  102. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/log/doc.go +7 -0
  103. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/log/log.go +104 -0
  104. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/temporal/resource.go +123 -0
  105. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/uuid/doc.go +7 -0
  106. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/internal/uuid/uuid.go +76 -0
  107. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/CHANGELOG.md +167 -0
  108. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/LICENSE.txt +21 -0
  109. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/README.md +274 -0
  110. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/client.go +352 -0
  111. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/models.go +176 -0
  112. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/appendblob/responses.go +26 -0
  113. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/assets.json +6 -0
  114. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/client.go +446 -0
  115. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/constants.go +229 -0
  116. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/models.go +567 -0
  117. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/responses.go +116 -0
  118. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/retry_reader.go +192 -0
  119. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blob/utils.go +79 -0
  120. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/bloberror/error_codes.go +156 -0
  121. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/chunkwriting.go +313 -0
  122. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/client.go +532 -0
  123. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/constants.go +39 -0
  124. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/mmf_unix.go +38 -0
  125. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/mmf_windows.go +54 -0
  126. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/models.go +348 -0
  127. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/blockblob/responses.go +114 -0
  128. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/ci.yml +28 -0
  129. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/client.go +176 -0
  130. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/common.go +36 -0
  131. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/constants.go +37 -0
  132. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/client.go +331 -0
  133. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/constants.go +150 -0
  134. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/models.go +331 -0
  135. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/container/responses.go +44 -0
  136. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/doc.go +213 -0
  137. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/base/clients.go +89 -0
  138. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/access_conditions.go +43 -0
  139. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/access_policy.go +67 -0
  140. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/exported.go +33 -0
  141. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/log_events.go +14 -0
  142. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/set_expiry.go +71 -0
  143. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/shared_key_credential.go +218 -0
  144. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/transfer_validation_option.go +67 -0
  145. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/user_delegation_credential.go +64 -0
  146. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/exported/version.go +12 -0
  147. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/appendblob_client.go +19 -0
  148. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/autorest.md +387 -0
  149. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/blob_client.go +17 -0
  150. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/block_blob_client.go +19 -0
  151. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/build.go +10 -0
  152. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/container_client.go +17 -0
  153. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/models.go +65 -0
  154. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/pageblob_client.go +17 -0
  155. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/service_client.go +17 -0
  156. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_appendblob_client.go +659 -0
  157. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blob_client.go +2879 -0
  158. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_blockblob_client.go +972 -0
  159. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_constants.go +714 -0
  160. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_container_client.go +1478 -0
  161. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models.go +1733 -0
  162. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_models_serde.go +481 -0
  163. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_pageblob_client.go +1297 -0
  164. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_response_types.go +1972 -0
  165. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_service_client.go +558 -0
  166. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc1123.go +43 -0
  167. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_time_rfc3339.go +59 -0
  168. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/generated/zz_xml_helper.go +41 -0
  169. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/batch_transfer.go +77 -0
  170. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/bytes_writer.go +30 -0
  171. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/section_writer.go +53 -0
  172. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared/shared.go +243 -0
  173. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/log.go +11 -0
  174. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/migrationguide.md +76 -0
  175. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/models.go +69 -0
  176. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/client.go +433 -0
  177. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/constants.go +65 -0
  178. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/models.go +330 -0
  179. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob/responses.go +38 -0
  180. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/responses.go +51 -0
  181. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/account.go +202 -0
  182. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/query_params.go +440 -0
  183. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/service.go +448 -0
  184. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas/url_parts.go +166 -0
  185. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/client.go +282 -0
  186. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/constants.go +92 -0
  187. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/models.go +301 -0
  188. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service/responses.go +44 -0
  189. data/ext/vendor/github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/test-resources.json +579 -0
  190. data/ext/vendor/github.com/andybalholm/brotli/LICENSE +19 -0
  191. data/ext/vendor/github.com/andybalholm/brotli/README.md +7 -0
  192. data/ext/vendor/github.com/andybalholm/brotli/backward_references.go +185 -0
  193. data/ext/vendor/github.com/andybalholm/brotli/backward_references_hq.go +796 -0
  194. data/ext/vendor/github.com/andybalholm/brotli/bit_cost.go +436 -0
  195. data/ext/vendor/github.com/andybalholm/brotli/bit_reader.go +266 -0
  196. data/ext/vendor/github.com/andybalholm/brotli/block_splitter.go +144 -0
  197. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_command.go +434 -0
  198. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_distance.go +433 -0
  199. data/ext/vendor/github.com/andybalholm/brotli/block_splitter_literal.go +433 -0
  200. data/ext/vendor/github.com/andybalholm/brotli/brotli_bit_stream.go +1300 -0
  201. data/ext/vendor/github.com/andybalholm/brotli/cluster.go +30 -0
  202. data/ext/vendor/github.com/andybalholm/brotli/cluster_command.go +164 -0
  203. data/ext/vendor/github.com/andybalholm/brotli/cluster_distance.go +326 -0
  204. data/ext/vendor/github.com/andybalholm/brotli/cluster_literal.go +326 -0
  205. data/ext/vendor/github.com/andybalholm/brotli/command.go +254 -0
  206. data/ext/vendor/github.com/andybalholm/brotli/compress_fragment.go +834 -0
  207. data/ext/vendor/github.com/andybalholm/brotli/compress_fragment_two_pass.go +748 -0
  208. data/ext/vendor/github.com/andybalholm/brotli/constants.go +77 -0
  209. data/ext/vendor/github.com/andybalholm/brotli/context.go +2176 -0
  210. data/ext/vendor/github.com/andybalholm/brotli/decode.go +2586 -0
  211. data/ext/vendor/github.com/andybalholm/brotli/dictionary.go +122890 -0
  212. data/ext/vendor/github.com/andybalholm/brotli/dictionary_hash.go +32779 -0
  213. data/ext/vendor/github.com/andybalholm/brotli/encode.go +1220 -0
  214. data/ext/vendor/github.com/andybalholm/brotli/encoder_dict.go +22 -0
  215. data/ext/vendor/github.com/andybalholm/brotli/entropy_encode.go +592 -0
  216. data/ext/vendor/github.com/andybalholm/brotli/entropy_encode_static.go +4394 -0
  217. data/ext/vendor/github.com/andybalholm/brotli/fast_log.go +290 -0
  218. data/ext/vendor/github.com/andybalholm/brotli/find_match_length.go +45 -0
  219. data/ext/vendor/github.com/andybalholm/brotli/h10.go +287 -0
  220. data/ext/vendor/github.com/andybalholm/brotli/h5.go +214 -0
  221. data/ext/vendor/github.com/andybalholm/brotli/h6.go +216 -0
  222. data/ext/vendor/github.com/andybalholm/brotli/hash.go +342 -0
  223. data/ext/vendor/github.com/andybalholm/brotli/hash_composite.go +93 -0
  224. data/ext/vendor/github.com/andybalholm/brotli/hash_forgetful_chain.go +252 -0
  225. data/ext/vendor/github.com/andybalholm/brotli/hash_longest_match_quickly.go +214 -0
  226. data/ext/vendor/github.com/andybalholm/brotli/hash_rolling.go +168 -0
  227. data/ext/vendor/github.com/andybalholm/brotli/histogram.go +226 -0
  228. data/ext/vendor/github.com/andybalholm/brotli/http.go +192 -0
  229. data/ext/vendor/github.com/andybalholm/brotli/huffman.go +653 -0
  230. data/ext/vendor/github.com/andybalholm/brotli/literal_cost.go +182 -0
  231. data/ext/vendor/github.com/andybalholm/brotli/memory.go +66 -0
  232. data/ext/vendor/github.com/andybalholm/brotli/metablock.go +574 -0
  233. data/ext/vendor/github.com/andybalholm/brotli/metablock_command.go +165 -0
  234. data/ext/vendor/github.com/andybalholm/brotli/metablock_distance.go +165 -0
  235. data/ext/vendor/github.com/andybalholm/brotli/metablock_literal.go +165 -0
  236. data/ext/vendor/github.com/andybalholm/brotli/params.go +37 -0
  237. data/ext/vendor/github.com/andybalholm/brotli/platform.go +103 -0
  238. data/ext/vendor/github.com/andybalholm/brotli/prefix.go +30 -0
  239. data/ext/vendor/github.com/andybalholm/brotli/prefix_dec.go +723 -0
  240. data/ext/vendor/github.com/andybalholm/brotli/quality.go +196 -0
  241. data/ext/vendor/github.com/andybalholm/brotli/reader.go +102 -0
  242. data/ext/vendor/github.com/andybalholm/brotli/ringbuffer.go +134 -0
  243. data/ext/vendor/github.com/andybalholm/brotli/state.go +295 -0
  244. data/ext/vendor/github.com/andybalholm/brotli/static_dict.go +662 -0
  245. data/ext/vendor/github.com/andybalholm/brotli/static_dict_lut.go +75094 -0
  246. data/ext/vendor/github.com/andybalholm/brotli/symbol_list.go +22 -0
  247. data/ext/vendor/github.com/andybalholm/brotli/transform.go +641 -0
  248. data/ext/vendor/github.com/andybalholm/brotli/utf8_util.go +70 -0
  249. data/ext/vendor/github.com/andybalholm/brotli/util.go +7 -0
  250. data/ext/vendor/github.com/andybalholm/brotli/write_bits.go +52 -0
  251. data/ext/vendor/github.com/andybalholm/brotli/writer.go +119 -0
  252. data/ext/vendor/github.com/apache/arrow/go/v10/LICENSE.txt +1873 -0
  253. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/.editorconfig +21 -0
  254. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/.gitignore +35 -0
  255. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Gopkg.lock +44 -0
  256. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Gopkg.toml +23 -0
  257. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/Makefile +54 -0
  258. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/array.go +184 -0
  259. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/binary.go +308 -0
  260. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/binarybuilder.go +335 -0
  261. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/boolean.go +117 -0
  262. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/booleanbuilder.go +234 -0
  263. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder.go +143 -0
  264. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_byte.go +30 -0
  265. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_numeric.gen.go +124 -0
  266. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/bufferbuilder_numeric.gen.go.tmpl +61 -0
  267. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/builder.go +337 -0
  268. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/compare.go +728 -0
  269. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/concat.go +567 -0
  270. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/data.go +250 -0
  271. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/decimal128.go +334 -0
  272. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/decimal256.go +333 -0
  273. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/dictionary.go +1666 -0
  274. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/doc.go +20 -0
  275. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/extension.go +256 -0
  276. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixed_size_list.go +337 -0
  277. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixedsize_binary.go +116 -0
  278. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/fixedsize_binarybuilder.go +229 -0
  279. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/float16.go +107 -0
  280. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/float16_builder.go +237 -0
  281. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/interval.go +847 -0
  282. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/json_reader.go +205 -0
  283. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/list.go +589 -0
  284. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/map.go +304 -0
  285. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/null.go +198 -0
  286. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numeric.gen.go +1406 -0
  287. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numeric.gen.go.tmpl +136 -0
  288. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen.go +3429 -0
  289. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen.go.tmpl +371 -0
  290. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/numericbuilder.gen_test.go.tmpl +216 -0
  291. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/record.go +383 -0
  292. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/string.go +498 -0
  293. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/struct.go +442 -0
  294. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/table.go +337 -0
  295. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/union.go +1308 -0
  296. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array/util.go +492 -0
  297. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/array.go +122 -0
  298. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/arrio/arrio.go +92 -0
  299. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/Makefile +62 -0
  300. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops.go +63 -0
  301. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_amd64.go +35 -0
  302. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_arm64.go +25 -0
  303. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_avx2_amd64.go +38 -0
  304. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_avx2_amd64.s +192 -0
  305. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_noasm.go +25 -0
  306. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_ppc64le.go +25 -0
  307. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_s390x.go +25 -0
  308. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_sse4_amd64.go +38 -0
  309. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmap_ops_sse4_amd64.s +256 -0
  310. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitmaps.go +586 -0
  311. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/bitutil.go +220 -0
  312. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/endian_default.go +33 -0
  313. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/bitutil/endian_s390x.go +32 -0
  314. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/compare.go +127 -0
  315. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype.go +376 -0
  316. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_binary.go +98 -0
  317. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_extension.go +173 -0
  318. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_fixedwidth.go +786 -0
  319. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_nested.go +732 -0
  320. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_null.go +33 -0
  321. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go +206 -0
  322. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go.tmpl +45 -0
  323. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/datatype_numeric.gen.go.tmpldata +66 -0
  324. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/decimal128/decimal128.go +445 -0
  325. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/decimal256/decimal256.go +545 -0
  326. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/doc.go +43 -0
  327. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/big.go +30 -0
  328. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/endian.go +41 -0
  329. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/endian/little.go +30 -0
  330. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/errors.go +27 -0
  331. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/float16/float16.go +70 -0
  332. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/assert_off.go +24 -0
  333. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/assert_on.go +28 -0
  334. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/doc.go +32 -0
  335. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/log_off.go +21 -0
  336. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/log_on.go +32 -0
  337. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/debug/util.go +37 -0
  338. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/dictutils/dict.go +406 -0
  339. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Binary.go +51 -0
  340. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Block.go +74 -0
  341. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/BodyCompression.go +89 -0
  342. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/BodyCompressionMethod.go +52 -0
  343. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Bool.go +50 -0
  344. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Buffer.go +73 -0
  345. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/CompressionType.go +45 -0
  346. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Date.go +71 -0
  347. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DateUnit.go +45 -0
  348. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Decimal.go +107 -0
  349. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryBatch.go +108 -0
  350. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryEncoding.go +135 -0
  351. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/DictionaryKind.go +47 -0
  352. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Duration.go +65 -0
  353. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Endianness.go +47 -0
  354. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Feature.go +71 -0
  355. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Field.go +188 -0
  356. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FieldNode.go +76 -0
  357. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FixedSizeBinary.go +67 -0
  358. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FixedSizeList.go +67 -0
  359. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/FloatingPoint.go +65 -0
  360. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Footer.go +162 -0
  361. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Int.go +80 -0
  362. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Interval.go +65 -0
  363. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/IntervalUnit.go +48 -0
  364. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/KeyValue.go +75 -0
  365. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeBinary.go +52 -0
  366. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeList.go +52 -0
  367. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/LargeUtf8.go +52 -0
  368. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/List.go +50 -0
  369. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Map.go +92 -0
  370. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Message.go +133 -0
  371. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/MessageHeader.go +65 -0
  372. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/MetadataVersion.go +65 -0
  373. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Null.go +51 -0
  374. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Precision.go +48 -0
  375. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/RecordBatch.go +154 -0
  376. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Schema.go +159 -0
  377. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixCompressedAxis.go +45 -0
  378. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixIndexCSR.go +181 -0
  379. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseMatrixIndexCSX.go +200 -0
  380. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensor.go +175 -0
  381. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndex.go +51 -0
  382. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndexCOO.go +179 -0
  383. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/SparseTensorIndexCSF.go +291 -0
  384. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Struct_.go +53 -0
  385. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Tensor.go +163 -0
  386. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/TensorDim.go +83 -0
  387. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Time.go +94 -0
  388. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/TimeUnit.go +51 -0
  389. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Timestamp.go +201 -0
  390. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Type.go +108 -0
  391. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Union.go +101 -0
  392. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/UnionMode.go +45 -0
  393. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/flatbuf/Utf8.go +51 -0
  394. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/internal/utils.go +47 -0
  395. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/compression.go +120 -0
  396. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/endian_swap.go +162 -0
  397. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/file_reader.go +728 -0
  398. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/file_writer.go +392 -0
  399. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/ipc.go +178 -0
  400. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/message.go +242 -0
  401. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/metadata.go +1237 -0
  402. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/reader.go +284 -0
  403. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/ipc/writer.go +892 -0
  404. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/Makefile +66 -0
  405. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/allocator.go +33 -0
  406. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/buffer.go +145 -0
  407. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator.go +108 -0
  408. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator_defaults.go +23 -0
  409. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/cgo_allocator_logging.go +23 -0
  410. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/checked_allocator.go +157 -0
  411. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/doc.go +20 -0
  412. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/go_allocator.go +48 -0
  413. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.cc +71 -0
  414. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.go +107 -0
  415. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/allocator.h +39 -0
  416. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/internal/cgoalloc/helpers.h +52 -0
  417. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory.go +33 -0
  418. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_amd64.go +33 -0
  419. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_arm64.go +31 -0
  420. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_avx2_amd64.go +41 -0
  421. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_avx2_amd64.s +85 -0
  422. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_js_wasm.go +23 -0
  423. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_neon_arm64.go +31 -0
  424. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_neon_arm64.s +43 -0
  425. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_noasm.go +23 -0
  426. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_sse4_amd64.go +31 -0
  427. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/memory_sse4_amd64.s +84 -0
  428. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/memory/util.go +37 -0
  429. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/numeric.schema.json +15 -0
  430. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/numeric.tmpldata +147 -0
  431. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/record.go +48 -0
  432. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/schema.go +266 -0
  433. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/table.go +189 -0
  434. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/tools.go +25 -0
  435. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_string.go +61 -0
  436. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_boolean.go +28 -0
  437. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_decimal128.go +75 -0
  438. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_decimal256.go +70 -0
  439. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_float16.go +74 -0
  440. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_interval.go +184 -0
  441. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen.go +814 -0
  442. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen.go.tmpl +95 -0
  443. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/type_traits_numeric.gen_test.go.tmpl +61 -0
  444. data/ext/vendor/github.com/apache/arrow/go/v10/arrow/unionmode_string.go +25 -0
  445. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_block_counter.go +417 -0
  446. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_run_reader.go +151 -0
  447. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bit_set_run_reader.go +346 -0
  448. data/ext/vendor/github.com/apache/arrow/go/v10/internal/bitutils/bitmap_generate.go +107 -0
  449. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/types.tmpldata +42 -0
  450. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.gen.go +2783 -0
  451. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.gen.go.tmpl +343 -0
  452. data/ext/vendor/github.com/apache/arrow/go/v10/internal/hashing/xxh3_memo_table.go +465 -0
  453. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/Makefile +80 -0
  454. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/buf_reader.go +212 -0
  455. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/endians_default.go +31 -0
  456. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/endians_s390x.go +33 -0
  457. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/math.go +49 -0
  458. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max.go +212 -0
  459. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_amd64.go +56 -0
  460. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_arm64.go +66 -0
  461. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_avx2_amd64.go +91 -0
  462. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_avx2_amd64.s +927 -0
  463. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_neon_arm64.go +56 -0
  464. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_neon_arm64.s +324 -0
  465. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_noasm.go +32 -0
  466. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_ppc64le.go +31 -0
  467. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_s390x.go +31 -0
  468. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_sse4_amd64.go +89 -0
  469. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/min_max_sse4_amd64.s +1044 -0
  470. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.go +407 -0
  471. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.go.tmpl +34 -0
  472. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints.tmpldata +34 -0
  473. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_amd64.go +326 -0
  474. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_amd64.go.tmpl +75 -0
  475. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_arm64.go +97 -0
  476. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_avx2_amd64.go +474 -0
  477. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_avx2_amd64.s +3074 -0
  478. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_def.go +227 -0
  479. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_noasm.go +97 -0
  480. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_noasm.go.tmpl +34 -0
  481. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_ppc64le.go +97 -0
  482. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_s390x.go +97 -0
  483. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_s390x.go.tmpl +34 -0
  484. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_simd.go.tmpl +42 -0
  485. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_sse4_amd64.go +474 -0
  486. data/ext/vendor/github.com/apache/arrow/go/v10/internal/utils/transpose_ints_sse4_amd64.s +3074 -0
  487. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/.gitignore +31 -0
  488. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/brotli.go +115 -0
  489. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/compress.go +156 -0
  490. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/gzip.go +98 -0
  491. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/snappy.go +62 -0
  492. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/compress/zstd.go +112 -0
  493. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/doc.go +67 -0
  494. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/encryption_properties.go +711 -0
  495. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/assert_off.go +24 -0
  496. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/assert_on.go +28 -0
  497. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/doc.go +23 -0
  498. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/log_off.go +24 -0
  499. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/debug/log_on.go +32 -0
  500. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/GoUnusedProtection__.go +6 -0
  501. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/parquet-consts.go +23 -0
  502. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/parquet.go +10967 -0
  503. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/internal/gen-go/parquet/staticcheck.conf +17 -0
  504. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/reader_properties.go +88 -0
  505. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/tools.go +26 -0
  506. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/types.go +391 -0
  507. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/version_string.go +25 -0
  508. data/ext/vendor/github.com/apache/arrow/go/v10/parquet/writer_properties.go +533 -0
  509. data/ext/vendor/github.com/apache/thrift/LICENSE +306 -0
  510. data/ext/vendor/github.com/apache/thrift/NOTICE +5 -0
  511. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/application_exception.go +183 -0
  512. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/binary_protocol.go +548 -0
  513. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/buf_pool.go +52 -0
  514. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/buffered_transport.go +99 -0
  515. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/client.go +109 -0
  516. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/compact_protocol.go +846 -0
  517. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/configuration.go +378 -0
  518. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/context.go +24 -0
  519. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/debug_protocol.go +447 -0
  520. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/deserializer.go +121 -0
  521. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/exception.go +116 -0
  522. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/framed_transport.go +250 -0
  523. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_context.go +110 -0
  524. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_protocol.go +351 -0
  525. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/header_transport.go +816 -0
  526. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/http_client.go +256 -0
  527. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/http_transport.go +74 -0
  528. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/iostream_transport.go +222 -0
  529. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/json_protocol.go +564 -0
  530. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/logger.go +69 -0
  531. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/memory_buffer.go +80 -0
  532. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/messagetype.go +31 -0
  533. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/middleware.go +109 -0
  534. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/multiplexed_protocol.go +237 -0
  535. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/numeric.go +164 -0
  536. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/pointerize.go +52 -0
  537. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/processor_factory.go +80 -0
  538. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol.go +184 -0
  539. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol_exception.go +104 -0
  540. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/protocol_factory.go +25 -0
  541. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/response_helper.go +94 -0
  542. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/rich_transport.go +71 -0
  543. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/serializer.go +136 -0
  544. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server.go +35 -0
  545. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server_socket.go +137 -0
  546. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/server_transport.go +34 -0
  547. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/simple_json_protocol.go +1334 -0
  548. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/simple_server.go +336 -0
  549. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket.go +241 -0
  550. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_conn.go +124 -0
  551. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_non_unix_conn.go +35 -0
  552. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/socket_unix_conn.go +84 -0
  553. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/ssl_server_socket.go +112 -0
  554. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/ssl_socket.go +262 -0
  555. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/staticcheck.conf +4 -0
  556. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport.go +70 -0
  557. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport_exception.go +131 -0
  558. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/transport_factory.go +39 -0
  559. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/type.go +69 -0
  560. data/ext/vendor/github.com/apache/thrift/lib/go/thrift/zlib_transport.go +137 -0
  561. data/ext/vendor/github.com/aws/aws-sdk-go-v2/LICENSE.txt +202 -0
  562. data/ext/vendor/github.com/aws/aws-sdk-go-v2/NOTICE.txt +3 -0
  563. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/arn/arn.go +92 -0
  564. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go +179 -0
  565. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/context.go +22 -0
  566. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go +218 -0
  567. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go +131 -0
  568. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/auto.go +38 -0
  569. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/configuration.go +43 -0
  570. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/defaults.go +50 -0
  571. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaults/doc.go +2 -0
  572. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/defaultsmode.go +95 -0
  573. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/doc.go +62 -0
  574. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go +229 -0
  575. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/errors.go +9 -0
  576. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/from_ptr.go +365 -0
  577. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +6 -0
  578. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging.go +119 -0
  579. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/logging_generate.go +95 -0
  580. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go +180 -0
  581. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/middleware.go +168 -0
  582. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname.go +24 -0
  583. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/osname_go115.go +24 -0
  584. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id.go +27 -0
  585. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go +49 -0
  586. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go +243 -0
  587. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md +54 -0
  588. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/LICENSE.txt +202 -0
  589. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/debug.go +144 -0
  590. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/decode.go +218 -0
  591. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/encode.go +167 -0
  592. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/error.go +23 -0
  593. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/headers.go +24 -0
  594. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/middleware.go +71 -0
  595. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/transport.go +13 -0
  596. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi/transport_go117.go +12 -0
  597. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go +6 -0
  598. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/header.go +175 -0
  599. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/header_value.go +521 -0
  600. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/message.go +117 -0
  601. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/xml/error_utils.go +56 -0
  602. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_bucket.go +96 -0
  603. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/ratelimit/token_rate_limit.go +87 -0
  604. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/request.go +25 -0
  605. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive.go +156 -0
  606. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_ratelimit.go +158 -0
  607. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/adaptive_token_bucket.go +83 -0
  608. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/doc.go +80 -0
  609. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/errors.go +20 -0
  610. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/jitter_backoff.go +49 -0
  611. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/metadata.go +52 -0
  612. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go +331 -0
  613. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retry.go +90 -0
  614. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go +186 -0
  615. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/standard.go +258 -0
  616. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/throttle_error.go +60 -0
  617. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/timeout_error.go +52 -0
  618. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/retryer.go +127 -0
  619. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/runtime.go +14 -0
  620. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/cache.go +115 -0
  621. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/const.go +40 -0
  622. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/header_rules.go +82 -0
  623. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go +68 -0
  624. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/hmac.go +13 -0
  625. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/host.go +75 -0
  626. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/scope.go +13 -0
  627. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/time.go +36 -0
  628. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/util.go +80 -0
  629. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go +400 -0
  630. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/presign_middleware.go +127 -0
  631. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go +86 -0
  632. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go +548 -0
  633. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/to_ptr.go +297 -0
  634. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go +310 -0
  635. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/content_type.go +42 -0
  636. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error.go +33 -0
  637. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/response_error_middleware.go +54 -0
  638. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/timeout_read_closer.go +104 -0
  639. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/types.go +42 -0
  640. data/ext/vendor/github.com/aws/aws-sdk-go-v2/aws/version.go +8 -0
  641. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md +197 -0
  642. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/LICENSE.txt +202 -0
  643. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/doc.go +4 -0
  644. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go +6 -0
  645. data/ext/vendor/github.com/aws/aws-sdk-go-v2/credentials/static_provider.go +53 -0
  646. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md +249 -0
  647. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/LICENSE.txt +202 -0
  648. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/api.go +37 -0
  649. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/arn.go +23 -0
  650. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/bucket_region.go +139 -0
  651. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/buffered_read_seeker.go +79 -0
  652. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_read_seeker_write_to.go +8 -0
  653. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_read_seeker_write_to_windows.go +5 -0
  654. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_writer_read_from.go +8 -0
  655. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/default_writer_read_from_windows.go +5 -0
  656. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/doc.go +3 -0
  657. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/download.go +525 -0
  658. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go +6 -0
  659. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/pool.go +251 -0
  660. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/read_seeker_write_to.go +65 -0
  661. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/types.go +187 -0
  662. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/upload.go +808 -0
  663. data/ext/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/writer_read_from.go +83 -0
  664. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/copy.go +112 -0
  665. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/equal.go +33 -0
  666. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/path_value.go +225 -0
  667. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/prettify.go +131 -0
  668. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/awsutil/string_value.go +88 -0
  669. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +130 -0
  670. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/LICENSE.txt +202 -0
  671. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/config.go +65 -0
  672. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +6 -0
  673. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +103 -0
  674. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/LICENSE.txt +202 -0
  675. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/endpoints.go +302 -0
  676. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +6 -0
  677. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/rand/rand.go +33 -0
  678. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/interfaces.go +9 -0
  679. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdk/time.go +74 -0
  680. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sdkio/byte.go +12 -0
  681. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/strings/strings.go +11 -0
  682. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/LICENSE +28 -0
  683. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/docs.go +7 -0
  684. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/sync/singleflight/singleflight.go +210 -0
  685. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/timeconv/duration.go +13 -0
  686. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +61 -0
  687. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/LICENSE.txt +202 -0
  688. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/credentials.go +141 -0
  689. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/error.go +17 -0
  690. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +6 -0
  691. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto/compare.go +30 -0
  692. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto/ecc.go +113 -0
  693. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/const.go +36 -0
  694. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/header_rules.go +82 -0
  695. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/headers.go +67 -0
  696. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/hmac.go +13 -0
  697. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/host.go +75 -0
  698. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/time.go +36 -0
  699. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4/util.go +64 -0
  700. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/middleware.go +105 -0
  701. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/presign_middleware.go +117 -0
  702. data/ext/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/v4a.go +520 -0
  703. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md +80 -0
  704. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/LICENSE.txt +202 -0
  705. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/accept_encoding_gzip.go +176 -0
  706. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/doc.go +22 -0
  707. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go +6 -0
  708. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md +84 -0
  709. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/LICENSE.txt +202 -0
  710. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/algorithms.go +323 -0
  711. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/aws_chunked_encoding.go +389 -0
  712. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go +6 -0
  713. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go +185 -0
  714. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go +479 -0
  715. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go +117 -0
  716. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_validate_output.go +131 -0
  717. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +147 -0
  718. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/LICENSE.txt +202 -0
  719. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/context.go +48 -0
  720. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/doc.go +3 -0
  721. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +6 -0
  722. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/middleware.go +110 -0
  723. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md +156 -0
  724. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/LICENSE.txt +202 -0
  725. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/accesspoint_arn.go +53 -0
  726. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/arn.go +85 -0
  727. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/outpost_arn.go +128 -0
  728. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn/s3_object_lambda_arn.go +15 -0
  729. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn_lookup.go +73 -0
  730. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config/config.go +22 -0
  731. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/endpoint_error.go +183 -0
  732. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go +6 -0
  733. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/host_id.go +29 -0
  734. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/metadata.go +28 -0
  735. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/metadata_retriever.go +52 -0
  736. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/resource_request.go +77 -0
  737. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/response_error.go +33 -0
  738. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/response_error_middleware.go +60 -0
  739. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/update_endpoint.go +78 -0
  740. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/xml_utils.go +89 -0
  741. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +228 -0
  742. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/LICENSE.txt +202 -0
  743. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go +772 -0
  744. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go +232 -0
  745. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go +436 -0
  746. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go +574 -0
  747. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go +318 -0
  748. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go +604 -0
  749. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go +200 -0
  750. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go +189 -0
  751. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go +172 -0
  752. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go +180 -0
  753. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go +188 -0
  754. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go +188 -0
  755. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go +178 -0
  756. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go +194 -0
  757. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go +171 -0
  758. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go +181 -0
  759. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go +179 -0
  760. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go +170 -0
  761. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go +179 -0
  762. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go +270 -0
  763. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go +202 -0
  764. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go +294 -0
  765. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go +183 -0
  766. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go +188 -0
  767. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go +181 -0
  768. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go +194 -0
  769. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go +179 -0
  770. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go +188 -0
  771. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go +193 -0
  772. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go +192 -0
  773. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go +209 -0
  774. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go +248 -0
  775. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go +177 -0
  776. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go +199 -0
  777. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go +193 -0
  778. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go +177 -0
  779. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go +180 -0
  780. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go +189 -0
  781. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go +188 -0
  782. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go +172 -0
  783. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go +185 -0
  784. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go +186 -0
  785. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go +190 -0
  786. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go +593 -0
  787. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go +224 -0
  788. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go +363 -0
  789. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go +195 -0
  790. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go +181 -0
  791. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go +195 -0
  792. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go +223 -0
  793. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go +191 -0
  794. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go +196 -0
  795. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go +541 -0
  796. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go +884 -0
  797. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go +214 -0
  798. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go +206 -0
  799. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go +215 -0
  800. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go +218 -0
  801. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go +145 -0
  802. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go +310 -0
  803. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go +276 -0
  804. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go +284 -0
  805. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go +408 -0
  806. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go +424 -0
  807. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go +237 -0
  808. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go +368 -0
  809. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go +234 -0
  810. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go +253 -0
  811. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go +243 -0
  812. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go +225 -0
  813. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go +235 -0
  814. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go +269 -0
  815. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go +258 -0
  816. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go +209 -0
  817. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go +209 -0
  818. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go +197 -0
  819. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go +229 -0
  820. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go +264 -0
  821. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go +221 -0
  822. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go +266 -0
  823. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go +243 -0
  824. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go +279 -0
  825. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go +613 -0
  826. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go +410 -0
  827. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go +237 -0
  828. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go +234 -0
  829. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go +244 -0
  830. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go +291 -0
  831. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go +240 -0
  832. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go +457 -0
  833. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go +426 -0
  834. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go +496 -0
  835. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go +437 -0
  836. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go +457 -0
  837. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go +21940 -0
  838. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/doc.go +5 -0
  839. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go +208 -0
  840. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/eventstream.go +285 -0
  841. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json +128 -0
  842. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +6 -0
  843. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/arn/arn_parser.go +106 -0
  844. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/doc.go +80 -0
  845. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/handle_200_error.go +74 -0
  846. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/host.go +22 -0
  847. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/presigned_expires.go +49 -0
  848. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/process_arn_resource.go +564 -0
  849. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/remove_bucket_middleware.go +58 -0
  850. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/s3_object_lambda.go +84 -0
  851. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go +213 -0
  852. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/update_endpoint.go +306 -0
  853. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go +836 -0
  854. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go +12713 -0
  855. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go +1200 -0
  856. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go +188 -0
  857. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go +3892 -0
  858. data/ext/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go +5494 -0
  859. data/ext/vendor/github.com/aws/smithy-go/.gitignore +22 -0
  860. data/ext/vendor/github.com/aws/smithy-go/.travis.yml +28 -0
  861. data/ext/vendor/github.com/aws/smithy-go/CHANGELOG.md +157 -0
  862. data/ext/vendor/github.com/aws/smithy-go/CODE_OF_CONDUCT.md +4 -0
  863. data/ext/vendor/github.com/aws/smithy-go/CONTRIBUTING.md +59 -0
  864. data/ext/vendor/github.com/aws/smithy-go/LICENSE +175 -0
  865. data/ext/vendor/github.com/aws/smithy-go/Makefile +63 -0
  866. data/ext/vendor/github.com/aws/smithy-go/NOTICE +1 -0
  867. data/ext/vendor/github.com/aws/smithy-go/README.md +12 -0
  868. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/docs.go +3 -0
  869. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/middleware.go +104 -0
  870. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/token.go +50 -0
  871. data/ext/vendor/github.com/aws/smithy-go/auth/bearer/token_cache.go +208 -0
  872. data/ext/vendor/github.com/aws/smithy-go/context/suppress_expired.go +81 -0
  873. data/ext/vendor/github.com/aws/smithy-go/doc.go +2 -0
  874. data/ext/vendor/github.com/aws/smithy-go/document/doc.go +12 -0
  875. data/ext/vendor/github.com/aws/smithy-go/document/document.go +153 -0
  876. data/ext/vendor/github.com/aws/smithy-go/document/errors.go +75 -0
  877. data/ext/vendor/github.com/aws/smithy-go/document.go +10 -0
  878. data/ext/vendor/github.com/aws/smithy-go/encoding/doc.go +4 -0
  879. data/ext/vendor/github.com/aws/smithy-go/encoding/encoding.go +40 -0
  880. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/encode.go +116 -0
  881. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/header.go +122 -0
  882. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/path_replace.go +108 -0
  883. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/query.go +107 -0
  884. data/ext/vendor/github.com/aws/smithy-go/encoding/httpbinding/uri.go +111 -0
  885. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/array.go +49 -0
  886. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/constants.go +10 -0
  887. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/doc.go +49 -0
  888. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/element.go +91 -0
  889. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/encoder.go +51 -0
  890. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/error_utils.go +51 -0
  891. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/escape.go +137 -0
  892. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/map.go +53 -0
  893. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/value.go +302 -0
  894. data/ext/vendor/github.com/aws/smithy-go/encoding/xml/xml_decoder.go +154 -0
  895. data/ext/vendor/github.com/aws/smithy-go/errors.go +137 -0
  896. data/ext/vendor/github.com/aws/smithy-go/go_module_metadata.go +6 -0
  897. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/LICENSE +28 -0
  898. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/docs.go +8 -0
  899. data/ext/vendor/github.com/aws/smithy-go/internal/sync/singleflight/singleflight.go +210 -0
  900. data/ext/vendor/github.com/aws/smithy-go/io/byte.go +12 -0
  901. data/ext/vendor/github.com/aws/smithy-go/io/doc.go +2 -0
  902. data/ext/vendor/github.com/aws/smithy-go/io/reader.go +16 -0
  903. data/ext/vendor/github.com/aws/smithy-go/io/ringbuffer.go +94 -0
  904. data/ext/vendor/github.com/aws/smithy-go/local-mod-replace.sh +39 -0
  905. data/ext/vendor/github.com/aws/smithy-go/logging/logger.go +82 -0
  906. data/ext/vendor/github.com/aws/smithy-go/middleware/doc.go +67 -0
  907. data/ext/vendor/github.com/aws/smithy-go/middleware/logging.go +46 -0
  908. data/ext/vendor/github.com/aws/smithy-go/middleware/metadata.go +65 -0
  909. data/ext/vendor/github.com/aws/smithy-go/middleware/middleware.go +71 -0
  910. data/ext/vendor/github.com/aws/smithy-go/middleware/ordered_group.go +268 -0
  911. data/ext/vendor/github.com/aws/smithy-go/middleware/stack.go +209 -0
  912. data/ext/vendor/github.com/aws/smithy-go/middleware/stack_values.go +100 -0
  913. data/ext/vendor/github.com/aws/smithy-go/middleware/step_build.go +211 -0
  914. data/ext/vendor/github.com/aws/smithy-go/middleware/step_deserialize.go +217 -0
  915. data/ext/vendor/github.com/aws/smithy-go/middleware/step_finalize.go +211 -0
  916. data/ext/vendor/github.com/aws/smithy-go/middleware/step_initialize.go +211 -0
  917. data/ext/vendor/github.com/aws/smithy-go/middleware/step_serialize.go +219 -0
  918. data/ext/vendor/github.com/aws/smithy-go/modman.toml +11 -0
  919. data/ext/vendor/github.com/aws/smithy-go/ptr/doc.go +5 -0
  920. data/ext/vendor/github.com/aws/smithy-go/ptr/from_ptr.go +601 -0
  921. data/ext/vendor/github.com/aws/smithy-go/ptr/gen_scalars.go +83 -0
  922. data/ext/vendor/github.com/aws/smithy-go/ptr/to_ptr.go +499 -0
  923. data/ext/vendor/github.com/aws/smithy-go/rand/doc.go +3 -0
  924. data/ext/vendor/github.com/aws/smithy-go/rand/rand.go +31 -0
  925. data/ext/vendor/github.com/aws/smithy-go/rand/uuid.go +87 -0
  926. data/ext/vendor/github.com/aws/smithy-go/sync/error.go +53 -0
  927. data/ext/vendor/github.com/aws/smithy-go/time/time.go +134 -0
  928. data/ext/vendor/github.com/aws/smithy-go/transport/http/checksum_middleware.go +70 -0
  929. data/ext/vendor/github.com/aws/smithy-go/transport/http/client.go +120 -0
  930. data/ext/vendor/github.com/aws/smithy-go/transport/http/doc.go +5 -0
  931. data/ext/vendor/github.com/aws/smithy-go/transport/http/headerlist.go +163 -0
  932. data/ext/vendor/github.com/aws/smithy-go/transport/http/host.go +89 -0
  933. data/ext/vendor/github.com/aws/smithy-go/transport/http/internal/io/safe.go +75 -0
  934. data/ext/vendor/github.com/aws/smithy-go/transport/http/md5_checksum.go +25 -0
  935. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_close_response_body.go +79 -0
  936. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_content_length.go +84 -0
  937. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_headers.go +167 -0
  938. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_http_logging.go +75 -0
  939. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_metadata.go +51 -0
  940. data/ext/vendor/github.com/aws/smithy-go/transport/http/middleware_min_proto.go +79 -0
  941. data/ext/vendor/github.com/aws/smithy-go/transport/http/request.go +189 -0
  942. data/ext/vendor/github.com/aws/smithy-go/transport/http/response.go +34 -0
  943. data/ext/vendor/github.com/aws/smithy-go/transport/http/time.go +13 -0
  944. data/ext/vendor/github.com/aws/smithy-go/transport/http/url.go +44 -0
  945. data/ext/vendor/github.com/aws/smithy-go/transport/http/user_agent.go +37 -0
  946. data/ext/vendor/github.com/aws/smithy-go/validation.go +140 -0
  947. data/ext/vendor/github.com/aws/smithy-go/waiter/logger.go +36 -0
  948. data/ext/vendor/github.com/aws/smithy-go/waiter/waiter.go +66 -0
  949. data/ext/vendor/github.com/danieljoos/wincred/.gitattributes +1 -0
  950. data/ext/vendor/github.com/danieljoos/wincred/.gitignore +25 -0
  951. data/ext/vendor/github.com/danieljoos/wincred/LICENSE +21 -0
  952. data/ext/vendor/github.com/danieljoos/wincred/README.md +145 -0
  953. data/ext/vendor/github.com/danieljoos/wincred/conversion.go +116 -0
  954. data/ext/vendor/github.com/danieljoos/wincred/conversion_unsupported.go +11 -0
  955. data/ext/vendor/github.com/danieljoos/wincred/sys.go +143 -0
  956. data/ext/vendor/github.com/danieljoos/wincred/sys_unsupported.go +36 -0
  957. data/ext/vendor/github.com/danieljoos/wincred/types.go +69 -0
  958. data/ext/vendor/github.com/danieljoos/wincred/wincred.go +111 -0
  959. data/ext/vendor/github.com/dvsekhvalnov/jose2go/.gitignore +23 -0
  960. data/ext/vendor/github.com/dvsekhvalnov/jose2go/LICENSE +21 -0
  961. data/ext/vendor/github.com/dvsekhvalnov/jose2go/README.md +938 -0
  962. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes/ecb.go +68 -0
  963. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes/key_wrap.go +113 -0
  964. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_cbc_hmac.go +112 -0
  965. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_gcm.go +98 -0
  966. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aes_gcm_kw.go +128 -0
  967. data/ext/vendor/github.com/dvsekhvalnov/jose2go/aeskw.go +64 -0
  968. data/ext/vendor/github.com/dvsekhvalnov/jose2go/arrays/arrays.go +116 -0
  969. data/ext/vendor/github.com/dvsekhvalnov/jose2go/base64url/base64url.go +31 -0
  970. data/ext/vendor/github.com/dvsekhvalnov/jose2go/compact/compact.go +33 -0
  971. data/ext/vendor/github.com/dvsekhvalnov/jose2go/deflate.go +39 -0
  972. data/ext/vendor/github.com/dvsekhvalnov/jose2go/direct.go +39 -0
  973. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdh.go +157 -0
  974. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdh_aeskw.go +42 -0
  975. data/ext/vendor/github.com/dvsekhvalnov/jose2go/ecdsa_using_sha.go +76 -0
  976. data/ext/vendor/github.com/dvsekhvalnov/jose2go/hmac.go +13 -0
  977. data/ext/vendor/github.com/dvsekhvalnov/jose2go/hmac_using_sha.go +46 -0
  978. data/ext/vendor/github.com/dvsekhvalnov/jose2go/jose.go +424 -0
  979. data/ext/vendor/github.com/dvsekhvalnov/jose2go/kdf/nist_sp800_56a.go +43 -0
  980. data/ext/vendor/github.com/dvsekhvalnov/jose2go/kdf/pbkdf2.go +63 -0
  981. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_cert.pem +14 -0
  982. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_private.key +5 -0
  983. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_private.pem +5 -0
  984. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ec_public.key +4 -0
  985. data/ext/vendor/github.com/dvsekhvalnov/jose2go/keys/ecc/ecc.go +88 -0
  986. data/ext/vendor/github.com/dvsekhvalnov/jose2go/padding/align.go +23 -0
  987. data/ext/vendor/github.com/dvsekhvalnov/jose2go/padding/pkcs7.go +38 -0
  988. data/ext/vendor/github.com/dvsekhvalnov/jose2go/pbse2_hmac_aeskw.go +103 -0
  989. data/ext/vendor/github.com/dvsekhvalnov/jose2go/plaintext.go +38 -0
  990. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_oaep.go +57 -0
  991. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_pkcs1v15.go +41 -0
  992. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsa_using_sha.go +50 -0
  993. data/ext/vendor/github.com/dvsekhvalnov/jose2go/rsapss_using_sha.go +43 -0
  994. data/ext/vendor/github.com/dvsekhvalnov/jose2go/sha.go +24 -0
  995. data/ext/vendor/github.com/form3tech-oss/jwt-go/.gitignore +5 -0
  996. data/ext/vendor/github.com/form3tech-oss/jwt-go/.travis.yml +12 -0
  997. data/ext/vendor/github.com/form3tech-oss/jwt-go/LICENSE +8 -0
  998. data/ext/vendor/github.com/form3tech-oss/jwt-go/MIGRATION_GUIDE.md +97 -0
  999. data/ext/vendor/github.com/form3tech-oss/jwt-go/README.md +104 -0
  1000. data/ext/vendor/github.com/form3tech-oss/jwt-go/VERSION_HISTORY.md +118 -0
  1001. data/ext/vendor/github.com/form3tech-oss/jwt-go/claims.go +136 -0
  1002. data/ext/vendor/github.com/form3tech-oss/jwt-go/doc.go +4 -0
  1003. data/ext/vendor/github.com/form3tech-oss/jwt-go/ecdsa.go +148 -0
  1004. data/ext/vendor/github.com/form3tech-oss/jwt-go/ecdsa_utils.go +69 -0
  1005. data/ext/vendor/github.com/form3tech-oss/jwt-go/errors.go +59 -0
  1006. data/ext/vendor/github.com/form3tech-oss/jwt-go/hmac.go +95 -0
  1007. data/ext/vendor/github.com/form3tech-oss/jwt-go/map_claims.go +122 -0
  1008. data/ext/vendor/github.com/form3tech-oss/jwt-go/none.go +52 -0
  1009. data/ext/vendor/github.com/form3tech-oss/jwt-go/parser.go +148 -0
  1010. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa.go +101 -0
  1011. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa_pss.go +142 -0
  1012. data/ext/vendor/github.com/form3tech-oss/jwt-go/rsa_utils.go +101 -0
  1013. data/ext/vendor/github.com/form3tech-oss/jwt-go/signing_method.go +35 -0
  1014. data/ext/vendor/github.com/form3tech-oss/jwt-go/token.go +108 -0
  1015. data/ext/vendor/github.com/gabriel-vasile/mimetype/.gitattributes +1 -0
  1016. data/ext/vendor/github.com/gabriel-vasile/mimetype/CODE_OF_CONDUCT.md +76 -0
  1017. data/ext/vendor/github.com/gabriel-vasile/mimetype/CONTRIBUTING.md +12 -0
  1018. data/ext/vendor/github.com/gabriel-vasile/mimetype/LICENSE +21 -0
  1019. data/ext/vendor/github.com/gabriel-vasile/mimetype/README.md +108 -0
  1020. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/charset/charset.go +309 -0
  1021. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/json/json.go +544 -0
  1022. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/archive.go +116 -0
  1023. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/audio.go +76 -0
  1024. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/binary.go +196 -0
  1025. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/database.go +13 -0
  1026. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/document.go +62 -0
  1027. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/font.go +39 -0
  1028. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ftyp.go +57 -0
  1029. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/geo.go +55 -0
  1030. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/image.go +106 -0
  1031. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/magic.go +239 -0
  1032. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ms_office.go +225 -0
  1033. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/ogg.go +42 -0
  1034. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text.go +375 -0
  1035. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/text_csv.go +51 -0
  1036. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/video.go +85 -0
  1037. data/ext/vendor/github.com/gabriel-vasile/mimetype/internal/magic/zip.go +92 -0
  1038. data/ext/vendor/github.com/gabriel-vasile/mimetype/mime.go +186 -0
  1039. data/ext/vendor/github.com/gabriel-vasile/mimetype/mimetype.gif +0 -0
  1040. data/ext/vendor/github.com/gabriel-vasile/mimetype/mimetype.go +123 -0
  1041. data/ext/vendor/github.com/gabriel-vasile/mimetype/supported_mimes.md +176 -0
  1042. data/ext/vendor/github.com/gabriel-vasile/mimetype/tree.go +258 -0
  1043. data/ext/vendor/github.com/goccy/go-json/.codecov.yml +32 -0
  1044. data/ext/vendor/github.com/goccy/go-json/.gitignore +2 -0
  1045. data/ext/vendor/github.com/goccy/go-json/.golangci.yml +83 -0
  1046. data/ext/vendor/github.com/goccy/go-json/CHANGELOG.md +393 -0
  1047. data/ext/vendor/github.com/goccy/go-json/LICENSE +21 -0
  1048. data/ext/vendor/github.com/goccy/go-json/Makefile +39 -0
  1049. data/ext/vendor/github.com/goccy/go-json/README.md +529 -0
  1050. data/ext/vendor/github.com/goccy/go-json/color.go +68 -0
  1051. data/ext/vendor/github.com/goccy/go-json/decode.go +232 -0
  1052. data/ext/vendor/github.com/goccy/go-json/docker-compose.yml +13 -0
  1053. data/ext/vendor/github.com/goccy/go-json/encode.go +326 -0
  1054. data/ext/vendor/github.com/goccy/go-json/error.go +39 -0
  1055. data/ext/vendor/github.com/goccy/go-json/internal/decoder/anonymous_field.go +37 -0
  1056. data/ext/vendor/github.com/goccy/go-json/internal/decoder/array.go +169 -0
  1057. data/ext/vendor/github.com/goccy/go-json/internal/decoder/bool.go +78 -0
  1058. data/ext/vendor/github.com/goccy/go-json/internal/decoder/bytes.go +113 -0
  1059. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile.go +487 -0
  1060. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile_norace.go +29 -0
  1061. data/ext/vendor/github.com/goccy/go-json/internal/decoder/compile_race.go +37 -0
  1062. data/ext/vendor/github.com/goccy/go-json/internal/decoder/context.go +254 -0
  1063. data/ext/vendor/github.com/goccy/go-json/internal/decoder/float.go +158 -0
  1064. data/ext/vendor/github.com/goccy/go-json/internal/decoder/func.go +141 -0
  1065. data/ext/vendor/github.com/goccy/go-json/internal/decoder/int.go +242 -0
  1066. data/ext/vendor/github.com/goccy/go-json/internal/decoder/interface.go +458 -0
  1067. data/ext/vendor/github.com/goccy/go-json/internal/decoder/invalid.go +45 -0
  1068. data/ext/vendor/github.com/goccy/go-json/internal/decoder/map.go +187 -0
  1069. data/ext/vendor/github.com/goccy/go-json/internal/decoder/number.go +112 -0
  1070. data/ext/vendor/github.com/goccy/go-json/internal/decoder/option.go +15 -0
  1071. data/ext/vendor/github.com/goccy/go-json/internal/decoder/ptr.go +87 -0
  1072. data/ext/vendor/github.com/goccy/go-json/internal/decoder/slice.go +301 -0
  1073. data/ext/vendor/github.com/goccy/go-json/internal/decoder/stream.go +556 -0
  1074. data/ext/vendor/github.com/goccy/go-json/internal/decoder/string.go +441 -0
  1075. data/ext/vendor/github.com/goccy/go-json/internal/decoder/struct.go +819 -0
  1076. data/ext/vendor/github.com/goccy/go-json/internal/decoder/type.go +29 -0
  1077. data/ext/vendor/github.com/goccy/go-json/internal/decoder/uint.go +190 -0
  1078. data/ext/vendor/github.com/goccy/go-json/internal/decoder/unmarshal_json.go +99 -0
  1079. data/ext/vendor/github.com/goccy/go-json/internal/decoder/unmarshal_text.go +280 -0
  1080. data/ext/vendor/github.com/goccy/go-json/internal/decoder/wrapped_string.go +68 -0
  1081. data/ext/vendor/github.com/goccy/go-json/internal/encoder/code.go +1017 -0
  1082. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compact.go +286 -0
  1083. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler.go +930 -0
  1084. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler_norace.go +32 -0
  1085. data/ext/vendor/github.com/goccy/go-json/internal/encoder/compiler_race.go +45 -0
  1086. data/ext/vendor/github.com/goccy/go-json/internal/encoder/context.go +105 -0
  1087. data/ext/vendor/github.com/goccy/go-json/internal/encoder/decode_rune.go +126 -0
  1088. data/ext/vendor/github.com/goccy/go-json/internal/encoder/encoder.go +596 -0
  1089. data/ext/vendor/github.com/goccy/go-json/internal/encoder/indent.go +211 -0
  1090. data/ext/vendor/github.com/goccy/go-json/internal/encoder/int.go +152 -0
  1091. data/ext/vendor/github.com/goccy/go-json/internal/encoder/map112.go +9 -0
  1092. data/ext/vendor/github.com/goccy/go-json/internal/encoder/map113.go +9 -0
  1093. data/ext/vendor/github.com/goccy/go-json/internal/encoder/opcode.go +669 -0
  1094. data/ext/vendor/github.com/goccy/go-json/internal/encoder/option.go +47 -0
  1095. data/ext/vendor/github.com/goccy/go-json/internal/encoder/optype.go +932 -0
  1096. data/ext/vendor/github.com/goccy/go-json/internal/encoder/query.go +135 -0
  1097. data/ext/vendor/github.com/goccy/go-json/internal/encoder/string.go +459 -0
  1098. data/ext/vendor/github.com/goccy/go-json/internal/encoder/string_table.go +415 -0
  1099. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/debug_vm.go +35 -0
  1100. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/hack.go +9 -0
  1101. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/util.go +207 -0
  1102. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm/vm.go +4859 -0
  1103. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/debug_vm.go +35 -0
  1104. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/hack.go +9 -0
  1105. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/util.go +274 -0
  1106. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color/vm.go +4859 -0
  1107. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/debug_vm.go +35 -0
  1108. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/util.go +296 -0
  1109. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_color_indent/vm.go +4859 -0
  1110. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/debug_vm.go +35 -0
  1111. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/hack.go +9 -0
  1112. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/util.go +229 -0
  1113. data/ext/vendor/github.com/goccy/go-json/internal/encoder/vm_indent/vm.go +4859 -0
  1114. data/ext/vendor/github.com/goccy/go-json/internal/errors/error.go +164 -0
  1115. data/ext/vendor/github.com/goccy/go-json/internal/runtime/rtype.go +263 -0
  1116. data/ext/vendor/github.com/goccy/go-json/internal/runtime/struct_field.go +91 -0
  1117. data/ext/vendor/github.com/goccy/go-json/internal/runtime/type.go +100 -0
  1118. data/ext/vendor/github.com/goccy/go-json/json.go +371 -0
  1119. data/ext/vendor/github.com/goccy/go-json/option.go +72 -0
  1120. data/ext/vendor/github.com/goccy/go-json/query.go +47 -0
  1121. data/ext/vendor/github.com/godbus/dbus/.travis.yml +46 -0
  1122. data/ext/vendor/github.com/godbus/dbus/CONTRIBUTING.md +50 -0
  1123. data/ext/vendor/github.com/godbus/dbus/LICENSE +25 -0
  1124. data/ext/vendor/github.com/godbus/dbus/MAINTAINERS +3 -0
  1125. data/ext/vendor/github.com/godbus/dbus/README.markdown +44 -0
  1126. data/ext/vendor/github.com/godbus/dbus/auth.go +252 -0
  1127. data/ext/vendor/github.com/godbus/dbus/auth_anonymous.go +16 -0
  1128. data/ext/vendor/github.com/godbus/dbus/auth_external.go +26 -0
  1129. data/ext/vendor/github.com/godbus/dbus/auth_sha1.go +102 -0
  1130. data/ext/vendor/github.com/godbus/dbus/call.go +60 -0
  1131. data/ext/vendor/github.com/godbus/dbus/conn.go +865 -0
  1132. data/ext/vendor/github.com/godbus/dbus/conn_darwin.go +37 -0
  1133. data/ext/vendor/github.com/godbus/dbus/conn_other.go +93 -0
  1134. data/ext/vendor/github.com/godbus/dbus/conn_unix.go +17 -0
  1135. data/ext/vendor/github.com/godbus/dbus/conn_windows.go +15 -0
  1136. data/ext/vendor/github.com/godbus/dbus/dbus.go +427 -0
  1137. data/ext/vendor/github.com/godbus/dbus/decoder.go +286 -0
  1138. data/ext/vendor/github.com/godbus/dbus/default_handler.go +328 -0
  1139. data/ext/vendor/github.com/godbus/dbus/doc.go +69 -0
  1140. data/ext/vendor/github.com/godbus/dbus/encoder.go +210 -0
  1141. data/ext/vendor/github.com/godbus/dbus/export.go +412 -0
  1142. data/ext/vendor/github.com/godbus/dbus/homedir.go +28 -0
  1143. data/ext/vendor/github.com/godbus/dbus/homedir_dynamic.go +15 -0
  1144. data/ext/vendor/github.com/godbus/dbus/homedir_static.go +45 -0
  1145. data/ext/vendor/github.com/godbus/dbus/match.go +62 -0
  1146. data/ext/vendor/github.com/godbus/dbus/message.go +353 -0
  1147. data/ext/vendor/github.com/godbus/dbus/object.go +211 -0
  1148. data/ext/vendor/github.com/godbus/dbus/server_interfaces.go +107 -0
  1149. data/ext/vendor/github.com/godbus/dbus/sig.go +259 -0
  1150. data/ext/vendor/github.com/godbus/dbus/transport_darwin.go +6 -0
  1151. data/ext/vendor/github.com/godbus/dbus/transport_generic.go +50 -0
  1152. data/ext/vendor/github.com/godbus/dbus/transport_nonce_tcp.go +39 -0
  1153. data/ext/vendor/github.com/godbus/dbus/transport_tcp.go +41 -0
  1154. data/ext/vendor/github.com/godbus/dbus/transport_unix.go +214 -0
  1155. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_dragonfly.go +95 -0
  1156. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_freebsd.go +91 -0
  1157. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_linux.go +25 -0
  1158. data/ext/vendor/github.com/godbus/dbus/transport_unixcred_openbsd.go +14 -0
  1159. data/ext/vendor/github.com/godbus/dbus/variant.go +144 -0
  1160. data/ext/vendor/github.com/godbus/dbus/variant_lexer.go +284 -0
  1161. data/ext/vendor/github.com/godbus/dbus/variant_parser.go +817 -0
  1162. data/ext/vendor/github.com/golang/snappy/.gitignore +16 -0
  1163. data/ext/vendor/github.com/golang/snappy/AUTHORS +18 -0
  1164. data/ext/vendor/github.com/golang/snappy/CONTRIBUTORS +41 -0
  1165. data/ext/vendor/github.com/golang/snappy/LICENSE +27 -0
  1166. data/ext/vendor/github.com/golang/snappy/README +107 -0
  1167. data/ext/vendor/github.com/golang/snappy/decode.go +264 -0
  1168. data/ext/vendor/github.com/golang/snappy/decode_amd64.s +490 -0
  1169. data/ext/vendor/github.com/golang/snappy/decode_arm64.s +494 -0
  1170. data/ext/vendor/github.com/golang/snappy/decode_asm.go +15 -0
  1171. data/ext/vendor/github.com/golang/snappy/decode_other.go +115 -0
  1172. data/ext/vendor/github.com/golang/snappy/encode.go +289 -0
  1173. data/ext/vendor/github.com/golang/snappy/encode_amd64.s +730 -0
  1174. data/ext/vendor/github.com/golang/snappy/encode_arm64.s +722 -0
  1175. data/ext/vendor/github.com/golang/snappy/encode_asm.go +30 -0
  1176. data/ext/vendor/github.com/golang/snappy/encode_other.go +238 -0
  1177. data/ext/vendor/github.com/golang/snappy/snappy.go +98 -0
  1178. data/ext/vendor/github.com/google/flatbuffers/LICENSE.txt +202 -0
  1179. data/ext/vendor/github.com/google/flatbuffers/go/BUILD.bazel +23 -0
  1180. data/ext/vendor/github.com/google/flatbuffers/go/builder.go +835 -0
  1181. data/ext/vendor/github.com/google/flatbuffers/go/doc.go +3 -0
  1182. data/ext/vendor/github.com/google/flatbuffers/go/encode.go +238 -0
  1183. data/ext/vendor/github.com/google/flatbuffers/go/grpc.go +38 -0
  1184. data/ext/vendor/github.com/google/flatbuffers/go/lib.go +25 -0
  1185. data/ext/vendor/github.com/google/flatbuffers/go/sizes.go +55 -0
  1186. data/ext/vendor/github.com/google/flatbuffers/go/struct.go +8 -0
  1187. data/ext/vendor/github.com/google/flatbuffers/go/table.go +505 -0
  1188. data/ext/vendor/github.com/gsterjov/go-libsecret/LICENSE +22 -0
  1189. data/ext/vendor/github.com/gsterjov/go-libsecret/collection.go +124 -0
  1190. data/ext/vendor/github.com/gsterjov/go-libsecret/item.go +77 -0
  1191. data/ext/vendor/github.com/gsterjov/go-libsecret/prompt.go +55 -0
  1192. data/ext/vendor/github.com/gsterjov/go-libsecret/secret.go +21 -0
  1193. data/ext/vendor/github.com/gsterjov/go-libsecret/service.go +141 -0
  1194. data/ext/vendor/github.com/gsterjov/go-libsecret/session.go +22 -0
  1195. data/ext/vendor/github.com/jmespath/go-jmespath/.gitignore +4 -0
  1196. data/ext/vendor/github.com/jmespath/go-jmespath/.travis.yml +28 -0
  1197. data/ext/vendor/github.com/jmespath/go-jmespath/LICENSE +13 -0
  1198. data/ext/vendor/github.com/jmespath/go-jmespath/Makefile +51 -0
  1199. data/ext/vendor/github.com/jmespath/go-jmespath/README.md +87 -0
  1200. data/ext/vendor/github.com/jmespath/go-jmespath/api.go +49 -0
  1201. data/ext/vendor/github.com/jmespath/go-jmespath/astnodetype_string.go +16 -0
  1202. data/ext/vendor/github.com/jmespath/go-jmespath/functions.go +842 -0
  1203. data/ext/vendor/github.com/jmespath/go-jmespath/interpreter.go +418 -0
  1204. data/ext/vendor/github.com/jmespath/go-jmespath/lexer.go +420 -0
  1205. data/ext/vendor/github.com/jmespath/go-jmespath/parser.go +603 -0
  1206. data/ext/vendor/github.com/jmespath/go-jmespath/toktype_string.go +16 -0
  1207. data/ext/vendor/github.com/jmespath/go-jmespath/util.go +185 -0
  1208. data/ext/vendor/github.com/klauspost/asmfmt/.gitignore +24 -0
  1209. data/ext/vendor/github.com/klauspost/asmfmt/.goreleaser.yml +77 -0
  1210. data/ext/vendor/github.com/klauspost/asmfmt/LICENSE +22 -0
  1211. data/ext/vendor/github.com/klauspost/asmfmt/README.md +113 -0
  1212. data/ext/vendor/github.com/klauspost/asmfmt/asmfmt.go +652 -0
  1213. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/LICENSE +27 -0
  1214. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/doc.go +43 -0
  1215. data/ext/vendor/github.com/klauspost/asmfmt/cmd/asmfmt/main.go +203 -0
  1216. data/ext/vendor/github.com/klauspost/compress/.gitattributes +2 -0
  1217. data/ext/vendor/github.com/klauspost/compress/.gitignore +32 -0
  1218. data/ext/vendor/github.com/klauspost/compress/.goreleaser.yml +141 -0
  1219. data/ext/vendor/github.com/klauspost/compress/LICENSE +304 -0
  1220. data/ext/vendor/github.com/klauspost/compress/README.md +578 -0
  1221. data/ext/vendor/github.com/klauspost/compress/compressible.go +85 -0
  1222. data/ext/vendor/github.com/klauspost/compress/flate/deflate.go +910 -0
  1223. data/ext/vendor/github.com/klauspost/compress/flate/dict_decoder.go +184 -0
  1224. data/ext/vendor/github.com/klauspost/compress/flate/fast_encoder.go +216 -0
  1225. data/ext/vendor/github.com/klauspost/compress/flate/huffman_bit_writer.go +1187 -0
  1226. data/ext/vendor/github.com/klauspost/compress/flate/huffman_code.go +417 -0
  1227. data/ext/vendor/github.com/klauspost/compress/flate/huffman_sortByFreq.go +178 -0
  1228. data/ext/vendor/github.com/klauspost/compress/flate/huffman_sortByLiteral.go +201 -0
  1229. data/ext/vendor/github.com/klauspost/compress/flate/inflate.go +793 -0
  1230. data/ext/vendor/github.com/klauspost/compress/flate/inflate_gen.go +1283 -0
  1231. data/ext/vendor/github.com/klauspost/compress/flate/level1.go +241 -0
  1232. data/ext/vendor/github.com/klauspost/compress/flate/level2.go +214 -0
  1233. data/ext/vendor/github.com/klauspost/compress/flate/level3.go +241 -0
  1234. data/ext/vendor/github.com/klauspost/compress/flate/level4.go +221 -0
  1235. data/ext/vendor/github.com/klauspost/compress/flate/level5.go +310 -0
  1236. data/ext/vendor/github.com/klauspost/compress/flate/level6.go +325 -0
  1237. data/ext/vendor/github.com/klauspost/compress/flate/regmask_amd64.go +37 -0
  1238. data/ext/vendor/github.com/klauspost/compress/flate/regmask_other.go +40 -0
  1239. data/ext/vendor/github.com/klauspost/compress/flate/stateless.go +305 -0
  1240. data/ext/vendor/github.com/klauspost/compress/flate/token.go +379 -0
  1241. data/ext/vendor/github.com/klauspost/compress/fse/README.md +79 -0
  1242. data/ext/vendor/github.com/klauspost/compress/fse/bitreader.go +122 -0
  1243. data/ext/vendor/github.com/klauspost/compress/fse/bitwriter.go +168 -0
  1244. data/ext/vendor/github.com/klauspost/compress/fse/bytereader.go +47 -0
  1245. data/ext/vendor/github.com/klauspost/compress/fse/compress.go +683 -0
  1246. data/ext/vendor/github.com/klauspost/compress/fse/decompress.go +374 -0
  1247. data/ext/vendor/github.com/klauspost/compress/fse/fse.go +144 -0
  1248. data/ext/vendor/github.com/klauspost/compress/gen.sh +4 -0
  1249. data/ext/vendor/github.com/klauspost/compress/gzip/gunzip.go +349 -0
  1250. data/ext/vendor/github.com/klauspost/compress/gzip/gzip.go +269 -0
  1251. data/ext/vendor/github.com/klauspost/compress/huff0/.gitignore +1 -0
  1252. data/ext/vendor/github.com/klauspost/compress/huff0/README.md +89 -0
  1253. data/ext/vendor/github.com/klauspost/compress/huff0/bitreader.go +233 -0
  1254. data/ext/vendor/github.com/klauspost/compress/huff0/bitwriter.go +95 -0
  1255. data/ext/vendor/github.com/klauspost/compress/huff0/bytereader.go +44 -0
  1256. data/ext/vendor/github.com/klauspost/compress/huff0/compress.go +730 -0
  1257. data/ext/vendor/github.com/klauspost/compress/huff0/decompress.go +1167 -0
  1258. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go +226 -0
  1259. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s +846 -0
  1260. data/ext/vendor/github.com/klauspost/compress/huff0/decompress_generic.go +299 -0
  1261. data/ext/vendor/github.com/klauspost/compress/huff0/huff0.go +337 -0
  1262. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo.go +34 -0
  1263. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.go +11 -0
  1264. data/ext/vendor/github.com/klauspost/compress/internal/cpuinfo/cpuinfo_amd64.s +36 -0
  1265. data/ext/vendor/github.com/klauspost/compress/internal/snapref/LICENSE +27 -0
  1266. data/ext/vendor/github.com/klauspost/compress/internal/snapref/decode.go +264 -0
  1267. data/ext/vendor/github.com/klauspost/compress/internal/snapref/decode_other.go +113 -0
  1268. data/ext/vendor/github.com/klauspost/compress/internal/snapref/encode.go +289 -0
  1269. data/ext/vendor/github.com/klauspost/compress/internal/snapref/encode_other.go +240 -0
  1270. data/ext/vendor/github.com/klauspost/compress/internal/snapref/snappy.go +98 -0
  1271. data/ext/vendor/github.com/klauspost/compress/s2sx.mod +4 -0
  1272. data/ext/vendor/github.com/klauspost/compress/s2sx.sum +0 -0
  1273. data/ext/vendor/github.com/klauspost/compress/zstd/README.md +441 -0
  1274. data/ext/vendor/github.com/klauspost/compress/zstd/bitreader.go +140 -0
  1275. data/ext/vendor/github.com/klauspost/compress/zstd/bitwriter.go +113 -0
  1276. data/ext/vendor/github.com/klauspost/compress/zstd/blockdec.go +720 -0
  1277. data/ext/vendor/github.com/klauspost/compress/zstd/blockenc.go +871 -0
  1278. data/ext/vendor/github.com/klauspost/compress/zstd/blocktype_string.go +85 -0
  1279. data/ext/vendor/github.com/klauspost/compress/zstd/bytebuf.go +131 -0
  1280. data/ext/vendor/github.com/klauspost/compress/zstd/bytereader.go +82 -0
  1281. data/ext/vendor/github.com/klauspost/compress/zstd/decodeheader.go +230 -0
  1282. data/ext/vendor/github.com/klauspost/compress/zstd/decoder.go +950 -0
  1283. data/ext/vendor/github.com/klauspost/compress/zstd/decoder_options.go +149 -0
  1284. data/ext/vendor/github.com/klauspost/compress/zstd/dict.go +122 -0
  1285. data/ext/vendor/github.com/klauspost/compress/zstd/enc_base.go +188 -0
  1286. data/ext/vendor/github.com/klauspost/compress/zstd/enc_best.go +559 -0
  1287. data/ext/vendor/github.com/klauspost/compress/zstd/enc_better.go +1246 -0
  1288. data/ext/vendor/github.com/klauspost/compress/zstd/enc_dfast.go +1127 -0
  1289. data/ext/vendor/github.com/klauspost/compress/zstd/enc_fast.go +900 -0
  1290. data/ext/vendor/github.com/klauspost/compress/zstd/encoder.go +641 -0
  1291. data/ext/vendor/github.com/klauspost/compress/zstd/encoder_options.go +317 -0
  1292. data/ext/vendor/github.com/klauspost/compress/zstd/framedec.go +436 -0
  1293. data/ext/vendor/github.com/klauspost/compress/zstd/frameenc.go +137 -0
  1294. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder.go +307 -0
  1295. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.go +65 -0
  1296. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_amd64.s +126 -0
  1297. data/ext/vendor/github.com/klauspost/compress/zstd/fse_decoder_generic.go +72 -0
  1298. data/ext/vendor/github.com/klauspost/compress/zstd/fse_encoder.go +701 -0
  1299. data/ext/vendor/github.com/klauspost/compress/zstd/fse_predefined.go +158 -0
  1300. data/ext/vendor/github.com/klauspost/compress/zstd/hash.go +35 -0
  1301. data/ext/vendor/github.com/klauspost/compress/zstd/history.go +116 -0
  1302. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/LICENSE.txt +22 -0
  1303. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/README.md +58 -0
  1304. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash.go +237 -0
  1305. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s +216 -0
  1306. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s +186 -0
  1307. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go +16 -0
  1308. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go +77 -0
  1309. data/ext/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_safe.go +11 -0
  1310. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec.go +509 -0
  1311. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.go +379 -0
  1312. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s +4099 -0
  1313. data/ext/vendor/github.com/klauspost/compress/zstd/seqdec_generic.go +237 -0
  1314. data/ext/vendor/github.com/klauspost/compress/zstd/seqenc.go +114 -0
  1315. data/ext/vendor/github.com/klauspost/compress/zstd/snappy.go +435 -0
  1316. data/ext/vendor/github.com/klauspost/compress/zstd/zip.go +141 -0
  1317. data/ext/vendor/github.com/klauspost/compress/zstd/zstd.go +152 -0
  1318. data/ext/vendor/github.com/klauspost/cpuid/v2/.gitignore +24 -0
  1319. data/ext/vendor/github.com/klauspost/cpuid/v2/.goreleaser.yml +74 -0
  1320. data/ext/vendor/github.com/klauspost/cpuid/v2/CONTRIBUTING.txt +35 -0
  1321. data/ext/vendor/github.com/klauspost/cpuid/v2/LICENSE +22 -0
  1322. data/ext/vendor/github.com/klauspost/cpuid/v2/README.md +137 -0
  1323. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid.go +1070 -0
  1324. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_386.s +47 -0
  1325. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_amd64.s +72 -0
  1326. data/ext/vendor/github.com/klauspost/cpuid/v2/cpuid_arm64.s +26 -0
  1327. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_arm64.go +246 -0
  1328. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_ref.go +14 -0
  1329. data/ext/vendor/github.com/klauspost/cpuid/v2/detect_x86.go +35 -0
  1330. data/ext/vendor/github.com/klauspost/cpuid/v2/featureid_string.go +185 -0
  1331. data/ext/vendor/github.com/klauspost/cpuid/v2/os_darwin_arm64.go +19 -0
  1332. data/ext/vendor/github.com/klauspost/cpuid/v2/os_linux_arm64.go +130 -0
  1333. data/ext/vendor/github.com/klauspost/cpuid/v2/os_other_arm64.go +17 -0
  1334. data/ext/vendor/github.com/klauspost/cpuid/v2/os_safe_linux_arm64.go +7 -0
  1335. data/ext/vendor/github.com/klauspost/cpuid/v2/os_unsafe_linux_arm64.go +10 -0
  1336. data/ext/vendor/github.com/klauspost/cpuid/v2/test-architectures.sh +15 -0
  1337. data/ext/vendor/github.com/mattn/go-pointer/LICENSE +21 -0
  1338. data/ext/vendor/github.com/mattn/go-pointer/README.md +29 -0
  1339. data/ext/vendor/github.com/mattn/go-pointer/doc.go +1 -0
  1340. data/ext/vendor/github.com/mattn/go-pointer/pointer.go +57 -0
  1341. data/ext/vendor/github.com/minio/asm2plan9s/.gitignore +2 -0
  1342. data/ext/vendor/github.com/minio/asm2plan9s/LICENSE +202 -0
  1343. data/ext/vendor/github.com/minio/asm2plan9s/README.md +91 -0
  1344. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s.go +252 -0
  1345. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s_amd64.go +192 -0
  1346. data/ext/vendor/github.com/minio/asm2plan9s/asm2plan9s_arm64.go +122 -0
  1347. data/ext/vendor/github.com/minio/asm2plan9s/example.s +1 -0
  1348. data/ext/vendor/github.com/minio/asm2plan9s/neon.asm +1 -0
  1349. data/ext/vendor/github.com/minio/asm2plan9s/yasm.go +176 -0
  1350. data/ext/vendor/github.com/minio/c2goasm/LICENSE +202 -0
  1351. data/ext/vendor/github.com/minio/c2goasm/README.md +203 -0
  1352. data/ext/vendor/github.com/minio/c2goasm/arguments.go +122 -0
  1353. data/ext/vendor/github.com/minio/c2goasm/assembly.go +412 -0
  1354. data/ext/vendor/github.com/minio/c2goasm/c2goasm.go +300 -0
  1355. data/ext/vendor/github.com/minio/c2goasm/constants.go +255 -0
  1356. data/ext/vendor/github.com/minio/c2goasm/epilogue.go +219 -0
  1357. data/ext/vendor/github.com/minio/c2goasm/subroutine.go +294 -0
  1358. data/ext/vendor/github.com/mtibben/percent/LICENSE +21 -0
  1359. data/ext/vendor/github.com/mtibben/percent/README.md +5 -0
  1360. data/ext/vendor/github.com/mtibben/percent/percent.go +64 -0
  1361. data/ext/vendor/github.com/pierrec/lz4/v4/.gitignore +36 -0
  1362. data/ext/vendor/github.com/pierrec/lz4/v4/LICENSE +28 -0
  1363. data/ext/vendor/github.com/pierrec/lz4/v4/README.md +92 -0
  1364. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/block.go +482 -0
  1365. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/blocks.go +90 -0
  1366. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_amd64.s +448 -0
  1367. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_arm.s +231 -0
  1368. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_arm64.s +230 -0
  1369. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_asm.go +10 -0
  1370. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4block/decode_other.go +139 -0
  1371. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4errors/errors.go +19 -0
  1372. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/block.go +350 -0
  1373. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/frame.go +204 -0
  1374. data/ext/vendor/github.com/pierrec/lz4/v4/internal/lz4stream/frame_gen.go +103 -0
  1375. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero.go +212 -0
  1376. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_arm.go +11 -0
  1377. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_arm.s +251 -0
  1378. data/ext/vendor/github.com/pierrec/lz4/v4/internal/xxh32/xxh32zero_other.go +10 -0
  1379. data/ext/vendor/github.com/pierrec/lz4/v4/lz4.go +157 -0
  1380. data/ext/vendor/github.com/pierrec/lz4/v4/options.go +214 -0
  1381. data/ext/vendor/github.com/pierrec/lz4/v4/options_gen.go +92 -0
  1382. data/ext/vendor/github.com/pierrec/lz4/v4/reader.go +275 -0
  1383. data/ext/vendor/github.com/pierrec/lz4/v4/state.go +75 -0
  1384. data/ext/vendor/github.com/pierrec/lz4/v4/state_gen.go +28 -0
  1385. data/ext/vendor/github.com/pierrec/lz4/v4/writer.go +238 -0
  1386. data/ext/vendor/github.com/pkg/browser/LICENSE +23 -0
  1387. data/ext/vendor/github.com/pkg/browser/README.md +55 -0
  1388. data/ext/vendor/github.com/pkg/browser/browser.go +57 -0
  1389. data/ext/vendor/github.com/pkg/browser/browser_darwin.go +5 -0
  1390. data/ext/vendor/github.com/pkg/browser/browser_freebsd.go +14 -0
  1391. data/ext/vendor/github.com/pkg/browser/browser_linux.go +21 -0
  1392. data/ext/vendor/github.com/pkg/browser/browser_netbsd.go +14 -0
  1393. data/ext/vendor/github.com/pkg/browser/browser_openbsd.go +14 -0
  1394. data/ext/vendor/github.com/pkg/browser/browser_unsupported.go +12 -0
  1395. data/ext/vendor/github.com/pkg/browser/browser_windows.go +7 -0
  1396. data/ext/vendor/github.com/sirupsen/logrus/.gitignore +4 -0
  1397. data/ext/vendor/github.com/sirupsen/logrus/.golangci.yml +40 -0
  1398. data/ext/vendor/github.com/sirupsen/logrus/.travis.yml +15 -0
  1399. data/ext/vendor/github.com/sirupsen/logrus/CHANGELOG.md +259 -0
  1400. data/ext/vendor/github.com/sirupsen/logrus/LICENSE +21 -0
  1401. data/ext/vendor/github.com/sirupsen/logrus/README.md +513 -0
  1402. data/ext/vendor/github.com/sirupsen/logrus/alt_exit.go +76 -0
  1403. data/ext/vendor/github.com/sirupsen/logrus/appveyor.yml +14 -0
  1404. data/ext/vendor/github.com/sirupsen/logrus/buffer_pool.go +43 -0
  1405. data/ext/vendor/github.com/sirupsen/logrus/doc.go +26 -0
  1406. data/ext/vendor/github.com/sirupsen/logrus/entry.go +442 -0
  1407. data/ext/vendor/github.com/sirupsen/logrus/exported.go +270 -0
  1408. data/ext/vendor/github.com/sirupsen/logrus/formatter.go +78 -0
  1409. data/ext/vendor/github.com/sirupsen/logrus/hooks.go +34 -0
  1410. data/ext/vendor/github.com/sirupsen/logrus/json_formatter.go +128 -0
  1411. data/ext/vendor/github.com/sirupsen/logrus/logger.go +417 -0
  1412. data/ext/vendor/github.com/sirupsen/logrus/logrus.go +186 -0
  1413. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_appengine.go +11 -0
  1414. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_bsd.go +13 -0
  1415. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_js.go +7 -0
  1416. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_no_terminal.go +11 -0
  1417. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_notappengine.go +17 -0
  1418. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_solaris.go +11 -0
  1419. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_unix.go +13 -0
  1420. data/ext/vendor/github.com/sirupsen/logrus/terminal_check_windows.go +27 -0
  1421. data/ext/vendor/github.com/sirupsen/logrus/text_formatter.go +339 -0
  1422. data/ext/vendor/github.com/sirupsen/logrus/writer.go +70 -0
  1423. data/ext/vendor/github.com/snowflakedb/gosnowflake/.gitignore +13 -0
  1424. data/ext/vendor/github.com/snowflakedb/gosnowflake/.pre-commit-config.yaml +6 -0
  1425. data/ext/vendor/github.com/snowflakedb/gosnowflake/CONTRIBUTING.md +18 -0
  1426. data/ext/vendor/github.com/snowflakedb/gosnowflake/LICENSE +201 -0
  1427. data/ext/vendor/github.com/snowflakedb/gosnowflake/Makefile +52 -0
  1428. data/ext/vendor/github.com/snowflakedb/gosnowflake/README.md +109 -0
  1429. data/ext/vendor/github.com/snowflakedb/gosnowflake/arrow_chunk.go +91 -0
  1430. data/ext/vendor/github.com/snowflakedb/gosnowflake/async.go +142 -0
  1431. data/ext/vendor/github.com/snowflakedb/gosnowflake/auth.go +549 -0
  1432. data/ext/vendor/github.com/snowflakedb/gosnowflake/authexternalbrowser.go +251 -0
  1433. data/ext/vendor/github.com/snowflakedb/gosnowflake/authokta.go +341 -0
  1434. data/ext/vendor/github.com/snowflakedb/gosnowflake/azure_storage_client.go +294 -0
  1435. data/ext/vendor/github.com/snowflakedb/gosnowflake/bind_uploader.go +300 -0
  1436. data/ext/vendor/github.com/snowflakedb/gosnowflake/cacert.go +3454 -0
  1437. data/ext/vendor/github.com/snowflakedb/gosnowflake/chunk.go +312 -0
  1438. data/ext/vendor/github.com/snowflakedb/gosnowflake/chunk_downloader.go +742 -0
  1439. data/ext/vendor/github.com/snowflakedb/gosnowflake/client.go +38 -0
  1440. data/ext/vendor/github.com/snowflakedb/gosnowflake/connection.go +493 -0
  1441. data/ext/vendor/github.com/snowflakedb/gosnowflake/connection_util.go +287 -0
  1442. data/ext/vendor/github.com/snowflakedb/gosnowflake/connector.go +40 -0
  1443. data/ext/vendor/github.com/snowflakedb/gosnowflake/converter.go +1171 -0
  1444. data/ext/vendor/github.com/snowflakedb/gosnowflake/datatype.go +195 -0
  1445. data/ext/vendor/github.com/snowflakedb/gosnowflake/debug.go +12 -0
  1446. data/ext/vendor/github.com/snowflakedb/gosnowflake/doc.go +885 -0
  1447. data/ext/vendor/github.com/snowflakedb/gosnowflake/driver.go +66 -0
  1448. data/ext/vendor/github.com/snowflakedb/gosnowflake/dsn.go +667 -0
  1449. data/ext/vendor/github.com/snowflakedb/gosnowflake/encrypt_util.go +332 -0
  1450. data/ext/vendor/github.com/snowflakedb/gosnowflake/errors.go +321 -0
  1451. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_compression_type.go +132 -0
  1452. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_transfer_agent.go +1228 -0
  1453. data/ext/vendor/github.com/snowflakedb/gosnowflake/file_util.go +209 -0
  1454. data/ext/vendor/github.com/snowflakedb/gosnowflake/gcs_storage_client.go +355 -0
  1455. data/ext/vendor/github.com/snowflakedb/gosnowflake/gosnowflake.mak +42 -0
  1456. data/ext/vendor/github.com/snowflakedb/gosnowflake/heartbeat.go +98 -0
  1457. data/ext/vendor/github.com/snowflakedb/gosnowflake/local_storage_client.go +113 -0
  1458. data/ext/vendor/github.com/snowflakedb/gosnowflake/location.go +106 -0
  1459. data/ext/vendor/github.com/snowflakedb/gosnowflake/log.go +314 -0
  1460. data/ext/vendor/github.com/snowflakedb/gosnowflake/monitoring.go +271 -0
  1461. data/ext/vendor/github.com/snowflakedb/gosnowflake/multistatement.go +118 -0
  1462. data/ext/vendor/github.com/snowflakedb/gosnowflake/ocsp.go +966 -0
  1463. data/ext/vendor/github.com/snowflakedb/gosnowflake/parameters.json.tmpl +11 -0
  1464. data/ext/vendor/github.com/snowflakedb/gosnowflake/priv_key_test_coding_helper.go +30 -0
  1465. data/ext/vendor/github.com/snowflakedb/gosnowflake/query.go +128 -0
  1466. data/ext/vendor/github.com/snowflakedb/gosnowflake/release.go +8 -0
  1467. data/ext/vendor/github.com/snowflakedb/gosnowflake/restful.go +489 -0
  1468. data/ext/vendor/github.com/snowflakedb/gosnowflake/result.go +75 -0
  1469. data/ext/vendor/github.com/snowflakedb/gosnowflake/retry.go +322 -0
  1470. data/ext/vendor/github.com/snowflakedb/gosnowflake/rows.go +245 -0
  1471. data/ext/vendor/github.com/snowflakedb/gosnowflake/s3_storage_client.go +275 -0
  1472. data/ext/vendor/github.com/snowflakedb/gosnowflake/secret_detector.go +63 -0
  1473. data/ext/vendor/github.com/snowflakedb/gosnowflake/secure_storage_manager.go +282 -0
  1474. data/ext/vendor/github.com/snowflakedb/gosnowflake/sqlstate.go +18 -0
  1475. data/ext/vendor/github.com/snowflakedb/gosnowflake/statement.go +45 -0
  1476. data/ext/vendor/github.com/snowflakedb/gosnowflake/storage_client.go +253 -0
  1477. data/ext/vendor/github.com/snowflakedb/gosnowflake/telemetry.go +128 -0
  1478. data/ext/vendor/github.com/snowflakedb/gosnowflake/transaction.go +35 -0
  1479. data/ext/vendor/github.com/snowflakedb/gosnowflake/url_util.go +29 -0
  1480. data/ext/vendor/github.com/snowflakedb/gosnowflake/util.go +214 -0
  1481. data/ext/vendor/github.com/snowflakedb/gosnowflake/uuid.go +47 -0
  1482. data/ext/vendor/github.com/snowflakedb/gosnowflake/version.go +6 -0
  1483. data/ext/vendor/github.com/zeebo/xxh3/.gitignore +6 -0
  1484. data/ext/vendor/github.com/zeebo/xxh3/LICENSE +25 -0
  1485. data/ext/vendor/github.com/zeebo/xxh3/Makefile +27 -0
  1486. data/ext/vendor/github.com/zeebo/xxh3/README.md +38 -0
  1487. data/ext/vendor/github.com/zeebo/xxh3/_compat.c +39 -0
  1488. data/ext/vendor/github.com/zeebo/xxh3/accum_generic.go +542 -0
  1489. data/ext/vendor/github.com/zeebo/xxh3/accum_stubs_amd64.go +40 -0
  1490. data/ext/vendor/github.com/zeebo/xxh3/accum_stubs_other.go +25 -0
  1491. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_avx512_amd64.s +379 -0
  1492. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_avx_amd64.s +586 -0
  1493. data/ext/vendor/github.com/zeebo/xxh3/accum_vector_sse_amd64.s +1236 -0
  1494. data/ext/vendor/github.com/zeebo/xxh3/consts.go +97 -0
  1495. data/ext/vendor/github.com/zeebo/xxh3/hash128.go +253 -0
  1496. data/ext/vendor/github.com/zeebo/xxh3/hash128_seed.go +264 -0
  1497. data/ext/vendor/github.com/zeebo/xxh3/hash64.go +126 -0
  1498. data/ext/vendor/github.com/zeebo/xxh3/hash64_seed.go +134 -0
  1499. data/ext/vendor/github.com/zeebo/xxh3/hasher.go +239 -0
  1500. data/ext/vendor/github.com/zeebo/xxh3/utils.go +129 -0
  1501. data/ext/vendor/golang.org/x/crypto/LICENSE +27 -0
  1502. data/ext/vendor/golang.org/x/crypto/PATENTS +22 -0
  1503. data/ext/vendor/golang.org/x/crypto/ocsp/ocsp.go +792 -0
  1504. data/ext/vendor/golang.org/x/mod/LICENSE +27 -0
  1505. data/ext/vendor/golang.org/x/mod/PATENTS +22 -0
  1506. data/ext/vendor/golang.org/x/mod/internal/lazyregexp/lazyre.go +78 -0
  1507. data/ext/vendor/golang.org/x/mod/module/module.go +841 -0
  1508. data/ext/vendor/golang.org/x/mod/module/pseudo.go +250 -0
  1509. data/ext/vendor/golang.org/x/mod/semver/semver.go +401 -0
  1510. data/ext/vendor/golang.org/x/net/LICENSE +27 -0
  1511. data/ext/vendor/golang.org/x/net/PATENTS +22 -0
  1512. data/ext/vendor/golang.org/x/net/html/atom/atom.go +78 -0
  1513. data/ext/vendor/golang.org/x/net/html/atom/table.go +783 -0
  1514. data/ext/vendor/golang.org/x/net/html/const.go +111 -0
  1515. data/ext/vendor/golang.org/x/net/html/doc.go +121 -0
  1516. data/ext/vendor/golang.org/x/net/html/doctype.go +156 -0
  1517. data/ext/vendor/golang.org/x/net/html/entity.go +2253 -0
  1518. data/ext/vendor/golang.org/x/net/html/escape.go +339 -0
  1519. data/ext/vendor/golang.org/x/net/html/foreign.go +222 -0
  1520. data/ext/vendor/golang.org/x/net/html/node.go +225 -0
  1521. data/ext/vendor/golang.org/x/net/html/parse.go +2460 -0
  1522. data/ext/vendor/golang.org/x/net/html/render.go +273 -0
  1523. data/ext/vendor/golang.org/x/net/html/token.go +1261 -0
  1524. data/ext/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  1525. data/ext/vendor/golang.org/x/net/http/httpguts/httplex.go +352 -0
  1526. data/ext/vendor/golang.org/x/net/idna/go118.go +14 -0
  1527. data/ext/vendor/golang.org/x/net/idna/idna10.0.0.go +770 -0
  1528. data/ext/vendor/golang.org/x/net/idna/idna9.0.0.go +718 -0
  1529. data/ext/vendor/golang.org/x/net/idna/pre_go118.go +12 -0
  1530. data/ext/vendor/golang.org/x/net/idna/punycode.go +217 -0
  1531. data/ext/vendor/golang.org/x/net/idna/tables10.0.0.go +4560 -0
  1532. data/ext/vendor/golang.org/x/net/idna/tables11.0.0.go +4654 -0
  1533. data/ext/vendor/golang.org/x/net/idna/tables12.0.0.go +4734 -0
  1534. data/ext/vendor/golang.org/x/net/idna/tables13.0.0.go +4840 -0
  1535. data/ext/vendor/golang.org/x/net/idna/tables9.0.0.go +4487 -0
  1536. data/ext/vendor/golang.org/x/net/idna/trie.go +72 -0
  1537. data/ext/vendor/golang.org/x/net/idna/trieval.go +119 -0
  1538. data/ext/vendor/golang.org/x/sys/LICENSE +27 -0
  1539. data/ext/vendor/golang.org/x/sys/PATENTS +22 -0
  1540. data/ext/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s +18 -0
  1541. data/ext/vendor/golang.org/x/sys/cpu/byteorder.go +66 -0
  1542. data/ext/vendor/golang.org/x/sys/cpu/cpu.go +287 -0
  1543. data/ext/vendor/golang.org/x/sys/cpu/cpu_aix.go +34 -0
  1544. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm.go +73 -0
  1545. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm64.go +172 -0
  1546. data/ext/vendor/golang.org/x/sys/cpu/cpu_arm64.s +32 -0
  1547. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go +12 -0
  1548. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go +22 -0
  1549. data/ext/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go +17 -0
  1550. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go +12 -0
  1551. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go +23 -0
  1552. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c +39 -0
  1553. data/ext/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go +33 -0
  1554. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux.go +16 -0
  1555. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_arm.go +39 -0
  1556. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_arm64.go +111 -0
  1557. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go +24 -0
  1558. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go +10 -0
  1559. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go +32 -0
  1560. data/ext/vendor/golang.org/x/sys/cpu/cpu_linux_s390x.go +40 -0
  1561. data/ext/vendor/golang.org/x/sys/cpu/cpu_loong64.go +13 -0
  1562. data/ext/vendor/golang.org/x/sys/cpu/cpu_mips64x.go +16 -0
  1563. data/ext/vendor/golang.org/x/sys/cpu/cpu_mipsx.go +12 -0
  1564. data/ext/vendor/golang.org/x/sys/cpu/cpu_netbsd_arm64.go +173 -0
  1565. data/ext/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.go +65 -0
  1566. data/ext/vendor/golang.org/x/sys/cpu/cpu_openbsd_arm64.s +11 -0
  1567. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_arm.go +10 -0
  1568. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go +10 -0
  1569. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go +13 -0
  1570. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go +15 -0
  1571. data/ext/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go +12 -0
  1572. data/ext/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go +17 -0
  1573. data/ext/vendor/golang.org/x/sys/cpu/cpu_riscv64.go +12 -0
  1574. data/ext/vendor/golang.org/x/sys/cpu/cpu_s390x.go +172 -0
  1575. data/ext/vendor/golang.org/x/sys/cpu/cpu_s390x.s +58 -0
  1576. data/ext/vendor/golang.org/x/sys/cpu/cpu_wasm.go +18 -0
  1577. data/ext/vendor/golang.org/x/sys/cpu/cpu_x86.go +145 -0
  1578. data/ext/vendor/golang.org/x/sys/cpu/cpu_x86.s +28 -0
  1579. data/ext/vendor/golang.org/x/sys/cpu/cpu_zos.go +10 -0
  1580. data/ext/vendor/golang.org/x/sys/cpu/cpu_zos_s390x.go +25 -0
  1581. data/ext/vendor/golang.org/x/sys/cpu/endian_big.go +11 -0
  1582. data/ext/vendor/golang.org/x/sys/cpu/endian_little.go +11 -0
  1583. data/ext/vendor/golang.org/x/sys/cpu/hwcap_linux.go +71 -0
  1584. data/ext/vendor/golang.org/x/sys/cpu/parse.go +43 -0
  1585. data/ext/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go +54 -0
  1586. data/ext/vendor/golang.org/x/sys/cpu/runtime_auxv.go +16 -0
  1587. data/ext/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go +19 -0
  1588. data/ext/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go +27 -0
  1589. data/ext/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go +36 -0
  1590. data/ext/vendor/golang.org/x/sys/execabs/execabs.go +102 -0
  1591. data/ext/vendor/golang.org/x/sys/execabs/execabs_go118.go +18 -0
  1592. data/ext/vendor/golang.org/x/sys/execabs/execabs_go119.go +21 -0
  1593. data/ext/vendor/golang.org/x/sys/internal/unsafeheader/unsafeheader.go +30 -0
  1594. data/ext/vendor/golang.org/x/sys/plan9/asm.s +8 -0
  1595. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_386.s +30 -0
  1596. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_amd64.s +30 -0
  1597. data/ext/vendor/golang.org/x/sys/plan9/asm_plan9_arm.s +25 -0
  1598. data/ext/vendor/golang.org/x/sys/plan9/const_plan9.go +70 -0
  1599. data/ext/vendor/golang.org/x/sys/plan9/dir_plan9.go +212 -0
  1600. data/ext/vendor/golang.org/x/sys/plan9/env_plan9.go +31 -0
  1601. data/ext/vendor/golang.org/x/sys/plan9/errors_plan9.go +50 -0
  1602. data/ext/vendor/golang.org/x/sys/plan9/mkall.sh +150 -0
  1603. data/ext/vendor/golang.org/x/sys/plan9/mkerrors.sh +246 -0
  1604. data/ext/vendor/golang.org/x/sys/plan9/mksysnum_plan9.sh +23 -0
  1605. data/ext/vendor/golang.org/x/sys/plan9/pwd_go15_plan9.go +22 -0
  1606. data/ext/vendor/golang.org/x/sys/plan9/pwd_plan9.go +24 -0
  1607. data/ext/vendor/golang.org/x/sys/plan9/race.go +31 -0
  1608. data/ext/vendor/golang.org/x/sys/plan9/race0.go +26 -0
  1609. data/ext/vendor/golang.org/x/sys/plan9/str.go +23 -0
  1610. data/ext/vendor/golang.org/x/sys/plan9/syscall.go +110 -0
  1611. data/ext/vendor/golang.org/x/sys/plan9/syscall_plan9.go +361 -0
  1612. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_386.go +285 -0
  1613. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_amd64.go +285 -0
  1614. data/ext/vendor/golang.org/x/sys/plan9/zsyscall_plan9_arm.go +285 -0
  1615. data/ext/vendor/golang.org/x/sys/plan9/zsysnum_plan9.go +49 -0
  1616. data/ext/vendor/golang.org/x/sys/unix/.gitignore +2 -0
  1617. data/ext/vendor/golang.org/x/sys/unix/README.md +184 -0
  1618. data/ext/vendor/golang.org/x/sys/unix/affinity_linux.go +86 -0
  1619. data/ext/vendor/golang.org/x/sys/unix/aliases.go +15 -0
  1620. data/ext/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s +18 -0
  1621. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_386.s +29 -0
  1622. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s +29 -0
  1623. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_arm.s +29 -0
  1624. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s +29 -0
  1625. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s +31 -0
  1626. data/ext/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s +29 -0
  1627. data/ext/vendor/golang.org/x/sys/unix/asm_linux_386.s +66 -0
  1628. data/ext/vendor/golang.org/x/sys/unix/asm_linux_amd64.s +58 -0
  1629. data/ext/vendor/golang.org/x/sys/unix/asm_linux_arm.s +57 -0
  1630. data/ext/vendor/golang.org/x/sys/unix/asm_linux_arm64.s +53 -0
  1631. data/ext/vendor/golang.org/x/sys/unix/asm_linux_loong64.s +54 -0
  1632. data/ext/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s +57 -0
  1633. data/ext/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s +55 -0
  1634. data/ext/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s +45 -0
  1635. data/ext/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s +49 -0
  1636. data/ext/vendor/golang.org/x/sys/unix/asm_linux_s390x.s +57 -0
  1637. data/ext/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s +30 -0
  1638. data/ext/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s +18 -0
  1639. data/ext/vendor/golang.org/x/sys/unix/asm_zos_s390x.s +426 -0
  1640. data/ext/vendor/golang.org/x/sys/unix/bluetooth_linux.go +36 -0
  1641. data/ext/vendor/golang.org/x/sys/unix/cap_freebsd.go +196 -0
  1642. data/ext/vendor/golang.org/x/sys/unix/constants.go +14 -0
  1643. data/ext/vendor/golang.org/x/sys/unix/dev_aix_ppc.go +27 -0
  1644. data/ext/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go +29 -0
  1645. data/ext/vendor/golang.org/x/sys/unix/dev_darwin.go +24 -0
  1646. data/ext/vendor/golang.org/x/sys/unix/dev_dragonfly.go +30 -0
  1647. data/ext/vendor/golang.org/x/sys/unix/dev_freebsd.go +30 -0
  1648. data/ext/vendor/golang.org/x/sys/unix/dev_linux.go +42 -0
  1649. data/ext/vendor/golang.org/x/sys/unix/dev_netbsd.go +29 -0
  1650. data/ext/vendor/golang.org/x/sys/unix/dev_openbsd.go +29 -0
  1651. data/ext/vendor/golang.org/x/sys/unix/dev_zos.go +29 -0
  1652. data/ext/vendor/golang.org/x/sys/unix/dirent.go +103 -0
  1653. data/ext/vendor/golang.org/x/sys/unix/endian_big.go +10 -0
  1654. data/ext/vendor/golang.org/x/sys/unix/endian_little.go +10 -0
  1655. data/ext/vendor/golang.org/x/sys/unix/env_unix.go +32 -0
  1656. data/ext/vendor/golang.org/x/sys/unix/epoll_zos.go +221 -0
  1657. data/ext/vendor/golang.org/x/sys/unix/fcntl.go +37 -0
  1658. data/ext/vendor/golang.org/x/sys/unix/fcntl_darwin.go +24 -0
  1659. data/ext/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go +14 -0
  1660. data/ext/vendor/golang.org/x/sys/unix/fdset.go +30 -0
  1661. data/ext/vendor/golang.org/x/sys/unix/fstatfs_zos.go +164 -0
  1662. data/ext/vendor/golang.org/x/sys/unix/gccgo.go +60 -0
  1663. data/ext/vendor/golang.org/x/sys/unix/gccgo_c.c +45 -0
  1664. data/ext/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go +21 -0
  1665. data/ext/vendor/golang.org/x/sys/unix/ifreq_linux.go +142 -0
  1666. data/ext/vendor/golang.org/x/sys/unix/ioctl.go +70 -0
  1667. data/ext/vendor/golang.org/x/sys/unix/ioctl_linux.go +233 -0
  1668. data/ext/vendor/golang.org/x/sys/unix/ioctl_zos.go +72 -0
  1669. data/ext/vendor/golang.org/x/sys/unix/mkall.sh +249 -0
  1670. data/ext/vendor/golang.org/x/sys/unix/mkerrors.sh +778 -0
  1671. data/ext/vendor/golang.org/x/sys/unix/pagesize_unix.go +16 -0
  1672. data/ext/vendor/golang.org/x/sys/unix/pledge_openbsd.go +163 -0
  1673. data/ext/vendor/golang.org/x/sys/unix/ptrace_darwin.go +18 -0
  1674. data/ext/vendor/golang.org/x/sys/unix/ptrace_ios.go +18 -0
  1675. data/ext/vendor/golang.org/x/sys/unix/race.go +31 -0
  1676. data/ext/vendor/golang.org/x/sys/unix/race0.go +26 -0
  1677. data/ext/vendor/golang.org/x/sys/unix/readdirent_getdents.go +13 -0
  1678. data/ext/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go +20 -0
  1679. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_dragonfly.go +16 -0
  1680. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_linux.go +85 -0
  1681. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_unix.go +107 -0
  1682. data/ext/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go +47 -0
  1683. data/ext/vendor/golang.org/x/sys/unix/syscall.go +87 -0
  1684. data/ext/vendor/golang.org/x/sys/unix/syscall_aix.go +599 -0
  1685. data/ext/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go +54 -0
  1686. data/ext/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go +85 -0
  1687. data/ext/vendor/golang.org/x/sys/unix/syscall_bsd.go +624 -0
  1688. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin.go +827 -0
  1689. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go +52 -0
  1690. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go +52 -0
  1691. data/ext/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go +27 -0
  1692. data/ext/vendor/golang.org/x/sys/unix/syscall_dragonfly.go +546 -0
  1693. data/ext/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go +57 -0
  1694. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd.go +646 -0
  1695. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go +65 -0
  1696. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go +65 -0
  1697. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go +61 -0
  1698. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go +61 -0
  1699. data/ext/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go +61 -0
  1700. data/ext/vendor/golang.org/x/sys/unix/syscall_hurd.go +30 -0
  1701. data/ext/vendor/golang.org/x/sys/unix/syscall_hurd_386.go +29 -0
  1702. data/ext/vendor/golang.org/x/sys/unix/syscall_illumos.go +79 -0
  1703. data/ext/vendor/golang.org/x/sys/unix/syscall_linux.go +2510 -0
  1704. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_386.go +342 -0
  1705. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go +14 -0
  1706. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go +147 -0
  1707. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go +13 -0
  1708. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_arm.go +244 -0
  1709. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go +195 -0
  1710. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc.go +15 -0
  1711. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go +17 -0
  1712. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go +14 -0
  1713. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go +31 -0
  1714. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go +21 -0
  1715. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go +222 -0
  1716. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go +191 -0
  1717. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go +203 -0
  1718. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go +232 -0
  1719. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go +118 -0
  1720. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go +180 -0
  1721. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go +298 -0
  1722. data/ext/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go +114 -0
  1723. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd.go +623 -0
  1724. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go +38 -0
  1725. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go +38 -0
  1726. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go +38 -0
  1727. data/ext/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go +38 -0
  1728. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd.go +391 -0
  1729. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go +42 -0
  1730. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go +42 -0
  1731. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go +42 -0
  1732. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go +42 -0
  1733. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go +27 -0
  1734. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_mips64.go +39 -0
  1735. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go +42 -0
  1736. data/ext/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go +42 -0
  1737. data/ext/vendor/golang.org/x/sys/unix/syscall_solaris.go +1136 -0
  1738. data/ext/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go +28 -0
  1739. data/ext/vendor/golang.org/x/sys/unix/syscall_unix.go +589 -0
  1740. data/ext/vendor/golang.org/x/sys/unix/syscall_unix_gc.go +16 -0
  1741. data/ext/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go +25 -0
  1742. data/ext/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go +1994 -0
  1743. data/ext/vendor/golang.org/x/sys/unix/sysvshm_linux.go +21 -0
  1744. data/ext/vendor/golang.org/x/sys/unix/sysvshm_unix.go +52 -0
  1745. data/ext/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go +14 -0
  1746. data/ext/vendor/golang.org/x/sys/unix/timestruct.go +77 -0
  1747. data/ext/vendor/golang.org/x/sys/unix/unveil_openbsd.go +42 -0
  1748. data/ext/vendor/golang.org/x/sys/unix/xattr_bsd.go +281 -0
  1749. data/ext/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go +1385 -0
  1750. data/ext/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go +1386 -0
  1751. data/ext/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go +1892 -0
  1752. data/ext/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go +1892 -0
  1753. data/ext/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go +1738 -0
  1754. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go +2043 -0
  1755. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go +2040 -0
  1756. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go +2034 -0
  1757. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go +2034 -0
  1758. data/ext/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go +2148 -0
  1759. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux.go +3479 -0
  1760. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +829 -0
  1761. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +829 -0
  1762. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +835 -0
  1763. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +827 -0
  1764. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +819 -0
  1765. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +836 -0
  1766. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +836 -0
  1767. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +836 -0
  1768. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +836 -0
  1769. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +888 -0
  1770. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +892 -0
  1771. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +892 -0
  1772. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +816 -0
  1773. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +891 -0
  1774. data/ext/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +886 -0
  1775. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go +1780 -0
  1776. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go +1770 -0
  1777. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go +1759 -0
  1778. data/ext/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go +1770 -0
  1779. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go +1906 -0
  1780. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go +1906 -0
  1781. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go +1906 -0
  1782. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go +1906 -0
  1783. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go +1906 -0
  1784. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go +1905 -0
  1785. data/ext/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go +1904 -0
  1786. data/ext/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go +1557 -0
  1787. data/ext/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go +860 -0
  1788. data/ext/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go +42 -0
  1789. data/ext/vendor/golang.org/x/sys/unix/zptrace_linux_arm64.go +17 -0
  1790. data/ext/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go +51 -0
  1791. data/ext/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go +51 -0
  1792. data/ext/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go +81 -0
  1793. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go +1495 -0
  1794. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go +1453 -0
  1795. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go +1199 -0
  1796. data/ext/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go +1078 -0
  1797. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +2561 -0
  1798. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +904 -0
  1799. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +2561 -0
  1800. data/ext/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +904 -0
  1801. data/ext/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go +1699 -0
  1802. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go +1919 -0
  1803. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go +1919 -0
  1804. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go +1919 -0
  1805. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go +1919 -0
  1806. data/ext/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go +1919 -0
  1807. data/ext/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go +102 -0
  1808. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux.go +2184 -0
  1809. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go +497 -0
  1810. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go +664 -0
  1811. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go +612 -0
  1812. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go +563 -0
  1813. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go +487 -0
  1814. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go +664 -0
  1815. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go +658 -0
  1816. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go +647 -0
  1817. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go +664 -0
  1818. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go +669 -0
  1819. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go +715 -0
  1820. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go +715 -0
  1821. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go +543 -0
  1822. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go +506 -0
  1823. data/ext/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go +659 -0
  1824. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go +1870 -0
  1825. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go +1870 -0
  1826. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go +1870 -0
  1827. data/ext/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go +1870 -0
  1828. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go +2243 -0
  1829. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s +669 -0
  1830. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go +2243 -0
  1831. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s +669 -0
  1832. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go +2243 -0
  1833. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s +669 -0
  1834. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go +2243 -0
  1835. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s +669 -0
  1836. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go +2243 -0
  1837. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s +669 -0
  1838. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go +2243 -0
  1839. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s +802 -0
  1840. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go +2243 -0
  1841. data/ext/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s +669 -0
  1842. data/ext/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +2117 -0
  1843. data/ext/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go +1265 -0
  1844. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go +281 -0
  1845. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go +281 -0
  1846. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go +281 -0
  1847. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go +281 -0
  1848. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go +281 -0
  1849. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go +281 -0
  1850. data/ext/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go +282 -0
  1851. data/ext/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go +440 -0
  1852. data/ext/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go +438 -0
  1853. data/ext/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go +317 -0
  1854. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go +394 -0
  1855. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go +394 -0
  1856. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go +394 -0
  1857. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go +394 -0
  1858. data/ext/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go +394 -0
  1859. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +450 -0
  1860. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +372 -0
  1861. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +414 -0
  1862. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +317 -0
  1863. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +311 -0
  1864. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +434 -0
  1865. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +364 -0
  1866. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +364 -0
  1867. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +434 -0
  1868. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +441 -0
  1869. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +413 -0
  1870. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +413 -0
  1871. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +316 -0
  1872. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +378 -0
  1873. data/ext/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +392 -0
  1874. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go +275 -0
  1875. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go +275 -0
  1876. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go +275 -0
  1877. data/ext/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go +275 -0
  1878. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go +220 -0
  1879. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go +220 -0
  1880. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go +220 -0
  1881. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go +219 -0
  1882. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go +222 -0
  1883. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go +218 -0
  1884. data/ext/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go +219 -0
  1885. data/ext/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go +2670 -0
  1886. data/ext/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go +354 -0
  1887. data/ext/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go +358 -0
  1888. data/ext/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go +795 -0
  1889. data/ext/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go +795 -0
  1890. data/ext/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go +474 -0
  1891. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go +651 -0
  1892. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go +656 -0
  1893. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go +642 -0
  1894. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +636 -0
  1895. data/ext/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go +638 -0
  1896. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux.go +5812 -0
  1897. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +696 -0
  1898. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +711 -0
  1899. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +691 -0
  1900. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +690 -0
  1901. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +691 -0
  1902. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +696 -0
  1903. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +693 -0
  1904. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +693 -0
  1905. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +696 -0
  1906. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +704 -0
  1907. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +699 -0
  1908. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +699 -0
  1909. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +718 -0
  1910. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +713 -0
  1911. data/ext/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +694 -0
  1912. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go +586 -0
  1913. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go +594 -0
  1914. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go +591 -0
  1915. data/ext/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go +594 -0
  1916. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go +569 -0
  1917. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go +569 -0
  1918. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go +576 -0
  1919. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go +569 -0
  1920. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go +569 -0
  1921. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go +571 -0
  1922. data/ext/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go +571 -0
  1923. data/ext/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go +517 -0
  1924. data/ext/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go +415 -0
  1925. data/ext/vendor/golang.org/x/sys/windows/aliases.go +13 -0
  1926. data/ext/vendor/golang.org/x/sys/windows/dll_windows.go +416 -0
  1927. data/ext/vendor/golang.org/x/sys/windows/empty.s +9 -0
  1928. data/ext/vendor/golang.org/x/sys/windows/env_windows.go +54 -0
  1929. data/ext/vendor/golang.org/x/sys/windows/eventlog.go +21 -0
  1930. data/ext/vendor/golang.org/x/sys/windows/exec_windows.go +178 -0
  1931. data/ext/vendor/golang.org/x/sys/windows/memory_windows.go +48 -0
  1932. data/ext/vendor/golang.org/x/sys/windows/mkerrors.bash +70 -0
  1933. data/ext/vendor/golang.org/x/sys/windows/mkknownfolderids.bash +27 -0
  1934. data/ext/vendor/golang.org/x/sys/windows/mksyscall.go +10 -0
  1935. data/ext/vendor/golang.org/x/sys/windows/race.go +31 -0
  1936. data/ext/vendor/golang.org/x/sys/windows/race0.go +26 -0
  1937. data/ext/vendor/golang.org/x/sys/windows/security_windows.go +1444 -0
  1938. data/ext/vendor/golang.org/x/sys/windows/service.go +247 -0
  1939. data/ext/vendor/golang.org/x/sys/windows/setupapi_windows.go +1425 -0
  1940. data/ext/vendor/golang.org/x/sys/windows/str.go +23 -0
  1941. data/ext/vendor/golang.org/x/sys/windows/syscall.go +105 -0
  1942. data/ext/vendor/golang.org/x/sys/windows/syscall_windows.go +1808 -0
  1943. data/ext/vendor/golang.org/x/sys/windows/types_windows.go +3345 -0
  1944. data/ext/vendor/golang.org/x/sys/windows/types_windows_386.go +35 -0
  1945. data/ext/vendor/golang.org/x/sys/windows/types_windows_amd64.go +34 -0
  1946. data/ext/vendor/golang.org/x/sys/windows/types_windows_arm.go +35 -0
  1947. data/ext/vendor/golang.org/x/sys/windows/types_windows_arm64.go +34 -0
  1948. data/ext/vendor/golang.org/x/sys/windows/zerrors_windows.go +9468 -0
  1949. data/ext/vendor/golang.org/x/sys/windows/zknownfolderids_windows.go +149 -0
  1950. data/ext/vendor/golang.org/x/sys/windows/zsyscall_windows.go +4336 -0
  1951. data/ext/vendor/golang.org/x/term/CONTRIBUTING.md +26 -0
  1952. data/ext/vendor/golang.org/x/term/LICENSE +27 -0
  1953. data/ext/vendor/golang.org/x/term/PATENTS +22 -0
  1954. data/ext/vendor/golang.org/x/term/README.md +19 -0
  1955. data/ext/vendor/golang.org/x/term/codereview.cfg +1 -0
  1956. data/ext/vendor/golang.org/x/term/term.go +60 -0
  1957. data/ext/vendor/golang.org/x/term/term_plan9.go +42 -0
  1958. data/ext/vendor/golang.org/x/term/term_unix.go +92 -0
  1959. data/ext/vendor/golang.org/x/term/term_unix_bsd.go +13 -0
  1960. data/ext/vendor/golang.org/x/term/term_unix_other.go +13 -0
  1961. data/ext/vendor/golang.org/x/term/term_unsupported.go +39 -0
  1962. data/ext/vendor/golang.org/x/term/term_windows.go +79 -0
  1963. data/ext/vendor/golang.org/x/term/terminal.go +986 -0
  1964. data/ext/vendor/golang.org/x/text/LICENSE +27 -0
  1965. data/ext/vendor/golang.org/x/text/PATENTS +22 -0
  1966. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  1967. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +12 -0
  1968. data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +15 -0
  1969. data/ext/vendor/golang.org/x/text/transform/transform.go +709 -0
  1970. data/ext/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  1971. data/ext/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  1972. data/ext/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  1973. data/ext/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  1974. data/ext/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1816 -0
  1975. data/ext/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1888 -0
  1976. data/ext/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1924 -0
  1977. data/ext/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1956 -0
  1978. data/ext/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1782 -0
  1979. data/ext/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  1980. data/ext/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  1981. data/ext/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  1982. data/ext/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  1983. data/ext/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  1984. data/ext/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  1985. data/ext/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  1986. data/ext/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7658 -0
  1987. data/ext/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7694 -0
  1988. data/ext/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7711 -0
  1989. data/ext/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7761 -0
  1990. data/ext/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7638 -0
  1991. data/ext/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  1992. data/ext/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  1993. data/ext/vendor/golang.org/x/tools/LICENSE +27 -0
  1994. data/ext/vendor/golang.org/x/tools/PATENTS +22 -0
  1995. data/ext/vendor/golang.org/x/tools/cmd/goimports/doc.go +50 -0
  1996. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports.go +380 -0
  1997. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports_gc.go +27 -0
  1998. data/ext/vendor/golang.org/x/tools/cmd/goimports/goimports_not_gc.go +12 -0
  1999. data/ext/vendor/golang.org/x/tools/cmd/stringer/stringer.go +657 -0
  2000. data/ext/vendor/golang.org/x/tools/go/ast/astutil/enclosing.go +636 -0
  2001. data/ext/vendor/golang.org/x/tools/go/ast/astutil/imports.go +485 -0
  2002. data/ext/vendor/golang.org/x/tools/go/ast/astutil/rewrite.go +488 -0
  2003. data/ext/vendor/golang.org/x/tools/go/ast/astutil/util.go +18 -0
  2004. data/ext/vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go +187 -0
  2005. data/ext/vendor/golang.org/x/tools/go/gcexportdata/importer.go +75 -0
  2006. data/ext/vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go +49 -0
  2007. data/ext/vendor/golang.org/x/tools/go/packages/doc.go +220 -0
  2008. data/ext/vendor/golang.org/x/tools/go/packages/external.go +101 -0
  2009. data/ext/vendor/golang.org/x/tools/go/packages/golist.go +1173 -0
  2010. data/ext/vendor/golang.org/x/tools/go/packages/golist_overlay.go +575 -0
  2011. data/ext/vendor/golang.org/x/tools/go/packages/loadmode_string.go +57 -0
  2012. data/ext/vendor/golang.org/x/tools/go/packages/packages.go +1326 -0
  2013. data/ext/vendor/golang.org/x/tools/go/packages/visit.go +59 -0
  2014. data/ext/vendor/golang.org/x/tools/internal/event/core/event.go +85 -0
  2015. data/ext/vendor/golang.org/x/tools/internal/event/core/export.go +70 -0
  2016. data/ext/vendor/golang.org/x/tools/internal/event/core/fast.go +77 -0
  2017. data/ext/vendor/golang.org/x/tools/internal/event/doc.go +7 -0
  2018. data/ext/vendor/golang.org/x/tools/internal/event/event.go +127 -0
  2019. data/ext/vendor/golang.org/x/tools/internal/event/keys/keys.go +564 -0
  2020. data/ext/vendor/golang.org/x/tools/internal/event/keys/standard.go +22 -0
  2021. data/ext/vendor/golang.org/x/tools/internal/event/label/label.go +215 -0
  2022. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk.go +196 -0
  2023. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_darwin.go +119 -0
  2024. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_fileno.go +14 -0
  2025. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_ino.go +15 -0
  2026. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_bsd.go +14 -0
  2027. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_dirent_namlen_linux.go +29 -0
  2028. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_portable.go +38 -0
  2029. data/ext/vendor/golang.org/x/tools/internal/fastwalk/fastwalk_unix.go +153 -0
  2030. data/ext/vendor/golang.org/x/tools/internal/gcimporter/bexport.go +852 -0
  2031. data/ext/vendor/golang.org/x/tools/internal/gcimporter/bimport.go +1053 -0
  2032. data/ext/vendor/golang.org/x/tools/internal/gcimporter/exportdata.go +99 -0
  2033. data/ext/vendor/golang.org/x/tools/internal/gcimporter/gcimporter.go +265 -0
  2034. data/ext/vendor/golang.org/x/tools/internal/gcimporter/iexport.go +1180 -0
  2035. data/ext/vendor/golang.org/x/tools/internal/gcimporter/iimport.go +976 -0
  2036. data/ext/vendor/golang.org/x/tools/internal/gcimporter/newInterface10.go +22 -0
  2037. data/ext/vendor/golang.org/x/tools/internal/gcimporter/newInterface11.go +14 -0
  2038. data/ext/vendor/golang.org/x/tools/internal/gcimporter/support_go117.go +16 -0
  2039. data/ext/vendor/golang.org/x/tools/internal/gcimporter/support_go118.go +37 -0
  2040. data/ext/vendor/golang.org/x/tools/internal/gcimporter/unified_no.go +10 -0
  2041. data/ext/vendor/golang.org/x/tools/internal/gcimporter/unified_yes.go +10 -0
  2042. data/ext/vendor/golang.org/x/tools/internal/gcimporter/ureader_no.go +19 -0
  2043. data/ext/vendor/golang.org/x/tools/internal/gcimporter/ureader_yes.go +738 -0
  2044. data/ext/vendor/golang.org/x/tools/internal/gocommand/invoke.go +356 -0
  2045. data/ext/vendor/golang.org/x/tools/internal/gocommand/vendor.go +109 -0
  2046. data/ext/vendor/golang.org/x/tools/internal/gocommand/version.go +81 -0
  2047. data/ext/vendor/golang.org/x/tools/internal/gopathwalk/walk.go +254 -0
  2048. data/ext/vendor/golang.org/x/tools/internal/imports/fix.go +1738 -0
  2049. data/ext/vendor/golang.org/x/tools/internal/imports/imports.go +351 -0
  2050. data/ext/vendor/golang.org/x/tools/internal/imports/mod.go +716 -0
  2051. data/ext/vendor/golang.org/x/tools/internal/imports/mod_cache.go +236 -0
  2052. data/ext/vendor/golang.org/x/tools/internal/imports/sortimports.go +297 -0
  2053. data/ext/vendor/golang.org/x/tools/internal/imports/zstdlib.go +11115 -0
  2054. data/ext/vendor/golang.org/x/tools/internal/packagesinternal/packages.go +30 -0
  2055. data/ext/vendor/golang.org/x/tools/internal/pkgbits/codes.go +77 -0
  2056. data/ext/vendor/golang.org/x/tools/internal/pkgbits/decoder.go +517 -0
  2057. data/ext/vendor/golang.org/x/tools/internal/pkgbits/doc.go +32 -0
  2058. data/ext/vendor/golang.org/x/tools/internal/pkgbits/encoder.go +383 -0
  2059. data/ext/vendor/golang.org/x/tools/internal/pkgbits/flags.go +9 -0
  2060. data/ext/vendor/golang.org/x/tools/internal/pkgbits/frames_go1.go +21 -0
  2061. data/ext/vendor/golang.org/x/tools/internal/pkgbits/frames_go17.go +28 -0
  2062. data/ext/vendor/golang.org/x/tools/internal/pkgbits/reloc.go +42 -0
  2063. data/ext/vendor/golang.org/x/tools/internal/pkgbits/support.go +17 -0
  2064. data/ext/vendor/golang.org/x/tools/internal/pkgbits/sync.go +113 -0
  2065. data/ext/vendor/golang.org/x/tools/internal/pkgbits/syncmarker_string.go +89 -0
  2066. data/ext/vendor/golang.org/x/tools/internal/tokeninternal/tokeninternal.go +59 -0
  2067. data/ext/vendor/golang.org/x/tools/internal/typeparams/common.go +179 -0
  2068. data/ext/vendor/golang.org/x/tools/internal/typeparams/coretype.go +122 -0
  2069. data/ext/vendor/golang.org/x/tools/internal/typeparams/enabled_go117.go +12 -0
  2070. data/ext/vendor/golang.org/x/tools/internal/typeparams/enabled_go118.go +15 -0
  2071. data/ext/vendor/golang.org/x/tools/internal/typeparams/normalize.go +218 -0
  2072. data/ext/vendor/golang.org/x/tools/internal/typeparams/termlist.go +163 -0
  2073. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeparams_go117.go +197 -0
  2074. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeparams_go118.go +151 -0
  2075. data/ext/vendor/golang.org/x/tools/internal/typeparams/typeterm.go +170 -0
  2076. data/ext/vendor/golang.org/x/tools/internal/typesinternal/errorcode.go +1560 -0
  2077. data/ext/vendor/golang.org/x/tools/internal/typesinternal/errorcode_string.go +179 -0
  2078. data/ext/vendor/golang.org/x/tools/internal/typesinternal/types.go +52 -0
  2079. data/ext/vendor/golang.org/x/tools/internal/typesinternal/types_118.go +19 -0
  2080. data/ext/vendor/golang.org/x/xerrors/LICENSE +27 -0
  2081. data/ext/vendor/golang.org/x/xerrors/PATENTS +22 -0
  2082. data/ext/vendor/golang.org/x/xerrors/README +2 -0
  2083. data/ext/vendor/golang.org/x/xerrors/adaptor.go +193 -0
  2084. data/ext/vendor/golang.org/x/xerrors/codereview.cfg +1 -0
  2085. data/ext/vendor/golang.org/x/xerrors/doc.go +23 -0
  2086. data/ext/vendor/golang.org/x/xerrors/errors.go +33 -0
  2087. data/ext/vendor/golang.org/x/xerrors/fmt.go +190 -0
  2088. data/ext/vendor/golang.org/x/xerrors/format.go +34 -0
  2089. data/ext/vendor/golang.org/x/xerrors/frame.go +56 -0
  2090. data/ext/vendor/golang.org/x/xerrors/internal/internal.go +8 -0
  2091. data/ext/vendor/golang.org/x/xerrors/wrap.go +112 -0
  2092. data/ext/vendor/modules.txt +311 -0
  2093. data/ext/wrapper.go +158 -0
  2094. data/lib/ruby_snowflake_client/version.rb +3 -0
  2095. data/lib/ruby_snowflake_client.rb +46 -0
  2096. data/ruby_snowflake_client.gemspec +24 -0
  2097. metadata +2141 -0
@@ -0,0 +1,2783 @@
1
+ // Code generated by xxh3_memo_table.gen.go.tmpl. DO NOT EDIT.
2
+
3
+ // Licensed to the Apache Software Foundation (ASF) under one
4
+ // or more contributor license agreements. See the NOTICE file
5
+ // distributed with this work for additional information
6
+ // regarding copyright ownership. The ASF licenses this file
7
+ // to you under the Apache License, Version 2.0 (the
8
+ // "License"); you may not use this file except in compliance
9
+ // with the License. You may obtain a copy of the License at
10
+ //
11
+ // http://www.apache.org/licenses/LICENSE-2.0
12
+ //
13
+ // Unless required by applicable law or agreed to in writing, software
14
+ // distributed under the License is distributed on an "AS IS" BASIS,
15
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ // See the License for the specific language governing permissions and
17
+ // limitations under the License.
18
+
19
+ package hashing
20
+
21
+ import (
22
+ "math"
23
+
24
+ "github.com/apache/arrow/go/v10/arrow"
25
+ "github.com/apache/arrow/go/v10/arrow/bitutil"
26
+ "github.com/apache/arrow/go/v10/internal/utils"
27
+ )
28
+
29
+ type payloadInt8 struct {
30
+ val int8
31
+ memoIdx int32
32
+ }
33
+
34
+ type entryInt8 struct {
35
+ h uint64
36
+ payload payloadInt8
37
+ }
38
+
39
+ func (e entryInt8) Valid() bool { return e.h != sentinel }
40
+
41
+ // Int8HashTable is a hashtable specifically for int8 that
42
+ // is utilized with the MemoTable to generalize interactions for easier
43
+ // implementation of dictionaries without losing performance.
44
+ type Int8HashTable struct {
45
+ cap uint64
46
+ capMask uint64
47
+ size uint64
48
+
49
+ entries []entryInt8
50
+ }
51
+
52
+ // NewInt8HashTable returns a new hash table for int8 values
53
+ // initialized with the passed in capacity or 32 whichever is larger.
54
+ func NewInt8HashTable(cap uint64) *Int8HashTable {
55
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
56
+ ret := &Int8HashTable{cap: initCap, capMask: initCap - 1, size: 0}
57
+ ret.entries = make([]entryInt8, initCap)
58
+ return ret
59
+ }
60
+
61
+ // Reset drops all of the values in this hash table and re-initializes it
62
+ // with the specified initial capacity as if by calling New, but without having
63
+ // to reallocate the object.
64
+ func (h *Int8HashTable) Reset(cap uint64) {
65
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
66
+ h.capMask = h.cap - 1
67
+ h.size = 0
68
+ h.entries = make([]entryInt8, h.cap)
69
+ }
70
+
71
+ // CopyValues is used for copying the values out of the hash table into the
72
+ // passed in slice, in the order that they were first inserted
73
+ func (h *Int8HashTable) CopyValues(out []int8) {
74
+ h.CopyValuesSubset(0, out)
75
+ }
76
+
77
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
78
+ // with the value at start, in the order that they were inserted.
79
+ func (h *Int8HashTable) CopyValuesSubset(start int, out []int8) {
80
+ h.VisitEntries(func(e *entryInt8) {
81
+ idx := e.payload.memoIdx - int32(start)
82
+ if idx >= 0 {
83
+ out[idx] = e.payload.val
84
+ }
85
+ })
86
+ }
87
+
88
+ func (h *Int8HashTable) WriteOut(out []byte) {
89
+ h.WriteOutSubset(0, out)
90
+ }
91
+
92
+ func (h *Int8HashTable) WriteOutSubset(start int, out []byte) {
93
+ data := arrow.Int8Traits.CastFromBytes(out)
94
+ h.VisitEntries(func(e *entryInt8) {
95
+ idx := e.payload.memoIdx - int32(start)
96
+ if idx >= 0 {
97
+ data[idx] = e.payload.val
98
+ }
99
+ })
100
+ }
101
+
102
+ func (h *Int8HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
103
+
104
+ func (Int8HashTable) fixHash(v uint64) uint64 {
105
+ if v == sentinel {
106
+ return 42
107
+ }
108
+ return v
109
+ }
110
+
111
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
112
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
113
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
114
+ func (h *Int8HashTable) Lookup(v uint64, cmp func(int8) bool) (*entryInt8, bool) {
115
+ idx, ok := h.lookup(v, h.capMask, cmp)
116
+ return &h.entries[idx], ok
117
+ }
118
+
119
+ func (h *Int8HashTable) lookup(v uint64, szMask uint64, cmp func(int8) bool) (uint64, bool) {
120
+ const perturbShift uint8 = 5
121
+
122
+ var (
123
+ idx uint64
124
+ perturb uint64
125
+ e *entryInt8
126
+ )
127
+
128
+ v = h.fixHash(v)
129
+ idx = v & szMask
130
+ perturb = (v >> uint64(perturbShift)) + 1
131
+
132
+ for {
133
+ e = &h.entries[idx]
134
+ if e.h == v && cmp(e.payload.val) {
135
+ return idx, true
136
+ }
137
+
138
+ if e.h == sentinel {
139
+ return idx, false
140
+ }
141
+
142
+ // perturbation logic inspired from CPython's set/dict object
143
+ // the goal is that all 64 bits of unmasked hash value eventually
144
+ // participate int he probing sequence, to minimize clustering
145
+ idx = (idx + perturb) & szMask
146
+ perturb = (perturb >> uint64(perturbShift)) + 1
147
+ }
148
+ }
149
+
150
+ func (h *Int8HashTable) upsize(newcap uint64) error {
151
+ newMask := newcap - 1
152
+
153
+ oldEntries := h.entries
154
+ h.entries = make([]entryInt8, newcap)
155
+ for _, e := range oldEntries {
156
+ if e.Valid() {
157
+ idx, _ := h.lookup(e.h, newMask, func(int8) bool { return false })
158
+ h.entries[idx] = e
159
+ }
160
+ }
161
+ h.cap = newcap
162
+ h.capMask = newMask
163
+ return nil
164
+ }
165
+
166
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
167
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
168
+ func (h *Int8HashTable) Insert(e *entryInt8, v uint64, val int8, memoIdx int32) error {
169
+ e.h = h.fixHash(v)
170
+ e.payload.val = val
171
+ e.payload.memoIdx = memoIdx
172
+ h.size++
173
+
174
+ if h.needUpsize() {
175
+ h.upsize(h.cap * uint64(loadFactor) * 2)
176
+ }
177
+ return nil
178
+ }
179
+
180
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
181
+ // a valid entry being one which has had a value inserted into it.
182
+ func (h *Int8HashTable) VisitEntries(visit func(*entryInt8)) {
183
+ for _, e := range h.entries {
184
+ if e.Valid() {
185
+ visit(&e)
186
+ }
187
+ }
188
+ }
189
+
190
+ // Int8MemoTable is a wrapper over the appropriate hashtable to provide an interface
191
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
192
+ // regarding dictionaries.
193
+ type Int8MemoTable struct {
194
+ tbl *Int8HashTable
195
+ nullIdx int32
196
+ }
197
+
198
+ // NewInt8MemoTable returns a new memotable with num entries pre-allocated to reduce further
199
+ // allocations when inserting.
200
+ func NewInt8MemoTable(num int64) *Int8MemoTable {
201
+ return &Int8MemoTable{tbl: NewInt8HashTable(uint64(num)), nullIdx: KeyNotFound}
202
+ }
203
+
204
+ func (Int8MemoTable) TypeTraits() TypeTraits {
205
+ return arrow.Int8Traits
206
+ }
207
+
208
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
209
+ func (s *Int8MemoTable) Reset() {
210
+ s.tbl.Reset(32)
211
+ s.nullIdx = KeyNotFound
212
+ }
213
+
214
+ // Size returns the current number of inserted elements into the table including if a null
215
+ // has been inserted.
216
+ func (s *Int8MemoTable) Size() int {
217
+ sz := int(s.tbl.size)
218
+ if _, ok := s.GetNull(); ok {
219
+ sz++
220
+ }
221
+ return sz
222
+ }
223
+
224
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
225
+ // that will be true if found and false if not.
226
+ func (s *Int8MemoTable) GetNull() (int, bool) {
227
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
228
+ }
229
+
230
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
231
+ // if one currently doesn't exist. The found value will be true if there was already
232
+ // a null in the table, and false if it inserted one.
233
+ func (s *Int8MemoTable) GetOrInsertNull() (idx int, found bool) {
234
+ idx, found = s.GetNull()
235
+ if !found {
236
+ idx = s.Size()
237
+ s.nullIdx = int32(idx)
238
+ }
239
+ return
240
+ }
241
+
242
+ // CopyValues will copy the values from the memo table out into the passed in slice
243
+ // which must be of the appropriate type.
244
+ func (s *Int8MemoTable) CopyValues(out interface{}) {
245
+ s.CopyValuesSubset(0, out)
246
+ }
247
+
248
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
249
+ // at the provided start index
250
+ func (s *Int8MemoTable) CopyValuesSubset(start int, out interface{}) {
251
+ s.tbl.CopyValuesSubset(start, out.([]int8))
252
+ }
253
+
254
+ func (s *Int8MemoTable) WriteOut(out []byte) {
255
+ s.tbl.CopyValues(arrow.Int8Traits.CastFromBytes(out))
256
+ }
257
+
258
+ func (s *Int8MemoTable) WriteOutSubset(start int, out []byte) {
259
+ s.tbl.CopyValuesSubset(start, arrow.Int8Traits.CastFromBytes(out))
260
+ }
261
+
262
+ func (s *Int8MemoTable) WriteOutLE(out []byte) {
263
+ s.tbl.WriteOut(out)
264
+ }
265
+
266
+ func (s *Int8MemoTable) WriteOutSubsetLE(start int, out []byte) {
267
+ s.tbl.WriteOutSubset(start, out)
268
+ }
269
+
270
+ // Get returns the index of the requested value in the hash table or KeyNotFound
271
+ // along with a boolean indicating if it was found or not.
272
+ func (s *Int8MemoTable) Get(val interface{}) (int, bool) {
273
+
274
+ h := hashInt(uint64(val.(int8)), 0)
275
+ if e, ok := s.tbl.Lookup(h, func(v int8) bool { return val.(int8) == v }); ok {
276
+ return int(e.payload.memoIdx), ok
277
+ }
278
+ return KeyNotFound, false
279
+ }
280
+
281
+ // GetOrInsert will return the index of the specified value in the table, or insert the
282
+ // value into the table and return the new index. found indicates whether or not it already
283
+ // existed in the table (true) or was inserted by this call (false).
284
+ func (s *Int8MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
285
+
286
+ h := hashInt(uint64(val.(int8)), 0)
287
+ e, ok := s.tbl.Lookup(h, func(v int8) bool {
288
+ return val.(int8) == v
289
+ })
290
+
291
+ if ok {
292
+ idx = int(e.payload.memoIdx)
293
+ found = true
294
+ } else {
295
+ idx = s.Size()
296
+ s.tbl.Insert(e, h, val.(int8), int32(idx))
297
+ }
298
+ return
299
+ }
300
+
301
+ type payloadUint8 struct {
302
+ val uint8
303
+ memoIdx int32
304
+ }
305
+
306
+ type entryUint8 struct {
307
+ h uint64
308
+ payload payloadUint8
309
+ }
310
+
311
+ func (e entryUint8) Valid() bool { return e.h != sentinel }
312
+
313
+ // Uint8HashTable is a hashtable specifically for uint8 that
314
+ // is utilized with the MemoTable to generalize interactions for easier
315
+ // implementation of dictionaries without losing performance.
316
+ type Uint8HashTable struct {
317
+ cap uint64
318
+ capMask uint64
319
+ size uint64
320
+
321
+ entries []entryUint8
322
+ }
323
+
324
+ // NewUint8HashTable returns a new hash table for uint8 values
325
+ // initialized with the passed in capacity or 32 whichever is larger.
326
+ func NewUint8HashTable(cap uint64) *Uint8HashTable {
327
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
328
+ ret := &Uint8HashTable{cap: initCap, capMask: initCap - 1, size: 0}
329
+ ret.entries = make([]entryUint8, initCap)
330
+ return ret
331
+ }
332
+
333
+ // Reset drops all of the values in this hash table and re-initializes it
334
+ // with the specified initial capacity as if by calling New, but without having
335
+ // to reallocate the object.
336
+ func (h *Uint8HashTable) Reset(cap uint64) {
337
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
338
+ h.capMask = h.cap - 1
339
+ h.size = 0
340
+ h.entries = make([]entryUint8, h.cap)
341
+ }
342
+
343
+ // CopyValues is used for copying the values out of the hash table into the
344
+ // passed in slice, in the order that they were first inserted
345
+ func (h *Uint8HashTable) CopyValues(out []uint8) {
346
+ h.CopyValuesSubset(0, out)
347
+ }
348
+
349
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
350
+ // with the value at start, in the order that they were inserted.
351
+ func (h *Uint8HashTable) CopyValuesSubset(start int, out []uint8) {
352
+ h.VisitEntries(func(e *entryUint8) {
353
+ idx := e.payload.memoIdx - int32(start)
354
+ if idx >= 0 {
355
+ out[idx] = e.payload.val
356
+ }
357
+ })
358
+ }
359
+
360
+ func (h *Uint8HashTable) WriteOut(out []byte) {
361
+ h.WriteOutSubset(0, out)
362
+ }
363
+
364
+ func (h *Uint8HashTable) WriteOutSubset(start int, out []byte) {
365
+ data := arrow.Uint8Traits.CastFromBytes(out)
366
+ h.VisitEntries(func(e *entryUint8) {
367
+ idx := e.payload.memoIdx - int32(start)
368
+ if idx >= 0 {
369
+ data[idx] = e.payload.val
370
+ }
371
+ })
372
+ }
373
+
374
+ func (h *Uint8HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
375
+
376
+ func (Uint8HashTable) fixHash(v uint64) uint64 {
377
+ if v == sentinel {
378
+ return 42
379
+ }
380
+ return v
381
+ }
382
+
383
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
384
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
385
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
386
+ func (h *Uint8HashTable) Lookup(v uint64, cmp func(uint8) bool) (*entryUint8, bool) {
387
+ idx, ok := h.lookup(v, h.capMask, cmp)
388
+ return &h.entries[idx], ok
389
+ }
390
+
391
+ func (h *Uint8HashTable) lookup(v uint64, szMask uint64, cmp func(uint8) bool) (uint64, bool) {
392
+ const perturbShift uint8 = 5
393
+
394
+ var (
395
+ idx uint64
396
+ perturb uint64
397
+ e *entryUint8
398
+ )
399
+
400
+ v = h.fixHash(v)
401
+ idx = v & szMask
402
+ perturb = (v >> uint64(perturbShift)) + 1
403
+
404
+ for {
405
+ e = &h.entries[idx]
406
+ if e.h == v && cmp(e.payload.val) {
407
+ return idx, true
408
+ }
409
+
410
+ if e.h == sentinel {
411
+ return idx, false
412
+ }
413
+
414
+ // perturbation logic inspired from CPython's set/dict object
415
+ // the goal is that all 64 bits of unmasked hash value eventually
416
+ // participate int he probing sequence, to minimize clustering
417
+ idx = (idx + perturb) & szMask
418
+ perturb = (perturb >> uint64(perturbShift)) + 1
419
+ }
420
+ }
421
+
422
+ func (h *Uint8HashTable) upsize(newcap uint64) error {
423
+ newMask := newcap - 1
424
+
425
+ oldEntries := h.entries
426
+ h.entries = make([]entryUint8, newcap)
427
+ for _, e := range oldEntries {
428
+ if e.Valid() {
429
+ idx, _ := h.lookup(e.h, newMask, func(uint8) bool { return false })
430
+ h.entries[idx] = e
431
+ }
432
+ }
433
+ h.cap = newcap
434
+ h.capMask = newMask
435
+ return nil
436
+ }
437
+
438
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
439
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
440
+ func (h *Uint8HashTable) Insert(e *entryUint8, v uint64, val uint8, memoIdx int32) error {
441
+ e.h = h.fixHash(v)
442
+ e.payload.val = val
443
+ e.payload.memoIdx = memoIdx
444
+ h.size++
445
+
446
+ if h.needUpsize() {
447
+ h.upsize(h.cap * uint64(loadFactor) * 2)
448
+ }
449
+ return nil
450
+ }
451
+
452
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
453
+ // a valid entry being one which has had a value inserted into it.
454
+ func (h *Uint8HashTable) VisitEntries(visit func(*entryUint8)) {
455
+ for _, e := range h.entries {
456
+ if e.Valid() {
457
+ visit(&e)
458
+ }
459
+ }
460
+ }
461
+
462
+ // Uint8MemoTable is a wrapper over the appropriate hashtable to provide an interface
463
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
464
+ // regarding dictionaries.
465
+ type Uint8MemoTable struct {
466
+ tbl *Uint8HashTable
467
+ nullIdx int32
468
+ }
469
+
470
+ // NewUint8MemoTable returns a new memotable with num entries pre-allocated to reduce further
471
+ // allocations when inserting.
472
+ func NewUint8MemoTable(num int64) *Uint8MemoTable {
473
+ return &Uint8MemoTable{tbl: NewUint8HashTable(uint64(num)), nullIdx: KeyNotFound}
474
+ }
475
+
476
+ func (Uint8MemoTable) TypeTraits() TypeTraits {
477
+ return arrow.Uint8Traits
478
+ }
479
+
480
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
481
+ func (s *Uint8MemoTable) Reset() {
482
+ s.tbl.Reset(32)
483
+ s.nullIdx = KeyNotFound
484
+ }
485
+
486
+ // Size returns the current number of inserted elements into the table including if a null
487
+ // has been inserted.
488
+ func (s *Uint8MemoTable) Size() int {
489
+ sz := int(s.tbl.size)
490
+ if _, ok := s.GetNull(); ok {
491
+ sz++
492
+ }
493
+ return sz
494
+ }
495
+
496
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
497
+ // that will be true if found and false if not.
498
+ func (s *Uint8MemoTable) GetNull() (int, bool) {
499
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
500
+ }
501
+
502
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
503
+ // if one currently doesn't exist. The found value will be true if there was already
504
+ // a null in the table, and false if it inserted one.
505
+ func (s *Uint8MemoTable) GetOrInsertNull() (idx int, found bool) {
506
+ idx, found = s.GetNull()
507
+ if !found {
508
+ idx = s.Size()
509
+ s.nullIdx = int32(idx)
510
+ }
511
+ return
512
+ }
513
+
514
+ // CopyValues will copy the values from the memo table out into the passed in slice
515
+ // which must be of the appropriate type.
516
+ func (s *Uint8MemoTable) CopyValues(out interface{}) {
517
+ s.CopyValuesSubset(0, out)
518
+ }
519
+
520
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
521
+ // at the provided start index
522
+ func (s *Uint8MemoTable) CopyValuesSubset(start int, out interface{}) {
523
+ s.tbl.CopyValuesSubset(start, out.([]uint8))
524
+ }
525
+
526
+ func (s *Uint8MemoTable) WriteOut(out []byte) {
527
+ s.tbl.CopyValues(arrow.Uint8Traits.CastFromBytes(out))
528
+ }
529
+
530
+ func (s *Uint8MemoTable) WriteOutSubset(start int, out []byte) {
531
+ s.tbl.CopyValuesSubset(start, arrow.Uint8Traits.CastFromBytes(out))
532
+ }
533
+
534
+ func (s *Uint8MemoTable) WriteOutLE(out []byte) {
535
+ s.tbl.WriteOut(out)
536
+ }
537
+
538
+ func (s *Uint8MemoTable) WriteOutSubsetLE(start int, out []byte) {
539
+ s.tbl.WriteOutSubset(start, out)
540
+ }
541
+
542
+ // Get returns the index of the requested value in the hash table or KeyNotFound
543
+ // along with a boolean indicating if it was found or not.
544
+ func (s *Uint8MemoTable) Get(val interface{}) (int, bool) {
545
+
546
+ h := hashInt(uint64(val.(uint8)), 0)
547
+ if e, ok := s.tbl.Lookup(h, func(v uint8) bool { return val.(uint8) == v }); ok {
548
+ return int(e.payload.memoIdx), ok
549
+ }
550
+ return KeyNotFound, false
551
+ }
552
+
553
+ // GetOrInsert will return the index of the specified value in the table, or insert the
554
+ // value into the table and return the new index. found indicates whether or not it already
555
+ // existed in the table (true) or was inserted by this call (false).
556
+ func (s *Uint8MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
557
+
558
+ h := hashInt(uint64(val.(uint8)), 0)
559
+ e, ok := s.tbl.Lookup(h, func(v uint8) bool {
560
+ return val.(uint8) == v
561
+ })
562
+
563
+ if ok {
564
+ idx = int(e.payload.memoIdx)
565
+ found = true
566
+ } else {
567
+ idx = s.Size()
568
+ s.tbl.Insert(e, h, val.(uint8), int32(idx))
569
+ }
570
+ return
571
+ }
572
+
573
+ type payloadInt16 struct {
574
+ val int16
575
+ memoIdx int32
576
+ }
577
+
578
+ type entryInt16 struct {
579
+ h uint64
580
+ payload payloadInt16
581
+ }
582
+
583
+ func (e entryInt16) Valid() bool { return e.h != sentinel }
584
+
585
+ // Int16HashTable is a hashtable specifically for int16 that
586
+ // is utilized with the MemoTable to generalize interactions for easier
587
+ // implementation of dictionaries without losing performance.
588
+ type Int16HashTable struct {
589
+ cap uint64
590
+ capMask uint64
591
+ size uint64
592
+
593
+ entries []entryInt16
594
+ }
595
+
596
+ // NewInt16HashTable returns a new hash table for int16 values
597
+ // initialized with the passed in capacity or 32 whichever is larger.
598
+ func NewInt16HashTable(cap uint64) *Int16HashTable {
599
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
600
+ ret := &Int16HashTable{cap: initCap, capMask: initCap - 1, size: 0}
601
+ ret.entries = make([]entryInt16, initCap)
602
+ return ret
603
+ }
604
+
605
+ // Reset drops all of the values in this hash table and re-initializes it
606
+ // with the specified initial capacity as if by calling New, but without having
607
+ // to reallocate the object.
608
+ func (h *Int16HashTable) Reset(cap uint64) {
609
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
610
+ h.capMask = h.cap - 1
611
+ h.size = 0
612
+ h.entries = make([]entryInt16, h.cap)
613
+ }
614
+
615
+ // CopyValues is used for copying the values out of the hash table into the
616
+ // passed in slice, in the order that they were first inserted
617
+ func (h *Int16HashTable) CopyValues(out []int16) {
618
+ h.CopyValuesSubset(0, out)
619
+ }
620
+
621
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
622
+ // with the value at start, in the order that they were inserted.
623
+ func (h *Int16HashTable) CopyValuesSubset(start int, out []int16) {
624
+ h.VisitEntries(func(e *entryInt16) {
625
+ idx := e.payload.memoIdx - int32(start)
626
+ if idx >= 0 {
627
+ out[idx] = e.payload.val
628
+ }
629
+ })
630
+ }
631
+
632
+ func (h *Int16HashTable) WriteOut(out []byte) {
633
+ h.WriteOutSubset(0, out)
634
+ }
635
+
636
+ func (h *Int16HashTable) WriteOutSubset(start int, out []byte) {
637
+ data := arrow.Int16Traits.CastFromBytes(out)
638
+ h.VisitEntries(func(e *entryInt16) {
639
+ idx := e.payload.memoIdx - int32(start)
640
+ if idx >= 0 {
641
+ data[idx] = utils.ToLEInt16(e.payload.val)
642
+ }
643
+ })
644
+ }
645
+
646
+ func (h *Int16HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
647
+
648
+ func (Int16HashTable) fixHash(v uint64) uint64 {
649
+ if v == sentinel {
650
+ return 42
651
+ }
652
+ return v
653
+ }
654
+
655
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
656
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
657
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
658
+ func (h *Int16HashTable) Lookup(v uint64, cmp func(int16) bool) (*entryInt16, bool) {
659
+ idx, ok := h.lookup(v, h.capMask, cmp)
660
+ return &h.entries[idx], ok
661
+ }
662
+
663
+ func (h *Int16HashTable) lookup(v uint64, szMask uint64, cmp func(int16) bool) (uint64, bool) {
664
+ const perturbShift uint8 = 5
665
+
666
+ var (
667
+ idx uint64
668
+ perturb uint64
669
+ e *entryInt16
670
+ )
671
+
672
+ v = h.fixHash(v)
673
+ idx = v & szMask
674
+ perturb = (v >> uint64(perturbShift)) + 1
675
+
676
+ for {
677
+ e = &h.entries[idx]
678
+ if e.h == v && cmp(e.payload.val) {
679
+ return idx, true
680
+ }
681
+
682
+ if e.h == sentinel {
683
+ return idx, false
684
+ }
685
+
686
+ // perturbation logic inspired from CPython's set/dict object
687
+ // the goal is that all 64 bits of unmasked hash value eventually
688
+ // participate int he probing sequence, to minimize clustering
689
+ idx = (idx + perturb) & szMask
690
+ perturb = (perturb >> uint64(perturbShift)) + 1
691
+ }
692
+ }
693
+
694
+ func (h *Int16HashTable) upsize(newcap uint64) error {
695
+ newMask := newcap - 1
696
+
697
+ oldEntries := h.entries
698
+ h.entries = make([]entryInt16, newcap)
699
+ for _, e := range oldEntries {
700
+ if e.Valid() {
701
+ idx, _ := h.lookup(e.h, newMask, func(int16) bool { return false })
702
+ h.entries[idx] = e
703
+ }
704
+ }
705
+ h.cap = newcap
706
+ h.capMask = newMask
707
+ return nil
708
+ }
709
+
710
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
711
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
712
+ func (h *Int16HashTable) Insert(e *entryInt16, v uint64, val int16, memoIdx int32) error {
713
+ e.h = h.fixHash(v)
714
+ e.payload.val = val
715
+ e.payload.memoIdx = memoIdx
716
+ h.size++
717
+
718
+ if h.needUpsize() {
719
+ h.upsize(h.cap * uint64(loadFactor) * 2)
720
+ }
721
+ return nil
722
+ }
723
+
724
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
725
+ // a valid entry being one which has had a value inserted into it.
726
+ func (h *Int16HashTable) VisitEntries(visit func(*entryInt16)) {
727
+ for _, e := range h.entries {
728
+ if e.Valid() {
729
+ visit(&e)
730
+ }
731
+ }
732
+ }
733
+
734
+ // Int16MemoTable is a wrapper over the appropriate hashtable to provide an interface
735
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
736
+ // regarding dictionaries.
737
+ type Int16MemoTable struct {
738
+ tbl *Int16HashTable
739
+ nullIdx int32
740
+ }
741
+
742
+ // NewInt16MemoTable returns a new memotable with num entries pre-allocated to reduce further
743
+ // allocations when inserting.
744
+ func NewInt16MemoTable(num int64) *Int16MemoTable {
745
+ return &Int16MemoTable{tbl: NewInt16HashTable(uint64(num)), nullIdx: KeyNotFound}
746
+ }
747
+
748
+ func (Int16MemoTable) TypeTraits() TypeTraits {
749
+ return arrow.Int16Traits
750
+ }
751
+
752
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
753
+ func (s *Int16MemoTable) Reset() {
754
+ s.tbl.Reset(32)
755
+ s.nullIdx = KeyNotFound
756
+ }
757
+
758
+ // Size returns the current number of inserted elements into the table including if a null
759
+ // has been inserted.
760
+ func (s *Int16MemoTable) Size() int {
761
+ sz := int(s.tbl.size)
762
+ if _, ok := s.GetNull(); ok {
763
+ sz++
764
+ }
765
+ return sz
766
+ }
767
+
768
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
769
+ // that will be true if found and false if not.
770
+ func (s *Int16MemoTable) GetNull() (int, bool) {
771
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
772
+ }
773
+
774
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
775
+ // if one currently doesn't exist. The found value will be true if there was already
776
+ // a null in the table, and false if it inserted one.
777
+ func (s *Int16MemoTable) GetOrInsertNull() (idx int, found bool) {
778
+ idx, found = s.GetNull()
779
+ if !found {
780
+ idx = s.Size()
781
+ s.nullIdx = int32(idx)
782
+ }
783
+ return
784
+ }
785
+
786
+ // CopyValues will copy the values from the memo table out into the passed in slice
787
+ // which must be of the appropriate type.
788
+ func (s *Int16MemoTable) CopyValues(out interface{}) {
789
+ s.CopyValuesSubset(0, out)
790
+ }
791
+
792
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
793
+ // at the provided start index
794
+ func (s *Int16MemoTable) CopyValuesSubset(start int, out interface{}) {
795
+ s.tbl.CopyValuesSubset(start, out.([]int16))
796
+ }
797
+
798
+ func (s *Int16MemoTable) WriteOut(out []byte) {
799
+ s.tbl.CopyValues(arrow.Int16Traits.CastFromBytes(out))
800
+ }
801
+
802
+ func (s *Int16MemoTable) WriteOutSubset(start int, out []byte) {
803
+ s.tbl.CopyValuesSubset(start, arrow.Int16Traits.CastFromBytes(out))
804
+ }
805
+
806
+ func (s *Int16MemoTable) WriteOutLE(out []byte) {
807
+ s.tbl.WriteOut(out)
808
+ }
809
+
810
+ func (s *Int16MemoTable) WriteOutSubsetLE(start int, out []byte) {
811
+ s.tbl.WriteOutSubset(start, out)
812
+ }
813
+
814
+ // Get returns the index of the requested value in the hash table or KeyNotFound
815
+ // along with a boolean indicating if it was found or not.
816
+ func (s *Int16MemoTable) Get(val interface{}) (int, bool) {
817
+
818
+ h := hashInt(uint64(val.(int16)), 0)
819
+ if e, ok := s.tbl.Lookup(h, func(v int16) bool { return val.(int16) == v }); ok {
820
+ return int(e.payload.memoIdx), ok
821
+ }
822
+ return KeyNotFound, false
823
+ }
824
+
825
+ // GetOrInsert will return the index of the specified value in the table, or insert the
826
+ // value into the table and return the new index. found indicates whether or not it already
827
+ // existed in the table (true) or was inserted by this call (false).
828
+ func (s *Int16MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
829
+
830
+ h := hashInt(uint64(val.(int16)), 0)
831
+ e, ok := s.tbl.Lookup(h, func(v int16) bool {
832
+ return val.(int16) == v
833
+ })
834
+
835
+ if ok {
836
+ idx = int(e.payload.memoIdx)
837
+ found = true
838
+ } else {
839
+ idx = s.Size()
840
+ s.tbl.Insert(e, h, val.(int16), int32(idx))
841
+ }
842
+ return
843
+ }
844
+
845
+ type payloadUint16 struct {
846
+ val uint16
847
+ memoIdx int32
848
+ }
849
+
850
+ type entryUint16 struct {
851
+ h uint64
852
+ payload payloadUint16
853
+ }
854
+
855
+ func (e entryUint16) Valid() bool { return e.h != sentinel }
856
+
857
+ // Uint16HashTable is a hashtable specifically for uint16 that
858
+ // is utilized with the MemoTable to generalize interactions for easier
859
+ // implementation of dictionaries without losing performance.
860
+ type Uint16HashTable struct {
861
+ cap uint64
862
+ capMask uint64
863
+ size uint64
864
+
865
+ entries []entryUint16
866
+ }
867
+
868
+ // NewUint16HashTable returns a new hash table for uint16 values
869
+ // initialized with the passed in capacity or 32 whichever is larger.
870
+ func NewUint16HashTable(cap uint64) *Uint16HashTable {
871
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
872
+ ret := &Uint16HashTable{cap: initCap, capMask: initCap - 1, size: 0}
873
+ ret.entries = make([]entryUint16, initCap)
874
+ return ret
875
+ }
876
+
877
+ // Reset drops all of the values in this hash table and re-initializes it
878
+ // with the specified initial capacity as if by calling New, but without having
879
+ // to reallocate the object.
880
+ func (h *Uint16HashTable) Reset(cap uint64) {
881
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
882
+ h.capMask = h.cap - 1
883
+ h.size = 0
884
+ h.entries = make([]entryUint16, h.cap)
885
+ }
886
+
887
+ // CopyValues is used for copying the values out of the hash table into the
888
+ // passed in slice, in the order that they were first inserted
889
+ func (h *Uint16HashTable) CopyValues(out []uint16) {
890
+ h.CopyValuesSubset(0, out)
891
+ }
892
+
893
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
894
+ // with the value at start, in the order that they were inserted.
895
+ func (h *Uint16HashTable) CopyValuesSubset(start int, out []uint16) {
896
+ h.VisitEntries(func(e *entryUint16) {
897
+ idx := e.payload.memoIdx - int32(start)
898
+ if idx >= 0 {
899
+ out[idx] = e.payload.val
900
+ }
901
+ })
902
+ }
903
+
904
+ func (h *Uint16HashTable) WriteOut(out []byte) {
905
+ h.WriteOutSubset(0, out)
906
+ }
907
+
908
+ func (h *Uint16HashTable) WriteOutSubset(start int, out []byte) {
909
+ data := arrow.Uint16Traits.CastFromBytes(out)
910
+ h.VisitEntries(func(e *entryUint16) {
911
+ idx := e.payload.memoIdx - int32(start)
912
+ if idx >= 0 {
913
+ data[idx] = utils.ToLEUint16(e.payload.val)
914
+ }
915
+ })
916
+ }
917
+
918
+ func (h *Uint16HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
919
+
920
+ func (Uint16HashTable) fixHash(v uint64) uint64 {
921
+ if v == sentinel {
922
+ return 42
923
+ }
924
+ return v
925
+ }
926
+
927
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
928
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
929
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
930
+ func (h *Uint16HashTable) Lookup(v uint64, cmp func(uint16) bool) (*entryUint16, bool) {
931
+ idx, ok := h.lookup(v, h.capMask, cmp)
932
+ return &h.entries[idx], ok
933
+ }
934
+
935
+ func (h *Uint16HashTable) lookup(v uint64, szMask uint64, cmp func(uint16) bool) (uint64, bool) {
936
+ const perturbShift uint8 = 5
937
+
938
+ var (
939
+ idx uint64
940
+ perturb uint64
941
+ e *entryUint16
942
+ )
943
+
944
+ v = h.fixHash(v)
945
+ idx = v & szMask
946
+ perturb = (v >> uint64(perturbShift)) + 1
947
+
948
+ for {
949
+ e = &h.entries[idx]
950
+ if e.h == v && cmp(e.payload.val) {
951
+ return idx, true
952
+ }
953
+
954
+ if e.h == sentinel {
955
+ return idx, false
956
+ }
957
+
958
+ // perturbation logic inspired from CPython's set/dict object
959
+ // the goal is that all 64 bits of unmasked hash value eventually
960
+ // participate int he probing sequence, to minimize clustering
961
+ idx = (idx + perturb) & szMask
962
+ perturb = (perturb >> uint64(perturbShift)) + 1
963
+ }
964
+ }
965
+
966
+ func (h *Uint16HashTable) upsize(newcap uint64) error {
967
+ newMask := newcap - 1
968
+
969
+ oldEntries := h.entries
970
+ h.entries = make([]entryUint16, newcap)
971
+ for _, e := range oldEntries {
972
+ if e.Valid() {
973
+ idx, _ := h.lookup(e.h, newMask, func(uint16) bool { return false })
974
+ h.entries[idx] = e
975
+ }
976
+ }
977
+ h.cap = newcap
978
+ h.capMask = newMask
979
+ return nil
980
+ }
981
+
982
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
983
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
984
+ func (h *Uint16HashTable) Insert(e *entryUint16, v uint64, val uint16, memoIdx int32) error {
985
+ e.h = h.fixHash(v)
986
+ e.payload.val = val
987
+ e.payload.memoIdx = memoIdx
988
+ h.size++
989
+
990
+ if h.needUpsize() {
991
+ h.upsize(h.cap * uint64(loadFactor) * 2)
992
+ }
993
+ return nil
994
+ }
995
+
996
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
997
+ // a valid entry being one which has had a value inserted into it.
998
+ func (h *Uint16HashTable) VisitEntries(visit func(*entryUint16)) {
999
+ for _, e := range h.entries {
1000
+ if e.Valid() {
1001
+ visit(&e)
1002
+ }
1003
+ }
1004
+ }
1005
+
1006
+ // Uint16MemoTable is a wrapper over the appropriate hashtable to provide an interface
1007
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1008
+ // regarding dictionaries.
1009
+ type Uint16MemoTable struct {
1010
+ tbl *Uint16HashTable
1011
+ nullIdx int32
1012
+ }
1013
+
1014
+ // NewUint16MemoTable returns a new memotable with num entries pre-allocated to reduce further
1015
+ // allocations when inserting.
1016
+ func NewUint16MemoTable(num int64) *Uint16MemoTable {
1017
+ return &Uint16MemoTable{tbl: NewUint16HashTable(uint64(num)), nullIdx: KeyNotFound}
1018
+ }
1019
+
1020
+ func (Uint16MemoTable) TypeTraits() TypeTraits {
1021
+ return arrow.Uint16Traits
1022
+ }
1023
+
1024
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1025
+ func (s *Uint16MemoTable) Reset() {
1026
+ s.tbl.Reset(32)
1027
+ s.nullIdx = KeyNotFound
1028
+ }
1029
+
1030
+ // Size returns the current number of inserted elements into the table including if a null
1031
+ // has been inserted.
1032
+ func (s *Uint16MemoTable) Size() int {
1033
+ sz := int(s.tbl.size)
1034
+ if _, ok := s.GetNull(); ok {
1035
+ sz++
1036
+ }
1037
+ return sz
1038
+ }
1039
+
1040
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1041
+ // that will be true if found and false if not.
1042
+ func (s *Uint16MemoTable) GetNull() (int, bool) {
1043
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1044
+ }
1045
+
1046
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1047
+ // if one currently doesn't exist. The found value will be true if there was already
1048
+ // a null in the table, and false if it inserted one.
1049
+ func (s *Uint16MemoTable) GetOrInsertNull() (idx int, found bool) {
1050
+ idx, found = s.GetNull()
1051
+ if !found {
1052
+ idx = s.Size()
1053
+ s.nullIdx = int32(idx)
1054
+ }
1055
+ return
1056
+ }
1057
+
1058
+ // CopyValues will copy the values from the memo table out into the passed in slice
1059
+ // which must be of the appropriate type.
1060
+ func (s *Uint16MemoTable) CopyValues(out interface{}) {
1061
+ s.CopyValuesSubset(0, out)
1062
+ }
1063
+
1064
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1065
+ // at the provided start index
1066
+ func (s *Uint16MemoTable) CopyValuesSubset(start int, out interface{}) {
1067
+ s.tbl.CopyValuesSubset(start, out.([]uint16))
1068
+ }
1069
+
1070
+ func (s *Uint16MemoTable) WriteOut(out []byte) {
1071
+ s.tbl.CopyValues(arrow.Uint16Traits.CastFromBytes(out))
1072
+ }
1073
+
1074
+ func (s *Uint16MemoTable) WriteOutSubset(start int, out []byte) {
1075
+ s.tbl.CopyValuesSubset(start, arrow.Uint16Traits.CastFromBytes(out))
1076
+ }
1077
+
1078
+ func (s *Uint16MemoTable) WriteOutLE(out []byte) {
1079
+ s.tbl.WriteOut(out)
1080
+ }
1081
+
1082
+ func (s *Uint16MemoTable) WriteOutSubsetLE(start int, out []byte) {
1083
+ s.tbl.WriteOutSubset(start, out)
1084
+ }
1085
+
1086
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1087
+ // along with a boolean indicating if it was found or not.
1088
+ func (s *Uint16MemoTable) Get(val interface{}) (int, bool) {
1089
+
1090
+ h := hashInt(uint64(val.(uint16)), 0)
1091
+ if e, ok := s.tbl.Lookup(h, func(v uint16) bool { return val.(uint16) == v }); ok {
1092
+ return int(e.payload.memoIdx), ok
1093
+ }
1094
+ return KeyNotFound, false
1095
+ }
1096
+
1097
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1098
+ // value into the table and return the new index. found indicates whether or not it already
1099
+ // existed in the table (true) or was inserted by this call (false).
1100
+ func (s *Uint16MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1101
+
1102
+ h := hashInt(uint64(val.(uint16)), 0)
1103
+ e, ok := s.tbl.Lookup(h, func(v uint16) bool {
1104
+ return val.(uint16) == v
1105
+ })
1106
+
1107
+ if ok {
1108
+ idx = int(e.payload.memoIdx)
1109
+ found = true
1110
+ } else {
1111
+ idx = s.Size()
1112
+ s.tbl.Insert(e, h, val.(uint16), int32(idx))
1113
+ }
1114
+ return
1115
+ }
1116
+
1117
+ type payloadInt32 struct {
1118
+ val int32
1119
+ memoIdx int32
1120
+ }
1121
+
1122
+ type entryInt32 struct {
1123
+ h uint64
1124
+ payload payloadInt32
1125
+ }
1126
+
1127
+ func (e entryInt32) Valid() bool { return e.h != sentinel }
1128
+
1129
+ // Int32HashTable is a hashtable specifically for int32 that
1130
+ // is utilized with the MemoTable to generalize interactions for easier
1131
+ // implementation of dictionaries without losing performance.
1132
+ type Int32HashTable struct {
1133
+ cap uint64
1134
+ capMask uint64
1135
+ size uint64
1136
+
1137
+ entries []entryInt32
1138
+ }
1139
+
1140
+ // NewInt32HashTable returns a new hash table for int32 values
1141
+ // initialized with the passed in capacity or 32 whichever is larger.
1142
+ func NewInt32HashTable(cap uint64) *Int32HashTable {
1143
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1144
+ ret := &Int32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1145
+ ret.entries = make([]entryInt32, initCap)
1146
+ return ret
1147
+ }
1148
+
1149
+ // Reset drops all of the values in this hash table and re-initializes it
1150
+ // with the specified initial capacity as if by calling New, but without having
1151
+ // to reallocate the object.
1152
+ func (h *Int32HashTable) Reset(cap uint64) {
1153
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1154
+ h.capMask = h.cap - 1
1155
+ h.size = 0
1156
+ h.entries = make([]entryInt32, h.cap)
1157
+ }
1158
+
1159
+ // CopyValues is used for copying the values out of the hash table into the
1160
+ // passed in slice, in the order that they were first inserted
1161
+ func (h *Int32HashTable) CopyValues(out []int32) {
1162
+ h.CopyValuesSubset(0, out)
1163
+ }
1164
+
1165
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1166
+ // with the value at start, in the order that they were inserted.
1167
+ func (h *Int32HashTable) CopyValuesSubset(start int, out []int32) {
1168
+ h.VisitEntries(func(e *entryInt32) {
1169
+ idx := e.payload.memoIdx - int32(start)
1170
+ if idx >= 0 {
1171
+ out[idx] = e.payload.val
1172
+ }
1173
+ })
1174
+ }
1175
+
1176
+ func (h *Int32HashTable) WriteOut(out []byte) {
1177
+ h.WriteOutSubset(0, out)
1178
+ }
1179
+
1180
+ func (h *Int32HashTable) WriteOutSubset(start int, out []byte) {
1181
+ data := arrow.Int32Traits.CastFromBytes(out)
1182
+ h.VisitEntries(func(e *entryInt32) {
1183
+ idx := e.payload.memoIdx - int32(start)
1184
+ if idx >= 0 {
1185
+ data[idx] = utils.ToLEInt32(e.payload.val)
1186
+ }
1187
+ })
1188
+ }
1189
+
1190
+ func (h *Int32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1191
+
1192
+ func (Int32HashTable) fixHash(v uint64) uint64 {
1193
+ if v == sentinel {
1194
+ return 42
1195
+ }
1196
+ return v
1197
+ }
1198
+
1199
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1200
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1201
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1202
+ func (h *Int32HashTable) Lookup(v uint64, cmp func(int32) bool) (*entryInt32, bool) {
1203
+ idx, ok := h.lookup(v, h.capMask, cmp)
1204
+ return &h.entries[idx], ok
1205
+ }
1206
+
1207
+ func (h *Int32HashTable) lookup(v uint64, szMask uint64, cmp func(int32) bool) (uint64, bool) {
1208
+ const perturbShift uint8 = 5
1209
+
1210
+ var (
1211
+ idx uint64
1212
+ perturb uint64
1213
+ e *entryInt32
1214
+ )
1215
+
1216
+ v = h.fixHash(v)
1217
+ idx = v & szMask
1218
+ perturb = (v >> uint64(perturbShift)) + 1
1219
+
1220
+ for {
1221
+ e = &h.entries[idx]
1222
+ if e.h == v && cmp(e.payload.val) {
1223
+ return idx, true
1224
+ }
1225
+
1226
+ if e.h == sentinel {
1227
+ return idx, false
1228
+ }
1229
+
1230
+ // perturbation logic inspired from CPython's set/dict object
1231
+ // the goal is that all 64 bits of unmasked hash value eventually
1232
+ // participate int he probing sequence, to minimize clustering
1233
+ idx = (idx + perturb) & szMask
1234
+ perturb = (perturb >> uint64(perturbShift)) + 1
1235
+ }
1236
+ }
1237
+
1238
+ func (h *Int32HashTable) upsize(newcap uint64) error {
1239
+ newMask := newcap - 1
1240
+
1241
+ oldEntries := h.entries
1242
+ h.entries = make([]entryInt32, newcap)
1243
+ for _, e := range oldEntries {
1244
+ if e.Valid() {
1245
+ idx, _ := h.lookup(e.h, newMask, func(int32) bool { return false })
1246
+ h.entries[idx] = e
1247
+ }
1248
+ }
1249
+ h.cap = newcap
1250
+ h.capMask = newMask
1251
+ return nil
1252
+ }
1253
+
1254
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1255
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1256
+ func (h *Int32HashTable) Insert(e *entryInt32, v uint64, val int32, memoIdx int32) error {
1257
+ e.h = h.fixHash(v)
1258
+ e.payload.val = val
1259
+ e.payload.memoIdx = memoIdx
1260
+ h.size++
1261
+
1262
+ if h.needUpsize() {
1263
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1264
+ }
1265
+ return nil
1266
+ }
1267
+
1268
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1269
+ // a valid entry being one which has had a value inserted into it.
1270
+ func (h *Int32HashTable) VisitEntries(visit func(*entryInt32)) {
1271
+ for _, e := range h.entries {
1272
+ if e.Valid() {
1273
+ visit(&e)
1274
+ }
1275
+ }
1276
+ }
1277
+
1278
+ // Int32MemoTable is a wrapper over the appropriate hashtable to provide an interface
1279
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1280
+ // regarding dictionaries.
1281
+ type Int32MemoTable struct {
1282
+ tbl *Int32HashTable
1283
+ nullIdx int32
1284
+ }
1285
+
1286
+ // NewInt32MemoTable returns a new memotable with num entries pre-allocated to reduce further
1287
+ // allocations when inserting.
1288
+ func NewInt32MemoTable(num int64) *Int32MemoTable {
1289
+ return &Int32MemoTable{tbl: NewInt32HashTable(uint64(num)), nullIdx: KeyNotFound}
1290
+ }
1291
+
1292
+ func (Int32MemoTable) TypeTraits() TypeTraits {
1293
+ return arrow.Int32Traits
1294
+ }
1295
+
1296
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1297
+ func (s *Int32MemoTable) Reset() {
1298
+ s.tbl.Reset(32)
1299
+ s.nullIdx = KeyNotFound
1300
+ }
1301
+
1302
+ // Size returns the current number of inserted elements into the table including if a null
1303
+ // has been inserted.
1304
+ func (s *Int32MemoTable) Size() int {
1305
+ sz := int(s.tbl.size)
1306
+ if _, ok := s.GetNull(); ok {
1307
+ sz++
1308
+ }
1309
+ return sz
1310
+ }
1311
+
1312
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1313
+ // that will be true if found and false if not.
1314
+ func (s *Int32MemoTable) GetNull() (int, bool) {
1315
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1316
+ }
1317
+
1318
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1319
+ // if one currently doesn't exist. The found value will be true if there was already
1320
+ // a null in the table, and false if it inserted one.
1321
+ func (s *Int32MemoTable) GetOrInsertNull() (idx int, found bool) {
1322
+ idx, found = s.GetNull()
1323
+ if !found {
1324
+ idx = s.Size()
1325
+ s.nullIdx = int32(idx)
1326
+ }
1327
+ return
1328
+ }
1329
+
1330
+ // CopyValues will copy the values from the memo table out into the passed in slice
1331
+ // which must be of the appropriate type.
1332
+ func (s *Int32MemoTable) CopyValues(out interface{}) {
1333
+ s.CopyValuesSubset(0, out)
1334
+ }
1335
+
1336
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1337
+ // at the provided start index
1338
+ func (s *Int32MemoTable) CopyValuesSubset(start int, out interface{}) {
1339
+ s.tbl.CopyValuesSubset(start, out.([]int32))
1340
+ }
1341
+
1342
+ func (s *Int32MemoTable) WriteOut(out []byte) {
1343
+ s.tbl.CopyValues(arrow.Int32Traits.CastFromBytes(out))
1344
+ }
1345
+
1346
+ func (s *Int32MemoTable) WriteOutSubset(start int, out []byte) {
1347
+ s.tbl.CopyValuesSubset(start, arrow.Int32Traits.CastFromBytes(out))
1348
+ }
1349
+
1350
+ func (s *Int32MemoTable) WriteOutLE(out []byte) {
1351
+ s.tbl.WriteOut(out)
1352
+ }
1353
+
1354
+ func (s *Int32MemoTable) WriteOutSubsetLE(start int, out []byte) {
1355
+ s.tbl.WriteOutSubset(start, out)
1356
+ }
1357
+
1358
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1359
+ // along with a boolean indicating if it was found or not.
1360
+ func (s *Int32MemoTable) Get(val interface{}) (int, bool) {
1361
+
1362
+ h := hashInt(uint64(val.(int32)), 0)
1363
+ if e, ok := s.tbl.Lookup(h, func(v int32) bool { return val.(int32) == v }); ok {
1364
+ return int(e.payload.memoIdx), ok
1365
+ }
1366
+ return KeyNotFound, false
1367
+ }
1368
+
1369
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1370
+ // value into the table and return the new index. found indicates whether or not it already
1371
+ // existed in the table (true) or was inserted by this call (false).
1372
+ func (s *Int32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1373
+
1374
+ h := hashInt(uint64(val.(int32)), 0)
1375
+ e, ok := s.tbl.Lookup(h, func(v int32) bool {
1376
+ return val.(int32) == v
1377
+ })
1378
+
1379
+ if ok {
1380
+ idx = int(e.payload.memoIdx)
1381
+ found = true
1382
+ } else {
1383
+ idx = s.Size()
1384
+ s.tbl.Insert(e, h, val.(int32), int32(idx))
1385
+ }
1386
+ return
1387
+ }
1388
+
1389
+ type payloadInt64 struct {
1390
+ val int64
1391
+ memoIdx int32
1392
+ }
1393
+
1394
+ type entryInt64 struct {
1395
+ h uint64
1396
+ payload payloadInt64
1397
+ }
1398
+
1399
+ func (e entryInt64) Valid() bool { return e.h != sentinel }
1400
+
1401
+ // Int64HashTable is a hashtable specifically for int64 that
1402
+ // is utilized with the MemoTable to generalize interactions for easier
1403
+ // implementation of dictionaries without losing performance.
1404
+ type Int64HashTable struct {
1405
+ cap uint64
1406
+ capMask uint64
1407
+ size uint64
1408
+
1409
+ entries []entryInt64
1410
+ }
1411
+
1412
+ // NewInt64HashTable returns a new hash table for int64 values
1413
+ // initialized with the passed in capacity or 32 whichever is larger.
1414
+ func NewInt64HashTable(cap uint64) *Int64HashTable {
1415
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1416
+ ret := &Int64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1417
+ ret.entries = make([]entryInt64, initCap)
1418
+ return ret
1419
+ }
1420
+
1421
+ // Reset drops all of the values in this hash table and re-initializes it
1422
+ // with the specified initial capacity as if by calling New, but without having
1423
+ // to reallocate the object.
1424
+ func (h *Int64HashTable) Reset(cap uint64) {
1425
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1426
+ h.capMask = h.cap - 1
1427
+ h.size = 0
1428
+ h.entries = make([]entryInt64, h.cap)
1429
+ }
1430
+
1431
+ // CopyValues is used for copying the values out of the hash table into the
1432
+ // passed in slice, in the order that they were first inserted
1433
+ func (h *Int64HashTable) CopyValues(out []int64) {
1434
+ h.CopyValuesSubset(0, out)
1435
+ }
1436
+
1437
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1438
+ // with the value at start, in the order that they were inserted.
1439
+ func (h *Int64HashTable) CopyValuesSubset(start int, out []int64) {
1440
+ h.VisitEntries(func(e *entryInt64) {
1441
+ idx := e.payload.memoIdx - int32(start)
1442
+ if idx >= 0 {
1443
+ out[idx] = e.payload.val
1444
+ }
1445
+ })
1446
+ }
1447
+
1448
+ func (h *Int64HashTable) WriteOut(out []byte) {
1449
+ h.WriteOutSubset(0, out)
1450
+ }
1451
+
1452
+ func (h *Int64HashTable) WriteOutSubset(start int, out []byte) {
1453
+ data := arrow.Int64Traits.CastFromBytes(out)
1454
+ h.VisitEntries(func(e *entryInt64) {
1455
+ idx := e.payload.memoIdx - int32(start)
1456
+ if idx >= 0 {
1457
+ data[idx] = utils.ToLEInt64(e.payload.val)
1458
+ }
1459
+ })
1460
+ }
1461
+
1462
+ func (h *Int64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1463
+
1464
+ func (Int64HashTable) fixHash(v uint64) uint64 {
1465
+ if v == sentinel {
1466
+ return 42
1467
+ }
1468
+ return v
1469
+ }
1470
+
1471
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1472
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1473
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1474
+ func (h *Int64HashTable) Lookup(v uint64, cmp func(int64) bool) (*entryInt64, bool) {
1475
+ idx, ok := h.lookup(v, h.capMask, cmp)
1476
+ return &h.entries[idx], ok
1477
+ }
1478
+
1479
+ func (h *Int64HashTable) lookup(v uint64, szMask uint64, cmp func(int64) bool) (uint64, bool) {
1480
+ const perturbShift uint8 = 5
1481
+
1482
+ var (
1483
+ idx uint64
1484
+ perturb uint64
1485
+ e *entryInt64
1486
+ )
1487
+
1488
+ v = h.fixHash(v)
1489
+ idx = v & szMask
1490
+ perturb = (v >> uint64(perturbShift)) + 1
1491
+
1492
+ for {
1493
+ e = &h.entries[idx]
1494
+ if e.h == v && cmp(e.payload.val) {
1495
+ return idx, true
1496
+ }
1497
+
1498
+ if e.h == sentinel {
1499
+ return idx, false
1500
+ }
1501
+
1502
+ // perturbation logic inspired from CPython's set/dict object
1503
+ // the goal is that all 64 bits of unmasked hash value eventually
1504
+ // participate int he probing sequence, to minimize clustering
1505
+ idx = (idx + perturb) & szMask
1506
+ perturb = (perturb >> uint64(perturbShift)) + 1
1507
+ }
1508
+ }
1509
+
1510
+ func (h *Int64HashTable) upsize(newcap uint64) error {
1511
+ newMask := newcap - 1
1512
+
1513
+ oldEntries := h.entries
1514
+ h.entries = make([]entryInt64, newcap)
1515
+ for _, e := range oldEntries {
1516
+ if e.Valid() {
1517
+ idx, _ := h.lookup(e.h, newMask, func(int64) bool { return false })
1518
+ h.entries[idx] = e
1519
+ }
1520
+ }
1521
+ h.cap = newcap
1522
+ h.capMask = newMask
1523
+ return nil
1524
+ }
1525
+
1526
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1527
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1528
+ func (h *Int64HashTable) Insert(e *entryInt64, v uint64, val int64, memoIdx int32) error {
1529
+ e.h = h.fixHash(v)
1530
+ e.payload.val = val
1531
+ e.payload.memoIdx = memoIdx
1532
+ h.size++
1533
+
1534
+ if h.needUpsize() {
1535
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1536
+ }
1537
+ return nil
1538
+ }
1539
+
1540
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1541
+ // a valid entry being one which has had a value inserted into it.
1542
+ func (h *Int64HashTable) VisitEntries(visit func(*entryInt64)) {
1543
+ for _, e := range h.entries {
1544
+ if e.Valid() {
1545
+ visit(&e)
1546
+ }
1547
+ }
1548
+ }
1549
+
1550
+ // Int64MemoTable is a wrapper over the appropriate hashtable to provide an interface
1551
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1552
+ // regarding dictionaries.
1553
+ type Int64MemoTable struct {
1554
+ tbl *Int64HashTable
1555
+ nullIdx int32
1556
+ }
1557
+
1558
+ // NewInt64MemoTable returns a new memotable with num entries pre-allocated to reduce further
1559
+ // allocations when inserting.
1560
+ func NewInt64MemoTable(num int64) *Int64MemoTable {
1561
+ return &Int64MemoTable{tbl: NewInt64HashTable(uint64(num)), nullIdx: KeyNotFound}
1562
+ }
1563
+
1564
+ func (Int64MemoTable) TypeTraits() TypeTraits {
1565
+ return arrow.Int64Traits
1566
+ }
1567
+
1568
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1569
+ func (s *Int64MemoTable) Reset() {
1570
+ s.tbl.Reset(32)
1571
+ s.nullIdx = KeyNotFound
1572
+ }
1573
+
1574
+ // Size returns the current number of inserted elements into the table including if a null
1575
+ // has been inserted.
1576
+ func (s *Int64MemoTable) Size() int {
1577
+ sz := int(s.tbl.size)
1578
+ if _, ok := s.GetNull(); ok {
1579
+ sz++
1580
+ }
1581
+ return sz
1582
+ }
1583
+
1584
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1585
+ // that will be true if found and false if not.
1586
+ func (s *Int64MemoTable) GetNull() (int, bool) {
1587
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1588
+ }
1589
+
1590
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1591
+ // if one currently doesn't exist. The found value will be true if there was already
1592
+ // a null in the table, and false if it inserted one.
1593
+ func (s *Int64MemoTable) GetOrInsertNull() (idx int, found bool) {
1594
+ idx, found = s.GetNull()
1595
+ if !found {
1596
+ idx = s.Size()
1597
+ s.nullIdx = int32(idx)
1598
+ }
1599
+ return
1600
+ }
1601
+
1602
+ // CopyValues will copy the values from the memo table out into the passed in slice
1603
+ // which must be of the appropriate type.
1604
+ func (s *Int64MemoTable) CopyValues(out interface{}) {
1605
+ s.CopyValuesSubset(0, out)
1606
+ }
1607
+
1608
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1609
+ // at the provided start index
1610
+ func (s *Int64MemoTable) CopyValuesSubset(start int, out interface{}) {
1611
+ s.tbl.CopyValuesSubset(start, out.([]int64))
1612
+ }
1613
+
1614
+ func (s *Int64MemoTable) WriteOut(out []byte) {
1615
+ s.tbl.CopyValues(arrow.Int64Traits.CastFromBytes(out))
1616
+ }
1617
+
1618
+ func (s *Int64MemoTable) WriteOutSubset(start int, out []byte) {
1619
+ s.tbl.CopyValuesSubset(start, arrow.Int64Traits.CastFromBytes(out))
1620
+ }
1621
+
1622
+ func (s *Int64MemoTable) WriteOutLE(out []byte) {
1623
+ s.tbl.WriteOut(out)
1624
+ }
1625
+
1626
+ func (s *Int64MemoTable) WriteOutSubsetLE(start int, out []byte) {
1627
+ s.tbl.WriteOutSubset(start, out)
1628
+ }
1629
+
1630
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1631
+ // along with a boolean indicating if it was found or not.
1632
+ func (s *Int64MemoTable) Get(val interface{}) (int, bool) {
1633
+
1634
+ h := hashInt(uint64(val.(int64)), 0)
1635
+ if e, ok := s.tbl.Lookup(h, func(v int64) bool { return val.(int64) == v }); ok {
1636
+ return int(e.payload.memoIdx), ok
1637
+ }
1638
+ return KeyNotFound, false
1639
+ }
1640
+
1641
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1642
+ // value into the table and return the new index. found indicates whether or not it already
1643
+ // existed in the table (true) or was inserted by this call (false).
1644
+ func (s *Int64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1645
+
1646
+ h := hashInt(uint64(val.(int64)), 0)
1647
+ e, ok := s.tbl.Lookup(h, func(v int64) bool {
1648
+ return val.(int64) == v
1649
+ })
1650
+
1651
+ if ok {
1652
+ idx = int(e.payload.memoIdx)
1653
+ found = true
1654
+ } else {
1655
+ idx = s.Size()
1656
+ s.tbl.Insert(e, h, val.(int64), int32(idx))
1657
+ }
1658
+ return
1659
+ }
1660
+
1661
+ type payloadUint32 struct {
1662
+ val uint32
1663
+ memoIdx int32
1664
+ }
1665
+
1666
+ type entryUint32 struct {
1667
+ h uint64
1668
+ payload payloadUint32
1669
+ }
1670
+
1671
+ func (e entryUint32) Valid() bool { return e.h != sentinel }
1672
+
1673
+ // Uint32HashTable is a hashtable specifically for uint32 that
1674
+ // is utilized with the MemoTable to generalize interactions for easier
1675
+ // implementation of dictionaries without losing performance.
1676
+ type Uint32HashTable struct {
1677
+ cap uint64
1678
+ capMask uint64
1679
+ size uint64
1680
+
1681
+ entries []entryUint32
1682
+ }
1683
+
1684
+ // NewUint32HashTable returns a new hash table for uint32 values
1685
+ // initialized with the passed in capacity or 32 whichever is larger.
1686
+ func NewUint32HashTable(cap uint64) *Uint32HashTable {
1687
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1688
+ ret := &Uint32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1689
+ ret.entries = make([]entryUint32, initCap)
1690
+ return ret
1691
+ }
1692
+
1693
+ // Reset drops all of the values in this hash table and re-initializes it
1694
+ // with the specified initial capacity as if by calling New, but without having
1695
+ // to reallocate the object.
1696
+ func (h *Uint32HashTable) Reset(cap uint64) {
1697
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1698
+ h.capMask = h.cap - 1
1699
+ h.size = 0
1700
+ h.entries = make([]entryUint32, h.cap)
1701
+ }
1702
+
1703
+ // CopyValues is used for copying the values out of the hash table into the
1704
+ // passed in slice, in the order that they were first inserted
1705
+ func (h *Uint32HashTable) CopyValues(out []uint32) {
1706
+ h.CopyValuesSubset(0, out)
1707
+ }
1708
+
1709
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1710
+ // with the value at start, in the order that they were inserted.
1711
+ func (h *Uint32HashTable) CopyValuesSubset(start int, out []uint32) {
1712
+ h.VisitEntries(func(e *entryUint32) {
1713
+ idx := e.payload.memoIdx - int32(start)
1714
+ if idx >= 0 {
1715
+ out[idx] = e.payload.val
1716
+ }
1717
+ })
1718
+ }
1719
+
1720
+ func (h *Uint32HashTable) WriteOut(out []byte) {
1721
+ h.WriteOutSubset(0, out)
1722
+ }
1723
+
1724
+ func (h *Uint32HashTable) WriteOutSubset(start int, out []byte) {
1725
+ data := arrow.Uint32Traits.CastFromBytes(out)
1726
+ h.VisitEntries(func(e *entryUint32) {
1727
+ idx := e.payload.memoIdx - int32(start)
1728
+ if idx >= 0 {
1729
+ data[idx] = utils.ToLEUint32(e.payload.val)
1730
+ }
1731
+ })
1732
+ }
1733
+
1734
+ func (h *Uint32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
1735
+
1736
+ func (Uint32HashTable) fixHash(v uint64) uint64 {
1737
+ if v == sentinel {
1738
+ return 42
1739
+ }
1740
+ return v
1741
+ }
1742
+
1743
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
1744
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
1745
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
1746
+ func (h *Uint32HashTable) Lookup(v uint64, cmp func(uint32) bool) (*entryUint32, bool) {
1747
+ idx, ok := h.lookup(v, h.capMask, cmp)
1748
+ return &h.entries[idx], ok
1749
+ }
1750
+
1751
+ func (h *Uint32HashTable) lookup(v uint64, szMask uint64, cmp func(uint32) bool) (uint64, bool) {
1752
+ const perturbShift uint8 = 5
1753
+
1754
+ var (
1755
+ idx uint64
1756
+ perturb uint64
1757
+ e *entryUint32
1758
+ )
1759
+
1760
+ v = h.fixHash(v)
1761
+ idx = v & szMask
1762
+ perturb = (v >> uint64(perturbShift)) + 1
1763
+
1764
+ for {
1765
+ e = &h.entries[idx]
1766
+ if e.h == v && cmp(e.payload.val) {
1767
+ return idx, true
1768
+ }
1769
+
1770
+ if e.h == sentinel {
1771
+ return idx, false
1772
+ }
1773
+
1774
+ // perturbation logic inspired from CPython's set/dict object
1775
+ // the goal is that all 64 bits of unmasked hash value eventually
1776
+ // participate int he probing sequence, to minimize clustering
1777
+ idx = (idx + perturb) & szMask
1778
+ perturb = (perturb >> uint64(perturbShift)) + 1
1779
+ }
1780
+ }
1781
+
1782
+ func (h *Uint32HashTable) upsize(newcap uint64) error {
1783
+ newMask := newcap - 1
1784
+
1785
+ oldEntries := h.entries
1786
+ h.entries = make([]entryUint32, newcap)
1787
+ for _, e := range oldEntries {
1788
+ if e.Valid() {
1789
+ idx, _ := h.lookup(e.h, newMask, func(uint32) bool { return false })
1790
+ h.entries[idx] = e
1791
+ }
1792
+ }
1793
+ h.cap = newcap
1794
+ h.capMask = newMask
1795
+ return nil
1796
+ }
1797
+
1798
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
1799
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
1800
+ func (h *Uint32HashTable) Insert(e *entryUint32, v uint64, val uint32, memoIdx int32) error {
1801
+ e.h = h.fixHash(v)
1802
+ e.payload.val = val
1803
+ e.payload.memoIdx = memoIdx
1804
+ h.size++
1805
+
1806
+ if h.needUpsize() {
1807
+ h.upsize(h.cap * uint64(loadFactor) * 2)
1808
+ }
1809
+ return nil
1810
+ }
1811
+
1812
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
1813
+ // a valid entry being one which has had a value inserted into it.
1814
+ func (h *Uint32HashTable) VisitEntries(visit func(*entryUint32)) {
1815
+ for _, e := range h.entries {
1816
+ if e.Valid() {
1817
+ visit(&e)
1818
+ }
1819
+ }
1820
+ }
1821
+
1822
+ // Uint32MemoTable is a wrapper over the appropriate hashtable to provide an interface
1823
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
1824
+ // regarding dictionaries.
1825
+ type Uint32MemoTable struct {
1826
+ tbl *Uint32HashTable
1827
+ nullIdx int32
1828
+ }
1829
+
1830
+ // NewUint32MemoTable returns a new memotable with num entries pre-allocated to reduce further
1831
+ // allocations when inserting.
1832
+ func NewUint32MemoTable(num int64) *Uint32MemoTable {
1833
+ return &Uint32MemoTable{tbl: NewUint32HashTable(uint64(num)), nullIdx: KeyNotFound}
1834
+ }
1835
+
1836
+ func (Uint32MemoTable) TypeTraits() TypeTraits {
1837
+ return arrow.Uint32Traits
1838
+ }
1839
+
1840
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
1841
+ func (s *Uint32MemoTable) Reset() {
1842
+ s.tbl.Reset(32)
1843
+ s.nullIdx = KeyNotFound
1844
+ }
1845
+
1846
+ // Size returns the current number of inserted elements into the table including if a null
1847
+ // has been inserted.
1848
+ func (s *Uint32MemoTable) Size() int {
1849
+ sz := int(s.tbl.size)
1850
+ if _, ok := s.GetNull(); ok {
1851
+ sz++
1852
+ }
1853
+ return sz
1854
+ }
1855
+
1856
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
1857
+ // that will be true if found and false if not.
1858
+ func (s *Uint32MemoTable) GetNull() (int, bool) {
1859
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
1860
+ }
1861
+
1862
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
1863
+ // if one currently doesn't exist. The found value will be true if there was already
1864
+ // a null in the table, and false if it inserted one.
1865
+ func (s *Uint32MemoTable) GetOrInsertNull() (idx int, found bool) {
1866
+ idx, found = s.GetNull()
1867
+ if !found {
1868
+ idx = s.Size()
1869
+ s.nullIdx = int32(idx)
1870
+ }
1871
+ return
1872
+ }
1873
+
1874
+ // CopyValues will copy the values from the memo table out into the passed in slice
1875
+ // which must be of the appropriate type.
1876
+ func (s *Uint32MemoTable) CopyValues(out interface{}) {
1877
+ s.CopyValuesSubset(0, out)
1878
+ }
1879
+
1880
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
1881
+ // at the provided start index
1882
+ func (s *Uint32MemoTable) CopyValuesSubset(start int, out interface{}) {
1883
+ s.tbl.CopyValuesSubset(start, out.([]uint32))
1884
+ }
1885
+
1886
+ func (s *Uint32MemoTable) WriteOut(out []byte) {
1887
+ s.tbl.CopyValues(arrow.Uint32Traits.CastFromBytes(out))
1888
+ }
1889
+
1890
+ func (s *Uint32MemoTable) WriteOutSubset(start int, out []byte) {
1891
+ s.tbl.CopyValuesSubset(start, arrow.Uint32Traits.CastFromBytes(out))
1892
+ }
1893
+
1894
+ func (s *Uint32MemoTable) WriteOutLE(out []byte) {
1895
+ s.tbl.WriteOut(out)
1896
+ }
1897
+
1898
+ func (s *Uint32MemoTable) WriteOutSubsetLE(start int, out []byte) {
1899
+ s.tbl.WriteOutSubset(start, out)
1900
+ }
1901
+
1902
+ // Get returns the index of the requested value in the hash table or KeyNotFound
1903
+ // along with a boolean indicating if it was found or not.
1904
+ func (s *Uint32MemoTable) Get(val interface{}) (int, bool) {
1905
+
1906
+ h := hashInt(uint64(val.(uint32)), 0)
1907
+ if e, ok := s.tbl.Lookup(h, func(v uint32) bool { return val.(uint32) == v }); ok {
1908
+ return int(e.payload.memoIdx), ok
1909
+ }
1910
+ return KeyNotFound, false
1911
+ }
1912
+
1913
+ // GetOrInsert will return the index of the specified value in the table, or insert the
1914
+ // value into the table and return the new index. found indicates whether or not it already
1915
+ // existed in the table (true) or was inserted by this call (false).
1916
+ func (s *Uint32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
1917
+
1918
+ h := hashInt(uint64(val.(uint32)), 0)
1919
+ e, ok := s.tbl.Lookup(h, func(v uint32) bool {
1920
+ return val.(uint32) == v
1921
+ })
1922
+
1923
+ if ok {
1924
+ idx = int(e.payload.memoIdx)
1925
+ found = true
1926
+ } else {
1927
+ idx = s.Size()
1928
+ s.tbl.Insert(e, h, val.(uint32), int32(idx))
1929
+ }
1930
+ return
1931
+ }
1932
+
1933
+ type payloadUint64 struct {
1934
+ val uint64
1935
+ memoIdx int32
1936
+ }
1937
+
1938
+ type entryUint64 struct {
1939
+ h uint64
1940
+ payload payloadUint64
1941
+ }
1942
+
1943
+ func (e entryUint64) Valid() bool { return e.h != sentinel }
1944
+
1945
+ // Uint64HashTable is a hashtable specifically for uint64 that
1946
+ // is utilized with the MemoTable to generalize interactions for easier
1947
+ // implementation of dictionaries without losing performance.
1948
+ type Uint64HashTable struct {
1949
+ cap uint64
1950
+ capMask uint64
1951
+ size uint64
1952
+
1953
+ entries []entryUint64
1954
+ }
1955
+
1956
+ // NewUint64HashTable returns a new hash table for uint64 values
1957
+ // initialized with the passed in capacity or 32 whichever is larger.
1958
+ func NewUint64HashTable(cap uint64) *Uint64HashTable {
1959
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1960
+ ret := &Uint64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
1961
+ ret.entries = make([]entryUint64, initCap)
1962
+ return ret
1963
+ }
1964
+
1965
+ // Reset drops all of the values in this hash table and re-initializes it
1966
+ // with the specified initial capacity as if by calling New, but without having
1967
+ // to reallocate the object.
1968
+ func (h *Uint64HashTable) Reset(cap uint64) {
1969
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
1970
+ h.capMask = h.cap - 1
1971
+ h.size = 0
1972
+ h.entries = make([]entryUint64, h.cap)
1973
+ }
1974
+
1975
+ // CopyValues is used for copying the values out of the hash table into the
1976
+ // passed in slice, in the order that they were first inserted
1977
+ func (h *Uint64HashTable) CopyValues(out []uint64) {
1978
+ h.CopyValuesSubset(0, out)
1979
+ }
1980
+
1981
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
1982
+ // with the value at start, in the order that they were inserted.
1983
+ func (h *Uint64HashTable) CopyValuesSubset(start int, out []uint64) {
1984
+ h.VisitEntries(func(e *entryUint64) {
1985
+ idx := e.payload.memoIdx - int32(start)
1986
+ if idx >= 0 {
1987
+ out[idx] = e.payload.val
1988
+ }
1989
+ })
1990
+ }
1991
+
1992
+ func (h *Uint64HashTable) WriteOut(out []byte) {
1993
+ h.WriteOutSubset(0, out)
1994
+ }
1995
+
1996
+ func (h *Uint64HashTable) WriteOutSubset(start int, out []byte) {
1997
+ data := arrow.Uint64Traits.CastFromBytes(out)
1998
+ h.VisitEntries(func(e *entryUint64) {
1999
+ idx := e.payload.memoIdx - int32(start)
2000
+ if idx >= 0 {
2001
+ data[idx] = utils.ToLEUint64(e.payload.val)
2002
+ }
2003
+ })
2004
+ }
2005
+
2006
+ func (h *Uint64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2007
+
2008
+ func (Uint64HashTable) fixHash(v uint64) uint64 {
2009
+ if v == sentinel {
2010
+ return 42
2011
+ }
2012
+ return v
2013
+ }
2014
+
2015
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2016
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2017
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2018
+ func (h *Uint64HashTable) Lookup(v uint64, cmp func(uint64) bool) (*entryUint64, bool) {
2019
+ idx, ok := h.lookup(v, h.capMask, cmp)
2020
+ return &h.entries[idx], ok
2021
+ }
2022
+
2023
+ func (h *Uint64HashTable) lookup(v uint64, szMask uint64, cmp func(uint64) bool) (uint64, bool) {
2024
+ const perturbShift uint8 = 5
2025
+
2026
+ var (
2027
+ idx uint64
2028
+ perturb uint64
2029
+ e *entryUint64
2030
+ )
2031
+
2032
+ v = h.fixHash(v)
2033
+ idx = v & szMask
2034
+ perturb = (v >> uint64(perturbShift)) + 1
2035
+
2036
+ for {
2037
+ e = &h.entries[idx]
2038
+ if e.h == v && cmp(e.payload.val) {
2039
+ return idx, true
2040
+ }
2041
+
2042
+ if e.h == sentinel {
2043
+ return idx, false
2044
+ }
2045
+
2046
+ // perturbation logic inspired from CPython's set/dict object
2047
+ // the goal is that all 64 bits of unmasked hash value eventually
2048
+ // participate int he probing sequence, to minimize clustering
2049
+ idx = (idx + perturb) & szMask
2050
+ perturb = (perturb >> uint64(perturbShift)) + 1
2051
+ }
2052
+ }
2053
+
2054
+ func (h *Uint64HashTable) upsize(newcap uint64) error {
2055
+ newMask := newcap - 1
2056
+
2057
+ oldEntries := h.entries
2058
+ h.entries = make([]entryUint64, newcap)
2059
+ for _, e := range oldEntries {
2060
+ if e.Valid() {
2061
+ idx, _ := h.lookup(e.h, newMask, func(uint64) bool { return false })
2062
+ h.entries[idx] = e
2063
+ }
2064
+ }
2065
+ h.cap = newcap
2066
+ h.capMask = newMask
2067
+ return nil
2068
+ }
2069
+
2070
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2071
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2072
+ func (h *Uint64HashTable) Insert(e *entryUint64, v uint64, val uint64, memoIdx int32) error {
2073
+ e.h = h.fixHash(v)
2074
+ e.payload.val = val
2075
+ e.payload.memoIdx = memoIdx
2076
+ h.size++
2077
+
2078
+ if h.needUpsize() {
2079
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2080
+ }
2081
+ return nil
2082
+ }
2083
+
2084
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2085
+ // a valid entry being one which has had a value inserted into it.
2086
+ func (h *Uint64HashTable) VisitEntries(visit func(*entryUint64)) {
2087
+ for _, e := range h.entries {
2088
+ if e.Valid() {
2089
+ visit(&e)
2090
+ }
2091
+ }
2092
+ }
2093
+
2094
+ // Uint64MemoTable is a wrapper over the appropriate hashtable to provide an interface
2095
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2096
+ // regarding dictionaries.
2097
+ type Uint64MemoTable struct {
2098
+ tbl *Uint64HashTable
2099
+ nullIdx int32
2100
+ }
2101
+
2102
+ // NewUint64MemoTable returns a new memotable with num entries pre-allocated to reduce further
2103
+ // allocations when inserting.
2104
+ func NewUint64MemoTable(num int64) *Uint64MemoTable {
2105
+ return &Uint64MemoTable{tbl: NewUint64HashTable(uint64(num)), nullIdx: KeyNotFound}
2106
+ }
2107
+
2108
+ func (Uint64MemoTable) TypeTraits() TypeTraits {
2109
+ return arrow.Uint64Traits
2110
+ }
2111
+
2112
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2113
+ func (s *Uint64MemoTable) Reset() {
2114
+ s.tbl.Reset(32)
2115
+ s.nullIdx = KeyNotFound
2116
+ }
2117
+
2118
+ // Size returns the current number of inserted elements into the table including if a null
2119
+ // has been inserted.
2120
+ func (s *Uint64MemoTable) Size() int {
2121
+ sz := int(s.tbl.size)
2122
+ if _, ok := s.GetNull(); ok {
2123
+ sz++
2124
+ }
2125
+ return sz
2126
+ }
2127
+
2128
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2129
+ // that will be true if found and false if not.
2130
+ func (s *Uint64MemoTable) GetNull() (int, bool) {
2131
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2132
+ }
2133
+
2134
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2135
+ // if one currently doesn't exist. The found value will be true if there was already
2136
+ // a null in the table, and false if it inserted one.
2137
+ func (s *Uint64MemoTable) GetOrInsertNull() (idx int, found bool) {
2138
+ idx, found = s.GetNull()
2139
+ if !found {
2140
+ idx = s.Size()
2141
+ s.nullIdx = int32(idx)
2142
+ }
2143
+ return
2144
+ }
2145
+
2146
+ // CopyValues will copy the values from the memo table out into the passed in slice
2147
+ // which must be of the appropriate type.
2148
+ func (s *Uint64MemoTable) CopyValues(out interface{}) {
2149
+ s.CopyValuesSubset(0, out)
2150
+ }
2151
+
2152
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2153
+ // at the provided start index
2154
+ func (s *Uint64MemoTable) CopyValuesSubset(start int, out interface{}) {
2155
+ s.tbl.CopyValuesSubset(start, out.([]uint64))
2156
+ }
2157
+
2158
+ func (s *Uint64MemoTable) WriteOut(out []byte) {
2159
+ s.tbl.CopyValues(arrow.Uint64Traits.CastFromBytes(out))
2160
+ }
2161
+
2162
+ func (s *Uint64MemoTable) WriteOutSubset(start int, out []byte) {
2163
+ s.tbl.CopyValuesSubset(start, arrow.Uint64Traits.CastFromBytes(out))
2164
+ }
2165
+
2166
+ func (s *Uint64MemoTable) WriteOutLE(out []byte) {
2167
+ s.tbl.WriteOut(out)
2168
+ }
2169
+
2170
+ func (s *Uint64MemoTable) WriteOutSubsetLE(start int, out []byte) {
2171
+ s.tbl.WriteOutSubset(start, out)
2172
+ }
2173
+
2174
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2175
+ // along with a boolean indicating if it was found or not.
2176
+ func (s *Uint64MemoTable) Get(val interface{}) (int, bool) {
2177
+
2178
+ h := hashInt(uint64(val.(uint64)), 0)
2179
+ if e, ok := s.tbl.Lookup(h, func(v uint64) bool { return val.(uint64) == v }); ok {
2180
+ return int(e.payload.memoIdx), ok
2181
+ }
2182
+ return KeyNotFound, false
2183
+ }
2184
+
2185
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2186
+ // value into the table and return the new index. found indicates whether or not it already
2187
+ // existed in the table (true) or was inserted by this call (false).
2188
+ func (s *Uint64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2189
+
2190
+ h := hashInt(uint64(val.(uint64)), 0)
2191
+ e, ok := s.tbl.Lookup(h, func(v uint64) bool {
2192
+ return val.(uint64) == v
2193
+ })
2194
+
2195
+ if ok {
2196
+ idx = int(e.payload.memoIdx)
2197
+ found = true
2198
+ } else {
2199
+ idx = s.Size()
2200
+ s.tbl.Insert(e, h, val.(uint64), int32(idx))
2201
+ }
2202
+ return
2203
+ }
2204
+
2205
+ type payloadFloat32 struct {
2206
+ val float32
2207
+ memoIdx int32
2208
+ }
2209
+
2210
+ type entryFloat32 struct {
2211
+ h uint64
2212
+ payload payloadFloat32
2213
+ }
2214
+
2215
+ func (e entryFloat32) Valid() bool { return e.h != sentinel }
2216
+
2217
+ // Float32HashTable is a hashtable specifically for float32 that
2218
+ // is utilized with the MemoTable to generalize interactions for easier
2219
+ // implementation of dictionaries without losing performance.
2220
+ type Float32HashTable struct {
2221
+ cap uint64
2222
+ capMask uint64
2223
+ size uint64
2224
+
2225
+ entries []entryFloat32
2226
+ }
2227
+
2228
+ // NewFloat32HashTable returns a new hash table for float32 values
2229
+ // initialized with the passed in capacity or 32 whichever is larger.
2230
+ func NewFloat32HashTable(cap uint64) *Float32HashTable {
2231
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2232
+ ret := &Float32HashTable{cap: initCap, capMask: initCap - 1, size: 0}
2233
+ ret.entries = make([]entryFloat32, initCap)
2234
+ return ret
2235
+ }
2236
+
2237
+ // Reset drops all of the values in this hash table and re-initializes it
2238
+ // with the specified initial capacity as if by calling New, but without having
2239
+ // to reallocate the object.
2240
+ func (h *Float32HashTable) Reset(cap uint64) {
2241
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2242
+ h.capMask = h.cap - 1
2243
+ h.size = 0
2244
+ h.entries = make([]entryFloat32, h.cap)
2245
+ }
2246
+
2247
+ // CopyValues is used for copying the values out of the hash table into the
2248
+ // passed in slice, in the order that they were first inserted
2249
+ func (h *Float32HashTable) CopyValues(out []float32) {
2250
+ h.CopyValuesSubset(0, out)
2251
+ }
2252
+
2253
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
2254
+ // with the value at start, in the order that they were inserted.
2255
+ func (h *Float32HashTable) CopyValuesSubset(start int, out []float32) {
2256
+ h.VisitEntries(func(e *entryFloat32) {
2257
+ idx := e.payload.memoIdx - int32(start)
2258
+ if idx >= 0 {
2259
+ out[idx] = e.payload.val
2260
+ }
2261
+ })
2262
+ }
2263
+
2264
+ func (h *Float32HashTable) WriteOut(out []byte) {
2265
+ h.WriteOutSubset(0, out)
2266
+ }
2267
+
2268
+ func (h *Float32HashTable) WriteOutSubset(start int, out []byte) {
2269
+ data := arrow.Float32Traits.CastFromBytes(out)
2270
+ h.VisitEntries(func(e *entryFloat32) {
2271
+ idx := e.payload.memoIdx - int32(start)
2272
+ if idx >= 0 {
2273
+ data[idx] = utils.ToLEFloat32(e.payload.val)
2274
+ }
2275
+ })
2276
+ }
2277
+
2278
+ func (h *Float32HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2279
+
2280
+ func (Float32HashTable) fixHash(v uint64) uint64 {
2281
+ if v == sentinel {
2282
+ return 42
2283
+ }
2284
+ return v
2285
+ }
2286
+
2287
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2288
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2289
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2290
+ func (h *Float32HashTable) Lookup(v uint64, cmp func(float32) bool) (*entryFloat32, bool) {
2291
+ idx, ok := h.lookup(v, h.capMask, cmp)
2292
+ return &h.entries[idx], ok
2293
+ }
2294
+
2295
+ func (h *Float32HashTable) lookup(v uint64, szMask uint64, cmp func(float32) bool) (uint64, bool) {
2296
+ const perturbShift uint8 = 5
2297
+
2298
+ var (
2299
+ idx uint64
2300
+ perturb uint64
2301
+ e *entryFloat32
2302
+ )
2303
+
2304
+ v = h.fixHash(v)
2305
+ idx = v & szMask
2306
+ perturb = (v >> uint64(perturbShift)) + 1
2307
+
2308
+ for {
2309
+ e = &h.entries[idx]
2310
+ if e.h == v && cmp(e.payload.val) {
2311
+ return idx, true
2312
+ }
2313
+
2314
+ if e.h == sentinel {
2315
+ return idx, false
2316
+ }
2317
+
2318
+ // perturbation logic inspired from CPython's set/dict object
2319
+ // the goal is that all 64 bits of unmasked hash value eventually
2320
+ // participate int he probing sequence, to minimize clustering
2321
+ idx = (idx + perturb) & szMask
2322
+ perturb = (perturb >> uint64(perturbShift)) + 1
2323
+ }
2324
+ }
2325
+
2326
+ func (h *Float32HashTable) upsize(newcap uint64) error {
2327
+ newMask := newcap - 1
2328
+
2329
+ oldEntries := h.entries
2330
+ h.entries = make([]entryFloat32, newcap)
2331
+ for _, e := range oldEntries {
2332
+ if e.Valid() {
2333
+ idx, _ := h.lookup(e.h, newMask, func(float32) bool { return false })
2334
+ h.entries[idx] = e
2335
+ }
2336
+ }
2337
+ h.cap = newcap
2338
+ h.capMask = newMask
2339
+ return nil
2340
+ }
2341
+
2342
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2343
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2344
+ func (h *Float32HashTable) Insert(e *entryFloat32, v uint64, val float32, memoIdx int32) error {
2345
+ e.h = h.fixHash(v)
2346
+ e.payload.val = val
2347
+ e.payload.memoIdx = memoIdx
2348
+ h.size++
2349
+
2350
+ if h.needUpsize() {
2351
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2352
+ }
2353
+ return nil
2354
+ }
2355
+
2356
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2357
+ // a valid entry being one which has had a value inserted into it.
2358
+ func (h *Float32HashTable) VisitEntries(visit func(*entryFloat32)) {
2359
+ for _, e := range h.entries {
2360
+ if e.Valid() {
2361
+ visit(&e)
2362
+ }
2363
+ }
2364
+ }
2365
+
2366
+ // Float32MemoTable is a wrapper over the appropriate hashtable to provide an interface
2367
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2368
+ // regarding dictionaries.
2369
+ type Float32MemoTable struct {
2370
+ tbl *Float32HashTable
2371
+ nullIdx int32
2372
+ }
2373
+
2374
+ // NewFloat32MemoTable returns a new memotable with num entries pre-allocated to reduce further
2375
+ // allocations when inserting.
2376
+ func NewFloat32MemoTable(num int64) *Float32MemoTable {
2377
+ return &Float32MemoTable{tbl: NewFloat32HashTable(uint64(num)), nullIdx: KeyNotFound}
2378
+ }
2379
+
2380
+ func (Float32MemoTable) TypeTraits() TypeTraits {
2381
+ return arrow.Float32Traits
2382
+ }
2383
+
2384
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2385
+ func (s *Float32MemoTable) Reset() {
2386
+ s.tbl.Reset(32)
2387
+ s.nullIdx = KeyNotFound
2388
+ }
2389
+
2390
+ // Size returns the current number of inserted elements into the table including if a null
2391
+ // has been inserted.
2392
+ func (s *Float32MemoTable) Size() int {
2393
+ sz := int(s.tbl.size)
2394
+ if _, ok := s.GetNull(); ok {
2395
+ sz++
2396
+ }
2397
+ return sz
2398
+ }
2399
+
2400
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2401
+ // that will be true if found and false if not.
2402
+ func (s *Float32MemoTable) GetNull() (int, bool) {
2403
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2404
+ }
2405
+
2406
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2407
+ // if one currently doesn't exist. The found value will be true if there was already
2408
+ // a null in the table, and false if it inserted one.
2409
+ func (s *Float32MemoTable) GetOrInsertNull() (idx int, found bool) {
2410
+ idx, found = s.GetNull()
2411
+ if !found {
2412
+ idx = s.Size()
2413
+ s.nullIdx = int32(idx)
2414
+ }
2415
+ return
2416
+ }
2417
+
2418
+ // CopyValues will copy the values from the memo table out into the passed in slice
2419
+ // which must be of the appropriate type.
2420
+ func (s *Float32MemoTable) CopyValues(out interface{}) {
2421
+ s.CopyValuesSubset(0, out)
2422
+ }
2423
+
2424
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2425
+ // at the provided start index
2426
+ func (s *Float32MemoTable) CopyValuesSubset(start int, out interface{}) {
2427
+ s.tbl.CopyValuesSubset(start, out.([]float32))
2428
+ }
2429
+
2430
+ func (s *Float32MemoTable) WriteOut(out []byte) {
2431
+ s.tbl.CopyValues(arrow.Float32Traits.CastFromBytes(out))
2432
+ }
2433
+
2434
+ func (s *Float32MemoTable) WriteOutSubset(start int, out []byte) {
2435
+ s.tbl.CopyValuesSubset(start, arrow.Float32Traits.CastFromBytes(out))
2436
+ }
2437
+
2438
+ func (s *Float32MemoTable) WriteOutLE(out []byte) {
2439
+ s.tbl.WriteOut(out)
2440
+ }
2441
+
2442
+ func (s *Float32MemoTable) WriteOutSubsetLE(start int, out []byte) {
2443
+ s.tbl.WriteOutSubset(start, out)
2444
+ }
2445
+
2446
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2447
+ // along with a boolean indicating if it was found or not.
2448
+ func (s *Float32MemoTable) Get(val interface{}) (int, bool) {
2449
+ var cmp func(float32) bool
2450
+
2451
+ if math.IsNaN(float64(val.(float32))) {
2452
+ cmp = isNan32Cmp
2453
+ // use consistent internal bit pattern for NaN regardless of the pattern
2454
+ // that is passed to us. NaN is NaN is NaN
2455
+ val = float32(math.NaN())
2456
+ } else {
2457
+ cmp = func(v float32) bool { return val.(float32) == v }
2458
+ }
2459
+
2460
+ h := hashFloat32(val.(float32), 0)
2461
+ if e, ok := s.tbl.Lookup(h, cmp); ok {
2462
+ return int(e.payload.memoIdx), ok
2463
+ }
2464
+ return KeyNotFound, false
2465
+ }
2466
+
2467
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2468
+ // value into the table and return the new index. found indicates whether or not it already
2469
+ // existed in the table (true) or was inserted by this call (false).
2470
+ func (s *Float32MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2471
+
2472
+ var cmp func(float32) bool
2473
+
2474
+ if math.IsNaN(float64(val.(float32))) {
2475
+ cmp = isNan32Cmp
2476
+ // use consistent internal bit pattern for NaN regardless of the pattern
2477
+ // that is passed to us. NaN is NaN is NaN
2478
+ val = float32(math.NaN())
2479
+ } else {
2480
+ cmp = func(v float32) bool { return val.(float32) == v }
2481
+ }
2482
+
2483
+ h := hashFloat32(val.(float32), 0)
2484
+ e, ok := s.tbl.Lookup(h, cmp)
2485
+
2486
+ if ok {
2487
+ idx = int(e.payload.memoIdx)
2488
+ found = true
2489
+ } else {
2490
+ idx = s.Size()
2491
+ s.tbl.Insert(e, h, val.(float32), int32(idx))
2492
+ }
2493
+ return
2494
+ }
2495
+
2496
+ type payloadFloat64 struct {
2497
+ val float64
2498
+ memoIdx int32
2499
+ }
2500
+
2501
+ type entryFloat64 struct {
2502
+ h uint64
2503
+ payload payloadFloat64
2504
+ }
2505
+
2506
+ func (e entryFloat64) Valid() bool { return e.h != sentinel }
2507
+
2508
+ // Float64HashTable is a hashtable specifically for float64 that
2509
+ // is utilized with the MemoTable to generalize interactions for easier
2510
+ // implementation of dictionaries without losing performance.
2511
+ type Float64HashTable struct {
2512
+ cap uint64
2513
+ capMask uint64
2514
+ size uint64
2515
+
2516
+ entries []entryFloat64
2517
+ }
2518
+
2519
+ // NewFloat64HashTable returns a new hash table for float64 values
2520
+ // initialized with the passed in capacity or 32 whichever is larger.
2521
+ func NewFloat64HashTable(cap uint64) *Float64HashTable {
2522
+ initCap := uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2523
+ ret := &Float64HashTable{cap: initCap, capMask: initCap - 1, size: 0}
2524
+ ret.entries = make([]entryFloat64, initCap)
2525
+ return ret
2526
+ }
2527
+
2528
+ // Reset drops all of the values in this hash table and re-initializes it
2529
+ // with the specified initial capacity as if by calling New, but without having
2530
+ // to reallocate the object.
2531
+ func (h *Float64HashTable) Reset(cap uint64) {
2532
+ h.cap = uint64(bitutil.NextPowerOf2(int(max(cap, 32))))
2533
+ h.capMask = h.cap - 1
2534
+ h.size = 0
2535
+ h.entries = make([]entryFloat64, h.cap)
2536
+ }
2537
+
2538
+ // CopyValues is used for copying the values out of the hash table into the
2539
+ // passed in slice, in the order that they were first inserted
2540
+ func (h *Float64HashTable) CopyValues(out []float64) {
2541
+ h.CopyValuesSubset(0, out)
2542
+ }
2543
+
2544
+ // CopyValuesSubset copies a subset of the values in the hashtable out, starting
2545
+ // with the value at start, in the order that they were inserted.
2546
+ func (h *Float64HashTable) CopyValuesSubset(start int, out []float64) {
2547
+ h.VisitEntries(func(e *entryFloat64) {
2548
+ idx := e.payload.memoIdx - int32(start)
2549
+ if idx >= 0 {
2550
+ out[idx] = e.payload.val
2551
+ }
2552
+ })
2553
+ }
2554
+
2555
+ func (h *Float64HashTable) WriteOut(out []byte) {
2556
+ h.WriteOutSubset(0, out)
2557
+ }
2558
+
2559
+ func (h *Float64HashTable) WriteOutSubset(start int, out []byte) {
2560
+ data := arrow.Float64Traits.CastFromBytes(out)
2561
+ h.VisitEntries(func(e *entryFloat64) {
2562
+ idx := e.payload.memoIdx - int32(start)
2563
+ if idx >= 0 {
2564
+ data[idx] = utils.ToLEFloat64(e.payload.val)
2565
+ }
2566
+ })
2567
+ }
2568
+
2569
+ func (h *Float64HashTable) needUpsize() bool { return h.size*uint64(loadFactor) >= h.cap }
2570
+
2571
+ func (Float64HashTable) fixHash(v uint64) uint64 {
2572
+ if v == sentinel {
2573
+ return 42
2574
+ }
2575
+ return v
2576
+ }
2577
+
2578
+ // Lookup retrieves the entry for a given hash value assuming it's payload value returns
2579
+ // true when passed to the cmp func. Returns a pointer to the entry for the given hash value,
2580
+ // and a boolean as to whether it was found. It is not safe to use the pointer if the bool is false.
2581
+ func (h *Float64HashTable) Lookup(v uint64, cmp func(float64) bool) (*entryFloat64, bool) {
2582
+ idx, ok := h.lookup(v, h.capMask, cmp)
2583
+ return &h.entries[idx], ok
2584
+ }
2585
+
2586
+ func (h *Float64HashTable) lookup(v uint64, szMask uint64, cmp func(float64) bool) (uint64, bool) {
2587
+ const perturbShift uint8 = 5
2588
+
2589
+ var (
2590
+ idx uint64
2591
+ perturb uint64
2592
+ e *entryFloat64
2593
+ )
2594
+
2595
+ v = h.fixHash(v)
2596
+ idx = v & szMask
2597
+ perturb = (v >> uint64(perturbShift)) + 1
2598
+
2599
+ for {
2600
+ e = &h.entries[idx]
2601
+ if e.h == v && cmp(e.payload.val) {
2602
+ return idx, true
2603
+ }
2604
+
2605
+ if e.h == sentinel {
2606
+ return idx, false
2607
+ }
2608
+
2609
+ // perturbation logic inspired from CPython's set/dict object
2610
+ // the goal is that all 64 bits of unmasked hash value eventually
2611
+ // participate int he probing sequence, to minimize clustering
2612
+ idx = (idx + perturb) & szMask
2613
+ perturb = (perturb >> uint64(perturbShift)) + 1
2614
+ }
2615
+ }
2616
+
2617
+ func (h *Float64HashTable) upsize(newcap uint64) error {
2618
+ newMask := newcap - 1
2619
+
2620
+ oldEntries := h.entries
2621
+ h.entries = make([]entryFloat64, newcap)
2622
+ for _, e := range oldEntries {
2623
+ if e.Valid() {
2624
+ idx, _ := h.lookup(e.h, newMask, func(float64) bool { return false })
2625
+ h.entries[idx] = e
2626
+ }
2627
+ }
2628
+ h.cap = newcap
2629
+ h.capMask = newMask
2630
+ return nil
2631
+ }
2632
+
2633
+ // Insert updates the given entry with the provided hash value, payload value and memo index.
2634
+ // The entry pointer must have been retrieved via lookup in order to actually insert properly.
2635
+ func (h *Float64HashTable) Insert(e *entryFloat64, v uint64, val float64, memoIdx int32) error {
2636
+ e.h = h.fixHash(v)
2637
+ e.payload.val = val
2638
+ e.payload.memoIdx = memoIdx
2639
+ h.size++
2640
+
2641
+ if h.needUpsize() {
2642
+ h.upsize(h.cap * uint64(loadFactor) * 2)
2643
+ }
2644
+ return nil
2645
+ }
2646
+
2647
+ // VisitEntries will call the passed in function on each *valid* entry in the hash table,
2648
+ // a valid entry being one which has had a value inserted into it.
2649
+ func (h *Float64HashTable) VisitEntries(visit func(*entryFloat64)) {
2650
+ for _, e := range h.entries {
2651
+ if e.Valid() {
2652
+ visit(&e)
2653
+ }
2654
+ }
2655
+ }
2656
+
2657
+ // Float64MemoTable is a wrapper over the appropriate hashtable to provide an interface
2658
+ // conforming to the MemoTable interface defined in the encoding package for general interactions
2659
+ // regarding dictionaries.
2660
+ type Float64MemoTable struct {
2661
+ tbl *Float64HashTable
2662
+ nullIdx int32
2663
+ }
2664
+
2665
+ // NewFloat64MemoTable returns a new memotable with num entries pre-allocated to reduce further
2666
+ // allocations when inserting.
2667
+ func NewFloat64MemoTable(num int64) *Float64MemoTable {
2668
+ return &Float64MemoTable{tbl: NewFloat64HashTable(uint64(num)), nullIdx: KeyNotFound}
2669
+ }
2670
+
2671
+ func (Float64MemoTable) TypeTraits() TypeTraits {
2672
+ return arrow.Float64Traits
2673
+ }
2674
+
2675
+ // Reset allows this table to be re-used by dumping all the data currently in the table.
2676
+ func (s *Float64MemoTable) Reset() {
2677
+ s.tbl.Reset(32)
2678
+ s.nullIdx = KeyNotFound
2679
+ }
2680
+
2681
+ // Size returns the current number of inserted elements into the table including if a null
2682
+ // has been inserted.
2683
+ func (s *Float64MemoTable) Size() int {
2684
+ sz := int(s.tbl.size)
2685
+ if _, ok := s.GetNull(); ok {
2686
+ sz++
2687
+ }
2688
+ return sz
2689
+ }
2690
+
2691
+ // GetNull returns the index of an inserted null or KeyNotFound along with a bool
2692
+ // that will be true if found and false if not.
2693
+ func (s *Float64MemoTable) GetNull() (int, bool) {
2694
+ return int(s.nullIdx), s.nullIdx != KeyNotFound
2695
+ }
2696
+
2697
+ // GetOrInsertNull will return the index of the null entry or insert a null entry
2698
+ // if one currently doesn't exist. The found value will be true if there was already
2699
+ // a null in the table, and false if it inserted one.
2700
+ func (s *Float64MemoTable) GetOrInsertNull() (idx int, found bool) {
2701
+ idx, found = s.GetNull()
2702
+ if !found {
2703
+ idx = s.Size()
2704
+ s.nullIdx = int32(idx)
2705
+ }
2706
+ return
2707
+ }
2708
+
2709
+ // CopyValues will copy the values from the memo table out into the passed in slice
2710
+ // which must be of the appropriate type.
2711
+ func (s *Float64MemoTable) CopyValues(out interface{}) {
2712
+ s.CopyValuesSubset(0, out)
2713
+ }
2714
+
2715
+ // CopyValuesSubset is like CopyValues but only copies a subset of values starting
2716
+ // at the provided start index
2717
+ func (s *Float64MemoTable) CopyValuesSubset(start int, out interface{}) {
2718
+ s.tbl.CopyValuesSubset(start, out.([]float64))
2719
+ }
2720
+
2721
+ func (s *Float64MemoTable) WriteOut(out []byte) {
2722
+ s.tbl.CopyValues(arrow.Float64Traits.CastFromBytes(out))
2723
+ }
2724
+
2725
+ func (s *Float64MemoTable) WriteOutSubset(start int, out []byte) {
2726
+ s.tbl.CopyValuesSubset(start, arrow.Float64Traits.CastFromBytes(out))
2727
+ }
2728
+
2729
+ func (s *Float64MemoTable) WriteOutLE(out []byte) {
2730
+ s.tbl.WriteOut(out)
2731
+ }
2732
+
2733
+ func (s *Float64MemoTable) WriteOutSubsetLE(start int, out []byte) {
2734
+ s.tbl.WriteOutSubset(start, out)
2735
+ }
2736
+
2737
+ // Get returns the index of the requested value in the hash table or KeyNotFound
2738
+ // along with a boolean indicating if it was found or not.
2739
+ func (s *Float64MemoTable) Get(val interface{}) (int, bool) {
2740
+ var cmp func(float64) bool
2741
+ if math.IsNaN(val.(float64)) {
2742
+ cmp = math.IsNaN
2743
+ // use consistent internal bit pattern for NaN regardless of the pattern
2744
+ // that is passed to us. NaN is NaN is NaN
2745
+ val = math.NaN()
2746
+ } else {
2747
+ cmp = func(v float64) bool { return val.(float64) == v }
2748
+ }
2749
+
2750
+ h := hashFloat64(val.(float64), 0)
2751
+ if e, ok := s.tbl.Lookup(h, cmp); ok {
2752
+ return int(e.payload.memoIdx), ok
2753
+ }
2754
+ return KeyNotFound, false
2755
+ }
2756
+
2757
+ // GetOrInsert will return the index of the specified value in the table, or insert the
2758
+ // value into the table and return the new index. found indicates whether or not it already
2759
+ // existed in the table (true) or was inserted by this call (false).
2760
+ func (s *Float64MemoTable) GetOrInsert(val interface{}) (idx int, found bool, err error) {
2761
+
2762
+ var cmp func(float64) bool
2763
+ if math.IsNaN(val.(float64)) {
2764
+ cmp = math.IsNaN
2765
+ // use consistent internal bit pattern for NaN regardless of the pattern
2766
+ // that is passed to us. NaN is NaN is NaN
2767
+ val = math.NaN()
2768
+ } else {
2769
+ cmp = func(v float64) bool { return val.(float64) == v }
2770
+ }
2771
+
2772
+ h := hashFloat64(val.(float64), 0)
2773
+ e, ok := s.tbl.Lookup(h, cmp)
2774
+
2775
+ if ok {
2776
+ idx = int(e.payload.memoIdx)
2777
+ found = true
2778
+ } else {
2779
+ idx = s.Size()
2780
+ s.tbl.Insert(e, h, val.(float64), int32(idx))
2781
+ }
2782
+ return
2783
+ }