authing_ruby 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (462) hide show
  1. checksums.yaml +4 -4
  2. data/authing_ruby.gemspec +4 -2
  3. data/lib/authing_ruby/common/PublicKeyManager.rb +12 -1
  4. data/lib/authing_ruby/version.rb +1 -1
  5. metadata +10 -467
  6. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/CONTRIBUTION.md +0 -23
  7. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/LICENSE +0 -21
  8. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/README.md +0 -303
  9. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build-doc.js +0 -520
  10. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js +0 -2
  11. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js.LICENSE.txt +0 -91
  12. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.d.ts +0 -7
  13. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.js +0 -20
  14. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.d.ts +0 -1118
  15. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.js +0 -2859
  16. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  17. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.js +0 -56
  18. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  19. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.js +0 -31
  20. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  21. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.js +0 -250
  22. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  23. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.js +0 -665
  24. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  25. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.js +0 -622
  26. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  27. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.js +0 -180
  28. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.d.ts +0 -341
  29. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.js +0 -69
  30. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.d.ts +0 -14
  31. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.js +0 -127
  32. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.d.ts +0 -19
  33. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.js +0 -151
  34. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.d.ts +0 -18
  35. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.js +0 -81
  36. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.d.ts +0 -121
  37. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.js +0 -2002
  38. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.d.ts +0 -236
  39. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.js +0 -863
  40. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.d.ts +0 -65
  41. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.js +0 -195
  42. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.d.ts +0 -216
  43. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.js +0 -533
  44. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.d.ts +0 -188
  45. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.js +0 -404
  46. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.d.ts +0 -58
  47. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.js +0 -126
  48. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.d.ts +0 -79
  49. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.js +0 -203
  50. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.d.ts +0 -39
  51. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.js +0 -159
  52. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.d.ts +0 -521
  53. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.js +0 -840
  54. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.d.ts +0 -304
  55. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.js +0 -512
  56. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.d.ts +0 -296
  57. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.js +0 -711
  58. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.d.ts +0 -56
  59. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.js +0 -198
  60. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.d.ts +0 -146
  61. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.js +0 -264
  62. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.d.ts +0 -44
  63. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.js +0 -106
  64. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.d.ts +0 -142
  65. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.js +0 -241
  66. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.d.ts +0 -784
  67. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.js +0 -1251
  68. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.d.ts +0 -114
  69. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.js +0 -259
  70. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.d.ts +0 -992
  71. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.js +0 -96
  72. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.d.ts +0 -30
  73. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.js +0 -126
  74. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.d.ts +0 -31
  75. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.js +0 -67
  76. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.d.ts +0 -53
  77. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.js +0 -343
  78. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.d.ts +0 -1
  79. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.js +0 -5
  80. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.d.ts +0 -6241
  81. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.js +0 -251
  82. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.d.ts +0 -7
  83. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.js +0 -3
  84. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.d.ts +0 -7
  85. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.js +0 -8
  86. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.d.ts +0 -1118
  87. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.js +0 -2853
  88. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  89. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.js +0 -53
  90. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  91. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.js +0 -28
  92. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  93. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.js +0 -247
  94. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  95. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.js +0 -662
  96. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  97. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.js +0 -619
  98. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  99. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.js +0 -177
  100. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.d.ts +0 -341
  101. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.js +0 -66
  102. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.d.ts +0 -14
  103. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.js +0 -121
  104. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.d.ts +0 -19
  105. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.js +0 -145
  106. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.d.ts +0 -18
  107. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.js +0 -78
  108. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.d.ts +0 -121
  109. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.js +0 -1999
  110. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.d.ts +0 -236
  111. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.js +0 -860
  112. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.d.ts +0 -65
  113. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.js +0 -192
  114. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.d.ts +0 -216
  115. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.js +0 -530
  116. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.d.ts +0 -188
  117. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.js +0 -401
  118. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.d.ts +0 -58
  119. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.js +0 -123
  120. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.d.ts +0 -79
  121. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.js +0 -197
  122. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.d.ts +0 -39
  123. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.js +0 -153
  124. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.d.ts +0 -521
  125. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.js +0 -818
  126. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.d.ts +0 -304
  127. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.js +0 -509
  128. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.d.ts +0 -296
  129. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.js +0 -708
  130. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.d.ts +0 -56
  131. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.js +0 -195
  132. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.d.ts +0 -146
  133. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.js +0 -261
  134. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.d.ts +0 -44
  135. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.js +0 -103
  136. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.d.ts +0 -142
  137. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.js +0 -238
  138. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.d.ts +0 -784
  139. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.js +0 -1248
  140. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.d.ts +0 -114
  141. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.js +0 -256
  142. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.d.ts +0 -992
  143. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.js +0 -93
  144. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.d.ts +0 -30
  145. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.js +0 -123
  146. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.d.ts +0 -31
  147. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.js +0 -62
  148. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.d.ts +0 -53
  149. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.js +0 -336
  150. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.d.ts +0 -1
  151. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.js +0 -2
  152. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.d.ts +0 -6241
  153. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.js +0 -248
  154. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.d.ts +0 -7
  155. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.js +0 -1
  156. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.d.ts +0 -7
  157. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.js +0 -30
  158. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.d.ts +0 -1118
  159. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.js +0 -2869
  160. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  161. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.js +0 -66
  162. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  163. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.js +0 -41
  164. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  165. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.js +0 -260
  166. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  167. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.js +0 -675
  168. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  169. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.js +0 -632
  170. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  171. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.js +0 -190
  172. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.d.ts +0 -341
  173. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.js +0 -79
  174. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.d.ts +0 -14
  175. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.js +0 -137
  176. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.d.ts +0 -19
  177. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.js +0 -161
  178. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.d.ts +0 -18
  179. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.js +0 -91
  180. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.d.ts +0 -121
  181. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.js +0 -2012
  182. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.d.ts +0 -236
  183. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.js +0 -873
  184. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.d.ts +0 -65
  185. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.js +0 -205
  186. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.d.ts +0 -216
  187. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.js +0 -543
  188. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.d.ts +0 -188
  189. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.js +0 -414
  190. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.d.ts +0 -58
  191. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.js +0 -136
  192. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.d.ts +0 -79
  193. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.js +0 -213
  194. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.d.ts +0 -39
  195. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.js +0 -169
  196. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.d.ts +0 -521
  197. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.js +0 -850
  198. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.d.ts +0 -304
  199. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.js +0 -522
  200. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.d.ts +0 -296
  201. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.js +0 -721
  202. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.d.ts +0 -56
  203. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.js +0 -208
  204. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.d.ts +0 -146
  205. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.js +0 -274
  206. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.d.ts +0 -44
  207. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.js +0 -116
  208. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.d.ts +0 -142
  209. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.js +0 -251
  210. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.d.ts +0 -784
  211. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.js +0 -1261
  212. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.d.ts +0 -114
  213. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.js +0 -269
  214. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.d.ts +0 -992
  215. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.js +0 -106
  216. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.d.ts +0 -30
  217. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.js +0 -136
  218. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.d.ts +0 -31
  219. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.js +0 -77
  220. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.d.ts +0 -53
  221. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.js +0 -353
  222. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.d.ts +0 -1
  223. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.js +0 -15
  224. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.d.ts +0 -6241
  225. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.js +0 -261
  226. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.d.ts +0 -7
  227. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.js +0 -13
  228. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/CHANGELOG.md +0 -413
  229. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/LICENSE +0 -19
  230. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/README.md +0 -709
  231. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  232. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.js +0 -1715
  233. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.map +0 -1
  234. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.js +0 -3
  235. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.map +0 -1
  236. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.d.ts +0 -157
  237. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.js +0 -1
  238. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/README.md +0 -37
  239. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/http.js +0 -279
  240. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/xhr.js +0 -180
  241. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/axios.js +0 -53
  242. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/Cancel.js +0 -19
  243. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  244. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/isCancel.js +0 -5
  245. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/Axios.js +0 -94
  246. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  247. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/README.md +0 -7
  248. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/buildFullPath.js +0 -20
  249. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/createError.js +0 -18
  250. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  251. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/enhanceError.js +0 -42
  252. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/mergeConfig.js +0 -73
  253. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/settle.js +0 -25
  254. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/transformData.js +0 -20
  255. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/defaults.js +0 -97
  256. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/README.md +0 -7
  257. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/bind.js +0 -11
  258. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/buildURL.js +0 -71
  259. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  260. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/cookies.js +0 -53
  261. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  262. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  263. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  264. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  265. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  266. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/spread.js +0 -27
  267. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/utils.js +0 -344
  268. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/package.json +0 -84
  269. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/LICENSE +0 -18
  270. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/README.md +0 -155
  271. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/http.js +0 -1
  272. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/https.js +0 -1
  273. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/index.js +0 -322
  274. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/package.json +0 -60
  275. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/package.json +0 -129
  276. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tests/index.html +0 -21
  277. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.brower.json +0 -45
  278. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.node.json +0 -0
  279. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/webpack.config.js +0 -41
  280. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/CHANGELOG.md +0 -685
  281. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/LICENSE +0 -19
  282. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/README.md +0 -800
  283. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  284. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.js +0 -1756
  285. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.map +0 -1
  286. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.js +0 -3
  287. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.map +0 -1
  288. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.d.ts +0 -161
  289. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.js +0 -1
  290. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/README.md +0 -37
  291. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/http.js +0 -303
  292. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/xhr.js +0 -179
  293. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/axios.js +0 -56
  294. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/Cancel.js +0 -19
  295. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  296. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/isCancel.js +0 -5
  297. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/Axios.js +0 -95
  298. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  299. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/README.md +0 -7
  300. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/buildFullPath.js +0 -20
  301. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/createError.js +0 -18
  302. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  303. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/enhanceError.js +0 -42
  304. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/mergeConfig.js +0 -87
  305. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/settle.js +0 -25
  306. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/transformData.js +0 -20
  307. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/defaults.js +0 -98
  308. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/README.md +0 -7
  309. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/bind.js +0 -11
  310. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/buildURL.js +0 -70
  311. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  312. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/cookies.js +0 -53
  313. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  314. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  315. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAxiosError.js +0 -11
  316. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  317. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  318. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  319. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/spread.js +0 -27
  320. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/utils.js +0 -351
  321. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/package.json +0 -86
  322. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/CONTRIBUTING.md +0 -28
  323. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/LICENSE +0 -24
  324. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/README.md +0 -249
  325. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/aes.js +0 -234
  326. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/bower.json +0 -35
  327. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/cipher-core.js +0 -890
  328. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/core.js +0 -797
  329. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/crypto-js.js +0 -6059
  330. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/docs/QuickStartGuide.wiki +0 -470
  331. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-base64.js +0 -136
  332. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-hex.js +0 -18
  333. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-latin1.js +0 -18
  334. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf16.js +0 -149
  335. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf8.js +0 -18
  336. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/evpkdf.js +0 -134
  337. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-hex.js +0 -66
  338. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-openssl.js +0 -18
  339. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-md5.js +0 -18
  340. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-ripemd160.js +0 -18
  341. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha1.js +0 -18
  342. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha224.js +0 -18
  343. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha256.js +0 -18
  344. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha3.js +0 -18
  345. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha384.js +0 -18
  346. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha512.js +0 -18
  347. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac.js +0 -143
  348. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/index.js +0 -18
  349. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/lib-typedarrays.js +0 -76
  350. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/md5.js +0 -268
  351. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-cfb.js +0 -80
  352. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr-gladman.js +0 -116
  353. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr.js +0 -58
  354. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ecb.js +0 -40
  355. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ofb.js +0 -54
  356. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/package.json +0 -38
  357. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-ansix923.js +0 -49
  358. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso10126.js +0 -44
  359. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso97971.js +0 -40
  360. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-nopadding.js +0 -30
  361. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-pkcs7.js +0 -18
  362. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-zeropadding.js +0 -47
  363. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pbkdf2.js +0 -145
  364. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit-legacy.js +0 -190
  365. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit.js +0 -192
  366. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rc4.js +0 -139
  367. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/ripemd160.js +0 -267
  368. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha1.js +0 -150
  369. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha224.js +0 -80
  370. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha256.js +0 -199
  371. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha3.js +0 -326
  372. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha384.js +0 -83
  373. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha512.js +0 -326
  374. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/tripledes.js +0 -779
  375. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/x64-core.js +0 -304
  376. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/CHANGELOG.md +0 -395
  377. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/LICENSE +0 -19
  378. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/Makefile +0 -58
  379. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/README.md +0 -368
  380. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/karma.conf.js +0 -70
  381. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/node.js +0 -1
  382. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/package.json +0 -43
  383. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/browser.js +0 -195
  384. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/debug.js +0 -225
  385. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/index.js +0 -10
  386. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/node.js +0 -186
  387. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/CHANGELOG.md +0 -210
  388. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/LICENSE +0 -23
  389. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/README.md +0 -275
  390. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/config.js +0 -11
  391. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/cli-options.js +0 -13
  392. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/env-options.js +0 -18
  393. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/main.js +0 -118
  394. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/package.json +0 -57
  395. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/index.d.ts +0 -59
  396. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/test.ts +0 -19
  397. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tsconfig.json +0 -15
  398. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tslint.json +0 -6
  399. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/LICENSE +0 -18
  400. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/README.md +0 -148
  401. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/debug.js +0 -14
  402. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/http.js +0 -1
  403. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/https.js +0 -1
  404. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/index.js +0 -531
  405. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/package.json +0 -59
  406. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/LICENSE.txt +0 -107
  407. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/README.md +0 -192
  408. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.js +0 -249
  409. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js +0 -2
  410. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js.LICENSE.txt +0 -8
  411. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.d.ts +0 -116
  412. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.js +0 -186
  413. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.d.ts +0 -142
  414. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -315
  415. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.d.ts +0 -3
  416. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.js +0 -3
  417. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.d.ts +0 -51
  418. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -565
  419. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.d.ts +0 -5
  420. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
  421. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.d.ts +0 -3
  422. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -64
  423. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.d.ts +0 -9
  424. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
  425. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.d.ts +0 -9778
  426. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.js +0 -1962
  427. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.d.ts +0 -3
  428. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -76
  429. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.d.ts +0 -98
  430. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1754
  431. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.d.ts +0 -10
  432. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -46
  433. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.d.ts +0 -3
  434. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -76
  435. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.d.ts +0 -23
  436. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -373
  437. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.d.ts +0 -7
  438. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -58
  439. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1593
  440. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js +0 -69
  441. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/version.json +0 -1
  442. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/package.json +0 -49
  443. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/Gruntfile.js +0 -78
  444. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/LICENSE +0 -21
  445. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/README.md +0 -55
  446. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/bower.json +0 -20
  447. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.js +0 -125
  448. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.min.js +0 -1
  449. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/jwt-decode.html +0 -2
  450. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/atob.js +0 -38
  451. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/base64_url_decode.js +0 -33
  452. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/index.js +0 -26
  453. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/package.json +0 -37
  454. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/standalone.js +0 -16
  455. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test/tests.js +0 -53
  456. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test_harness.html +0 -29
  457. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem.yml +0 -46
  458. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem_dev.yml +0 -1
  459. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/index.js +0 -152
  460. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/license.md +0 -21
  461. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/package.json +0 -37
  462. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/readme.md +0 -51
