slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.0__cp311-cp311-manylinux_2_36_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of slidge-whatsapp might be problematic. Click here for more details.

Files changed (484) hide show
  1. slidge_whatsapp/config.py +3 -0
  2. slidge_whatsapp/contact.py +15 -3
  3. slidge_whatsapp/event.go +171 -70
  4. slidge_whatsapp/gateway.go +16 -68
  5. slidge_whatsapp/gateway.py +4 -5
  6. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +168 -151
  7. slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
  8. slidge_whatsapp/generated/build.py +142 -128
  9. slidge_whatsapp/generated/whatsapp.c +1689 -1417
  10. slidge_whatsapp/generated/whatsapp.go +1011 -900
  11. slidge_whatsapp/generated/whatsapp.py +1175 -1050
  12. slidge_whatsapp/generated/whatsapp_go.h +168 -151
  13. slidge_whatsapp/go.mod +21 -15
  14. slidge_whatsapp/go.sum +49 -31
  15. slidge_whatsapp/group.py +34 -30
  16. slidge_whatsapp/media/media.go +22 -12
  17. slidge_whatsapp/session.go +106 -82
  18. slidge_whatsapp/session.py +46 -14
  19. slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
  20. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
  21. slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
  22. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
  23. slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
  24. slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
  25. slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
  26. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
  27. slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
  28. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
  29. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
  30. slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
  31. slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
  32. slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
  33. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
  34. slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
  35. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
  36. slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
  37. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/LICENSE +21 -0
  38. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
  39. slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
  40. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
  41. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
  42. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
  43. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
  44. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
  45. slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
  46. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
  47. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +44 -1
  48. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
  49. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
  50. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
  51. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
  52. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
  53. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
  54. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
  55. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
  56. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
  57. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
  58. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
  59. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
  60. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
  61. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
  62. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +53 -15
  63. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
  64. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
  65. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
  66. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
  67. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
  68. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +4 -7
  69. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
  70. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +11545 -6680
  71. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +527 -273
  72. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
  73. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
  74. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
  75. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
  76. slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +4 -0
  77. slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
  78. slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
  79. slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
  80. slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
  81. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
  82. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
  83. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
  84. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
  85. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
  86. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
  87. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
  88. slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
  89. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
  90. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
  91. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.25.go +37 -0
  92. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
  93. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
  94. slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
  95. slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
  96. slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
  97. slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
  98. slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
  99. slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
  100. slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
  101. slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
  102. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/LICENSE +19 -0
  103. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
  104. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
  105. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
  106. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
  107. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
  108. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
  109. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
  110. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
  111. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
  112. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
  113. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
  114. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
  115. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
  116. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
  117. slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -0
  118. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
  119. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
  120. slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
  121. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
  122. slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
  123. slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
  124. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
  125. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
  126. slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
  127. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
  128. slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
  129. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
  130. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
  131. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
  132. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
  133. slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
  134. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
  135. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
  136. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
  137. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
  138. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
  139. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
  140. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
  141. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
  142. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
  143. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
  144. slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
  145. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
  146. slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
  147. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
  148. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +98 -0
  149. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
  150. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
  151. slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +38 -0
  152. slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +104 -0
  153. slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +104 -0
  154. slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
  155. slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
  156. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
  157. slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
  158. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
  159. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
  160. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
  161. slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
  162. slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
  163. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/.pre-commit-config.yaml +3 -3
  164. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
  165. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
  166. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/hash.go +1 -1
  167. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
  168. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +32 -26
  169. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
  170. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
  171. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
  172. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +42 -8
  173. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
  174. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
  175. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +2 -1
  176. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +134 -55
  177. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +34 -11
  178. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
  179. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +78 -34
  180. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +4 -0
  181. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +157 -55
  182. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +202 -154
  183. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -2
  184. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
  185. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
  186. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +448 -138
  187. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +106 -31
  188. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
  189. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +83 -43
  190. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +9 -6
  191. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
  192. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
  193. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +17 -7
  194. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
  195. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
  196. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
  197. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
  198. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
  199. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
  200. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
  201. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
  202. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
  203. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
  204. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
  205. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
  206. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
  207. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
  208. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
  209. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
  210. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
  211. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
  212. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
  213. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
  214. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
  215. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
  216. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
  217. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
  218. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
  219. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
  220. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
  221. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
  222. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
  223. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
  224. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +170 -15
  225. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
  226. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
  227. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -0
  228. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
  229. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
  230. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
  231. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
  232. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +211 -89
  233. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +5 -1
  234. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
  235. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
  236. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
  237. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +7463 -5180
  238. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +366 -343
  239. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +485 -135
  240. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +17 -0
  241. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
  242. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.proto +14 -0
  243. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
  244. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
  245. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
  246. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
  247. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
  248. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
  249. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
  250. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/extra.go +7 -6
  251. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
  252. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
  253. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.pb.go +952 -0
  254. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +88 -0
  255. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1802 -453
  256. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +92 -0
  257. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
  258. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
  259. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +435 -109
  260. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +11 -0
  261. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
  262. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
  263. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +32 -9
  264. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
  265. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
  266. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
  267. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +267 -79
  268. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
  269. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
  270. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +87 -44
  271. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
  272. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
  273. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
  274. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +314 -170
  275. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -0
  276. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
  277. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
  278. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
  279. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
  280. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
  281. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
  282. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
  283. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/10-chat-db-lid-migration-ts.sql +2 -0
  284. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
  285. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +109 -56
  286. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
  287. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
  288. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +21 -2
  289. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
  290. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +9 -9
  291. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
  292. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -0
  293. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
  294. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
  295. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +59 -37
  296. slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
  297. slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
  298. slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
  299. slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
  300. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
  301. slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
  302. slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
  303. slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
  304. slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
  305. slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
  306. slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +164 -0
  307. slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
  308. slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
  309. slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
  310. slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
  311. slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +181 -0
  312. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
  313. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
  314. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
  315. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
  316. slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
  317. slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +410 -0
  318. slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
  319. slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3332 -0
  320. slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3233 -0
  321. slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
  322. slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
  323. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
  324. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
  325. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
  326. slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
  327. slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
  328. slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
  329. slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
  330. slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
  331. slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
  332. slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
  333. slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
  334. slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
  335. slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
  336. slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
  337. slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
  338. slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
  339. slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
  340. slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
  341. slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
  342. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
  343. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
  344. slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
  345. slidge_whatsapp/vendor/golang.org/x/sys/unix/affinity_linux.go +1 -3
  346. slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
  347. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +93 -0
  348. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
  349. slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
  350. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
  351. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
  352. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
  353. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
  354. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
  355. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
  356. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
  357. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
  358. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
  359. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
  360. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
  361. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
  362. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
  363. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
  364. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
  365. slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
  366. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
  367. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
  368. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
  369. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
  370. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go +4 -4
  371. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
  372. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
  373. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
  374. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
  375. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
  376. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
  377. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
  378. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
  379. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
  380. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
  381. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
  382. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
  383. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
  384. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
  385. slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
  386. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
  387. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
  388. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
  389. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
  390. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
  391. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
  392. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
  393. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
  394. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
  395. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
  396. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
  397. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
  398. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
  399. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
  400. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
  401. slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -0
  402. slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
  403. slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
  404. slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +245 -0
  405. slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +491 -482
  406. slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
  407. slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
  408. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
  409. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
  410. slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
  411. slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
  412. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
  413. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
  414. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
  415. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
  416. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
  417. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
  418. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
  419. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
  420. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
  421. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
  422. slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
  423. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
  424. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
  425. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
  426. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
  427. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
  428. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
  429. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
  430. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
  431. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
  432. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
  433. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
  434. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
  435. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
  436. slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
  437. slidge_whatsapp/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +25 -1
  438. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
  439. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +13 -5
  440. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
  441. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
  442. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +81 -19
  443. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
  444. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
  445. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
  446. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
  447. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
  448. slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
  449. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +10 -0
  450. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
  451. slidge_whatsapp/vendor/modules.txt +80 -21
  452. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/METADATA +5 -4
  453. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/RECORD +456 -263
  454. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/WHEEL +1 -1
  455. slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
  456. slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
  457. slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
  458. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
  459. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
  460. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
  461. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
  462. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
  463. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
  464. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
  465. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
  466. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
  467. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
  468. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
  469. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
  470. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
  471. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
  472. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
  473. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
  474. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
  475. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
  476. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
  477. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
  478. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
  479. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
  480. slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
  481. slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
  482. slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
  483. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/entry_points.txt +0 -0
  484. {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,769 @@
1
+ // Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
2
+
3
+ // Copyright 2016 The Go Authors. All rights reserved.
4
+ // Use of this source code is governed by a BSD-style
5
+ // license that can be found in the LICENSE file.
6
+
7
+ //go:build go1.10
8
+
9
+ // Package idna implements IDNA2008 using the compatibility processing
10
+ // defined by UTS (Unicode Technical Standard) #46, which defines a standard to
11
+ // deal with the transition from IDNA2003.
12
+ //
13
+ // IDNA2008 (Internationalized Domain Names for Applications), is defined in RFC
14
+ // 5890, RFC 5891, RFC 5892, RFC 5893 and RFC 5894.
15
+ // UTS #46 is defined in https://www.unicode.org/reports/tr46.
16
+ // See https://unicode.org/cldr/utility/idna.jsp for a visualization of the
17
+ // differences between these two standards.
18
+ package idna // import "golang.org/x/net/idna"
19
+
20
+ import (
21
+ "fmt"
22
+ "strings"
23
+ "unicode/utf8"
24
+
25
+ "golang.org/x/text/secure/bidirule"
26
+ "golang.org/x/text/unicode/bidi"
27
+ "golang.org/x/text/unicode/norm"
28
+ )
29
+
30
+ // NOTE: Unlike common practice in Go APIs, the functions will return a
31
+ // sanitized domain name in case of errors. Browsers sometimes use a partially
32
+ // evaluated string as lookup.
33
+ // TODO: the current error handling is, in my opinion, the least opinionated.
34
+ // Other strategies are also viable, though:
35
+ // Option 1) Return an empty string in case of error, but allow the user to
36
+ // specify explicitly which errors to ignore.
37
+ // Option 2) Return the partially evaluated string if it is itself a valid
38
+ // string, otherwise return the empty string in case of error.
39
+ // Option 3) Option 1 and 2.
40
+ // Option 4) Always return an empty string for now and implement Option 1 as
41
+ // needed, and document that the return string may not be empty in case of
42
+ // error in the future.
43
+ // I think Option 1 is best, but it is quite opinionated.
44
+
45
+ // ToASCII is a wrapper for Punycode.ToASCII.
46
+ func ToASCII(s string) (string, error) {
47
+ return Punycode.process(s, true)
48
+ }
49
+
50
+ // ToUnicode is a wrapper for Punycode.ToUnicode.
51
+ func ToUnicode(s string) (string, error) {
52
+ return Punycode.process(s, false)
53
+ }
54
+
55
+ // An Option configures a Profile at creation time.
56
+ type Option func(*options)
57
+
58
+ // Transitional sets a Profile to use the Transitional mapping as defined in UTS
59
+ // #46. This will cause, for example, "ß" to be mapped to "ss". Using the
60
+ // transitional mapping provides a compromise between IDNA2003 and IDNA2008
61
+ // compatibility. It is used by some browsers when resolving domain names. This
62
+ // option is only meaningful if combined with MapForLookup.
63
+ func Transitional(transitional bool) Option {
64
+ return func(o *options) { o.transitional = transitional }
65
+ }
66
+
67
+ // VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
68
+ // are longer than allowed by the RFC.
69
+ //
70
+ // This option corresponds to the VerifyDnsLength flag in UTS #46.
71
+ func VerifyDNSLength(verify bool) Option {
72
+ return func(o *options) { o.verifyDNSLength = verify }
73
+ }
74
+
75
+ // RemoveLeadingDots removes leading label separators. Leading runes that map to
76
+ // dots, such as U+3002 IDEOGRAPHIC FULL STOP, are removed as well.
77
+ func RemoveLeadingDots(remove bool) Option {
78
+ return func(o *options) { o.removeLeadingDots = remove }
79
+ }
80
+
81
+ // ValidateLabels sets whether to check the mandatory label validation criteria
82
+ // as defined in Section 5.4 of RFC 5891. This includes testing for correct use
83
+ // of hyphens ('-'), normalization, validity of runes, and the context rules.
84
+ // In particular, ValidateLabels also sets the CheckHyphens and CheckJoiners flags
85
+ // in UTS #46.
86
+ func ValidateLabels(enable bool) Option {
87
+ return func(o *options) {
88
+ // Don't override existing mappings, but set one that at least checks
89
+ // normalization if it is not set.
90
+ if o.mapping == nil && enable {
91
+ o.mapping = normalize
92
+ }
93
+ o.trie = trie
94
+ o.checkJoiners = enable
95
+ o.checkHyphens = enable
96
+ if enable {
97
+ o.fromPuny = validateFromPunycode
98
+ } else {
99
+ o.fromPuny = nil
100
+ }
101
+ }
102
+ }
103
+
104
+ // CheckHyphens sets whether to check for correct use of hyphens ('-') in
105
+ // labels. Most web browsers do not have this option set, since labels such as
106
+ // "r3---sn-apo3qvuoxuxbt-j5pe" are in common use.
107
+ //
108
+ // This option corresponds to the CheckHyphens flag in UTS #46.
109
+ func CheckHyphens(enable bool) Option {
110
+ return func(o *options) { o.checkHyphens = enable }
111
+ }
112
+
113
+ // CheckJoiners sets whether to check the ContextJ rules as defined in Appendix
114
+ // A of RFC 5892, concerning the use of joiner runes.
115
+ //
116
+ // This option corresponds to the CheckJoiners flag in UTS #46.
117
+ func CheckJoiners(enable bool) Option {
118
+ return func(o *options) {
119
+ o.trie = trie
120
+ o.checkJoiners = enable
121
+ }
122
+ }
123
+
124
+ // StrictDomainName limits the set of permissible ASCII characters to those
125
+ // allowed in domain names as defined in RFC 1034 (A-Z, a-z, 0-9 and the
126
+ // hyphen). This is set by default for MapForLookup and ValidateForRegistration,
127
+ // but is only useful if ValidateLabels is set.
128
+ //
129
+ // This option is useful, for instance, for browsers that allow characters
130
+ // outside this range, for example a '_' (U+005F LOW LINE). See
131
+ // http://www.rfc-editor.org/std/std3.txt for more details.
132
+ //
133
+ // This option corresponds to the UseSTD3ASCIIRules flag in UTS #46.
134
+ func StrictDomainName(use bool) Option {
135
+ return func(o *options) { o.useSTD3Rules = use }
136
+ }
137
+
138
+ // NOTE: the following options pull in tables. The tables should not be linked
139
+ // in as long as the options are not used.
140
+
141
+ // BidiRule enables the Bidi rule as defined in RFC 5893. Any application
142
+ // that relies on proper validation of labels should include this rule.
143
+ //
144
+ // This option corresponds to the CheckBidi flag in UTS #46.
145
+ func BidiRule() Option {
146
+ return func(o *options) { o.bidirule = bidirule.ValidString }
147
+ }
148
+
149
+ // ValidateForRegistration sets validation options to verify that a given IDN is
150
+ // properly formatted for registration as defined by Section 4 of RFC 5891.
151
+ func ValidateForRegistration() Option {
152
+ return func(o *options) {
153
+ o.mapping = validateRegistration
154
+ StrictDomainName(true)(o)
155
+ ValidateLabels(true)(o)
156
+ VerifyDNSLength(true)(o)
157
+ BidiRule()(o)
158
+ }
159
+ }
160
+
161
+ // MapForLookup sets validation and mapping options such that a given IDN is
162
+ // transformed for domain name lookup according to the requirements set out in
163
+ // Section 5 of RFC 5891. The mappings follow the recommendations of RFC 5894,
164
+ // RFC 5895 and UTS 46. It does not add the Bidi Rule. Use the BidiRule option
165
+ // to add this check.
166
+ //
167
+ // The mappings include normalization and mapping case, width and other
168
+ // compatibility mappings.
169
+ func MapForLookup() Option {
170
+ return func(o *options) {
171
+ o.mapping = validateAndMap
172
+ StrictDomainName(true)(o)
173
+ ValidateLabels(true)(o)
174
+ }
175
+ }
176
+
177
+ type options struct {
178
+ transitional bool
179
+ useSTD3Rules bool
180
+ checkHyphens bool
181
+ checkJoiners bool
182
+ verifyDNSLength bool
183
+ removeLeadingDots bool
184
+
185
+ trie *idnaTrie
186
+
187
+ // fromPuny calls validation rules when converting A-labels to U-labels.
188
+ fromPuny func(p *Profile, s string) error
189
+
190
+ // mapping implements a validation and mapping step as defined in RFC 5895
191
+ // or UTS 46, tailored to, for example, domain registration or lookup.
192
+ mapping func(p *Profile, s string) (mapped string, isBidi bool, err error)
193
+
194
+ // bidirule, if specified, checks whether s conforms to the Bidi Rule
195
+ // defined in RFC 5893.
196
+ bidirule func(s string) bool
197
+ }
198
+
199
+ // A Profile defines the configuration of an IDNA mapper.
200
+ type Profile struct {
201
+ options
202
+ }
203
+
204
+ func apply(o *options, opts []Option) {
205
+ for _, f := range opts {
206
+ f(o)
207
+ }
208
+ }
209
+
210
+ // New creates a new Profile.
211
+ //
212
+ // With no options, the returned Profile is the most permissive and equals the
213
+ // Punycode Profile. Options can be passed to further restrict the Profile. The
214
+ // MapForLookup and ValidateForRegistration options set a collection of options,
215
+ // for lookup and registration purposes respectively, which can be tailored by
216
+ // adding more fine-grained options, where later options override earlier
217
+ // options.
218
+ func New(o ...Option) *Profile {
219
+ p := &Profile{}
220
+ apply(&p.options, o)
221
+ return p
222
+ }
223
+
224
+ // ToASCII converts a domain or domain label to its ASCII form. For example,
225
+ // ToASCII("bücher.example.com") is "xn--bcher-kva.example.com", and
226
+ // ToASCII("golang") is "golang". If an error is encountered it will return
227
+ // an error and a (partially) processed result.
228
+ func (p *Profile) ToASCII(s string) (string, error) {
229
+ return p.process(s, true)
230
+ }
231
+
232
+ // ToUnicode converts a domain or domain label to its Unicode form. For example,
233
+ // ToUnicode("xn--bcher-kva.example.com") is "bücher.example.com", and
234
+ // ToUnicode("golang") is "golang". If an error is encountered it will return
235
+ // an error and a (partially) processed result.
236
+ func (p *Profile) ToUnicode(s string) (string, error) {
237
+ pp := *p
238
+ pp.transitional = false
239
+ return pp.process(s, false)
240
+ }
241
+
242
+ // String reports a string with a description of the profile for debugging
243
+ // purposes. The string format may change with different versions.
244
+ func (p *Profile) String() string {
245
+ s := ""
246
+ if p.transitional {
247
+ s = "Transitional"
248
+ } else {
249
+ s = "NonTransitional"
250
+ }
251
+ if p.useSTD3Rules {
252
+ s += ":UseSTD3Rules"
253
+ }
254
+ if p.checkHyphens {
255
+ s += ":CheckHyphens"
256
+ }
257
+ if p.checkJoiners {
258
+ s += ":CheckJoiners"
259
+ }
260
+ if p.verifyDNSLength {
261
+ s += ":VerifyDNSLength"
262
+ }
263
+ return s
264
+ }
265
+
266
+ var (
267
+ // Punycode is a Profile that does raw punycode processing with a minimum
268
+ // of validation.
269
+ Punycode *Profile = punycode
270
+
271
+ // Lookup is the recommended profile for looking up domain names, according
272
+ // to Section 5 of RFC 5891. The exact configuration of this profile may
273
+ // change over time.
274
+ Lookup *Profile = lookup
275
+
276
+ // Display is the recommended profile for displaying domain names.
277
+ // The configuration of this profile may change over time.
278
+ Display *Profile = display
279
+
280
+ // Registration is the recommended profile for checking whether a given
281
+ // IDN is valid for registration, according to Section 4 of RFC 5891.
282
+ Registration *Profile = registration
283
+
284
+ punycode = &Profile{}
285
+ lookup = &Profile{options{
286
+ transitional: transitionalLookup,
287
+ useSTD3Rules: true,
288
+ checkHyphens: true,
289
+ checkJoiners: true,
290
+ trie: trie,
291
+ fromPuny: validateFromPunycode,
292
+ mapping: validateAndMap,
293
+ bidirule: bidirule.ValidString,
294
+ }}
295
+ display = &Profile{options{
296
+ useSTD3Rules: true,
297
+ checkHyphens: true,
298
+ checkJoiners: true,
299
+ trie: trie,
300
+ fromPuny: validateFromPunycode,
301
+ mapping: validateAndMap,
302
+ bidirule: bidirule.ValidString,
303
+ }}
304
+ registration = &Profile{options{
305
+ useSTD3Rules: true,
306
+ verifyDNSLength: true,
307
+ checkHyphens: true,
308
+ checkJoiners: true,
309
+ trie: trie,
310
+ fromPuny: validateFromPunycode,
311
+ mapping: validateRegistration,
312
+ bidirule: bidirule.ValidString,
313
+ }}
314
+
315
+ // TODO: profiles
316
+ // Register: recommended for approving domain names: don't do any mappings
317
+ // but rather reject on invalid input. Bundle or block deviation characters.
318
+ )
319
+
320
+ type labelError struct{ label, code_ string }
321
+
322
+ func (e labelError) code() string { return e.code_ }
323
+ func (e labelError) Error() string {
324
+ return fmt.Sprintf("idna: invalid label %q", e.label)
325
+ }
326
+
327
+ type runeError rune
328
+
329
+ func (e runeError) code() string { return "P1" }
330
+ func (e runeError) Error() string {
331
+ return fmt.Sprintf("idna: disallowed rune %U", e)
332
+ }
333
+
334
+ // process implements the algorithm described in section 4 of UTS #46,
335
+ // see https://www.unicode.org/reports/tr46.
336
+ func (p *Profile) process(s string, toASCII bool) (string, error) {
337
+ var err error
338
+ var isBidi bool
339
+ if p.mapping != nil {
340
+ s, isBidi, err = p.mapping(p, s)
341
+ }
342
+ // Remove leading empty labels.
343
+ if p.removeLeadingDots {
344
+ for ; len(s) > 0 && s[0] == '.'; s = s[1:] {
345
+ }
346
+ }
347
+ // TODO: allow for a quick check of the tables data.
348
+ // It seems like we should only create this error on ToASCII, but the
349
+ // UTS 46 conformance tests suggests we should always check this.
350
+ if err == nil && p.verifyDNSLength && s == "" {
351
+ err = &labelError{s, "A4"}
352
+ }
353
+ labels := labelIter{orig: s}
354
+ for ; !labels.done(); labels.next() {
355
+ label := labels.label()
356
+ if label == "" {
357
+ // Empty labels are not okay. The label iterator skips the last
358
+ // label if it is empty.
359
+ if err == nil && p.verifyDNSLength {
360
+ err = &labelError{s, "A4"}
361
+ }
362
+ continue
363
+ }
364
+ if strings.HasPrefix(label, acePrefix) {
365
+ u, err2 := decode(label[len(acePrefix):])
366
+ if err2 != nil {
367
+ if err == nil {
368
+ err = err2
369
+ }
370
+ // Spec says keep the old label.
371
+ continue
372
+ }
373
+ isBidi = isBidi || bidirule.DirectionString(u) != bidi.LeftToRight
374
+ labels.set(u)
375
+ if err == nil && p.fromPuny != nil {
376
+ err = p.fromPuny(p, u)
377
+ }
378
+ if err == nil {
379
+ // This should be called on NonTransitional, according to the
380
+ // spec, but that currently does not have any effect. Use the
381
+ // original profile to preserve options.
382
+ err = p.validateLabel(u)
383
+ }
384
+ } else if err == nil {
385
+ err = p.validateLabel(label)
386
+ }
387
+ }
388
+ if isBidi && p.bidirule != nil && err == nil {
389
+ for labels.reset(); !labels.done(); labels.next() {
390
+ if !p.bidirule(labels.label()) {
391
+ err = &labelError{s, "B"}
392
+ break
393
+ }
394
+ }
395
+ }
396
+ if toASCII {
397
+ for labels.reset(); !labels.done(); labels.next() {
398
+ label := labels.label()
399
+ if !ascii(label) {
400
+ a, err2 := encode(acePrefix, label)
401
+ if err == nil {
402
+ err = err2
403
+ }
404
+ label = a
405
+ labels.set(a)
406
+ }
407
+ n := len(label)
408
+ if p.verifyDNSLength && err == nil && (n == 0 || n > 63) {
409
+ err = &labelError{label, "A4"}
410
+ }
411
+ }
412
+ }
413
+ s = labels.result()
414
+ if toASCII && p.verifyDNSLength && err == nil {
415
+ // Compute the length of the domain name minus the root label and its dot.
416
+ n := len(s)
417
+ if n > 0 && s[n-1] == '.' {
418
+ n--
419
+ }
420
+ if len(s) < 1 || n > 253 {
421
+ err = &labelError{s, "A4"}
422
+ }
423
+ }
424
+ return s, err
425
+ }
426
+
427
+ func normalize(p *Profile, s string) (mapped string, isBidi bool, err error) {
428
+ // TODO: consider first doing a quick check to see if any of these checks
429
+ // need to be done. This will make it slower in the general case, but
430
+ // faster in the common case.
431
+ mapped = norm.NFC.String(s)
432
+ isBidi = bidirule.DirectionString(mapped) == bidi.RightToLeft
433
+ return mapped, isBidi, nil
434
+ }
435
+
436
+ func validateRegistration(p *Profile, s string) (idem string, bidi bool, err error) {
437
+ // TODO: filter need for normalization in loop below.
438
+ if !norm.NFC.IsNormalString(s) {
439
+ return s, false, &labelError{s, "V1"}
440
+ }
441
+ for i := 0; i < len(s); {
442
+ v, sz := trie.lookupString(s[i:])
443
+ if sz == 0 {
444
+ return s, bidi, runeError(utf8.RuneError)
445
+ }
446
+ bidi = bidi || info(v).isBidi(s[i:])
447
+ // Copy bytes not copied so far.
448
+ switch p.simplify(info(v).category()) {
449
+ // TODO: handle the NV8 defined in the Unicode idna data set to allow
450
+ // for strict conformance to IDNA2008.
451
+ case valid, deviation:
452
+ case disallowed, mapped, unknown, ignored:
453
+ r, _ := utf8.DecodeRuneInString(s[i:])
454
+ return s, bidi, runeError(r)
455
+ }
456
+ i += sz
457
+ }
458
+ return s, bidi, nil
459
+ }
460
+
461
+ func (c info) isBidi(s string) bool {
462
+ if !c.isMapped() {
463
+ return c&attributesMask == rtl
464
+ }
465
+ // TODO: also store bidi info for mapped data. This is possible, but a bit
466
+ // cumbersome and not for the common case.
467
+ p, _ := bidi.LookupString(s)
468
+ switch p.Class() {
469
+ case bidi.R, bidi.AL, bidi.AN:
470
+ return true
471
+ }
472
+ return false
473
+ }
474
+
475
+ func validateAndMap(p *Profile, s string) (vm string, bidi bool, err error) {
476
+ var (
477
+ b []byte
478
+ k int
479
+ )
480
+ // combinedInfoBits contains the or-ed bits of all runes. We use this
481
+ // to derive the mayNeedNorm bit later. This may trigger normalization
482
+ // overeagerly, but it will not do so in the common case. The end result
483
+ // is another 10% saving on BenchmarkProfile for the common case.
484
+ var combinedInfoBits info
485
+ for i := 0; i < len(s); {
486
+ v, sz := trie.lookupString(s[i:])
487
+ if sz == 0 {
488
+ b = append(b, s[k:i]...)
489
+ b = append(b, "\ufffd"...)
490
+ k = len(s)
491
+ if err == nil {
492
+ err = runeError(utf8.RuneError)
493
+ }
494
+ break
495
+ }
496
+ combinedInfoBits |= info(v)
497
+ bidi = bidi || info(v).isBidi(s[i:])
498
+ start := i
499
+ i += sz
500
+ // Copy bytes not copied so far.
501
+ switch p.simplify(info(v).category()) {
502
+ case valid:
503
+ continue
504
+ case disallowed:
505
+ if err == nil {
506
+ r, _ := utf8.DecodeRuneInString(s[start:])
507
+ err = runeError(r)
508
+ }
509
+ continue
510
+ case mapped, deviation:
511
+ b = append(b, s[k:start]...)
512
+ b = info(v).appendMapping(b, s[start:i])
513
+ case ignored:
514
+ b = append(b, s[k:start]...)
515
+ // drop the rune
516
+ case unknown:
517
+ b = append(b, s[k:start]...)
518
+ b = append(b, "\ufffd"...)
519
+ }
520
+ k = i
521
+ }
522
+ if k == 0 {
523
+ // No changes so far.
524
+ if combinedInfoBits&mayNeedNorm != 0 {
525
+ s = norm.NFC.String(s)
526
+ }
527
+ } else {
528
+ b = append(b, s[k:]...)
529
+ if norm.NFC.QuickSpan(b) != len(b) {
530
+ b = norm.NFC.Bytes(b)
531
+ }
532
+ // TODO: the punycode converters require strings as input.
533
+ s = string(b)
534
+ }
535
+ return s, bidi, err
536
+ }
537
+
538
+ // A labelIter allows iterating over domain name labels.
539
+ type labelIter struct {
540
+ orig string
541
+ slice []string
542
+ curStart int
543
+ curEnd int
544
+ i int
545
+ }
546
+
547
+ func (l *labelIter) reset() {
548
+ l.curStart = 0
549
+ l.curEnd = 0
550
+ l.i = 0
551
+ }
552
+
553
+ func (l *labelIter) done() bool {
554
+ return l.curStart >= len(l.orig)
555
+ }
556
+
557
+ func (l *labelIter) result() string {
558
+ if l.slice != nil {
559
+ return strings.Join(l.slice, ".")
560
+ }
561
+ return l.orig
562
+ }
563
+
564
+ func (l *labelIter) label() string {
565
+ if l.slice != nil {
566
+ return l.slice[l.i]
567
+ }
568
+ p := strings.IndexByte(l.orig[l.curStart:], '.')
569
+ l.curEnd = l.curStart + p
570
+ if p == -1 {
571
+ l.curEnd = len(l.orig)
572
+ }
573
+ return l.orig[l.curStart:l.curEnd]
574
+ }
575
+
576
+ // next sets the value to the next label. It skips the last label if it is empty.
577
+ func (l *labelIter) next() {
578
+ l.i++
579
+ if l.slice != nil {
580
+ if l.i >= len(l.slice) || l.i == len(l.slice)-1 && l.slice[l.i] == "" {
581
+ l.curStart = len(l.orig)
582
+ }
583
+ } else {
584
+ l.curStart = l.curEnd + 1
585
+ if l.curStart == len(l.orig)-1 && l.orig[l.curStart] == '.' {
586
+ l.curStart = len(l.orig)
587
+ }
588
+ }
589
+ }
590
+
591
+ func (l *labelIter) set(s string) {
592
+ if l.slice == nil {
593
+ l.slice = strings.Split(l.orig, ".")
594
+ }
595
+ l.slice[l.i] = s
596
+ }
597
+
598
+ // acePrefix is the ASCII Compatible Encoding prefix.
599
+ const acePrefix = "xn--"
600
+
601
+ func (p *Profile) simplify(cat category) category {
602
+ switch cat {
603
+ case disallowedSTD3Mapped:
604
+ if p.useSTD3Rules {
605
+ cat = disallowed
606
+ } else {
607
+ cat = mapped
608
+ }
609
+ case disallowedSTD3Valid:
610
+ if p.useSTD3Rules {
611
+ cat = disallowed
612
+ } else {
613
+ cat = valid
614
+ }
615
+ case deviation:
616
+ if !p.transitional {
617
+ cat = valid
618
+ }
619
+ case validNV8, validXV8:
620
+ // TODO: handle V2008
621
+ cat = valid
622
+ }
623
+ return cat
624
+ }
625
+
626
+ func validateFromPunycode(p *Profile, s string) error {
627
+ if !norm.NFC.IsNormalString(s) {
628
+ return &labelError{s, "V1"}
629
+ }
630
+ // TODO: detect whether string may have to be normalized in the following
631
+ // loop.
632
+ for i := 0; i < len(s); {
633
+ v, sz := trie.lookupString(s[i:])
634
+ if sz == 0 {
635
+ return runeError(utf8.RuneError)
636
+ }
637
+ if c := p.simplify(info(v).category()); c != valid && c != deviation {
638
+ return &labelError{s, "V6"}
639
+ }
640
+ i += sz
641
+ }
642
+ return nil
643
+ }
644
+
645
+ const (
646
+ zwnj = "\u200c"
647
+ zwj = "\u200d"
648
+ )
649
+
650
+ type joinState int8
651
+
652
+ const (
653
+ stateStart joinState = iota
654
+ stateVirama
655
+ stateBefore
656
+ stateBeforeVirama
657
+ stateAfter
658
+ stateFAIL
659
+ )
660
+
661
+ var joinStates = [][numJoinTypes]joinState{
662
+ stateStart: {
663
+ joiningL: stateBefore,
664
+ joiningD: stateBefore,
665
+ joinZWNJ: stateFAIL,
666
+ joinZWJ: stateFAIL,
667
+ joinVirama: stateVirama,
668
+ },
669
+ stateVirama: {
670
+ joiningL: stateBefore,
671
+ joiningD: stateBefore,
672
+ },
673
+ stateBefore: {
674
+ joiningL: stateBefore,
675
+ joiningD: stateBefore,
676
+ joiningT: stateBefore,
677
+ joinZWNJ: stateAfter,
678
+ joinZWJ: stateFAIL,
679
+ joinVirama: stateBeforeVirama,
680
+ },
681
+ stateBeforeVirama: {
682
+ joiningL: stateBefore,
683
+ joiningD: stateBefore,
684
+ joiningT: stateBefore,
685
+ },
686
+ stateAfter: {
687
+ joiningL: stateFAIL,
688
+ joiningD: stateBefore,
689
+ joiningT: stateAfter,
690
+ joiningR: stateStart,
691
+ joinZWNJ: stateFAIL,
692
+ joinZWJ: stateFAIL,
693
+ joinVirama: stateAfter, // no-op as we can't accept joiners here
694
+ },
695
+ stateFAIL: {
696
+ 0: stateFAIL,
697
+ joiningL: stateFAIL,
698
+ joiningD: stateFAIL,
699
+ joiningT: stateFAIL,
700
+ joiningR: stateFAIL,
701
+ joinZWNJ: stateFAIL,
702
+ joinZWJ: stateFAIL,
703
+ joinVirama: stateFAIL,
704
+ },
705
+ }
706
+
707
+ // validateLabel validates the criteria from Section 4.1. Item 1, 4, and 6 are
708
+ // already implicitly satisfied by the overall implementation.
709
+ func (p *Profile) validateLabel(s string) (err error) {
710
+ if s == "" {
711
+ if p.verifyDNSLength {
712
+ return &labelError{s, "A4"}
713
+ }
714
+ return nil
715
+ }
716
+ if p.checkHyphens {
717
+ if len(s) > 4 && s[2] == '-' && s[3] == '-' {
718
+ return &labelError{s, "V2"}
719
+ }
720
+ if s[0] == '-' || s[len(s)-1] == '-' {
721
+ return &labelError{s, "V3"}
722
+ }
723
+ }
724
+ if !p.checkJoiners {
725
+ return nil
726
+ }
727
+ trie := p.trie // p.checkJoiners is only set if trie is set.
728
+ // TODO: merge the use of this in the trie.
729
+ v, sz := trie.lookupString(s)
730
+ x := info(v)
731
+ if x.isModifier() {
732
+ return &labelError{s, "V5"}
733
+ }
734
+ // Quickly return in the absence of zero-width (non) joiners.
735
+ if strings.Index(s, zwj) == -1 && strings.Index(s, zwnj) == -1 {
736
+ return nil
737
+ }
738
+ st := stateStart
739
+ for i := 0; ; {
740
+ jt := x.joinType()
741
+ if s[i:i+sz] == zwj {
742
+ jt = joinZWJ
743
+ } else if s[i:i+sz] == zwnj {
744
+ jt = joinZWNJ
745
+ }
746
+ st = joinStates[st][jt]
747
+ if x.isViramaModifier() {
748
+ st = joinStates[st][joinVirama]
749
+ }
750
+ if i += sz; i == len(s) {
751
+ break
752
+ }
753
+ v, sz = trie.lookupString(s[i:])
754
+ x = info(v)
755
+ }
756
+ if st == stateFAIL || st == stateAfter {
757
+ return &labelError{s, "C"}
758
+ }
759
+ return nil
760
+ }
761
+
762
+ func ascii(s string) bool {
763
+ for i := 0; i < len(s); i++ {
764
+ if s[i] >= utf8.RuneSelf {
765
+ return false
766
+ }
767
+ }
768
+ return true
769
+ }