@@ -1,1248 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (_) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
- import { objectToQueryString } from '../utils';
38
- import { deleteUser, deleteUsers, user, users, getUserGroups, updateUser, searchUser, createUser, refreshToken, getUserRoles, assignRole, revokeRole, isUserExists, addUserToGroup, removeUserFromGroup, archivedUsers, findUser, getUserDepartments, listUserAuthorizedResources, udv, udfValueBatch, setUdvBatch, removeUdv, setUdfValueBatch, usersWithCustomData, userWithCustomData, userBatchWithCustomData, userBatch, findUserWithCustomData, searchUserWithCustomData, sendFirstLoginVerifyEmail } from '../graphqlapi';
39
- import { UdfTargetType } from '../../types/graphql.v2';
40
- import { convertUdvToKeyValuePair, formatAuthorizedResources } from '../utils';
41
- /**
42
- * @name UsersManagementClient
43
- * @description Authing 用户管理模块。
44
- *
45
- * 此模块可以进行用户目录增删改查、搜索用户、刷新用户 token、管理用户分组、管理用户角色、管理用户策略授权等操作。
46
- *
47
- * 该模块发出的所有操作都将以管理员身份进行,所以不需要进行建议短信验证码等操作,如果你希望以普通用户的身份进行操作,请使用 AuthenticationClient 。
48
- *
49
- * @example
50
- *
51
- * 请使用以下方式使用该模块:
52
- * \`\`\`javascript
53
- * import { ManagementClient } from "authing-js-sdk"
54
- * const managementClient = new ManagementClient({
55
- * userPoolId: "YOUR_USERPOOL_ID",
56
- * secret: "YOUR_USERPOOL_SECRET",
57
- * })
58
- *
59
- * managementClient.users.list // 获取用户列表
60
- * managementClient.users.create // 创建用户
61
- * managementClient.users.listRoles // 获取用户角色列表
62
- * managementClient.users.search // 搜索用户
63
- * \`\`\`
64
- *
65
- * @class UsersManagementClient 管理用户
66
- */
67
- var UsersManagementClient = /** @class */ (function () {
68
- function UsersManagementClient(options, graphqlClient, httpClient, tokenProvider, publickKeyManager) {
69
- this.options = options;
70
- this.graphqlClient = graphqlClient;
71
- this.tokenProvider = tokenProvider;
72
- this.httpClient = httpClient;
73
- this.publickKeyManager = publickKeyManager;
74
- }
75
- /**
76
- * @name create
77
- * @name_zh 创建用户
78
- * @description 此接口将以管理员身份创建用户,不需要进行手机号验证码检验等安全检测。
79
- *
80
- * @param {CreateUserInput} userInfo 用户资料
81
- * @param {string} userInfo.email 邮箱,用户池内唯一
82
- * @param {boolean} userInfo.emailVerified 邮箱是否已验证
83
- * @param {string} userInfo.phone 手机号
84
- * @param {boolean} userInfo.phoneVerified 手机号是否验证
85
- * @param {string} userInfo.unionid 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 ID
86
- * @param {string} userInfo.openid 微信登录返回的 openid
87
- * @param {string} userInfo.password 密码
88
- * @param {string} userInfo.registerSource 注册来源,可以多选
89
- * @param {string} userInfo.username 用户名
90
- * @param {string} userInfo.nickname 昵称
91
- * @param {string} userInfo.photo 头像
92
- * @param {string} userInfo.company 公司
93
- * @param {string} userInfo.browser 浏览器
94
- * @param {number} userInfo.loginsCount 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。
95
- * @param {string} userInfo.lastLogin 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
96
- * @param {string} userInfo.lastIP 用户最近一次登录(或其他活动)的 IP
97
- * @param {string} userInfo.signedUp 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
98
- * @param {boolean} userInfo.blocked 账号是否被禁用
99
- * @param {boolean} userInfo.isDeleted 标记账号是否被删除
100
- * @param {string} userInfo.device 设备
101
- * @param {string} userInfo.lastIP 最近登录的 IP
102
- * @param {string} userInfo.name Name
103
- * @param {string} userInfo.givenName Given Name
104
- * @param {string} userInfo.familyName Family Name
105
- * @param {string} userInfo.middleName Middle Name
106
- * @param {string} userInfo.profile Profile Url
107
- * @param {string} userInfo.preferredUsername Preferred Name
108
- * @param {string} userInfo.website 个人网站
109
- * @param {string} userInfo.gender 性别, F 表示男性、W 表示女性、未知表示 U
110
- * @param {string} userInfo.birthdate 生日
111
- * @param {string} userInfo.zoneinfo 时区
112
- * @param {string} userInfo.locale 语言
113
- * @param {string} userInfo.address 地址
114
- * @param {string} userInfo.streetAddress 街道地址
115
- * @param {string} userInfo.locality
116
- * @param {string} userInfo.region 地域
117
- * @param {string} userInfo.postalCode 邮编
118
- * @param {string} userInfo.city 城市
119
- * @param {string} userInfo.province 省份
120
- * @param {string} userInfo.country 国家
121
- *
122
- * @example
123
- *
124
- * const user = await managementClient.users.create({
125
- * username: 'bob',
126
- * password: 'passw0rd'
127
- * })
128
- *
129
- * @example
130
- *
131
- * const user = await managementClient.users.create({
132
- * nickname: 'Nick',
133
- * phone: '176xxxx7041', // 由于是管理员操作,所以检验手机号验证码, 如果你需要检验,请使用 AuthenticationClient
134
- * loginsCount: 2 // 原有用户系统记录的用户登录次数
135
- * signedUp: '2020-10-15T17:55:37+08:00' // 原有用户系统记录的用户注册时间
136
- * })
137
- *
138
- * @returns {Promise<User>}
139
- * @memberof UsersManagementClient
140
- */
141
- UsersManagementClient.prototype.create = function (userInfo, options) {
142
- return __awaiter(this, void 0, void 0, function () {
143
- var _a, _b, keepPassword, _c, resetPasswordOnFirstLogin, _d, _e, _f, _g, user;
144
- return __generator(this, function (_h) {
145
- switch (_h.label) {
146
- case 0:
147
- _a = options || {}, _b = _a.keepPassword, keepPassword = _b === void 0 ? false : _b, _c = _a.resetPasswordOnFirstLogin, resetPasswordOnFirstLogin = _c === void 0 ? false : _c;
148
- if (!(userInfo === null || userInfo === void 0 ? void 0 : userInfo.password)) return [3 /*break*/, 3];
149
- _d = userInfo;
150
- _f = (_e = this.options).encryptFunction;
151
- _g = [userInfo.password];
152
- return [4 /*yield*/, this.publickKeyManager.getPublicKey()];
153
- case 1: return [4 /*yield*/, _f.apply(_e, _g.concat([_h.sent()]))];
154
- case 2:
155
- _d.password = _h.sent();
156
- _h.label = 3;
157
- case 3: return [4 /*yield*/, createUser(this.graphqlClient, this.tokenProvider, {
158
- userInfo: userInfo,
159
- keepPassword: keepPassword,
160
- resetPasswordOnFirstLogin: resetPasswordOnFirstLogin
161
- })];
162
- case 4:
163
- user = (_h.sent()).createUser;
164
- return [2 /*return*/, user];
165
- }
166
- });
167
- });
168
- };
169
- /**
170
- * @name update
171
- * @name_zh 修改用户资料
172
- * @description 修改用户资料
173
- *
174
- * @param {string} id 用户 ID
175
- * @param {UpdateUserInput} updates 修改的用户资料
176
- * @param {string} updates.email 邮箱
177
- * @param {boolean} updates.emailVerified 邮箱是否已验证
178
- * @param {string} updates.phone 手机号
179
- * @param {boolean} updates.phoneVerified 手机号是否验证
180
- * @param {string} updates.unionid 以社会化登录的用户该字段为用户在第三方社会化登录服务商中的唯一 ID
181
- * @param {string} updates.openid 微信登录返回的 openid
182
- * @param {string} updates.password 密码
183
- * @param {string} updates.registerSource 注册来源,可以多选
184
- * @param {string} updates.tokenExpiredAt token 过期时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")。
185
- * 将该字段设置为小于当前时间可以让用户的 token 失效。
186
- * @param {string} updates.username 用户名
187
- * @param {string} updates.nickname 昵称
188
- * @param {string} updates.photo 头像
189
- * @param {string} updates.company 公司
190
- * @param {string} updates.browser 浏览器
191
- * @param {number} updates.loginsCount 登录次数,当你从原有用户系统迁移到 Authing 时可以设置该字段。
192
- * @param {string} updates.lastLogin 上次登录时间, 符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
193
- * @param {string} updates.lastIP 用户最近一次登录(或其他活动)的 IP
194
- * @param {string} updates.signedUp 注册时间,符合 ISO8601 格式的时间字符串。(如 "2017-06-07T14:34:08.700Z", "2017-06-07T14:34:08.700 or "2017-06-07T14:34:08+04:00")
195
- * @param {boolean} updates.blocked 账号是否被禁用
196
- * @param {string} updates.device 设备
197
- * @param {string} updates.lastIP 最近登录的 IP
198
- * @param {string} updates.name Name
199
- * @param {string} updates.givenName Given Name
200
- * @param {string} updates.familyName Family Name
201
- * @param {string} updates.middleName Middle Name
202
- * @param {string} updates.profile Profile Url
203
- * @param {string} updates.preferredUsername Preferred Name
204
- * @param {string} updates.website 个人网站
205
- * @param {string} updates.gender 性别, F 表示男性、W 表示女性、未知表示 U
206
- * @param {string} updates.birthdate 生日
207
- * @param {string} updates.zoneinfo 时区
208
- * @param {string} updates.locale 语言
209
- * @param {string} updates.address 地址
210
- * @param {string} updates.streetAddress 街道地址
211
- * @param {string} updates.locality
212
- * @param {string} updates.region 地域
213
- * @param {string} updates.postalCode 邮编
214
- * @param {string} updates.city 城市
215
- * @param {string} updates.province 省份
216
- * @param {string} updates.country 国家
217
- *
218
- * @example
219
- *
220
- * const user = await managementClient.users.update("USERID", {
221
- * nickname: "Nick"
222
- * })
223
- *
224
- * @example
225
- *
226
- * const user = await managementClient.users.update("USERID" ,{
227
- * nickname: 'Nick',
228
- * phone: '176xxxx7041', // 由于是管理员操作,所以检验手机号验证码, 如果你需要检验,请使用 AuthenticationClient
229
- * tokenExpiredAt: '2020-10-15T17:55:37+08:00'
230
- * })
231
- *
232
- * @returns {Promise<User>}
233
- * @memberof UsersManagementClient *
234
- */
235
- UsersManagementClient.prototype.update = function (id, updates) {
236
- return __awaiter(this, void 0, void 0, function () {
237
- var _a, _b, _c, _d, user;
238
- return __generator(this, function (_e) {
239
- switch (_e.label) {
240
- case 0:
241
- if (!(updates && updates.password)) return [3 /*break*/, 3];
242
- _a = updates;
243
- _c = (_b = this.options).encryptFunction;
244
- _d = [updates.password];
245
- return [4 /*yield*/, this.publickKeyManager.getPublicKey()];
246
- case 1: return [4 /*yield*/, _c.apply(_b, _d.concat([_e.sent()]))];
247
- case 2:
248
- _a.password = _e.sent();
249
- _e.label = 3;
250
- case 3: return [4 /*yield*/, updateUser(this.graphqlClient, this.tokenProvider, {
251
- id: id,
252
- input: updates
253
- })];
254
- case 4:
255
- user = (_e.sent()).updateUser;
256
- return [2 /*return*/, user];
257
- }
258
- });
259
- });
260
- };
261
- /**
262
- * @name detail
263
- * @name_zh 获取用户详情
264
- * @description 通过用户 ID 获取用户详情,如果你想通过 token 获取用户详情,请使用 AuthenticationClient SDK 。
265
- *
266
- * @param {string} userId 用户 ID
267
- *
268
- * @example
269
- *
270
- * const user = await managementClient.users.detail('USERID');
271
- *
272
- * @returns {Promise<User>}
273
- * @memberof UsersManagementClient
274
- */
275
- UsersManagementClient.prototype.detail = function (userId, options) {
276
- return __awaiter(this, void 0, void 0, function () {
277
- var _a, withCustomData, data, data;
278
- return __generator(this, function (_b) {
279
- switch (_b.label) {
280
- case 0:
281
- _a = (options || {}).withCustomData, withCustomData = _a === void 0 ? false : _a;
282
- if (!withCustomData) return [3 /*break*/, 2];
283
- return [4 /*yield*/, userWithCustomData(this.graphqlClient, this.tokenProvider, {
284
- id: userId
285
- })];
286
- case 1:
287
- data = (_b.sent()).user;
288
- // @ts-ignore
289
- data.customData = convertUdvToKeyValuePair(data.customData);
290
- return [2 /*return*/, data];
291
- case 2: return [4 /*yield*/, user(this.graphqlClient, this.tokenProvider, {
292
- id: userId
293
- })];
294
- case 3:
295
- data = (_b.sent()).user;
296
- return [2 /*return*/, data];
297
- }
298
- });
299
- });
300
- };
301
- /**
302
- * @name delete
303
- * @name_zh 删除用户
304
- * @description 删除用户
305
- *
306
- * @param {string} userId 用户 ID
307
- *
308
- * @example
309
- *
310
- * const user = await managementClient.users.delete('USERID');
311
- *
312
- * @returns {Promise<CommonMessage>}
313
- * @memberof UsersManagementClient
314
- */
315
- UsersManagementClient.prototype.delete = function (userId) {
316
- return __awaiter(this, void 0, void 0, function () {
317
- var data;
318
- return __generator(this, function (_a) {
319
- switch (_a.label) {
320
- case 0: return [4 /*yield*/, deleteUser(this.graphqlClient, this.tokenProvider, {
321
- id: userId
322
- })];
323
- case 1:
324
- data = (_a.sent()).deleteUser;
325
- return [2 /*return*/, data];
326
- }
327
- });
328
- });
329
- };
330
- /**
331
- * @name deleteMany
332
- * @name_zh 批量删除用户
333
- * @description 批量删除用户
334
- *
335
- * @param {string[]} userIds 用户 ID 列表
336
- *
337
- * @example
338
- *
339
- * const user = await managementClient.users.deleteMany(['USERID']);
340
- *
341
- * @returns {Promise<CommonMessage>}
342
- * @memberof UsersManagementClient
343
- */
344
- UsersManagementClient.prototype.deleteMany = function (userIds) {
345
- return __awaiter(this, void 0, void 0, function () {
346
- var data;
347
- return __generator(this, function (_a) {
348
- switch (_a.label) {
349
- case 0: return [4 /*yield*/, deleteUsers(this.graphqlClient, this.tokenProvider, {
350
- ids: userIds
351
- })];
352
- case 1:
353
- data = (_a.sent()).deleteUsers;
354
- return [2 /*return*/, data];
355
- }
356
- });
357
- });
358
- };
359
- /**
360
- * @name batch
361
- * @name_zh 批量获取用户
362
- * @description 通过 ID、username、email、phone、email、externalId 批量获取用户详情
363
- *
364
- * @param {string[]} identifiers 需要查询的数据列表,如 用户 ID 列表
365
- * @param {string} [type] 列表类型,可选值为 'id' ,'username' ,'phone' ,'email', 'externalId',默认为 'id'
366
- *
367
- * @example
368
- *
369
- * const users = await managementClient.users.batch(['USERID'], options);
370
- *
371
- * @returns {Promise<CommonMessage>}
372
- * @memberof UsersManagementClient
373
- */
374
- UsersManagementClient.prototype.batch = function (ids, options) {
375
- return __awaiter(this, void 0, void 0, function () {
376
- var _a, _b, queryField, _c, withCustomData, list, list;
377
- return __generator(this, function (_d) {
378
- switch (_d.label) {
379
- case 0:
380
- _a = options || {}, _b = _a.queryField, queryField = _b === void 0 ? 'id' : _b, _c = _a.withCustomData, withCustomData = _c === void 0 ? false : _c;
381
- if (!withCustomData) return [3 /*break*/, 2];
382
- return [4 /*yield*/, userBatchWithCustomData(this.graphqlClient, this.tokenProvider, {
383
- ids: ids,
384
- type: queryField
385
- })];
386
- case 1:
387
- list = (_d.sent()).userBatch;
388
- list = list.map(function (user) {
389
- // @ts-ignore
390
- user.customData = convertUdvToKeyValuePair(user.customData);
391
- return user;
392
- });
393
- return [2 /*return*/, list];
394
- case 2: return [4 /*yield*/, userBatch(this.graphqlClient, this.tokenProvider, {
395
- ids: ids,
396
- type: queryField
397
- })];
398
- case 3:
399
- list = (_d.sent()).userBatch;
400
- return [2 /*return*/, list];
401
- }
402
- });
403
- });
404
- };
405
- /**
406
- * @name list
407
- * @name_zh 获取用户列表
408
- * @description 获取用户池用户列表
409
- *
410
- * @param {number} [page=1] 页码数, 从 1 开始
411
- * @param {number} [limit=10] 每页包含的用户数
412
- *
413
- * @example
414
- *
415
- * const user = await managementClient.users.list();
416
- *
417
- * @returns
418
- * @memberof UsersManagementClient
419
- */
420
- UsersManagementClient.prototype.list = function (page, limit, options) {
421
- if (page === void 0) { page = 1; }
422
- if (limit === void 0) { limit = 10; }
423
- return __awaiter(this, void 0, void 0, function () {
424
- var _a, withCustomData, data, totalCount, list, data;
425
- return __generator(this, function (_b) {
426
- switch (_b.label) {
427
- case 0:
428
- _a = (options || {}).withCustomData, withCustomData = _a === void 0 ? false : _a;
429
- if (!withCustomData) return [3 /*break*/, 2];
430
- return [4 /*yield*/, usersWithCustomData(this.graphqlClient, this.tokenProvider, {
431
- page: page,
432
- limit: limit
433
- })];
434
- case 1:
435
- data = (_b.sent()).users;
436
- totalCount = data.totalCount, list = data.list;
437
- list = list.map(function (user) {
438
- // @ts-ignore
439
- user.customData = convertUdvToKeyValuePair(user.customData);
440
- return user;
441
- });
442
- return [2 /*return*/, {
443
- totalCount: totalCount,
444
- list: list
445
- }];
446
- case 2: return [4 /*yield*/, users(this.graphqlClient, this.tokenProvider, {
447
- page: page,
448
- limit: limit
449
- })];
450
- case 3:
451
- data = (_b.sent()).users;
452
- return [2 /*return*/, data];
453
- }
454
- });
455
- });
456
- };
457
- /**
458
- * @name listArchivedUsers
459
- * @name_zh 获取已归档用户列表
460
- * @description 获取已归档用户列表
461
- *
462
- * @param {number} [page=1] 页码数, 从 1 开始
463
- * @param {number} [limit=10] 每页包含的用户数
464
- *
465
- * @example
466
- *
467
- * const user = await managementClient.users.listArchivedUsers();
468
- *
469
- * @returns
470
- * @memberof UsersManagementClient
471
- */
472
- UsersManagementClient.prototype.listArchivedUsers = function (page, limit) {
473
- if (page === void 0) { page = 1; }
474
- if (limit === void 0) { limit = 10; }
475
- return __awaiter(this, void 0, void 0, function () {
476
- var data;
477
- return __generator(this, function (_a) {
478
- switch (_a.label) {
479
- case 0: return [4 /*yield*/, archivedUsers(this.graphqlClient, this.tokenProvider, {
480
- page: page,
481
- limit: limit
482
- })];
483
- case 1:
484
- data = (_a.sent()).archivedUsers;
485
- return [2 /*return*/, data];
486
- }
487
- });
488
- });
489
- };
490
- /**
491
- * @name exists
492
- * @name_zh 检查用户是否存在
493
- * @description 检查用户是否存在,目前可检测的字段有用户名、邮箱、手机号。
494
- *
495
- *
496
- * @param {Object} options
497
- * @param {string} [options.username] 用户名,区分大小写。
498
- * @param {string} [options.email] 邮箱,邮箱不区分大小写。
499
- * @param {string} [options.phone] 手机号
500
- *
501
- * @example
502
- *
503
- * const exists = await managementClient.users.exists({
504
- * username: "bob"
505
- * });
506
- *
507
- * @returns {Promise<boolean>}
508
- * @memberof UsersManagementClient
509
- */
510
- UsersManagementClient.prototype.exists = function (options) {
511
- return __awaiter(this, void 0, void 0, function () {
512
- var username, email, phone, externalId, data;
513
- return __generator(this, function (_a) {
514
- switch (_a.label) {
515
- case 0:
516
- username = options.username, email = options.email, phone = options.phone, externalId = options.externalId;
517
- return [4 /*yield*/, isUserExists(this.graphqlClient, this.tokenProvider, {
518
- username: username,
519
- email: email,
520
- phone: phone,
521
- externalId: externalId
522
- })];
523
- case 1:
524
- data = (_a.sent()).isUserExists;
525
- return [2 /*return*/, data];
526
- }
527
- });
528
- });
529
- };
530
- /**
531
- * @name find
532
- * @name_zh 查找用户
533
- * @description 通过用户名、邮箱、手机号查找用户
534
- *
535
- * @param {Object} options
536
- * @param {string} [options.username] 用户名,区分大小写。
537
- * @param {string} [options.email] 邮箱,邮箱不区分大小写。
538
- * @param {string} [options.phone] 手机号
539
- * @param {string} [options.externalId] externalId
540
- *
541
- * @memberof UsersManagementClient
542
- */
543
- UsersManagementClient.prototype.find = function (options) {
544
- return __awaiter(this, void 0, void 0, function () {
545
- var username, email, phone, externalId, _a, withCustomData, user_1, user_2;
546
- return __generator(this, function (_b) {
547
- switch (_b.label) {
548
- case 0:
549
- username = options.username, email = options.email, phone = options.phone, externalId = options.externalId, _a = options.withCustomData, withCustomData = _a === void 0 ? false : _a;
550
- if (!withCustomData) return [3 /*break*/, 2];
551
- return [4 /*yield*/, findUserWithCustomData(this.graphqlClient, this.tokenProvider, {
552
- username: username,
553
- email: email,
554
- phone: phone,
555
- externalId: externalId
556
- })];
557
- case 1:
558
- user_1 = (_b.sent()).findUser;
559
- // @ts-ignore
560
- user_1.customData = convertUdvToKeyValuePair(user_1.customData);
561
- return [2 /*return*/, user_1];
562
- case 2: return [4 /*yield*/, findUser(this.graphqlClient, this.tokenProvider, {
563
- username: username,
564
- email: email,
565
- phone: phone,
566
- externalId: externalId
567
- })];
568
- case 3:
569
- user_2 = (_b.sent()).findUser;
570
- return [2 /*return*/, user_2];
571
- }
572
- });
573
- });
574
- };
575
- /**
576
- * @name search
577
- * @name_zh 搜索用户
578
- * @description 根据关键字搜索用户
579
- *
580
- * @param query 搜索内容
581
- * @param options 选项
582
- * @param {string[]} [options.fields] 搜索用户字段,如果不指定,默认会从 username、nickname、email、phone、company、name、givenName、familyName、middleName、profile、preferredUsername 这些字段进行模糊搜索。
583
- * 如果你需要精确查找,请使用 find 方法。
584
- * @param {number} [options.page=1]
585
- * @param {number} [options.limit=10]
586
- * @param {Object} [options.departmentOpts] 限制条件,用户所在的部门
587
- * @param {string} [options.departmentOpts.departmentId] 部门 ID
588
- * @param {string} [options.departmentOpts.includeChildrenDepartments] 是否包含此部门的子部门
589
- *
590
- * @example
591
- *
592
- * const { totalCount, list } = await managementClient.users.search("Bob");
593
- *
594
- * @returns {Promise<PaginatedUsers>}
595
- * @memberof UsersManagementClient
596
- */
597
- UsersManagementClient.prototype.search = function (query, options) {
598
- return __awaiter(this, void 0, void 0, function () {
599
- var fields, _a, page, _b, limit, departmentOpts, groupOpts, roleOpts, _c, withCustomData, data, data, totalCount, list;
600
- return __generator(this, function (_d) {
601
- switch (_d.label) {
602
- case 0:
603
- options = options || {};
604
- fields = options.fields, _a = options.page, page = _a === void 0 ? 1 : _a, _b = options.limit, limit = _b === void 0 ? 10 : _b, departmentOpts = options.departmentOpts, groupOpts = options.groupOpts, roleOpts = options.roleOpts, _c = options.withCustomData, withCustomData = _c === void 0 ? false : _c;
605
- if (!!withCustomData) return [3 /*break*/, 2];
606
- return [4 /*yield*/, searchUser(this.graphqlClient, this.tokenProvider, {
607
- query: query,
608
- fields: fields,
609
- page: page,
610
- limit: limit,
611
- departmentOpts: departmentOpts,
612
- groupOpts: groupOpts,
613
- roleOpts: roleOpts
614
- })];
615
- case 1:
616
- data = (_d.sent()).searchUser;
617
- return [2 /*return*/, data];
618
- case 2: return [4 /*yield*/, searchUserWithCustomData(this.graphqlClient, this.tokenProvider, {
619
- query: query,
620
- fields: fields,
621
- page: page,
622
- limit: limit,
623
- departmentOpts: departmentOpts,
624
- groupOpts: groupOpts,
625
- roleOpts: roleOpts
626
- })];
627
- case 3:
628
- data = (_d.sent()).searchUser;
629
- totalCount = data.totalCount, list = data.list;
630
- list = list.map(function (user) {
631
- // @ts-ignore
632
- user.customData = convertUdvToKeyValuePair(user.customData);
633
- return user;
634
- });
635
- return [2 /*return*/, {
636
- totalCount: totalCount,
637
- list: list
638
- }];
639
- }
640
- });
641
- });
642
- };
643
- /**
644
- * @name refreshToken
645
- * @name_zh 刷新用户 token
646
- * @description 刷新用户 token
647
- *
648
- * @param {string} id 用户 ID
649
- *
650
- * @example
651
- *
652
- * const { token } = await managementClient.users.refreshToken("USERID");
653
- *
654
- * // 检测 token 的最新状态,能够获取到该用户对应的 token
655
- *
656
- * const data = await managementClient.checkLoginStatus(token, {
657
- * fetchUserDetail: true
658
- * });
659
- *
660
- * @returns {Promise<RefreshToken>}
661
- * @memberof UsersManagementClient
662
- */
663
- UsersManagementClient.prototype.refreshToken = function (id) {
664
- return __awaiter(this, void 0, void 0, function () {
665
- var data;
666
- return __generator(this, function (_a) {
667
- switch (_a.label) {
668
- case 0: return [4 /*yield*/, refreshToken(this.graphqlClient, this.tokenProvider, {
669
- id: id
670
- })];
671
- case 1:
672
- data = (_a.sent()).refreshToken;
673
- return [2 /*return*/, data];
674
- }
675
- });
676
- });
677
- };
678
- /**
679
- * @name listGroups
680
- * @name_zh 获取用户分组列表
681
- * @description 获取用户的分组列表
682
- *
683
- * @param {string} userId 用户 ID
684
- *
685
- * @example
686
- *
687
- * const { list, totalCount} = await managementClient.users.listGroups("USERID");
688
- *
689
- * @returns {Promise<DeepPartial<PaginatedGroups>>}
690
- * @memberof UsersManagementClient
691
- */
692
- UsersManagementClient.prototype.listGroups = function (userId) {
693
- return __awaiter(this, void 0, void 0, function () {
694
- var user;
695
- return __generator(this, function (_a) {
696
- switch (_a.label) {
697
- case 0: return [4 /*yield*/, getUserGroups(this.graphqlClient, this.tokenProvider, {
698
- id: userId
699
- })];
700
- case 1:
701
- user = (_a.sent()).user;
702
- return [2 /*return*/, user.groups];
703
- }
704
- });
705
- });
706
- };
707
- /**
708
- * @name addGroup
709
- * @name_zh 加入分组
710
- * @description 将用户加入分组
711
- *
712
- * @param {string} userId 用户 ID
713
- * @param {string} group 分组 code
714
- *
715
- * @example
716
- *
717
- * const { code, message } = await managementClient.users.addGroup("USERID", "GROUP_CODE");
718
- *
719
- * @returns {Promise<CommonMessage>}
720
- * @memberof UsersManagementClient
721
- */
722
- UsersManagementClient.prototype.addGroup = function (userId, group) {
723
- return __awaiter(this, void 0, void 0, function () {
724
- var res;
725
- return __generator(this, function (_a) {
726
- switch (_a.label) {
727
- case 0: return [4 /*yield*/, addUserToGroup(this.graphqlClient, this.tokenProvider, {
728
- userIds: [userId],
729
- code: group
730
- })];
731
- case 1:
732
- res = _a.sent();
733
- return [2 /*return*/, res.addUserToGroup];
734
- }
735
- });
736
- });
737
- };
738
- /**
739
- * @name removeGroup
740
- * @name_zh 退出分组
741
- * @description 退出分组
742
- *
743
- * @param {string} userId 用户 ID
744
- * @param {string} group 分组 code
745
- *
746
- * @example
747
- *
748
- * const { code, message } = await managementClient.users.removeGroup("USERID", "GROUP_CODE");
749
- *
750
- * @returns {Promise<CommonMessage>}
751
- * @memberof UsersManagementClient
752
- */
753
- UsersManagementClient.prototype.removeGroup = function (userId, group) {
754
- return __awaiter(this, void 0, void 0, function () {
755
- var res;
756
- return __generator(this, function (_a) {
757
- switch (_a.label) {
758
- case 0: return [4 /*yield*/, removeUserFromGroup(this.graphqlClient, this.tokenProvider, {
759
- code: group,
760
- userIds: [userId]
761
- })];
762
- case 1:
763
- res = _a.sent();
764
- return [2 /*return*/, res.removeUserFromGroup];
765
- }
766
- });
767
- });
768
- };
769
- /**
770
- * @name listRoles
771
- * @name_zh 获取用户角色列表
772
- * @description 获取用户的角色列表
773
- *
774
- * @param {string} userId 用户 ID
775
- * @param {string} namespace 权限组命名空间
776
- *
777
- * @example
778
- *
779
- * const { list, totalCount} = await managementClient.users.listRoles("USERID");
780
- *
781
- * @returns {Promise<DeepPartial<PaginatedRoles>>}
782
- * @memberof UsersManagementClient
783
- */
784
- UsersManagementClient.prototype.listRoles = function (userId, namespace) {
785
- return __awaiter(this, void 0, void 0, function () {
786
- var user;
787
- return __generator(this, function (_a) {
788
- switch (_a.label) {
789
- case 0: return [4 /*yield*/, getUserRoles(this.graphqlClient, this.tokenProvider, {
790
- id: userId,
791
- namespace: namespace
792
- })];
793
- case 1:
794
- user = (_a.sent()).user;
795
- if (!user) {
796
- throw new Error('用户不存在!');
797
- }
798
- return [2 /*return*/, user.roles];
799
- }
800
- });
801
- });
802
- };
803
- /**
804
- * @name addRoles
805
- * @name_zh 添加角色
806
- * @description 将用户加入角色
807
- *
808
- * @param {string} userId 用户 ID
809
- * @param {string} roles 角色 code 列表
810
- * @param {string} namespace 权限组命名空间
811
- *
812
- * @example
813
- *
814
- * const { code, message } = await managementClient.users.addRoles("USERID", ["ROLEA"]);
815
- *
816
- * @returns {Promise<CommonMessage>}
817
- * @memberof UsersManagementClient
818
- */
819
- UsersManagementClient.prototype.addRoles = function (userId, roles, namespace) {
820
- return __awaiter(this, void 0, void 0, function () {
821
- var data;
822
- return __generator(this, function (_a) {
823
- switch (_a.label) {
824
- case 0: return [4 /*yield*/, assignRole(this.graphqlClient, this.tokenProvider, {
825
- roleCodes: roles,
826
- userIds: [userId],
827
- namespace: namespace
828
- })];
829
- case 1:
830
- data = (_a.sent()).assignRole;
831
- return [2 /*return*/, data];
832
- }
833
- });
834
- });
835
- };
836
- /**
837
- * @name removeRoles
838
- * @name_zh 移除角色
839
- * @description 将用户从角色中移除
840
- *
841
- * @param {string} userId 用户 ID
842
- * @param {string} roles 角色 code 列表
843
- * @param {string} namespace 权限分组 code
844
- *
845
- * @example
846
- *
847
- * const { code, message } = await managementClient.users.removeRoles("USERID", ["ROLEA"]);
848
- *
849
- * @returns {Promise<CommonMessage>}
850
- * @memberof UsersManagementClient
851
- */
852
- UsersManagementClient.prototype.removeRoles = function (userId, roles, namespace) {
853
- return __awaiter(this, void 0, void 0, function () {
854
- var data;
855
- return __generator(this, function (_a) {
856
- switch (_a.label) {
857
- case 0: return [4 /*yield*/, revokeRole(this.graphqlClient, this.tokenProvider, {
858
- roleCodes: roles,
859
- userIds: [userId],
860
- namespace: namespace
861
- })];
862
- case 1:
863
- data = (_a.sent()).revokeRole;
864
- return [2 /*return*/, data];
865
- }
866
- });
867
- });
868
- };
869
- /**
870
- * @name listOrg
871
- * @name_zh 获取用户所在组织机构
872
- * @description 获取用户所在组织机构,以及他在该组织机构内的的节点路径。
873
- *
874
- * @param {string} userId 用户 ID
875
- *
876
- * @example
877
- *
878
- * const data = await managementClient.users.listOrgs("USERID");
879
- *
880
- * @returns {Promise<UserOrgList>}
881
- *
882
- * @memberof UsersManagementClient
883
- */
884
- UsersManagementClient.prototype.listOrgs = function (userId) {
885
- return __awaiter(this, void 0, void 0, function () {
886
- return __generator(this, function (_a) {
887
- switch (_a.label) {
888
- case 0: return [4 /*yield*/, this.httpClient.request({
889
- method: 'GET',
890
- url: this.options.host + "/api/v2/users/" + userId + "/orgs"
891
- })];
892
- case 1: return [2 /*return*/, _a.sent()];
893
- }
894
- });
895
- });
896
- };
897
- /**
898
- * @name listDepartment
899
- * @name_zh 获取用户所在部门
900
- * @description 获取用户所在部门列表
901
- *
902
- * @param {string} userId 用户 ID
903
- *
904
- * @example
905
- *
906
- * const data = await managementClient.users.listDepartment("USERID");
907
- *
908
- * @returns {Promise<UserDepartmentList>}
909
- *
910
- * @memberof UsersManagementClient
911
- */
912
- UsersManagementClient.prototype.listDepartment = function (userId) {
913
- return __awaiter(this, void 0, void 0, function () {
914
- var departments;
915
- return __generator(this, function (_a) {
916
- switch (_a.label) {
917
- case 0: return [4 /*yield*/, getUserDepartments(this.graphqlClient, this.tokenProvider, {
918
- id: userId
919
- })];
920
- case 1:
921
- departments = (_a.sent()).user.departments;
922
- return [2 /*return*/, departments];
923
- }
924
- });
925
- });
926
- };
927
- /**
928
- * @description 获取用户被授权的所有资源
929
- *
930
- * @param userId
931
- * @param namespace
932
- */
933
- UsersManagementClient.prototype.listAuthorizedResources = function (userId, namespace, options) {
934
- return __awaiter(this, void 0, void 0, function () {
935
- var resourceType, user, _a, list, totalCount;
936
- return __generator(this, function (_b) {
937
- switch (_b.label) {
938
- case 0:
939
- resourceType = (options || {}).resourceType;
940
- return [4 /*yield*/, listUserAuthorizedResources(this.graphqlClient, this.tokenProvider, {
941
- id: userId,
942
- namespace: namespace,
943
- resourceType: resourceType
944
- })];
945
- case 1:
946
- user = (_b.sent()).user;
947
- if (!user) {
948
- throw new Error('用户不存在');
949
- }
950
- _a = user.authorizedResources, list = _a.list, totalCount = _a.totalCount;
951
- list = formatAuthorizedResources(list);
952
- return [2 /*return*/, {
953
- list: list,
954
- totalCount: totalCount
955
- }];
956
- }
957
- });
958
- });
959
- };
960
- /**
961
- * @description 获取某个用户的所有自定义数据
962
- * @param userId: 用户 ID
963
- *
964
- */
965
- UsersManagementClient.prototype.getUdfValue = function (userId) {
966
- return __awaiter(this, void 0, void 0, function () {
967
- var list;
968
- return __generator(this, function (_a) {
969
- switch (_a.label) {
970
- case 0: return [4 /*yield*/, udv(this.graphqlClient, this.tokenProvider, {
971
- targetType: UdfTargetType.User,
972
- targetId: userId
973
- })];
974
- case 1:
975
- list = (_a.sent()).udv;
976
- return [2 /*return*/, convertUdvToKeyValuePair(list)];
977
- }
978
- });
979
- });
980
- };
981
- /**
982
- * @description 批量获取多个用户的自定义数据
983
- *
984
- * @param userIds: 用户 ID 列表
985
- */
986
- UsersManagementClient.prototype.getUdfValueBatch = function (userIds) {
987
- return __awaiter(this, void 0, void 0, function () {
988
- var result, ret, _i, result_1, _a, targetId, data;
989
- return __generator(this, function (_b) {
990
- switch (_b.label) {
991
- case 0:
992
- if (userIds.length === 0) {
993
- throw new Error('empty user id list');
994
- }
995
- return [4 /*yield*/, udfValueBatch(this.graphqlClient, this.tokenProvider, {
996
- targetType: UdfTargetType.User,
997
- targetIds: userIds
998
- })];
999
- case 1:
1000
- result = (_b.sent()).udfValueBatch;
1001
- ret = {};
1002
- for (_i = 0, result_1 = result; _i < result_1.length; _i++) {
1003
- _a = result_1[_i], targetId = _a.targetId, data = _a.data;
1004
- ret[targetId] = convertUdvToKeyValuePair(data);
1005
- }
1006
- return [2 /*return*/, ret];
1007
- }
1008
- });
1009
- });
1010
- };
1011
- /**
1012
- * @description 设置某个用户的自定义数据
1013
- *
1014
- * @param userId
1015
- * @param data
1016
- */
1017
- UsersManagementClient.prototype.setUdfValue = function (userId, data) {
1018
- return __awaiter(this, void 0, void 0, function () {
1019
- return __generator(this, function (_a) {
1020
- switch (_a.label) {
1021
- case 0:
1022
- if (Object.keys(data).length === 0) {
1023
- throw new Error('empty udf value list');
1024
- }
1025
- return [4 /*yield*/, setUdvBatch(this.graphqlClient, this.tokenProvider, {
1026
- targetType: UdfTargetType.User,
1027
- targetId: userId,
1028
- udvList: Object.keys(data).map(function (key) { return ({
1029
- key: key,
1030
- value: JSON.stringify(data[key])
1031
- }); })
1032
- })];
1033
- case 1:
1034
- _a.sent();
1035
- return [2 /*return*/];
1036
- }
1037
- });
1038
- });
1039
- };
1040
- /**
1041
- * @description 批量设置自定义数据
1042
- *
1043
- */
1044
- UsersManagementClient.prototype.setUdfValueBatch = function (input) {
1045
- return __awaiter(this, void 0, void 0, function () {
1046
- var params;
1047
- return __generator(this, function (_a) {
1048
- switch (_a.label) {
1049
- case 0:
1050
- if (input.length === 0) {
1051
- throw new Error('empty input list');
1052
- }
1053
- params = [];
1054
- input.forEach(function (_a) {
1055
- var userId = _a.userId, data = _a.data;
1056
- for (var _i = 0, _b = Object.keys(data); _i < _b.length; _i++) {
1057
- var key = _b[_i];
1058
- params.push({
1059
- targetId: userId,
1060
- key: key,
1061
- value: JSON.stringify(data[key])
1062
- });
1063
- }
1064
- });
1065
- return [4 /*yield*/, setUdfValueBatch(this.graphqlClient, this.tokenProvider, {
1066
- targetType: UdfTargetType.User,
1067
- input: params
1068
- })];
1069
- case 1:
1070
- _a.sent();
1071
- return [2 /*return*/];
1072
- }
1073
- });
1074
- });
1075
- };
1076
- /**
1077
- * @description 清除用户的自定义数据
1078
- *
1079
- */
1080
- UsersManagementClient.prototype.removeUdfValue = function (userId, key) {
1081
- return __awaiter(this, void 0, void 0, function () {
1082
- return __generator(this, function (_a) {
1083
- switch (_a.label) {
1084
- case 0: return [4 /*yield*/, removeUdv(this.graphqlClient, this.tokenProvider, {
1085
- targetType: UdfTargetType.User,
1086
- targetId: userId,
1087
- key: key
1088
- })];
1089
- case 1:
1090
- _a.sent();
1091
- return [2 /*return*/];
1092
- }
1093
- });
1094
- });
1095
- };
1096
- /**
1097
- * 判断用户是否有某个角色
1098
- * @param userId 用户 ID
1099
- * @param roleCode 角色 Code
1100
- * @param namespace 权限分组 ID
1101
- */
1102
- UsersManagementClient.prototype.hasRole = function (userId, roleCode, namespace) {
1103
- return __awaiter(this, void 0, void 0, function () {
1104
- var roleList, hasRole;
1105
- return __generator(this, function (_a) {
1106
- switch (_a.label) {
1107
- case 0: return [4 /*yield*/, this.listRoles(userId, namespace)];
1108
- case 1:
1109
- roleList = _a.sent();
1110
- if (roleList.totalCount < 1) {
1111
- return [2 /*return*/, false];
1112
- }
1113
- hasRole = false;
1114
- roleList.list.forEach(function (item) {
1115
- if (item.code === roleCode) {
1116
- hasRole = true;
1117
- }
1118
- });
1119
- return [2 /*return*/, hasRole];
1120
- }
1121
- });
1122
- });
1123
- };
1124
- /**
1125
- * @description 强制一批用户下线
1126
- */
1127
- UsersManagementClient.prototype.kick = function (userIds) {
1128
- return __awaiter(this, void 0, void 0, function () {
1129
- return __generator(this, function (_a) {
1130
- switch (_a.label) {
1131
- case 0: return [4 /*yield*/, this.httpClient.request({
1132
- url: this.options.host + "/api/v2/users/kick",
1133
- method: 'POST',
1134
- data: {
1135
- userIds: userIds
1136
- }
1137
- })];
1138
- case 1:
1139
- _a.sent();
1140
- return [2 /*return*/, { code: 200, message: '强制下线成功' }];
1141
- }
1142
- });
1143
- });
1144
- };
1145
- UsersManagementClient.prototype.logout = function (options) {
1146
- return __awaiter(this, void 0, void 0, function () {
1147
- return __generator(this, function (_a) {
1148
- switch (_a.label) {
1149
- case 0:
1150
- if (!options || !options.userId) {
1151
- throw new Error('请传入 options.userId,内容为要下线的用户 ID');
1152
- }
1153
- return [4 /*yield*/, this.httpClient.request({
1154
- url: this.options.host + "/logout",
1155
- method: 'GET',
1156
- params: {
1157
- appId: options.appId,
1158
- userId: options.userId
1159
- }
1160
- })];
1161
- case 1:
1162
- _a.sent();
1163
- return [2 /*return*/, { code: 200, message: '强制下线成功' }];
1164
- }
1165
- });
1166
- });
1167
- };
1168
- /**
1169
- * @description 查询用户的登录状态
1170
- */
1171
- UsersManagementClient.prototype.checkLoginStatus = function (userId, appId, deviceId) {
1172
- return __awaiter(this, void 0, void 0, function () {
1173
- var result;
1174
- return __generator(this, function (_a) {
1175
- switch (_a.label) {
1176
- case 0: return [4 /*yield*/, this.httpClient.request({
1177
- method: 'GET',
1178
- url: this.options.host + "/api/v2/users/login-status",
1179
- params: {
1180
- userId: userId,
1181
- appId: appId,
1182
- deviceId: deviceId
1183
- }
1184
- })];
1185
- case 1:
1186
- result = _a.sent();
1187
- return [2 /*return*/, result];
1188
- }
1189
- });
1190
- });
1191
- };
1192
- /**
1193
- * 审计日志列表
1194
- * @param options.page 当前页数
1195
- * @param options.limit 每页显示条数
1196
- * @param options.clientIp 客户端 IP 地址
1197
- * @param options.operationName 操作类型
1198
- * @param options.operatoArn 用户 Arn 通过 searchUser 方法获得
1199
- * @returns Promise<UserActions>
1200
- */
1201
- UsersManagementClient.prototype.listUserActions = function (options) {
1202
- var _a, _b;
1203
- if (options === void 0) { options = {
1204
- page: 1,
1205
- limit: 10
1206
- }; }
1207
- return __awaiter(this, void 0, void 0, function () {
1208
- var result;
1209
- return __generator(this, function (_c) {
1210
- switch (_c.label) {
1211
- case 0: return [4 /*yield*/, this.httpClient.request({
1212
- method: 'GET',
1213
- url: this.options.host + "/api/v2/analysis/user-action" +
1214
- objectToQueryString({
1215
- page: (_a = options.page) === null || _a === void 0 ? void 0 : _a.toString(),
1216
- limit: (_b = options.limit) === null || _b === void 0 ? void 0 : _b.toString(),
1217
- clientip: options.clientIp,
1218
- operation_name: options.operationName,
1219
- operator_arn: options.operatoArn
1220
- })
1221
- })];
1222
- case 1:
1223
- result = _c.sent();
1224
- return [2 /*return*/, result];
1225
- }
1226
- });
1227
- });
1228
- };
1229
- /**
1230
- * @description 发送首次登录验证邮件
1231
- *
1232
- */
1233
- UsersManagementClient.prototype.sendFirstLoginVerifyEmail = function (options) {
1234
- return __awaiter(this, void 0, void 0, function () {
1235
- return __generator(this, function (_a) {
1236
- switch (_a.label) {
1237
- case 0: return [4 /*yield*/, sendFirstLoginVerifyEmail(this.graphqlClient, this.tokenProvider, options)];
1238
- case 1:
1239
- _a.sent();
1240
- return [2 /*return*/, true];
1241
- }
1242
- });
1243
- });
1244
- };
1245
- return UsersManagementClient;
1246
- }());
1247
- export { UsersManagementClient };
1248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlcnNNYW5hZ2VtZW50Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9tYW5hZ2VtZW50L1VzZXJzTWFuYWdlbWVudENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0MsT0FBTyxFQUNMLFVBQVUsRUFDVixXQUFXLEVBQ1gsSUFBSSxFQUNKLEtBQUssRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFVBQVUsRUFDVixVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixRQUFRLEVBQ1Isa0JBQWtCLEVBQ2xCLDJCQUEyQixFQUMzQixHQUFHLEVBQ0gsYUFBYSxFQUNiLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUMxQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBVUwsYUFBYSxFQUlkLE1BQU0sd0JBQXdCLENBQUM7QUFJaEMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9FOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBeUJHO0FBQ0g7SUFPRSwrQkFDRSxPQUFnQyxFQUNoQyxhQUE0QixFQUM1QixVQUFzQixFQUN0QixhQUFzQyxFQUN0QyxpQkFBbUM7UUFFbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpRUc7SUFDRyxzQ0FBTSxHQUFaLFVBQ0UsUUFBeUIsRUFDekIsT0FHQzs7Ozs7O3dCQUVLLEtBQ0osT0FBTyxJQUFJLEVBQUUsRUFEUCxvQkFBb0IsRUFBcEIsWUFBWSxtQkFBRyxLQUFLLEtBQUEsRUFBRSxpQ0FBaUMsRUFBakMseUJBQXlCLG1CQUFHLEtBQUssS0FBQSxDQUMvQzs4QkFDWixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsUUFBUTt3QkFDcEIsS0FBQSxRQUFRLENBQUE7d0JBQWtCLEtBQUEsQ0FBQSxLQUFBLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxlQUFlLENBQUE7OEJBQ3BELFFBQVEsQ0FBQyxRQUFRO3dCQUNqQixxQkFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLEVBQUE7NEJBRnpCLHFCQUFNLHdCQUV4QixTQUEyQyxHQUM1QyxFQUFBOzt3QkFIRCxHQUFTLFFBQVEsR0FBRyxTQUduQixDQUFDOzs0QkFFeUIscUJBQU0sVUFBVSxDQUMzQyxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjs0QkFDRSxRQUFRLFVBQUE7NEJBQ1IsWUFBWSxjQUFBOzRCQUNaLHlCQUF5QiwyQkFBQTt5QkFDMUIsQ0FDRixFQUFBOzt3QkFSbUIsSUFBSSxHQUFLLENBQUEsU0FRNUIsQ0FBQSxXQVJ1Qjt3QkFTeEIsc0JBQU8sSUFBSSxFQUFDOzs7O0tBQ2I7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FpRUc7SUFDRyxzQ0FBTSxHQUFaLFVBQWEsRUFBVSxFQUFFLE9BQXdCOzs7Ozs7NkJBQzNDLENBQUEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUEsRUFBM0Isd0JBQTJCO3dCQUM3QixLQUFBLE9BQU8sQ0FBQTt3QkFBa0IsS0FBQSxDQUFBLEtBQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFDLGVBQWUsQ0FBQTs4QkFDbkQsT0FBTyxDQUFDLFFBQVE7d0JBQ2hCLHFCQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBQTs0QkFGMUIscUJBQU0sd0JBRXZCLFNBQTJDLEdBQzVDLEVBQUE7O3dCQUhELEdBQVEsUUFBUSxHQUFHLFNBR2xCLENBQUM7OzRCQUV5QixxQkFBTSxVQUFVLENBQzNDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLEVBQUUsSUFBQTs0QkFDRixLQUFLLEVBQUUsT0FBTzt5QkFDZixDQUNGLEVBQUE7O3dCQVBtQixJQUFJLEdBQUssQ0FBQSxTQU81QixDQUFBLFdBUHVCO3dCQVF4QixzQkFBTyxJQUFJLEVBQUM7Ozs7S0FDYjtJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDRyxzQ0FBTSxHQUFaLFVBQ0UsTUFBYyxFQUNkLE9BRUM7Ozs7Ozt3QkFFTyxLQUEyQixDQUFBLE9BQU8sSUFBSSxFQUFFLENBQUEsZUFBbEIsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsQ0FBbUI7NkJBQzdDLGNBQWMsRUFBZCx3QkFBYzt3QkFDTyxxQkFBTSxrQkFBa0IsQ0FDN0MsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFDbEI7Z0NBQ0UsRUFBRSxFQUFFLE1BQU07NkJBQ1gsQ0FDRixFQUFBOzt3QkFOYSxJQUFJLEdBQUssQ0FBQSxTQU10QixDQUFBLEtBTmlCO3dCQU9sQixhQUFhO3dCQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO3dCQUM1RCxzQkFBTyxJQUFJLEVBQUM7NEJBRVcscUJBQU0sSUFBSSxDQUMvQixJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjs0QkFDRSxFQUFFLEVBQUUsTUFBTTt5QkFDWCxDQUNGLEVBQUE7O3dCQU5hLElBQUksR0FBSyxDQUFBLFNBTXRCLENBQUEsS0FOaUI7d0JBT2xCLHNCQUFPLElBQUksRUFBQzs7OztLQUVmO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNHLHNDQUFNLEdBQVosVUFBYSxNQUFjOzs7Ozs0QkFDSSxxQkFBTSxVQUFVLENBQzNDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLEVBQUUsRUFBRSxNQUFNO3lCQUNYLENBQ0YsRUFBQTs7d0JBTm1CLElBQUksR0FBSyxDQUFBLFNBTTVCLENBQUEsV0FOdUI7d0JBT3hCLHNCQUFPLElBQUksRUFBQzs7OztLQUNiO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNHLDBDQUFVLEdBQWhCLFVBQWlCLE9BQWlCOzs7Ozs0QkFDRixxQkFBTSxXQUFXLENBQzdDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLEdBQUcsRUFBRSxPQUFPO3lCQUNiLENBQ0YsRUFBQTs7d0JBTm9CLElBQUksR0FBSyxDQUFBLFNBTTdCLENBQUEsWUFOd0I7d0JBT3pCLHNCQUFPLElBQUksRUFBQzs7OztLQUNiO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDRyxxQ0FBSyxHQUFYLFVBQ0UsR0FBYSxFQUNiLE9BR0M7Ozs7Ozt3QkFFSyxLQUFnRCxPQUFPLElBQUksRUFBRSxFQUEzRCxrQkFBaUIsRUFBakIsVUFBVSxtQkFBRyxJQUFJLEtBQUEsRUFBRSxzQkFBc0IsRUFBdEIsY0FBYyxtQkFBRyxLQUFLLEtBQUEsQ0FBbUI7NkJBRWhFLGNBQWMsRUFBZCx3QkFBYzt3QkFDVSxxQkFBTSx1QkFBdUIsQ0FDckQsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFDbEI7Z0NBQ0UsR0FBRyxLQUFBO2dDQUNILElBQUksRUFBRSxVQUFVOzZCQUNqQixDQUNGLEVBQUE7O3dCQVBnQixJQUFJLEdBQUssQ0FBQSxTQU96QixDQUFBLFVBUG9CO3dCQVFyQixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUk7NEJBQ2xCLGFBQWE7NEJBQ2IsSUFBSSxDQUFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7NEJBQzVELE9BQU8sSUFBSSxDQUFDO3dCQUNkLENBQUMsQ0FBQyxDQUFDO3dCQUNILHNCQUFPLElBQUksRUFBQzs0QkFFYyxxQkFBTSxTQUFTLENBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLEdBQUcsS0FBQTs0QkFDSCxJQUFJLEVBQUUsVUFBVTt5QkFDakIsQ0FDRixFQUFBOzt3QkFQZ0IsSUFBSSxHQUFLLENBQUEsU0FPekIsQ0FBQSxVQVBvQjt3QkFRckIsc0JBQU8sSUFBSSxFQUFDOzs7O0tBRWY7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNHLG9DQUFJLEdBQVYsVUFDRSxJQUFnQixFQUNoQixLQUFrQixFQUNsQixPQUVDO1FBSkQscUJBQUEsRUFBQSxRQUFnQjtRQUNoQixzQkFBQSxFQUFBLFVBQWtCOzs7Ozs7d0JBS1YsS0FBMkIsQ0FBQSxPQUFPLElBQUksRUFBRSxDQUFBLGVBQWxCLEVBQXRCLGNBQWMsbUJBQUcsS0FBSyxLQUFBLENBQW1COzZCQUM3QyxjQUFjLEVBQWQsd0JBQWM7d0JBQ1EscUJBQU0sbUJBQW1CLENBQy9DLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCO2dDQUNFLElBQUksTUFBQTtnQ0FDSixLQUFLLE9BQUE7NkJBQ04sQ0FDRixFQUFBOzt3QkFQYyxJQUFJLEdBQUssQ0FBQSxTQU92QixDQUFBLE1BUGtCO3dCQVFiLFVBQVUsR0FBVyxJQUFJLFdBQWYsRUFBRSxJQUFJLEdBQUssSUFBSSxLQUFULENBQVU7d0JBQ2hDLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQUEsSUFBSTs0QkFDbEIsYUFBYTs0QkFDYixJQUFJLENBQUMsVUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzs0QkFDNUQsT0FBTyxJQUFJLENBQUM7d0JBQ2QsQ0FBQyxDQUFDLENBQUM7d0JBQ0gsc0JBQU87Z0NBQ0wsVUFBVSxZQUFBO2dDQUNWLElBQUksTUFBQTs2QkFDTCxFQUFDOzRCQUVzQixxQkFBTSxLQUFLLENBQ2pDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLElBQUksTUFBQTs0QkFDSixLQUFLLE9BQUE7eUJBQ04sQ0FDRixFQUFBOzt3QkFQYyxJQUFJLEdBQUssQ0FBQSxTQU92QixDQUFBLE1BUGtCO3dCQVFuQixzQkFBTyxJQUFJLEVBQUM7Ozs7S0FFZjtJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0csaURBQWlCLEdBQXZCLFVBQXdCLElBQWdCLEVBQUUsS0FBa0I7UUFBcEMscUJBQUEsRUFBQSxRQUFnQjtRQUFFLHNCQUFBLEVBQUEsVUFBa0I7Ozs7OzRCQUMxQixxQkFBTSxhQUFhLENBQ2pELElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLElBQUksTUFBQTs0QkFDSixLQUFLLE9BQUE7eUJBQ04sQ0FDRixFQUFBOzt3QkFQc0IsSUFBSSxHQUFLLENBQUEsU0FPL0IsQ0FBQSxjQVAwQjt3QkFRM0Isc0JBQU8sSUFBSSxFQUFDOzs7O0tBQ2I7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQW1CRztJQUNHLHNDQUFNLEdBQVosVUFBYSxPQUtaOzs7Ozs7d0JBQ1MsUUFBUSxHQUErQixPQUFPLFNBQXRDLEVBQUUsS0FBSyxHQUF3QixPQUFPLE1BQS9CLEVBQUUsS0FBSyxHQUFpQixPQUFPLE1BQXhCLEVBQUUsVUFBVSxHQUFLLE9BQU8sV0FBWixDQUFhO3dCQUN4QixxQkFBTSxZQUFZLENBQy9DLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCO2dDQUNFLFFBQVEsVUFBQTtnQ0FDUixLQUFLLE9BQUE7Z0NBQ0wsS0FBSyxPQUFBO2dDQUNMLFVBQVUsWUFBQTs2QkFDWCxDQUNGLEVBQUE7O3dCQVRxQixJQUFJLEdBQUssQ0FBQSxTQVM5QixDQUFBLGFBVHlCO3dCQVUxQixzQkFBTyxJQUFJLEVBQUM7Ozs7S0FDYjtJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNHLG9DQUFJLEdBQVYsVUFBVyxPQU1WOzs7Ozs7d0JBRUcsUUFBUSxHQUtOLE9BQU8sU0FMRCxFQUNSLEtBQUssR0FJSCxPQUFPLE1BSkosRUFDTCxLQUFLLEdBR0gsT0FBTyxNQUhKLEVBQ0wsVUFBVSxHQUVSLE9BQU8sV0FGQyxFQUNWLEtBQ0UsT0FBTyxlQURhLEVBQXRCLGNBQWMsbUJBQUcsS0FBSyxLQUFBLENBQ1o7NkJBRVIsY0FBYyxFQUFkLHdCQUFjO3dCQUNXLHFCQUFNLHNCQUFzQixDQUNyRCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjtnQ0FDRSxRQUFRLFVBQUE7Z0NBQ1IsS0FBSyxPQUFBO2dDQUNMLEtBQUssT0FBQTtnQ0FDTCxVQUFVLFlBQUE7NkJBQ1gsQ0FDRixFQUFBOzt3QkFUTyxTQUFtQixDQUFBLFNBUzFCLENBQUEsU0FUcUI7d0JBVXRCLGFBQWE7d0JBQ2IsTUFBSSxDQUFDLFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxNQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7d0JBQzVELHNCQUFPLE1BQUksRUFBQzs0QkFFZSxxQkFBTSxRQUFRLENBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLFFBQVEsVUFBQTs0QkFDUixLQUFLLE9BQUE7NEJBQ0wsS0FBSyxPQUFBOzRCQUNMLFVBQVUsWUFBQTt5QkFDWCxDQUNGLEVBQUE7O3dCQVRPLFNBQW1CLENBQUEsU0FTMUIsQ0FBQSxTQVRxQjt3QkFVdEIsc0JBQU8sTUFBSSxFQUFDOzs7O0tBRWY7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BcUJHO0lBQ0csc0NBQU0sR0FBWixVQUNFLEtBQWEsRUFDYixPQVNDOzs7Ozs7d0JBRUQsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7d0JBRXRCLE1BQU0sR0FPSixPQUFPLE9BUEgsRUFDTixLQU1FLE9BQU8sS0FORCxFQUFSLElBQUksbUJBQUcsQ0FBQyxLQUFBLEVBQ1IsS0FLRSxPQUFPLE1BTEMsRUFBVixLQUFLLG1CQUFHLEVBQUUsS0FBQSxFQUNWLGNBQWMsR0FJWixPQUFPLGVBSkssRUFDZCxTQUFTLEdBR1AsT0FBTyxVQUhBLEVBQ1QsUUFBUSxHQUVOLE9BQU8sU0FGRCxFQUNSLEtBQ0UsT0FBTyxlQURhLEVBQXRCLGNBQWMsbUJBQUcsS0FBSyxLQUFBLENBQ1o7NkJBRVIsQ0FBQyxjQUFjLEVBQWYsd0JBQWU7d0JBQ1kscUJBQU0sVUFBVSxDQUMzQyxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjtnQ0FDRSxLQUFLLE9BQUE7Z0NBQ0wsTUFBTSxRQUFBO2dDQUNOLElBQUksTUFBQTtnQ0FDSixLQUFLLE9BQUE7Z0NBQ0wsY0FBYyxnQkFBQTtnQ0FDZCxTQUFTLFdBQUE7Z0NBQ1QsUUFBUSxVQUFBOzZCQUNULENBQ0YsRUFBQTs7d0JBWm1CLElBQUksR0FBSyxDQUFBLFNBWTVCLENBQUEsV0FadUI7d0JBYXhCLHNCQUFPLElBQUksRUFBQzs0QkFFaUIscUJBQU0sd0JBQXdCLENBQ3pELElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLEtBQUssT0FBQTs0QkFDTCxNQUFNLFFBQUE7NEJBQ04sSUFBSSxNQUFBOzRCQUNKLEtBQUssT0FBQTs0QkFDTCxjQUFjLGdCQUFBOzRCQUNkLFNBQVMsV0FBQTs0QkFDVCxRQUFRLFVBQUE7eUJBQ1QsQ0FDRixFQUFBOzt3QkFabUIsSUFBSSxHQUFLLENBQUEsU0FZNUIsQ0FBQSxXQVp1Qjt3QkFhbEIsVUFBVSxHQUFXLElBQUksV0FBZixFQUFFLElBQUksR0FBSyxJQUFJLEtBQVQsQ0FBVTt3QkFDaEMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBQSxJQUFJOzRCQUNsQixhQUFhOzRCQUNiLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDOzRCQUM1RCxPQUFPLElBQUksQ0FBQzt3QkFDZCxDQUFDLENBQUMsQ0FBQzt3QkFDSCxzQkFBTztnQ0FDTCxVQUFVLFlBQUE7Z0NBQ1YsSUFBSSxNQUFBOzZCQUNMLEVBQUM7Ozs7S0FFTDtJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0csNENBQVksR0FBbEIsVUFBbUIsRUFBVTs7Ozs7NEJBQ0kscUJBQU0sWUFBWSxDQUMvQyxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjs0QkFDRSxFQUFFLElBQUE7eUJBQ0gsQ0FDRixFQUFBOzt3QkFOcUIsSUFBSSxHQUFLLENBQUEsU0FNOUIsQ0FBQSxhQU55Qjt3QkFPMUIsc0JBQU8sSUFBSSxFQUFDOzs7O0tBQ2I7SUFFRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0csMENBQVUsR0FBaEIsVUFBaUIsTUFBYzs7Ozs7NEJBQ1oscUJBQU0sYUFBYSxDQUNsQyxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjs0QkFDRSxFQUFFLEVBQUUsTUFBTTt5QkFDWCxDQUNGLEVBQUE7O3dCQU5PLElBQUksR0FBSyxDQUFBLFNBTWhCLENBQUEsS0FOVzt3QkFPWixzQkFBTyxJQUFJLENBQUMsTUFBTSxFQUFDOzs7O0tBQ3BCO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDRyx3Q0FBUSxHQUFkLFVBQWUsTUFBYyxFQUFFLEtBQWE7Ozs7OzRCQUM5QixxQkFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFOzRCQUN2RSxPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7NEJBQ2pCLElBQUksRUFBRSxLQUFLO3lCQUNaLENBQUMsRUFBQTs7d0JBSEksR0FBRyxHQUFHLFNBR1Y7d0JBQ0Ysc0JBQU8sR0FBRyxDQUFDLGNBQWMsRUFBQzs7OztLQUMzQjtJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0csMkNBQVcsR0FBakIsVUFBa0IsTUFBYyxFQUFFLEtBQWE7Ozs7OzRCQUNqQyxxQkFBTSxtQkFBbUIsQ0FDbkMsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFDbEI7NEJBQ0UsSUFBSSxFQUFFLEtBQUs7NEJBQ1gsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO3lCQUNsQixDQUNGLEVBQUE7O3dCQVBLLEdBQUcsR0FBRyxTQU9YO3dCQUNELHNCQUFPLEdBQUcsQ0FBQyxtQkFBbUIsRUFBQzs7OztLQUNoQztJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0cseUNBQVMsR0FBZixVQUNFLE1BQWMsRUFDZCxTQUFrQjs7Ozs7NEJBRUQscUJBQU0sWUFBWSxDQUNqQyxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjs0QkFDRSxFQUFFLEVBQUUsTUFBTTs0QkFDVixTQUFTLFdBQUE7eUJBQ1YsQ0FDRixFQUFBOzt3QkFQTyxJQUFJLEdBQUssQ0FBQSxTQU9oQixDQUFBLEtBUFc7d0JBUVosSUFBSSxDQUFDLElBQUksRUFBRTs0QkFDVCxNQUFNLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3lCQUMzQjt3QkFDRCxzQkFBTyxJQUFJLENBQUMsS0FBSyxFQUFDOzs7O0tBQ25CO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0csd0NBQVEsR0FBZCxVQUNFLE1BQWMsRUFDZCxLQUFlLEVBQ2YsU0FBa0I7Ozs7OzRCQUVXLHFCQUFNLFVBQVUsQ0FDM0MsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFDbEI7NEJBQ0UsU0FBUyxFQUFFLEtBQUs7NEJBQ2hCLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQzs0QkFDakIsU0FBUyxXQUFBO3lCQUNWLENBQ0YsRUFBQTs7d0JBUm1CLElBQUksR0FBSyxDQUFBLFNBUTVCLENBQUEsV0FSdUI7d0JBU3hCLHNCQUFPLElBQUksRUFBQzs7OztLQUNiO0lBRUQ7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0csMkNBQVcsR0FBakIsVUFDRSxNQUFjLEVBQ2QsS0FBZSxFQUNmLFNBQWtCOzs7Ozs0QkFFVyxxQkFBTSxVQUFVLENBQzNDLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCOzRCQUNFLFNBQVMsRUFBRSxLQUFLOzRCQUNoQixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUM7NEJBQ2pCLFNBQVMsV0FBQTt5QkFDVixDQUNGLEVBQUE7O3dCQVJtQixJQUFJLEdBQUssQ0FBQSxTQVE1QixDQUFBLFdBUnVCO3dCQVN4QixzQkFBTyxJQUFJLEVBQUM7Ozs7S0FDYjtJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0csd0NBQVEsR0FBZCxVQUFlLE1BQWM7Ozs7NEJBQ3BCLHFCQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDOzRCQUNuQyxNQUFNLEVBQUUsS0FBSzs0QkFDYixHQUFHLEVBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLHNCQUFpQixNQUFNLFVBQU87eUJBQ3hELENBQUMsRUFBQTs0QkFIRixzQkFBTyxTQUdMLEVBQUM7Ozs7S0FDSjtJQUVEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0csOENBQWMsR0FBcEIsVUFBcUIsTUFBYzs7Ozs7NEJBRzdCLHFCQUFNLGtCQUFrQixDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTs0QkFDbkUsRUFBRSxFQUFFLE1BQU07eUJBQ1gsQ0FBQyxFQUFBOzt3QkFIUSxXQUFXLEdBQ2pCLENBQUEsU0FFRixDQUFBLGlCQUhtQjt3QkFJckIsc0JBQU8sV0FBVyxFQUFDOzs7O0tBQ3BCO0lBRUQ7Ozs7O09BS0c7SUFDVSx1REFBdUIsR0FBcEMsVUFDRSxNQUFjLEVBQ2QsU0FBaUIsRUFDakIsT0FFQzs7Ozs7O3dCQUVPLFlBQVksR0FBSyxDQUFBLE9BQU8sSUFBSSxFQUFFLENBQUEsYUFBbEIsQ0FBbUI7d0JBQ3RCLHFCQUFNLDJCQUEyQixDQUNoRCxJQUFJLENBQUMsYUFBYSxFQUNsQixJQUFJLENBQUMsYUFBYSxFQUNsQjtnQ0FDRSxFQUFFLEVBQUUsTUFBTTtnQ0FDVixTQUFTLFdBQUE7Z0NBQ1QsWUFBWSxjQUFBOzZCQUNiLENBQ0YsRUFBQTs7d0JBUk8sSUFBSSxHQUFLLENBQUEsU0FRaEIsQ0FBQSxLQVJXO3dCQVNaLElBQUksQ0FBQyxJQUFJLEVBQUU7NEJBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzt5QkFDMUI7d0JBRUMsS0FDRSxJQUFJLG9CQURtQyxFQUFsQixJQUFJLFVBQUEsRUFBRSxVQUFVLGdCQUFBLENBQ2hDO3dCQUNULElBQUksR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkMsc0JBQU87Z0NBQ0wsSUFBSSxNQUFBO2dDQUNKLFVBQVUsWUFBQTs2QkFDWCxFQUFDOzs7O0tBQ0g7SUFFRDs7OztPQUlHO0lBQ1UsMkNBQVcsR0FBeEIsVUFBeUIsTUFBYzs7Ozs7NEJBQ2YscUJBQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTs0QkFDdEUsVUFBVSxFQUFFLGFBQWEsQ0FBQyxJQUFJOzRCQUM5QixRQUFRLEVBQUUsTUFBTTt5QkFDakIsQ0FBQyxFQUFBOzt3QkFIVyxJQUFJLEdBQUssQ0FBQSxTQUdwQixDQUFBLElBSGU7d0JBSWpCLHNCQUFPLHdCQUF3QixDQUFDLElBQUksQ0FBQyxFQUFDOzs7O0tBQ3ZDO0lBRUQ7Ozs7T0FJRztJQUNVLGdEQUFnQixHQUE3QixVQUNFLE9BQWlCOzs7Ozs7d0JBRWpCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7NEJBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQzt5QkFDdkM7d0JBQ2lDLHFCQUFNLGFBQWEsQ0FDbkQsSUFBSSxDQUFDLGFBQWEsRUFDbEIsSUFBSSxDQUFDLGFBQWEsRUFDbEI7Z0NBQ0UsVUFBVSxFQUFFLGFBQWEsQ0FBQyxJQUFJO2dDQUM5QixTQUFTLEVBQUUsT0FBTzs2QkFDbkIsQ0FDRixFQUFBOzt3QkFQc0IsTUFBTSxHQUFLLENBQUEsU0FPakMsQ0FBQSxjQVA0Qjt3QkFRekIsR0FBRyxHQUFrQyxFQUFFLENBQUM7d0JBQzVDLFdBQXVDLEVBQU4saUJBQU0sRUFBTixvQkFBTSxFQUFOLElBQU0sRUFBRTs0QkFBOUIsaUJBQWtCLEVBQWhCLFFBQVEsY0FBQSxFQUFFLElBQUksVUFBQTs0QkFDekIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO3lCQUNoRDt3QkFDRCxzQkFBTyxHQUFHLEVBQUM7Ozs7S0FDWjtJQUVEOzs7OztPQUtHO0lBQ1UsMkNBQVcsR0FBeEIsVUFBeUIsTUFBYyxFQUFFLElBQWtCOzs7Ozt3QkFDekQsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7NEJBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQzt5QkFDekM7d0JBQ0QscUJBQU0sV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRTtnQ0FDeEQsVUFBVSxFQUFFLGFBQWEsQ0FBQyxJQUFJO2dDQUM5QixRQUFRLEVBQUUsTUFBTTtnQ0FDaEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsQ0FBQztvQ0FDckMsR0FBRyxLQUFBO29DQUNILEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQ0FDakMsQ0FBQyxFQUhvQyxDQUdwQyxDQUFDOzZCQUNKLENBQUMsRUFBQTs7d0JBUEYsU0FPRSxDQUFDOzs7OztLQUNKO0lBRUQ7OztPQUdHO0lBQ1UsZ0RBQWdCLEdBQTdCLFVBQ0UsS0FBK0M7Ozs7Ozt3QkFFL0MsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTs0QkFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO3lCQUNyQzt3QkFDSyxNQUFNLEdBQTRCLEVBQUUsQ0FBQzt3QkFDM0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFDLEVBQWdCO2dDQUFkLE1BQU0sWUFBQSxFQUFFLElBQUksVUFBQTs0QkFDM0IsS0FBa0IsVUFBaUIsRUFBakIsS0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFqQixjQUFpQixFQUFqQixJQUFpQixFQUFFO2dDQUFoQyxJQUFNLEdBQUcsU0FBQTtnQ0FDWixNQUFNLENBQUMsSUFBSSxDQUFDO29DQUNWLFFBQVEsRUFBRSxNQUFNO29DQUNoQixHQUFHLEtBQUE7b0NBQ0gsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2lDQUNqQyxDQUFDLENBQUM7NkJBQ0o7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7d0JBQ0gscUJBQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO2dDQUM3RCxVQUFVLEVBQUUsYUFBYSxDQUFDLElBQUk7Z0NBQzlCLEtBQUssRUFBRSxNQUFNOzZCQUNkLENBQUMsRUFBQTs7d0JBSEYsU0FHRSxDQUFDOzs7OztLQUNKO0lBRUQ7OztPQUdHO0lBQ1UsOENBQWMsR0FBM0IsVUFBNEIsTUFBYyxFQUFFLEdBQVc7Ozs7NEJBQ3JELHFCQUFNLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUU7NEJBQ3RELFVBQVUsRUFBRSxhQUFhLENBQUMsSUFBSTs0QkFDOUIsUUFBUSxFQUFFLE1BQU07NEJBQ2hCLEdBQUcsS0FBQTt5QkFDSixDQUFDLEVBQUE7O3dCQUpGLFNBSUUsQ0FBQzs7Ozs7S0FDSjtJQUVEOzs7OztPQUtHO0lBQ1UsdUNBQU8sR0FBcEIsVUFDRSxNQUFjLEVBQ2QsUUFBZ0IsRUFDaEIsU0FBa0I7Ozs7OzRCQUVELHFCQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFBOzt3QkFBbEQsUUFBUSxHQUFHLFNBQXVDO3dCQUV4RCxJQUFJLFFBQVEsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFOzRCQUMzQixzQkFBTyxLQUFLLEVBQUM7eUJBQ2Q7d0JBRUcsT0FBTyxHQUFZLEtBQUssQ0FBQzt3QkFFN0IsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBQSxJQUFJOzRCQUN4QixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO2dDQUMxQixPQUFPLEdBQUcsSUFBSSxDQUFDOzZCQUNoQjt3QkFDSCxDQUFDLENBQUMsQ0FBQzt3QkFFSCxzQkFBTyxPQUFPLEVBQUM7Ozs7S0FDaEI7SUFDRDs7T0FFRztJQUNHLG9DQUFJLEdBQVYsVUFBVyxPQUFpQjs7Ozs0QkFDMUIscUJBQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7NEJBQzVCLEdBQUcsRUFBSyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksdUJBQW9COzRCQUM3QyxNQUFNLEVBQUUsTUFBTTs0QkFDZCxJQUFJLEVBQUU7Z0NBQ0osT0FBTyxTQUFBOzZCQUNSO3lCQUNGLENBQUMsRUFBQTs7d0JBTkYsU0FNRSxDQUFDO3dCQUNILHNCQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUM7Ozs7S0FDekM7SUFFSyxzQ0FBTSxHQUFaLFVBQWEsT0FBMkM7Ozs7O3dCQUN0RCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTs0QkFDL0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO3lCQUNwRDt3QkFDRCxxQkFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQ0FDNUIsR0FBRyxFQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFTO2dDQUNsQyxNQUFNLEVBQUUsS0FBSztnQ0FDYixNQUFNLEVBQUU7b0NBQ04sS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO29DQUNwQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07aUNBQ3ZCOzZCQUNGLENBQUMsRUFBQTs7d0JBUEYsU0FPRSxDQUFDO3dCQUNILHNCQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUM7Ozs7S0FDekM7SUFFRDs7T0FFRztJQUNHLGdEQUFnQixHQUF0QixVQUNFLE1BQWMsRUFDZCxLQUFjLEVBQ2QsUUFBaUI7Ozs7OzRCQU1GLHFCQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDOzRCQUMzQyxNQUFNLEVBQUUsS0FBSzs0QkFDYixHQUFHLEVBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLCtCQUE0Qjs0QkFDckQsTUFBTSxFQUFFO2dDQUNOLE1BQU0sUUFBQTtnQ0FDTixLQUFLLE9BQUE7Z0NBQ0wsUUFBUSxVQUFBOzZCQUNUO3lCQUNGLENBQUMsRUFBQTs7d0JBUkksTUFBTSxHQUFHLFNBUWI7d0JBQ0Ysc0JBQU8sTUFBTSxFQUFDOzs7O0tBQ2Y7SUFDRDs7Ozs7Ozs7T0FRRztJQUNVLCtDQUFlLEdBQTVCLFVBQ0UsT0FTQzs7UUFURCx3QkFBQSxFQUFBO1lBT0UsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsRUFBRTtTQUNWOzs7Ozs0QkFFYyxxQkFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQzs0QkFDM0MsTUFBTSxFQUFFLEtBQUs7NEJBQ2IsR0FBRyxFQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxpQ0FBOEI7Z0NBQ2xELG1CQUFtQixDQUFDO29DQUNsQixJQUFJLFFBQUUsT0FBTyxDQUFDLElBQUksMENBQUUsUUFBUSxFQUFFO29DQUM5QixLQUFLLFFBQUUsT0FBTyxDQUFDLEtBQUssMENBQUUsUUFBUSxFQUFFO29DQUNoQyxRQUFRLEVBQUUsT0FBTyxDQUFDLFFBQVE7b0NBQzFCLGNBQWMsRUFBRSxPQUFPLENBQUMsYUFBYTtvQ0FDckMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxVQUFVO2lDQUNqQyxDQUFDO3lCQUNMLENBQUMsRUFBQTs7d0JBWEksTUFBTSxHQUFHLFNBV2I7d0JBQ0Ysc0JBQU8sTUFBTSxFQUFDOzs7O0tBQ2Y7SUFFRDs7O09BR0c7SUFDVSx5REFBeUIsR0FBdEMsVUFBdUMsT0FHdEM7Ozs7NEJBQ0MscUJBQU0seUJBQXlCLENBQzdCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLE9BQU8sQ0FDUixFQUFBOzt3QkFKRCxTQUlDLENBQUM7d0JBQ0Ysc0JBQU8sSUFBSSxFQUFDOzs7O0tBQ2I7SUFDSCw0QkFBQztBQUFELENBQUMsQUFybUNELElBcW1DQyJ9