raindancers-cloudfront 0.0.41 → 0.0.42

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 (433) hide show
  1. package/lib/cloudfront/lambda-bundled/cognito-auth/__pycache__/six.cpython-312.pyc +0 -0
  2. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/__init__.cpython-312.pyc +0 -0
  3. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/_cffi_gen_src.cpython-312.pyc +0 -0
  4. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/_imp_emulation.cpython-312.pyc +0 -0
  5. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/_shimmed_dist_utils.cpython-312.pyc +0 -0
  6. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/api.cpython-312.pyc +0 -0
  7. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/backend_ctypes.cpython-312.pyc +0 -0
  8. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/cffi_opcode.cpython-312.pyc +0 -0
  9. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/commontypes.cpython-312.pyc +0 -0
  10. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/cparser.cpython-312.pyc +0 -0
  11. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/error.cpython-312.pyc +0 -0
  12. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/ffiplatform.cpython-312.pyc +0 -0
  13. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/gen_src.cpython-312.pyc +0 -0
  14. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/lock.cpython-312.pyc +0 -0
  15. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/model.cpython-312.pyc +0 -0
  16. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/pkgconfig.cpython-312.pyc +0 -0
  17. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/recompiler.cpython-312.pyc +0 -0
  18. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/setuptools_ext.cpython-312.pyc +0 -0
  19. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/vengine_cpy.cpython-312.pyc +0 -0
  20. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/vengine_gen.cpython-312.pyc +0 -0
  21. package/lib/cloudfront/lambda-bundled/cognito-auth/cffi/__pycache__/verifier.cpython-312.pyc +0 -0
  22. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/__pycache__/__about__.cpython-312.pyc +0 -0
  23. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/__pycache__/__init__.cpython-312.pyc +0 -0
  24. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/__pycache__/exceptions.cpython-312.pyc +0 -0
  25. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/__pycache__/fernet.cpython-312.pyc +0 -0
  26. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/__pycache__/utils.cpython-312.pyc +0 -0
  27. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/__pycache__/__init__.cpython-312.pyc +0 -0
  28. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/__pycache__/_oid.cpython-312.pyc +0 -0
  29. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/__pycache__/__init__.cpython-312.pyc +0 -0
  30. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-312.pyc +0 -0
  31. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-312.pyc +0 -0
  32. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-312.pyc +0 -0
  33. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-312.pyc +0 -0
  34. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-312.pyc +0 -0
  35. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-312.pyc +0 -0
  36. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-312.pyc +0 -0
  37. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-312.pyc +0 -0
  38. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-312.pyc +0 -0
  39. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/bindings/__pycache__/__init__.cpython-312.pyc +0 -0
  40. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-312.pyc +0 -0
  41. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-312.pyc +0 -0
  42. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-312.pyc +0 -0
  43. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/__init__.cpython-312.pyc +0 -0
  44. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-312.pyc +0 -0
  45. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-312.pyc +0 -0
  46. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/_serialization.cpython-312.pyc +0 -0
  47. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/cmac.cpython-312.pyc +0 -0
  48. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-312.pyc +0 -0
  49. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/hashes.cpython-312.pyc +0 -0
  50. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/hmac.cpython-312.pyc +0 -0
  51. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-312.pyc +0 -0
  52. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/padding.cpython-312.pyc +0 -0
  53. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-312.pyc +0 -0
  54. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-312.pyc +0 -0
  55. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-312.pyc +0 -0
  56. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-312.pyc +0 -0
  57. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-312.pyc +0 -0
  58. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-312.pyc +0 -0
  59. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-312.pyc +0 -0
  60. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-312.pyc +0 -0
  61. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-312.pyc +0 -0
  62. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-312.pyc +0 -0
  63. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-312.pyc +0 -0
  64. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-312.pyc +0 -0
  65. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-312.pyc +0 -0
  66. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-312.pyc +0 -0
  67. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-312.pyc +0 -0
  68. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-312.pyc +0 -0
  69. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-312.pyc +0 -0
  70. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-312.pyc +0 -0
  71. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-312.pyc +0 -0
  72. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-312.pyc +0 -0
  73. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-312.pyc +0 -0
  74. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-312.pyc +0 -0
  75. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-312.pyc +0 -0
  76. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-312.pyc +0 -0
  77. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-312.pyc +0 -0
  78. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-312.pyc +0 -0
  79. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-312.pyc +0 -0
  80. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-312.pyc +0 -0
  81. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-312.pyc +0 -0
  82. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-312.pyc +0 -0
  83. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-312.pyc +0 -0
  84. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-312.pyc +0 -0
  85. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-312.pyc +0 -0
  86. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/__init__.cpython-312.pyc +0 -0
  87. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/base.cpython-312.pyc +0 -0
  88. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/certificate_transparency.cpython-312.pyc +0 -0
  89. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/extensions.cpython-312.pyc +0 -0
  90. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/general_name.cpython-312.pyc +0 -0
  91. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/name.cpython-312.pyc +0 -0
  92. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/ocsp.cpython-312.pyc +0 -0
  93. package/lib/cloudfront/lambda-bundled/cognito-auth/cryptography/x509/__pycache__/oid.cpython-312.pyc +0 -0
  94. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/__init__.cpython-312.pyc +0 -0
  95. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/algorithms.cpython-312.pyc +0 -0
  96. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/api_jwk.cpython-312.pyc +0 -0
  97. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/api_jws.cpython-312.pyc +0 -0
  98. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/api_jwt.cpython-312.pyc +0 -0
  99. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/exceptions.cpython-312.pyc +0 -0
  100. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/help.cpython-312.pyc +0 -0
  101. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/jwk_set_cache.cpython-312.pyc +0 -0
  102. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/jwks_client.cpython-312.pyc +0 -0
  103. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/types.cpython-312.pyc +0 -0
  104. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/utils.cpython-312.pyc +0 -0
  105. package/lib/cloudfront/lambda-bundled/cognito-auth/jwt/__pycache__/warnings.cpython-312.pyc +0 -0
  106. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/__init__.cpython-312.pyc +0 -0
  107. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/_ast_gen.cpython-312.pyc +0 -0
  108. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/ast_transforms.cpython-312.pyc +0 -0
  109. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/c_ast.cpython-312.pyc +0 -0
  110. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/c_generator.cpython-312.pyc +0 -0
  111. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/c_lexer.cpython-312.pyc +0 -0
  112. package/lib/cloudfront/lambda-bundled/cognito-auth/pycparser/__pycache__/c_parser.cpython-312.pyc +0 -0
  113. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/__pycache__/__init__.cpython-312.pyc +0 -0
  114. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/__pycache__/debug.cpython-312.pyc +0 -0
  115. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/__pycache__/error.cpython-312.pyc +0 -0
  116. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/__pycache__/__init__.cpython-312.pyc +0 -0
  117. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/__pycache__/streaming.cpython-312.pyc +0 -0
  118. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/ber/__pycache__/__init__.cpython-312.pyc +0 -0
  119. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/ber/__pycache__/decoder.cpython-312.pyc +0 -0
  120. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/ber/__pycache__/encoder.cpython-312.pyc +0 -0
  121. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/ber/__pycache__/eoo.cpython-312.pyc +0 -0
  122. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/cer/__pycache__/__init__.cpython-312.pyc +0 -0
  123. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/cer/__pycache__/decoder.cpython-312.pyc +0 -0
  124. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/cer/__pycache__/encoder.cpython-312.pyc +0 -0
  125. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/der/__pycache__/__init__.cpython-312.pyc +0 -0
  126. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/der/__pycache__/decoder.cpython-312.pyc +0 -0
  127. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/der/__pycache__/encoder.cpython-312.pyc +0 -0
  128. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/native/__pycache__/__init__.cpython-312.pyc +0 -0
  129. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/native/__pycache__/decoder.cpython-312.pyc +0 -0
  130. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/codec/native/__pycache__/encoder.cpython-312.pyc +0 -0
  131. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/compat/__pycache__/__init__.cpython-312.pyc +0 -0
  132. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/compat/__pycache__/integer.cpython-312.pyc +0 -0
  133. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/__init__.cpython-312.pyc +0 -0
  134. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/base.cpython-312.pyc +0 -0
  135. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/char.cpython-312.pyc +0 -0
  136. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/constraint.cpython-312.pyc +0 -0
  137. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/error.cpython-312.pyc +0 -0
  138. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/namedtype.cpython-312.pyc +0 -0
  139. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/namedval.cpython-312.pyc +0 -0
  140. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/opentype.cpython-312.pyc +0 -0
  141. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/tag.cpython-312.pyc +0 -0
  142. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/tagmap.cpython-312.pyc +0 -0
  143. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/univ.cpython-312.pyc +0 -0
  144. package/lib/cloudfront/lambda-bundled/cognito-customui-session/pyasn1/type/__pycache__/useful.cpython-312.pyc +0 -0
  145. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/__init__.cpython-312.pyc +0 -0
  146. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/asn1.cpython-312.pyc +0 -0
  147. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/cli.cpython-312.pyc +0 -0
  148. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/common.cpython-312.pyc +0 -0
  149. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/core.cpython-312.pyc +0 -0
  150. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/key.cpython-312.pyc +0 -0
  151. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/parallel.cpython-312.pyc +0 -0
  152. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/pem.cpython-312.pyc +0 -0
  153. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/pkcs1.cpython-312.pyc +0 -0
  154. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/pkcs1_v2.cpython-312.pyc +0 -0
  155. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/prime.cpython-312.pyc +0 -0
  156. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/randnum.cpython-312.pyc +0 -0
  157. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/transform.cpython-312.pyc +0 -0
  158. package/lib/cloudfront/lambda-bundled/cognito-customui-session/rsa/__pycache__/util.cpython-312.pyc +0 -0
  159. package/lib/cloudfront/lambda-bundled/edge-auth/__pycache__/six.cpython-312.pyc +0 -0
  160. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/__init__.cpython-312.pyc +0 -0
  161. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/_cffi_gen_src.cpython-312.pyc +0 -0
  162. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/_imp_emulation.cpython-312.pyc +0 -0
  163. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/_shimmed_dist_utils.cpython-312.pyc +0 -0
  164. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/api.cpython-312.pyc +0 -0
  165. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/backend_ctypes.cpython-312.pyc +0 -0
  166. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/cffi_opcode.cpython-312.pyc +0 -0
  167. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/commontypes.cpython-312.pyc +0 -0
  168. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/cparser.cpython-312.pyc +0 -0
  169. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/error.cpython-312.pyc +0 -0
  170. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/ffiplatform.cpython-312.pyc +0 -0
  171. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/gen_src.cpython-312.pyc +0 -0
  172. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/lock.cpython-312.pyc +0 -0
  173. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/model.cpython-312.pyc +0 -0
  174. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/pkgconfig.cpython-312.pyc +0 -0
  175. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/recompiler.cpython-312.pyc +0 -0
  176. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/setuptools_ext.cpython-312.pyc +0 -0
  177. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/vengine_cpy.cpython-312.pyc +0 -0
  178. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/vengine_gen.cpython-312.pyc +0 -0
  179. package/lib/cloudfront/lambda-bundled/edge-auth/cffi/__pycache__/verifier.cpython-312.pyc +0 -0
  180. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/__pycache__/__about__.cpython-312.pyc +0 -0
  181. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/__pycache__/__init__.cpython-312.pyc +0 -0
  182. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/__pycache__/exceptions.cpython-312.pyc +0 -0
  183. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/__pycache__/fernet.cpython-312.pyc +0 -0
  184. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/__pycache__/utils.cpython-312.pyc +0 -0
  185. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/__pycache__/__init__.cpython-312.pyc +0 -0
  186. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/__pycache__/_oid.cpython-312.pyc +0 -0
  187. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/__pycache__/__init__.cpython-312.pyc +0 -0
  188. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/__init__.cpython-312.pyc +0 -0
  189. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/aead.cpython-312.pyc +0 -0
  190. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/backend.cpython-312.pyc +0 -0
  191. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/ciphers.cpython-312.pyc +0 -0
  192. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/cmac.cpython-312.pyc +0 -0
  193. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/decode_asn1.cpython-312.pyc +0 -0
  194. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/ec.cpython-312.pyc +0 -0
  195. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/rsa.cpython-312.pyc +0 -0
  196. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/backends/openssl/__pycache__/utils.cpython-312.pyc +0 -0
  197. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/bindings/__pycache__/__init__.cpython-312.pyc +0 -0
  198. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/bindings/openssl/__pycache__/__init__.cpython-312.pyc +0 -0
  199. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/bindings/openssl/__pycache__/_conditional.cpython-312.pyc +0 -0
  200. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/bindings/openssl/__pycache__/binding.cpython-312.pyc +0 -0
  201. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/__init__.cpython-312.pyc +0 -0
  202. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/_asymmetric.cpython-312.pyc +0 -0
  203. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/_cipheralgorithm.cpython-312.pyc +0 -0
  204. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/_serialization.cpython-312.pyc +0 -0
  205. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/cmac.cpython-312.pyc +0 -0
  206. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/constant_time.cpython-312.pyc +0 -0
  207. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/hashes.cpython-312.pyc +0 -0
  208. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/hmac.cpython-312.pyc +0 -0
  209. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/keywrap.cpython-312.pyc +0 -0
  210. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/padding.cpython-312.pyc +0 -0
  211. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/__pycache__/poly1305.cpython-312.pyc +0 -0
  212. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/__init__.cpython-312.pyc +0 -0
  213. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/dh.cpython-312.pyc +0 -0
  214. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/dsa.cpython-312.pyc +0 -0
  215. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ec.cpython-312.pyc +0 -0
  216. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ed25519.cpython-312.pyc +0 -0
  217. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/ed448.cpython-312.pyc +0 -0
  218. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/padding.cpython-312.pyc +0 -0
  219. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/rsa.cpython-312.pyc +0 -0
  220. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/types.cpython-312.pyc +0 -0
  221. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/utils.cpython-312.pyc +0 -0
  222. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/x25519.cpython-312.pyc +0 -0
  223. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/asymmetric/__pycache__/x448.cpython-312.pyc +0 -0
  224. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/ciphers/__pycache__/__init__.cpython-312.pyc +0 -0
  225. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/ciphers/__pycache__/aead.cpython-312.pyc +0 -0
  226. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/ciphers/__pycache__/algorithms.cpython-312.pyc +0 -0
  227. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/ciphers/__pycache__/base.cpython-312.pyc +0 -0
  228. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/ciphers/__pycache__/modes.cpython-312.pyc +0 -0
  229. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/__init__.cpython-312.pyc +0 -0
  230. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/concatkdf.cpython-312.pyc +0 -0
  231. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/hkdf.cpython-312.pyc +0 -0
  232. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/kbkdf.cpython-312.pyc +0 -0
  233. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/pbkdf2.cpython-312.pyc +0 -0
  234. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/scrypt.cpython-312.pyc +0 -0
  235. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/kdf/__pycache__/x963kdf.cpython-312.pyc +0 -0
  236. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/serialization/__pycache__/__init__.cpython-312.pyc +0 -0
  237. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/serialization/__pycache__/base.cpython-312.pyc +0 -0
  238. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/serialization/__pycache__/pkcs12.cpython-312.pyc +0 -0
  239. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/serialization/__pycache__/pkcs7.cpython-312.pyc +0 -0
  240. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/serialization/__pycache__/ssh.cpython-312.pyc +0 -0
  241. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/twofactor/__pycache__/__init__.cpython-312.pyc +0 -0
  242. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/twofactor/__pycache__/hotp.cpython-312.pyc +0 -0
  243. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/hazmat/primitives/twofactor/__pycache__/totp.cpython-312.pyc +0 -0
  244. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/__init__.cpython-312.pyc +0 -0
  245. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/base.cpython-312.pyc +0 -0
  246. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/certificate_transparency.cpython-312.pyc +0 -0
  247. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/extensions.cpython-312.pyc +0 -0
  248. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/general_name.cpython-312.pyc +0 -0
  249. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/name.cpython-312.pyc +0 -0
  250. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/ocsp.cpython-312.pyc +0 -0
  251. package/lib/cloudfront/lambda-bundled/edge-auth/cryptography/x509/__pycache__/oid.cpython-312.pyc +0 -0
  252. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/__init__.cpython-312.pyc +0 -0
  253. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/algorithms.cpython-312.pyc +0 -0
  254. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/api_jwk.cpython-312.pyc +0 -0
  255. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/api_jws.cpython-312.pyc +0 -0
  256. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/api_jwt.cpython-312.pyc +0 -0
  257. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/exceptions.cpython-312.pyc +0 -0
  258. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/help.cpython-312.pyc +0 -0
  259. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/jwk_set_cache.cpython-312.pyc +0 -0
  260. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/jwks_client.cpython-312.pyc +0 -0
  261. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/types.cpython-312.pyc +0 -0
  262. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/utils.cpython-312.pyc +0 -0
  263. package/lib/cloudfront/lambda-bundled/edge-auth/jwt/__pycache__/warnings.cpython-312.pyc +0 -0
  264. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/__init__.cpython-312.pyc +0 -0
  265. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/_ast_gen.cpython-312.pyc +0 -0
  266. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/ast_transforms.cpython-312.pyc +0 -0
  267. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/c_ast.cpython-312.pyc +0 -0
  268. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/c_generator.cpython-312.pyc +0 -0
  269. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/c_lexer.cpython-312.pyc +0 -0
  270. package/lib/cloudfront/lambda-bundled/edge-auth/pycparser/__pycache__/c_parser.cpython-312.pyc +0 -0
  271. package/lib/cloudfront/lambda-bundled/hmacSecret/__pycache__/six.cpython-312.pyc +0 -0
  272. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/__init__.cpython-312.pyc +0 -0
  273. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/_aws_iot_metrics.cpython-312.pyc +0 -0
  274. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/_test.cpython-312.pyc +0 -0
  275. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/auth.cpython-312.pyc +0 -0
  276. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/cbor.cpython-312.pyc +0 -0
  277. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/checksums.cpython-312.pyc +0 -0
  278. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/common.cpython-312.pyc +0 -0
  279. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/crypto.cpython-312.pyc +0 -0
  280. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/exceptions.cpython-312.pyc +0 -0
  281. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/http.cpython-312.pyc +0 -0
  282. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/io.cpython-312.pyc +0 -0
  283. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/logging.cpython-312.pyc +0 -0
  284. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/mqtt.cpython-312.pyc +0 -0
  285. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/mqtt5.cpython-312.pyc +0 -0
  286. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/mqtt_request_response.cpython-312.pyc +0 -0
  287. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/s3.cpython-312.pyc +0 -0
  288. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/__pycache__/websocket.cpython-312.pyc +0 -0
  289. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/aio/__pycache__/__init__.cpython-312.pyc +0 -0
  290. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/aio/__pycache__/http.cpython-312.pyc +0 -0
  291. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/eventstream/__pycache__/__init__.cpython-312.pyc +0 -0
  292. package/lib/cloudfront/lambda-bundled/hmacSecret/awscrt/eventstream/__pycache__/rpc.cpython-312.pyc +0 -0
  293. package/lib/cloudfront/lambda-bundled/hmacSecret/bin/__pycache__/jp.cpython-312.pyc +0 -0
  294. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/__init__.cpython-312.pyc +0 -0
  295. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/args.cpython-312.pyc +0 -0
  296. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/auth.cpython-312.pyc +0 -0
  297. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/awsrequest.cpython-312.pyc +0 -0
  298. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/client.cpython-312.pyc +0 -0
  299. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/compat.cpython-312.pyc +0 -0
  300. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/compress.cpython-312.pyc +0 -0
  301. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/config.cpython-312.pyc +0 -0
  302. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/configloader.cpython-312.pyc +0 -0
  303. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/configprovider.cpython-312.pyc +0 -0
  304. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/context.cpython-312.pyc +0 -0
  305. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/credentials.cpython-312.pyc +0 -0
  306. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/discovery.cpython-312.pyc +0 -0
  307. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/endpoint.cpython-312.pyc +0 -0
  308. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/endpoint_provider.cpython-312.pyc +0 -0
  309. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/errorfactory.cpython-312.pyc +0 -0
  310. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/eventstream.cpython-312.pyc +0 -0
  311. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/exceptions.cpython-312.pyc +0 -0
  312. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/handlers.cpython-312.pyc +0 -0
  313. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/history.cpython-312.pyc +0 -0
  314. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/hooks.cpython-312.pyc +0 -0
  315. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/httpchecksum.cpython-312.pyc +0 -0
  316. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/httpsession.cpython-312.pyc +0 -0
  317. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/loaders.cpython-312.pyc +0 -0
  318. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/model.cpython-312.pyc +0 -0
  319. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/monitoring.cpython-312.pyc +0 -0
  320. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/paginate.cpython-312.pyc +0 -0
  321. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/parsers.cpython-312.pyc +0 -0
  322. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/plugin.cpython-312.pyc +0 -0
  323. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/regions.cpython-312.pyc +0 -0
  324. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/response.cpython-312.pyc +0 -0
  325. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/retryhandler.cpython-312.pyc +0 -0
  326. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/serialize.cpython-312.pyc +0 -0
  327. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/session.cpython-312.pyc +0 -0
  328. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/signers.cpython-312.pyc +0 -0
  329. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/stub.cpython-312.pyc +0 -0
  330. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/tokens.cpython-312.pyc +0 -0
  331. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/translate.cpython-312.pyc +0 -0
  332. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/useragent.cpython-312.pyc +0 -0
  333. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/utils.cpython-312.pyc +0 -0
  334. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/validate.cpython-312.pyc +0 -0
  335. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/__pycache__/waiter.cpython-312.pyc +0 -0
  336. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/crt/__pycache__/__init__.cpython-312.pyc +0 -0
  337. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/crt/__pycache__/auth.cpython-312.pyc +0 -0
  338. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/__init__.cpython-312.pyc +0 -0
  339. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/client.cpython-312.pyc +0 -0
  340. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/docstring.cpython-312.pyc +0 -0
  341. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/example.cpython-312.pyc +0 -0
  342. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/method.cpython-312.pyc +0 -0
  343. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/paginator.cpython-312.pyc +0 -0
  344. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/params.cpython-312.pyc +0 -0
  345. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/service.cpython-312.pyc +0 -0
  346. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/shape.cpython-312.pyc +0 -0
  347. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/sharedexample.cpython-312.pyc +0 -0
  348. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/translator.cpython-312.pyc +0 -0
  349. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/utils.cpython-312.pyc +0 -0
  350. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/__pycache__/waiter.cpython-312.pyc +0 -0
  351. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/bcdoc/__pycache__/__init__.cpython-312.pyc +0 -0
  352. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/bcdoc/__pycache__/docstringparser.cpython-312.pyc +0 -0
  353. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/bcdoc/__pycache__/restdoc.cpython-312.pyc +0 -0
  354. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/docs/bcdoc/__pycache__/style.cpython-312.pyc +0 -0
  355. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/__init__.cpython-312.pyc +0 -0
  356. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/adaptive.cpython-312.pyc +0 -0
  357. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/base.cpython-312.pyc +0 -0
  358. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/bucket.cpython-312.pyc +0 -0
  359. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/quota.cpython-312.pyc +0 -0
  360. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/special.cpython-312.pyc +0 -0
  361. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/standard.cpython-312.pyc +0 -0
  362. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/retries/__pycache__/throttling.cpython-312.pyc +0 -0
  363. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/__pycache__/__init__.cpython-312.pyc +0 -0
  364. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/__pycache__/six.cpython-312.pyc +0 -0
  365. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/requests/__pycache__/__init__.cpython-312.pyc +0 -0
  366. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
  367. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/requests/packages/__pycache__/__init__.cpython-312.pyc +0 -0
  368. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/requests/packages/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  369. package/lib/cloudfront/lambda-bundled/hmacSecret/botocore/vendored/requests/packages/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  370. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/__init__.cpython-312.pyc +0 -0
  371. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/_common.cpython-312.pyc +0 -0
  372. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/_version.cpython-312.pyc +0 -0
  373. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/easter.cpython-312.pyc +0 -0
  374. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/relativedelta.cpython-312.pyc +0 -0
  375. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/rrule.cpython-312.pyc +0 -0
  376. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/tzwin.cpython-312.pyc +0 -0
  377. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/__pycache__/utils.cpython-312.pyc +0 -0
  378. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/parser/__pycache__/__init__.cpython-312.pyc +0 -0
  379. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/parser/__pycache__/_parser.cpython-312.pyc +0 -0
  380. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/parser/__pycache__/isoparser.cpython-312.pyc +0 -0
  381. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/tz/__pycache__/__init__.cpython-312.pyc +0 -0
  382. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/tz/__pycache__/_common.cpython-312.pyc +0 -0
  383. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/tz/__pycache__/_factories.cpython-312.pyc +0 -0
  384. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/tz/__pycache__/tz.cpython-312.pyc +0 -0
  385. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/tz/__pycache__/win.cpython-312.pyc +0 -0
  386. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/zoneinfo/__pycache__/__init__.cpython-312.pyc +0 -0
  387. package/lib/cloudfront/lambda-bundled/hmacSecret/dateutil/zoneinfo/__pycache__/rebuild.cpython-312.pyc +0 -0
  388. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/__init__.cpython-312.pyc +0 -0
  389. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/ast.cpython-312.pyc +0 -0
  390. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/compat.cpython-312.pyc +0 -0
  391. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/exceptions.cpython-312.pyc +0 -0
  392. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/functions.cpython-312.pyc +0 -0
  393. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/lexer.cpython-312.pyc +0 -0
  394. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/parser.cpython-312.pyc +0 -0
  395. package/lib/cloudfront/lambda-bundled/hmacSecret/jmespath/__pycache__/visitor.cpython-312.pyc +0 -0
  396. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
  397. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/_base_connection.cpython-312.pyc +0 -0
  398. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
  399. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/_request_methods.cpython-312.pyc +0 -0
  400. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
  401. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
  402. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
  403. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
  404. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
  405. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
  406. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
  407. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/__pycache__/response.cpython-312.pyc +0 -0
  408. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
  409. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
  410. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
  411. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/emscripten/__pycache__/__init__.cpython-312.pyc +0 -0
  412. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/emscripten/__pycache__/connection.cpython-312.pyc +0 -0
  413. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/emscripten/__pycache__/fetch.cpython-312.pyc +0 -0
  414. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/emscripten/__pycache__/request.cpython-312.pyc +0 -0
  415. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/contrib/emscripten/__pycache__/response.cpython-312.pyc +0 -0
  416. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/http2/__pycache__/__init__.cpython-312.pyc +0 -0
  417. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/http2/__pycache__/connection.cpython-312.pyc +0 -0
  418. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/http2/__pycache__/probe.cpython-312.pyc +0 -0
  419. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
  420. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
  421. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
  422. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
  423. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
  424. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
  425. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
  426. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
  427. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
  428. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
  429. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
  430. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/util.cpython-312.pyc +0 -0
  431. package/lib/cloudfront/lambda-bundled/hmacSecret/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
  432. package/lib/cloudfront/patterns/cognitoCustomerPool.js +11 -2
  433. package/package.json +1 -1
@@ -68,6 +68,15 @@ class CognitoCustomerPool extends constructs.Construct {
68
68
  const l2MfaSecondFactor = props.emailOtpMfa
69
69
  ? { otp: false, sms: false }
70
70
  : (props.mfaSecondFactor ?? { otp: true, sms: false });
71
+ // Account recovery must not be email-only when EMAIL_OTP MFA is enabled:
72
+ // Cognito rejects EmailMfaConfiguration unless AccountRecoverySetting has at
73
+ // least one mechanism other than verified_email (recovering email-based MFA via
74
+ // email is circular). AccountRecovery.NONE maps to the admin_only mechanism, which
75
+ // satisfies the constraint without introducing an SMS/phone factor into this
76
+ // passwordless-email design. Otherwise keep the email-only default.
77
+ const accountRecovery = props.emailOtpMfa
78
+ ? aws_cdk_lib_1.aws_cognito.AccountRecovery.NONE
79
+ : aws_cdk_lib_1.aws_cognito.AccountRecovery.EMAIL_ONLY;
71
80
  this.userPool = new aws_cdk_lib_1.aws_cognito.UserPool(this, 'UserPool', {
72
81
  userPoolName: props.userPoolName,
73
82
  selfSignUpEnabled: props.selfSignUpEnabled ?? false,
@@ -86,7 +95,7 @@ class CognitoCustomerPool extends constructs.Construct {
86
95
  standardAttributes: props.standardAttributes,
87
96
  customAttributes: props.customAttributes,
88
97
  autoVerify: { email: true },
89
- accountRecovery: aws_cdk_lib_1.aws_cognito.AccountRecovery.EMAIL_ONLY,
98
+ accountRecovery,
90
99
  // Custom Email Sender: when provided, Cognito routes every customer email
91
100
  // through this Lambda and encrypts codes to customSenderKmsKey. Both must be
92
101
  // set on the pool at construction — the KMS key is not settable via addTrigger.
@@ -192,4 +201,4 @@ class CognitoCustomerPool extends constructs.Construct {
192
201
  }
193
202
  }
194
203
  exports.CognitoCustomerPool = CognitoCustomerPool;
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0b0N1c3RvbWVyUG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbG91ZGZyb250L3BhdHRlcm5zL2NvZ25pdG9DdXN0b21lclBvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLGtEQUFvQztBQUNwQyw2Q0FLcUI7QUFDckIsdURBQXlDO0FBeUh6Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBWTNELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMvRixNQUFNLElBQUksS0FBSyxDQUNiLGtHQUFrRztrQkFDaEcscUhBQXFILENBQ3hILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRkFBK0Y7a0JBQzdGLHNHQUFzRyxDQUN6RyxDQUFDO1FBQ0osQ0FBQztRQUVELDBFQUEwRTtRQUMxRSxvRkFBb0Y7UUFDcEYsZ0ZBQWdGO1FBQ2hGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVc7WUFDekMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQzVCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx5QkFBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3JELFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLElBQUksS0FBSztZQUNuRCxhQUFhLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzlCLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHLElBQUkseUJBQU8sQ0FBQyxHQUFHLENBQUMsUUFBUTtZQUN0QyxlQUFlLEVBQUUsaUJBQWlCO1lBQ2xDLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYyxJQUFJO2dCQUN0QyxTQUFTLEVBQUUsRUFBRTtnQkFDYixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixnQkFBZ0IsRUFBRSxJQUFJO2dCQUN0QixhQUFhLEVBQUUsSUFBSTtnQkFDbkIsY0FBYyxFQUFFLElBQUk7YUFDckI7WUFDRCxvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CLElBQUkseUJBQU8sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHO1lBQ3BGLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzNCLGVBQWUsRUFBRSx5QkFBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVO1lBQ25ELDBFQUEwRTtZQUMxRSw2RUFBNkU7WUFDN0UsZ0ZBQWdGO1lBQ2hGLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsY0FBYyxFQUFFLEtBQUssQ0FBQyx1QkFBdUI7Z0JBQzNDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyx1QkFBdUIsRUFBRTtnQkFDdEQsQ0FBQyxDQUFDLFNBQVM7WUFDYixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07U0FDaEUsQ0FBQyxDQUFDO1FBRUgsa0ZBQWtGO1FBQ2xGLGlGQUFpRjtRQUNqRiw4RUFBOEU7UUFDOUUscUVBQXFFO1FBQ3JFLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQW1DLENBQUM7WUFDdkUsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsd0JBQXdCLElBQUksSUFBSSx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDbkcsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLHdCQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMseUJBQU8sQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRSxjQUFjLEVBQUUseUJBQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUgsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pDLElBQUkseUJBQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxLQUFLLEVBQUUsRUFBRTtvQkFDbEQsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVTtvQkFDcEMsU0FBUyxFQUFFLEtBQUs7aUJBQ2pCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsc0RBQXNEO1FBQ3RELElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1lBQzVGLElBQUkseUJBQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUNyRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUNwQyxRQUFRLEVBQUUsS0FBSztnQkFDZixnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsZ0NBQWdDO2dCQUN4RSx1Q0FBdUMsRUFBRSxLQUFLLENBQUMsdUNBQXVDO2FBQ3ZGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLHlCQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLO2dCQUM1QyxTQUFTLEVBQUU7b0JBQ1QsT0FBTyxFQUFFLElBQUk7b0JBQ2IsTUFBTSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxLQUFLO29CQUMzQyxxRUFBcUU7aUJBQ3RFO2dCQUNELEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUU7b0JBQ3ZDLE1BQU0sRUFBRSxDQUFDLHlCQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSx5QkFBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUseUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUN6RixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7b0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDNUI7Z0JBQ0QsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixJQUFJLENBQUMseUJBQU8sQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUM7Z0JBQy9HLDBCQUEwQixFQUFFLElBQUk7Z0JBQ2hDLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUMzRSxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzdELGFBQWEsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsbUJBQW1CLEVBQUU7U0FDM0QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sb0JBQW9CLENBQUM7UUFFNUcsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDcEUsOEJBQThCLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixJQUFJLEtBQUs7Z0JBQzNFLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQjtvQkFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CO29CQUNoRCxvQkFBb0IsRUFBRSxJQUFJO2lCQUMzQixDQUFDLENBQUM7YUFDSixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxxQkFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQy9ELFNBQVMsRUFBRSxJQUFJLHFCQUFHLENBQUMsa0JBQWtCLENBQ25DLGdDQUFnQyxFQUNoQztvQkFDRSxjQUFjLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtvQkFDL0Usd0JBQXdCLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxlQUFlLEVBQUU7aUJBQ3BGLEVBQ0QsK0JBQStCLENBQ2hDO2dCQUNELGVBQWUsRUFBRSxHQUFHLENBQUMsZ0NBQWdDO2FBQ3RELENBQUMsQ0FBQztZQUVILElBQUkseUJBQU8sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQ25FLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUc7Z0JBQ3JDLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFO2FBQ3pELENBQUMsQ0FBQztZQUVILGdFQUFnRTtZQUNoRSxJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxJQUFJLHlCQUFPLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtvQkFDN0QsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRztvQkFDckMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0I7b0JBQ3hELFdBQVcsRUFBRSxLQUFLO29CQUNsQixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7aUJBQ2pDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBaExELGtEQWdMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIGF3c19jb2duaXRvIGFzIGNvZ25pdG8sXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfa21zIGFzIGttcyxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5cbnR5cGUgQWNjb3VudFRha2VvdmVyUmlza0NvbmZpZyA9IGNvZ25pdG8uQ2ZuVXNlclBvb2xSaXNrQ29uZmlndXJhdGlvbkF0dGFjaG1lbnQuQWNjb3VudFRha2VvdmVyUmlza0NvbmZpZ3VyYXRpb25UeXBlUHJvcGVydHk7XG50eXBlIENvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlnID0gY29nbml0by5DZm5Vc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudC5Db21wcm9taXNlZENyZWRlbnRpYWxzUmlza0NvbmZpZ3VyYXRpb25UeXBlUHJvcGVydHk7XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBmb3Igb25lIENvZ25pdG8gYXBwIGNsaWVudCAoZS5nLiBvbmUgYnJhbmQgb3Igb25lIGZyb250LWVuZCkuXG4gKiBQdWJsaWMgU1BBIGNsaWVudHM6IG5vIHNlY3JldCwgUEtDRSAoYXV0aG9yaXphdGlvbi1jb2RlIGdyYW50KSwgU1JQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZ25pdG9BcHBDbGllbnRTcGVjIHtcbiAgLyoqIExvZ2ljYWwga2V5IHVzZWQgYXMgdGhlIGNvbnN0cnVjdCBpZCBhbmQgdGhlIGtleSBpbiB7QGxpbmsgQ29nbml0b0N1c3RvbWVyUG9vbC51c2VyUG9vbENsaWVudHN9LiAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgLyoqIE9BdXRoMiBjYWxsYmFjayBVUkxzIGZvciB0aGlzIGNsaWVudCAodXNlZCBvbmx5IGJ5IHRoZSBzb2NpYWwvaG9zdGVkIHJlZGlyZWN0IGZsb3cpLiAqL1xuICByZWFkb25seSBjYWxsYmFja1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIExvZ291dCBVUkxzIGZvciB0aGlzIGNsaWVudC4gKi9cbiAgcmVhZG9ubHkgbG9nb3V0VXJscz86IHN0cmluZ1tdO1xuICAvKiogSWRlbnRpdHkgcHJvdmlkZXJzIHRoaXMgY2xpZW50IHN1cHBvcnRzLiBAZGVmYXVsdCBbQ09HTklUT10gKi9cbiAgcmVhZG9ubHkgc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlcnM/OiBjb2duaXRvLlVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlcltdO1xuICAvKiogR2VuZXJhdGUgYSBjbGllbnQgc2VjcmV0LiBAZGVmYXVsdCBmYWxzZSAocHVibGljIFNQQSBjbGllbnQpICovXG4gIHJlYWRvbmx5IGdlbmVyYXRlU2VjcmV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25hbCBDb2duaXRvIElkZW50aXR5IFBvb2wgKyBBQkFDIChhdHRyaWJ1dGVzLWZvci1hY2Nlc3MtY29udHJvbCkgY29uZmlnLlxuICogTWFwcyB0b2tlbiBjbGFpbXMgdG8gcHJpbmNpcGFsIHRhZ3Mgc28gZG93bnN0cmVhbSBJQU0gY2FuIHNjb3BlIG9uIHRoZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5UG9vbEFiYWNDb25maWcge1xuICAvKiogQWxsb3cgdW5hdXRoZW50aWNhdGVkIChndWVzdCkgaWRlbnRpdGllcy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVhZG9ubHkgYWxsb3dVbmF1dGhlbnRpY2F0ZWRJZGVudGl0aWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENsYWltIOKGkiBwcmluY2lwYWwtdGFnIG1hcHBpbmcsIGUuZy4gYHsgc3ViOiAnY3VzdG9tZXItaWQnIH1gLiBBcHBsaWVkIHRvIHRoZVxuICAgKiB1c2VyLXBvb2wgcHJvdmlkZXIgc28gYXV0aGVudGljYXRlZCBzZXNzaW9ucyBjYXJyeSB0aGVzZSBhcyBgYXdzOlByaW5jaXBhbFRhZy8qYC5cbiAgICovXG4gIHJlYWRvbmx5IHByaW5jaXBhbFRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogTWFuYWdlZCBwb2xpY2llcyBmb3IgdGhlIGF1dGhlbnRpY2F0ZWQgcm9sZS4gQGRlZmF1bHQgbm9uZSAoYXR0YWNoIHlvdXIgb3duKS4gKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRlZFJvbGVNYW5hZ2VkUG9saWNpZXM/OiBpYW0uSU1hbmFnZWRQb2xpY3lbXTtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3Ige0BsaW5rIENvZ25pdG9DdXN0b21lclBvb2x9LiBFdmVyeSB2YWx1ZSBpcyBnZW5lcmljIOKAlCBub1xuICogcHJvamVjdC9icmFuZC9kb21haW4gc3BlY2lmaWNzIGFyZSBiYWtlZCBpbjsgcGFzcyB0aGVtIGhlcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0N1c3RvbWVyUG9vbFByb3BzIHtcbiAgLyoqIFVzZXIgcG9vbCBuYW1lLiAqL1xuICByZWFkb25seSB1c2VyUG9vbE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBDb2duaXRvIGhvc3RlZC1VSSBkb21haW4gcHJlZml4IChnbG9iYWxseSB1bmlxdWUpLiAqL1xuICByZWFkb25seSBjb2duaXRvRG9tYWluUHJlZml4OiBzdHJpbmc7XG4gIC8qKiBBcHAgY2xpZW50cyB0byBjcmVhdGUgKHR5cGljYWxseSBvbmUgcGVyIGJyYW5kL2Zyb250LWVuZCkuIEF0IGxlYXN0IG9uZS4gKi9cbiAgcmVhZG9ubHkgYXBwQ2xpZW50czogQ29nbml0b0FwcENsaWVudFNwZWNbXTtcbiAgLyoqIEVuYWJsZSBzZWxmLXNlcnZpY2Ugc2lnbi11cC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVhZG9ubHkgc2VsZlNpZ25VcEVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTUZBIGVuZm9yY2VtZW50LiBAZGVmYXVsdCBSRVFVSVJFRCAqL1xuICByZWFkb25seSBtZmE/OiBjb2duaXRvLk1mYTtcbiAgLyoqIFNlY29uZCBmYWN0b3JzLiBAZGVmYXVsdCB7IG90cDogdHJ1ZSwgc21zOiBmYWxzZSB9ICovXG4gIHJlYWRvbmx5IG1mYVNlY29uZEZhY3Rvcj86IGNvZ25pdG8uTWZhU2Vjb25kRmFjdG9yO1xuICAvKiogUGFzc3dvcmQgcG9saWN5LiBAZGVmYXVsdCBtaW5MZW5ndGggMTIsIHVwcGVyL2xvd2VyL2RpZ2l0cy9zeW1ib2xzLiAqL1xuICByZWFkb25seSBwYXNzd29yZFBvbGljeT86IGNvZ25pdG8uUGFzc3dvcmRQb2xpY3k7XG4gIC8qKiBBZHZhbmNlZCBzZWN1cml0eSBtb2RlICh0aHJlYXQgcHJvdGVjdGlvbikuIEBkZWZhdWx0IE9GRiAqL1xuICByZWFkb25seSBhZHZhbmNlZFNlY3VyaXR5TW9kZT86IGNvZ25pdG8uQWR2YW5jZWRTZWN1cml0eU1vZGU7XG4gIC8qKiBTdGFuZGFyZCBhdHRyaWJ1dGVzIGNvbmZpZy4gKi9cbiAgcmVhZG9ubHkgc3RhbmRhcmRBdHRyaWJ1dGVzPzogY29nbml0by5TdGFuZGFyZEF0dHJpYnV0ZXM7XG4gIC8qKiBDdXN0b20gYXR0cmlidXRlcy4gKi9cbiAgcmVhZG9ubHkgY3VzdG9tQXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogY29nbml0by5JQ3VzdG9tQXR0cmlidXRlIH07XG4gIC8qKiBFbmFibGUgdGhlIENVU1RPTV9BVVRIIGZsb3cgb24gYXBwIGNsaWVudHMuIEBkZWZhdWx0IGZhbHNlICovXG4gIHJlYWRvbmx5IGVuYWJsZUN1c3RvbUF1dGhGbG93PzogYm9vbGVhbjtcbiAgLyoqIEFjY2VzcyB0b2tlbiB2YWxpZGl0eS4gQGRlZmF1bHQgMSBob3VyICovXG4gIHJlYWRvbmx5IGFjY2Vzc1Rva2VuVmFsaWRpdHk/OiBjb3JlLkR1cmF0aW9uO1xuICAvKiogSUQgdG9rZW4gdmFsaWRpdHkuIEBkZWZhdWx0IDEgaG91ciAqL1xuICByZWFkb25seSBpZFRva2VuVmFsaWRpdHk/OiBjb3JlLkR1cmF0aW9uO1xuICAvKiogUmVmcmVzaCB0b2tlbiB2YWxpZGl0eS4gQGRlZmF1bHQgMzAgZGF5cyAqL1xuICByZWFkb25seSByZWZyZXNoVG9rZW5WYWxpZGl0eT86IGNvcmUuRHVyYXRpb247XG4gIC8qKiBDb2duaXRvIGdyb3VwcyB0byBjcmVhdGUuICovXG4gIHJlYWRvbmx5IGdyb3Vwcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogUHJlLXRva2VuLWdlbmVyYXRpb24gTGFtYmRhIChWMikuIEBkZWZhdWx0IGEgYnVuZGxlZCBuby1vcCBsaWJyYXJ5IExhbWJkYSBpc1xuICAgKiBjcmVhdGVkLiBQYXNzIHlvdXIgb3duIHRvIGN1c3RvbWlzZSBlbWl0dGVkIGNsYWltcy5cbiAgICovXG4gIHJlYWRvbmx5IHByZVRva2VuR2VuZXJhdGlvbkxhbWJkYT86IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBFbmFibGUgZW1haWwgb25lLXRpbWUtcGFzc3dvcmQgKGBFTUFJTF9PVFBgKSBhcyB0aGUgTUZBIHNlY29uZCBmYWN0b3IsIGRlbGl2ZXJlZFxuICAgKiBieSB7QGxpbmsgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGF9LiBUaGlzIGlzIHNldCB2aWEgYW4gTDEgb3ZlcnJpZGUgb24gdGhlXG4gICAqIHVuZGVybHlpbmcgYENmblVzZXJQb29sYCAoYEVuYWJsZWRNZmFzOiBbJ0VNQUlMX09UUCddYCkgcmF0aGVyIHRoYW5cbiAgICogYG1mYVNlY29uZEZhY3Rvci5lbWFpbGAsIGJlY2F1c2UgdGhlIENESyBMMiByZXF1aXJlcyBhIG1hbmFnZWQgKGBERVZFTE9QRVJgKSBTRVNcbiAgICogYGVtYWlsYCBjb25maWcgZm9yIGBtZmFTZWNvbmRGYWN0b3IuZW1haWxgIOKAlCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhXG4gICAqIGN1c3RvbS1lbWFpbC1zZW5kZXItb25seSBkZWxpdmVyeSBwYXRoLiBSZXF1aXJlcyB7QGxpbmsgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGF9XG4gICAqIGFuZCB7QGxpbmsgY3VzdG9tU2VuZGVyS21zS2V5fSwgYW5kIGEgcG9vbCBmZWF0dXJlIHBsYW4gb2YgRXNzZW50aWFscyBvciBoaWdoZXIuXG4gICAqIFdoZW4gdHJ1ZSwgYW55IGBvdHBgL2BzbXNgIGluIHtAbGluayBtZmFTZWNvbmRGYWN0b3J9IGlzIGlnbm9yZWQg4oCUIEVNQUlMX09UUCBpc1xuICAgKiB0aGUgc29sZSBmYWN0b3IuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbWFpbE90cE1mYT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gRW1haWwgU2VuZGVyIExhbWJkYS4gV2hlbiBzZXQgKHRvZ2V0aGVyIHdpdGgge0BsaW5rIGN1c3RvbVNlbmRlckttc0tleX0pLFxuICAgKiBpdCBpcyB3aXJlZCB0byB0aGUgcG9vbCB2aWEgdGhlIGBDVVNUT01fRU1BSUxfU0VOREVSYCB0cmlnZ2VyIGFuZCBDb2duaXRvXG4gICAqIGRlbGl2ZXJzIGFsbCBjdXN0b21lciBlbWFpbHMgKE1GQSBjb2RlcywgdmVyaWZpY2F0aW9uLCB0ZW1wb3JhcnkgcGFzc3dvcmRzKVxuICAgKiB0aHJvdWdoIHRoaXMgTGFtYmRhIGluc3RlYWQgb2YgaXRzIGRlZmF1bHQgc2VuZGVyIG9yIGEgbWFuYWdlZCBTRVMgc2VuZGVyLlxuICAgKiBDb2duaXRvIGVuY3J5cHRzIGVhY2ggY29kZSB0byB7QGxpbmsgY3VzdG9tU2VuZGVyS21zS2V5fTsgdGhlIExhbWJkYSBkZWNyeXB0c1xuICAgKiBpdCB3aXRoIHRoZSBBV1MgRW5jcnlwdGlvbiBTREsgYmVmb3JlIHNlbmRpbmcuIFJlcXVpcmVzIHtAbGluayBjdXN0b21TZW5kZXJLbXNLZXl9LlxuICAgKiBAZGVmYXVsdCAtIENvZ25pdG8ncyBkZWZhdWx0IGVtYWlsIGRlbGl2ZXJ5XG4gICAqL1xuICByZWFkb25seSBjdXN0b21FbWFpbFNlbmRlckxhbWJkYT86IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBTeW1tZXRyaWMgS01TIGtleSBDb2duaXRvIHVzZXMgdG8gZW5jcnlwdCBjb2RlcyBmb3Ige0BsaW5rIGN1c3RvbUVtYWlsU2VuZGVyTGFtYmRhfS5cbiAgICogUmVxdWlyZWQgd2hlbiBhIGN1c3RvbSBlbWFpbCBzZW5kZXIgaXMgcHJvdmlkZWQ7IGlnbm9yZWQgb3RoZXJ3aXNlLiBDb2duaXRvIGlzXG4gICAqIGdyYW50ZWQgZW5jcnlwdC9kZWNyeXB0IG9uIGl0OyB0aGUgTGFtYmRhIG11c3QgYmUgc2VwYXJhdGVseSBncmFudGVkIGRlY3J5cHQuXG4gICAqIEBkZWZhdWx0IC0gbm8ga2V5IChvbmx5IHZhbGlkIHdoZW4gbm8gY3VzdG9tIGVtYWlsIHNlbmRlciBpcyBzZXQpXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TZW5kZXJLbXNLZXk/OiBrbXMuSUtleTtcbiAgLyoqXG4gICAqIEwxIGFjY291bnQtdGFrZW92ZXIgcmlzayBjb25maWd1cmF0aW9uIChyZXF1aXJlcyB7QGxpbmsgYWR2YW5jZWRTZWN1cml0eU1vZGV9XG4gICAqIEVORk9SQ0VEL0FVRElUKS4gUGFzc2VkIHRocm91Z2ggdG8gQ2ZuVXNlclBvb2xSaXNrQ29uZmlndXJhdGlvbkF0dGFjaG1lbnQuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50VGFrZW92ZXJSaXNrQ29uZmlndXJhdGlvbj86IEFjY291bnRUYWtlb3ZlclJpc2tDb25maWc7XG4gIC8qKiBMMSBjb21wcm9taXNlZC1jcmVkZW50aWFscyByaXNrIGNvbmZpZ3VyYXRpb24uICovXG4gIHJlYWRvbmx5IGNvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlndXJhdGlvbj86IENvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlnO1xuICAvKiogT3B0aW9uYWwgaWRlbnRpdHkgcG9vbCArIEFCQUMgY29uZmlndXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlQb29sPzogQ29nbml0b0lkZW50aXR5UG9vbEFiYWNDb25maWc7XG4gIC8qKiBSZW1vdmFsIHBvbGljeSBmb3IgdGhlIHBvb2wuIEBkZWZhdWx0IFJFVEFJTiAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY29yZS5SZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEEgZ2VuZXJpYywgcmV1c2FibGUgc2VjdXJlIENvZ25pdG8gKipjdXN0b21lcioqIHVzZXIgcG9vbCBmb3IgdGhlIGN1c3RvbS1VSVxuICogKGNsaWVudC1zaWRlIFNSUCkgYXV0aGVudGljYXRpb24gcGF0dGVybjogcHVibGljIFBLQ0UgYXBwIGNsaWVudHMsIE1GQSxcbiAqIHN0cm9uZyBwYXNzd29yZCBwb2xpY3ksIG9wdGlvbmFsIGFkdmFuY2VkLXNlY3VyaXR5IHRocmVhdCBwcm90ZWN0aW9uLFxuICogcGVyLWNsaWVudCAocGVyLWJyYW5kKSBhcHAgY2xpZW50cywgYW5kIGFuIG9wdGlvbmFsIGlkZW50aXR5IHBvb2wgd2l0aCBBQkFDLlxuICpcbiAqIFByb3Zpc2lvbnMgT05MWSB0aGUgaWRlbnRpdHkgcHJvdmlkZXIuIEl0IGtub3dzIG5vdGhpbmcgYWJvdXQgQ2xvdWRGcm9udCxcbiAqIHNlc3Npb25zLCBvciBhbnkgc3BlY2lmaWMgcHJvamVjdCDigJQgcGFpciBpdCB3aXRoIGBDb2duaXRvU2Vzc2lvbkJhY2tlbmRgXG4gKiAoc2Vzc2lvbiBzdWJzdHJhdGUpIGFuZCBgQ29nbml0b0N1c3RvbVVpQXV0aGAgKGVkZ2UvQ0ROKS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZ25pdG9DdXN0b21lclBvb2wgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbDogY29nbml0by5Vc2VyUG9vbDtcbiAgLyoqIEFwcCBjbGllbnRzIGtleWVkIGJ5IHtAbGluayBDb2duaXRvQXBwQ2xpZW50U3BlYy5rZXl9LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xDbGllbnRzOiBSZWNvcmQ8c3RyaW5nLCBjb2duaXRvLlVzZXJQb29sQ2xpZW50PjtcbiAgLyoqIFRoZSBmaXJzdCBhcHAgY2xpZW50LCBmb3IgY29udmVuaWVuY2UuICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbENsaWVudDogY29nbml0by5Vc2VyUG9vbENsaWVudDtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sRG9tYWluOiBjb2duaXRvLlVzZXJQb29sRG9tYWluO1xuICAvKiogSG9zdGVkLVVJIGRvbWFpbiBVUkwsIGUuZy4gYDxwcmVmaXg+LmF1dGguPHJlZ2lvbj4uYW1hem9uY29nbml0by5jb21gLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29nbml0b0RvbWFpblVybDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaWRlbnRpdHlQb29sPzogY29nbml0by5DZm5JZGVudGl0eVBvb2w7XG4gIHB1YmxpYyByZWFkb25seSBhdXRoZW50aWNhdGVkUm9sZT86IGlhbS5Sb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZ25pdG9DdXN0b21lclBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmFwcENsaWVudHMgfHwgcHJvcHMuYXBwQ2xpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29nbml0b0N1c3RvbWVyUG9vbCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgYXBwIGNsaWVudCcpO1xuICAgIH1cblxuICAgIGlmICgocHJvcHMuY3VzdG9tRW1haWxTZW5kZXJMYW1iZGEgPT09IHVuZGVmaW5lZCkgIT09IChwcm9wcy5jdXN0b21TZW5kZXJLbXNLZXkgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvZ25pdG9DdXN0b21lclBvb2w6IGN1c3RvbUVtYWlsU2VuZGVyTGFtYmRhIGFuZCBjdXN0b21TZW5kZXJLbXNLZXkgbXVzdCBiZSBwcm92aWRlZCB0b2dldGhlciDigJQgJ1xuICAgICAgICArICdhIGN1c3RvbSBlbWFpbCBzZW5kZXIgcmVxdWlyZXMgYSBLTVMga2V5IGZvciBDb2duaXRvIHRvIGVuY3J5cHQgY29kZXMgdG8sIGFuZCB0aGUga2V5IGlzIHVudXNlZCB3aXRob3V0IHRoZSBMYW1iZGEuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmVtYWlsT3RwTWZhICYmICFwcm9wcy5jdXN0b21FbWFpbFNlbmRlckxhbWJkYSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ29nbml0b0N1c3RvbWVyUG9vbDogZW1haWxPdHBNZmEgcmVxdWlyZXMgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGEgKGFuZCBjdXN0b21TZW5kZXJLbXNLZXkpIOKAlCAnXG4gICAgICAgICsgJ0VNQUlMX09UUCBjb2RlcyBhcmUgZGVsaXZlcmVkIGJ5IHRoZSBjdXN0b20gZW1haWwgc2VuZGVyLCBzbyBlbWFpbCBNRkEgY2Fubm90IGJlIGVuYWJsZWQgd2l0aG91dCBpdC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBXaXRoIGVtYWlsT3RwTWZhLCBFTUFJTF9PVFAgaXMgdGhlIHNvbGUgZmFjdG9yIGFuZCBpcyBhcHBsaWVkIHZpYSBhbiBMMVxuICAgIC8vIG92ZXJyaWRlIGJlbG93OyBkbyBOT1QgcGFzcyBtZmFTZWNvbmRGYWN0b3IuZW1haWwgdG8gdGhlIEwyIChpdHMgdmFsaWRhdGVFbWFpbE1mYVxuICAgIC8vIGRlbWFuZHMgYSBtYW5hZ2VkIERFVkVMT1BFUiBTRVMgY29uZmlnLCB3aGljaCB0aGUgY3VzdG9tLXNlbmRlciBwYXRoIGF2b2lkcykuXG4gICAgY29uc3QgbDJNZmFTZWNvbmRGYWN0b3IgPSBwcm9wcy5lbWFpbE90cE1mYVxuICAgICAgPyB7IG90cDogZmFsc2UsIHNtczogZmFsc2UgfVxuICAgICAgOiAocHJvcHMubWZhU2Vjb25kRmFjdG9yID8/IHsgb3RwOiB0cnVlLCBzbXM6IGZhbHNlIH0pO1xuXG4gICAgdGhpcy51c2VyUG9vbCA9IG5ldyBjb2duaXRvLlVzZXJQb29sKHRoaXMsICdVc2VyUG9vbCcsIHtcbiAgICAgIHVzZXJQb29sTmFtZTogcHJvcHMudXNlclBvb2xOYW1lLFxuICAgICAgc2VsZlNpZ25VcEVuYWJsZWQ6IHByb3BzLnNlbGZTaWduVXBFbmFibGVkID8/IGZhbHNlLFxuICAgICAgc2lnbkluQWxpYXNlczogeyBlbWFpbDogdHJ1ZSB9LFxuICAgICAgc2lnbkluQ2FzZVNlbnNpdGl2ZTogZmFsc2UsXG4gICAgICBtZmE6IHByb3BzLm1mYSA/PyBjb2duaXRvLk1mYS5SRVFVSVJFRCxcbiAgICAgIG1mYVNlY29uZEZhY3RvcjogbDJNZmFTZWNvbmRGYWN0b3IsXG4gICAgICBwYXNzd29yZFBvbGljeTogcHJvcHMucGFzc3dvcmRQb2xpY3kgPz8ge1xuICAgICAgICBtaW5MZW5ndGg6IDEyLFxuICAgICAgICByZXF1aXJlTG93ZXJjYXNlOiB0cnVlLFxuICAgICAgICByZXF1aXJlVXBwZXJjYXNlOiB0cnVlLFxuICAgICAgICByZXF1aXJlRGlnaXRzOiB0cnVlLFxuICAgICAgICByZXF1aXJlU3ltYm9sczogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBhZHZhbmNlZFNlY3VyaXR5TW9kZTogcHJvcHMuYWR2YW5jZWRTZWN1cml0eU1vZGUgPz8gY29nbml0by5BZHZhbmNlZFNlY3VyaXR5TW9kZS5PRkYsXG4gICAgICBzdGFuZGFyZEF0dHJpYnV0ZXM6IHByb3BzLnN0YW5kYXJkQXR0cmlidXRlcyxcbiAgICAgIGN1c3RvbUF0dHJpYnV0ZXM6IHByb3BzLmN1c3RvbUF0dHJpYnV0ZXMsXG4gICAgICBhdXRvVmVyaWZ5OiB7IGVtYWlsOiB0cnVlIH0sXG4gICAgICBhY2NvdW50UmVjb3Zlcnk6IGNvZ25pdG8uQWNjb3VudFJlY292ZXJ5LkVNQUlMX09OTFksXG4gICAgICAvLyBDdXN0b20gRW1haWwgU2VuZGVyOiB3aGVuIHByb3ZpZGVkLCBDb2duaXRvIHJvdXRlcyBldmVyeSBjdXN0b21lciBlbWFpbFxuICAgICAgLy8gdGhyb3VnaCB0aGlzIExhbWJkYSBhbmQgZW5jcnlwdHMgY29kZXMgdG8gY3VzdG9tU2VuZGVyS21zS2V5LiBCb3RoIG11c3QgYmVcbiAgICAgIC8vIHNldCBvbiB0aGUgcG9vbCBhdCBjb25zdHJ1Y3Rpb24g4oCUIHRoZSBLTVMga2V5IGlzIG5vdCBzZXR0YWJsZSB2aWEgYWRkVHJpZ2dlci5cbiAgICAgIGN1c3RvbVNlbmRlckttc0tleTogcHJvcHMuY3VzdG9tU2VuZGVyS21zS2V5LFxuICAgICAgbGFtYmRhVHJpZ2dlcnM6IHByb3BzLmN1c3RvbUVtYWlsU2VuZGVyTGFtYmRhXG4gICAgICAgID8geyBjdXN0b21FbWFpbFNlbmRlcjogcHJvcHMuY3VzdG9tRW1haWxTZW5kZXJMYW1iZGEgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLnJlbW92YWxQb2xpY3kgPz8gY29yZS5SZW1vdmFsUG9saWN5LlJFVEFJTixcbiAgICB9KTtcblxuICAgIC8vIEwxIGVzY2FwZSBoYXRjaDogZW5hYmxlIEVNQUlMX09UUCBhcyB0aGUgb25seSBNRkEgZmFjdG9yLiBUaGUgTDIgY2Fubm90IGV4cHJlc3NcbiAgICAvLyBcImVtYWlsIE1GQSBkZWxpdmVyZWQgc29sZWx5IGJ5IGEgY3VzdG9tIHNlbmRlclwiIChzZWUgZW1haWxPdHBNZmEgZG9jcyksIHNvIHNldFxuICAgIC8vIEVuYWJsZWRNZmFzIGRpcmVjdGx5IG9uIHRoZSB1bmRlcmx5aW5nIENmblVzZXJQb29sLiBUaGUgY3VzdG9tIGVtYWlsIHNlbmRlclxuICAgIC8vIGRlbGl2ZXJzIHRoZSBjb2RlOyBubyBtYW5hZ2VkIFNFUyBlbWFpbCBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkLlxuICAgIGlmIChwcm9wcy5lbWFpbE90cE1mYSkge1xuICAgICAgY29uc3QgY2ZuUG9vbCA9IHRoaXMudXNlclBvb2wubm9kZS5kZWZhdWx0Q2hpbGQgYXMgY29nbml0by5DZm5Vc2VyUG9vbDtcbiAgICAgIGNmblBvb2wuZW5hYmxlZE1mYXMgPSBbJ0VNQUlMX09UUCddO1xuICAgIH1cblxuICAgIGNvbnN0IHByZVRva2VuTGFtYmRhID0gcHJvcHMucHJlVG9rZW5HZW5lcmF0aW9uTGFtYmRhID8/IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgJ1ByZVRva2VuTGFtYmRhJywge1xuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTIsXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2xhbWJkYS9wcmUtdG9rZW4nKSksXG4gICAgICB0aW1lb3V0OiBjb3JlLkR1cmF0aW9uLnNlY29uZHMoNSksXG4gICAgfSk7XG4gICAgdGhpcy51c2VyUG9vbC5hZGRUcmlnZ2VyKGNvZ25pdG8uVXNlclBvb2xPcGVyYXRpb24uUFJFX1RPS0VOX0dFTkVSQVRJT05fQ09ORklHLCBwcmVUb2tlbkxhbWJkYSwgY29nbml0by5MYW1iZGFWZXJzaW9uLlYyXzApO1xuXG4gICAgaWYgKHByb3BzLmdyb3Vwcykge1xuICAgICAgZm9yIChjb25zdCBncm91cCBvZiBwcm9wcy5ncm91cHMpIHtcbiAgICAgICAgbmV3IGNvZ25pdG8uQ2ZuVXNlclBvb2xHcm91cCh0aGlzLCBgR3JvdXAke2dyb3VwfWAsIHtcbiAgICAgICAgICB1c2VyUG9vbElkOiB0aGlzLnVzZXJQb29sLnVzZXJQb29sSWQsXG4gICAgICAgICAgZ3JvdXBOYW1lOiBncm91cCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3B0aW9uYWwgYWR2YW5jZWQtc2VjdXJpdHkgcmlzayBjb25maWd1cmF0aW9uIChMMSkuXG4gICAgaWYgKHByb3BzLmFjY291bnRUYWtlb3ZlclJpc2tDb25maWd1cmF0aW9uIHx8IHByb3BzLmNvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlndXJhdGlvbikge1xuICAgICAgbmV3IGNvZ25pdG8uQ2ZuVXNlclBvb2xSaXNrQ29uZmlndXJhdGlvbkF0dGFjaG1lbnQodGhpcywgJ1Jpc2tDb25maWcnLCB7XG4gICAgICAgIHVzZXJQb29sSWQ6IHRoaXMudXNlclBvb2wudXNlclBvb2xJZCxcbiAgICAgICAgY2xpZW50SWQ6ICdBTEwnLFxuICAgICAgICBhY2NvdW50VGFrZW92ZXJSaXNrQ29uZmlndXJhdGlvbjogcHJvcHMuYWNjb3VudFRha2VvdmVyUmlza0NvbmZpZ3VyYXRpb24sXG4gICAgICAgIGNvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlndXJhdGlvbjogcHJvcHMuY29tcHJvbWlzZWRDcmVkZW50aWFsc1Jpc2tDb25maWd1cmF0aW9uLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy51c2VyUG9vbENsaWVudHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHNwZWMgb2YgcHJvcHMuYXBwQ2xpZW50cykge1xuICAgICAgY29uc3QgY2xpZW50ID0gbmV3IGNvZ25pdG8uVXNlclBvb2xDbGllbnQodGhpcywgYENsaWVudCR7c3BlYy5rZXl9YCwge1xuICAgICAgICB1c2VyUG9vbDogdGhpcy51c2VyUG9vbCxcbiAgICAgICAgZ2VuZXJhdGVTZWNyZXQ6IHNwZWMuZ2VuZXJhdGVTZWNyZXQgPz8gZmFsc2UsXG4gICAgICAgIGF1dGhGbG93czoge1xuICAgICAgICAgIHVzZXJTcnA6IHRydWUsXG4gICAgICAgICAgY3VzdG9tOiBwcm9wcy5lbmFibGVDdXN0b21BdXRoRmxvdyA/PyBmYWxzZSxcbiAgICAgICAgICAvLyB1c2VyUGFzc3dvcmQgLyBhZG1pblVzZXJQYXNzd29yZCBpbnRlbnRpb25hbGx5IG9taXR0ZWQgKGRpc2FibGVkKS5cbiAgICAgICAgfSxcbiAgICAgICAgb0F1dGg6IHtcbiAgICAgICAgICBmbG93czogeyBhdXRob3JpemF0aW9uQ29kZUdyYW50OiB0cnVlIH0sXG4gICAgICAgICAgc2NvcGVzOiBbY29nbml0by5PQXV0aFNjb3BlLk9QRU5JRCwgY29nbml0by5PQXV0aFNjb3BlLkVNQUlMLCBjb2duaXRvLk9BdXRoU2NvcGUuUFJPRklMRV0sXG4gICAgICAgICAgY2FsbGJhY2tVcmxzOiBzcGVjLmNhbGxiYWNrVXJscyxcbiAgICAgICAgICBsb2dvdXRVcmxzOiBzcGVjLmxvZ291dFVybHMsXG4gICAgICAgIH0sXG4gICAgICAgIHN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJzOiBzcGVjLnN1cHBvcnRlZElkZW50aXR5UHJvdmlkZXJzID8/IFtjb2duaXRvLlVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlci5DT0dOSVRPXSxcbiAgICAgICAgcHJldmVudFVzZXJFeGlzdGVuY2VFcnJvcnM6IHRydWUsXG4gICAgICAgIGVuYWJsZVRva2VuUmV2b2NhdGlvbjogdHJ1ZSxcbiAgICAgICAgYWNjZXNzVG9rZW5WYWxpZGl0eTogcHJvcHMuYWNjZXNzVG9rZW5WYWxpZGl0eSA/PyBjb3JlLkR1cmF0aW9uLmhvdXJzKDEpLFxuICAgICAgICBpZFRva2VuVmFsaWRpdHk6IHByb3BzLmlkVG9rZW5WYWxpZGl0eSA/PyBjb3JlLkR1cmF0aW9uLmhvdXJzKDEpLFxuICAgICAgICByZWZyZXNoVG9rZW5WYWxpZGl0eTogcHJvcHMucmVmcmVzaFRva2VuVmFsaWRpdHkgPz8gY29yZS5EdXJhdGlvbi5kYXlzKDMwKSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy51c2VyUG9vbENsaWVudHNbc3BlYy5rZXldID0gY2xpZW50O1xuICAgIH1cbiAgICB0aGlzLnVzZXJQb29sQ2xpZW50ID0gdGhpcy51c2VyUG9vbENsaWVudHNbcHJvcHMuYXBwQ2xpZW50c1swXS5rZXldO1xuXG4gICAgdGhpcy51c2VyUG9vbERvbWFpbiA9IHRoaXMudXNlclBvb2wuYWRkRG9tYWluKCdDb2duaXRvRG9tYWluJywge1xuICAgICAgY29nbml0b0RvbWFpbjogeyBkb21haW5QcmVmaXg6IHByb3BzLmNvZ25pdG9Eb21haW5QcmVmaXggfSxcbiAgICB9KTtcbiAgICB0aGlzLmNvZ25pdG9Eb21haW5VcmwgPSBgJHtwcm9wcy5jb2duaXRvRG9tYWluUHJlZml4fS5hdXRoLiR7Y29yZS5TdGFjay5vZih0aGlzKS5yZWdpb259LmFtYXpvbmNvZ25pdG8uY29tYDtcblxuICAgIGlmIChwcm9wcy5pZGVudGl0eVBvb2wpIHtcbiAgICAgIGNvbnN0IGlkcCA9IHByb3BzLmlkZW50aXR5UG9vbDtcbiAgICAgIHRoaXMuaWRlbnRpdHlQb29sID0gbmV3IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sKHRoaXMsICdJZGVudGl0eVBvb2wnLCB7XG4gICAgICAgIGFsbG93VW5hdXRoZW50aWNhdGVkSWRlbnRpdGllczogaWRwLmFsbG93VW5hdXRoZW50aWNhdGVkSWRlbnRpdGllcyA/PyBmYWxzZSxcbiAgICAgICAgY29nbml0b0lkZW50aXR5UHJvdmlkZXJzOiBwcm9wcy5hcHBDbGllbnRzLm1hcChzcGVjID0+ICh7XG4gICAgICAgICAgY2xpZW50SWQ6IHRoaXMudXNlclBvb2xDbGllbnRzW3NwZWMua2V5XS51c2VyUG9vbENsaWVudElkLFxuICAgICAgICAgIHByb3ZpZGVyTmFtZTogdGhpcy51c2VyUG9vbC51c2VyUG9vbFByb3ZpZGVyTmFtZSxcbiAgICAgICAgICBzZXJ2ZXJTaWRlVG9rZW5DaGVjazogdHJ1ZSxcbiAgICAgICAgfSkpLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXV0aGVudGljYXRlZFJvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgJ0F1dGhlbnRpY2F0ZWRSb2xlJywge1xuICAgICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uRmVkZXJhdGVkUHJpbmNpcGFsKFxuICAgICAgICAgICdjb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb20nLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICdTdHJpbmdFcXVhbHMnOiB7ICdjb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb206YXVkJzogdGhpcy5pZGVudGl0eVBvb2wucmVmIH0sXG4gICAgICAgICAgICAnRm9yQW55VmFsdWU6U3RyaW5nTGlrZSc6IHsgJ2NvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbTphbXInOiAnYXV0aGVudGljYXRlZCcgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgICdzdHM6QXNzdW1lUm9sZVdpdGhXZWJJZGVudGl0eScsXG4gICAgICAgICksXG4gICAgICAgIG1hbmFnZWRQb2xpY2llczogaWRwLmF1dGhlbnRpY2F0ZWRSb2xlTWFuYWdlZFBvbGljaWVzLFxuICAgICAgfSk7XG5cbiAgICAgIG5ldyBjb2duaXRvLkNmbklkZW50aXR5UG9vbFJvbGVBdHRhY2htZW50KHRoaXMsICdJZGVudGl0eVBvb2xSb2xlcycsIHtcbiAgICAgICAgaWRlbnRpdHlQb29sSWQ6IHRoaXMuaWRlbnRpdHlQb29sLnJlZixcbiAgICAgICAgcm9sZXM6IHsgYXV0aGVudGljYXRlZDogdGhpcy5hdXRoZW50aWNhdGVkUm9sZS5yb2xlQXJuIH0sXG4gICAgICB9KTtcblxuICAgICAgLy8gQUJBQzogbWFwIGNsYWltcyB0byBwcmluY2lwYWwgdGFncyBvbiB0aGUgdXNlci1wb29sIHByb3ZpZGVyLlxuICAgICAgaWYgKGlkcC5wcmluY2lwYWxUYWdzICYmIE9iamVjdC5rZXlzKGlkcC5wcmluY2lwYWxUYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIG5ldyBjb2duaXRvLkNmbklkZW50aXR5UG9vbFByaW5jaXBhbFRhZyh0aGlzLCAnUHJpbmNpcGFsVGFncycsIHtcbiAgICAgICAgICBpZGVudGl0eVBvb2xJZDogdGhpcy5pZGVudGl0eVBvb2wucmVmLFxuICAgICAgICAgIGlkZW50aXR5UHJvdmlkZXJOYW1lOiB0aGlzLnVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJOYW1lLFxuICAgICAgICAgIHVzZURlZmF1bHRzOiBmYWxzZSxcbiAgICAgICAgICBwcmluY2lwYWxUYWdzOiBpZHAucHJpbmNpcGFsVGFncyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0b0N1c3RvbWVyUG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbG91ZGZyb250L3BhdHRlcm5zL2NvZ25pdG9DdXN0b21lclBvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQTZCO0FBQzdCLGtEQUFvQztBQUNwQyw2Q0FLcUI7QUFDckIsdURBQXlDO0FBeUh6Qzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBWTNELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDbEYsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsdUJBQXVCLEtBQUssU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEtBQUssU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUMvRixNQUFNLElBQUksS0FBSyxDQUNiLGtHQUFrRztrQkFDaEcscUhBQXFILENBQ3hILENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRkFBK0Y7a0JBQzdGLHNHQUFzRyxDQUN6RyxDQUFDO1FBQ0osQ0FBQztRQUVELDBFQUEwRTtRQUMxRSxvRkFBb0Y7UUFDcEYsZ0ZBQWdGO1FBQ2hGLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLFdBQVc7WUFDekMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQzVCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpELHlFQUF5RTtRQUN6RSw2RUFBNkU7UUFDN0UsZ0ZBQWdGO1FBQ2hGLG1GQUFtRjtRQUNuRiw2RUFBNkU7UUFDN0Usb0VBQW9FO1FBQ3BFLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxXQUFXO1lBQ3ZDLENBQUMsQ0FBQyx5QkFBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJO1lBQzlCLENBQUMsQ0FBQyx5QkFBTyxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFFdkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHlCQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDckQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxLQUFLO1lBQ25ELGFBQWEsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDOUIsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSx5QkFBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRO1lBQ3RDLGVBQWUsRUFBRSxpQkFBaUI7WUFDbEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUk7Z0JBQ3RDLFNBQVMsRUFBRSxFQUFFO2dCQUNiLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLGdCQUFnQixFQUFFLElBQUk7Z0JBQ3RCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixjQUFjLEVBQUUsSUFBSTthQUNyQjtZQUNELG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSx5QkFBTyxDQUFDLG9CQUFvQixDQUFDLEdBQUc7WUFDcEYsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7WUFDM0IsZUFBZTtZQUNmLDBFQUEwRTtZQUMxRSw2RUFBNkU7WUFDN0UsZ0ZBQWdGO1lBQ2hGLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsY0FBYyxFQUFFLEtBQUssQ0FBQyx1QkFBdUI7Z0JBQzNDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyx1QkFBdUIsRUFBRTtnQkFDdEQsQ0FBQyxDQUFDLFNBQVM7WUFDYixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU07U0FDaEUsQ0FBQyxDQUFDO1FBRUgsa0ZBQWtGO1FBQ2xGLGlGQUFpRjtRQUNqRiw4RUFBOEU7UUFDOUUscUVBQXFFO1FBQ3JFLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQW1DLENBQUM7WUFDdkUsT0FBTyxDQUFDLFdBQVcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RDLENBQUM7UUFFRCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsd0JBQXdCLElBQUksSUFBSSx3QkFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDbkcsT0FBTyxFQUFFLHdCQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDbkMsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLHdCQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1lBQ3hFLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDbEMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMseUJBQU8sQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsRUFBRSxjQUFjLEVBQUUseUJBQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUgsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2pDLElBQUkseUJBQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxLQUFLLEVBQUUsRUFBRTtvQkFDbEQsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVTtvQkFDcEMsU0FBUyxFQUFFLEtBQUs7aUJBQ2pCLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO1FBRUQsc0RBQXNEO1FBQ3RELElBQUksS0FBSyxDQUFDLGdDQUFnQyxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDO1lBQzVGLElBQUkseUJBQU8sQ0FBQyxzQ0FBc0MsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO2dCQUNyRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUNwQyxRQUFRLEVBQUUsS0FBSztnQkFDZixnQ0FBZ0MsRUFBRSxLQUFLLENBQUMsZ0NBQWdDO2dCQUN4RSx1Q0FBdUMsRUFBRSxLQUFLLENBQUMsdUNBQXVDO2FBQ3ZGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLHlCQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLElBQUksQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbkUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2dCQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLO2dCQUM1QyxTQUFTLEVBQUU7b0JBQ1QsT0FBTyxFQUFFLElBQUk7b0JBQ2IsTUFBTSxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsSUFBSSxLQUFLO29CQUMzQyxxRUFBcUU7aUJBQ3RFO2dCQUNELEtBQUssRUFBRTtvQkFDTCxLQUFLLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUU7b0JBQ3ZDLE1BQU0sRUFBRSxDQUFDLHlCQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSx5QkFBTyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUseUJBQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUN6RixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7b0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDNUI7Z0JBQ0QsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixJQUFJLENBQUMseUJBQU8sQ0FBQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUM7Z0JBQy9HLDBCQUEwQixFQUFFLElBQUk7Z0JBQ2hDLHFCQUFxQixFQUFFLElBQUk7Z0JBQzNCLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUMzRSxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDMUMsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsZUFBZSxFQUFFO1lBQzdELGFBQWEsRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsbUJBQW1CLEVBQUU7U0FDM0QsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sb0JBQW9CLENBQUM7UUFFNUcsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUkseUJBQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDcEUsOEJBQThCLEVBQUUsR0FBRyxDQUFDLDhCQUE4QixJQUFJLEtBQUs7Z0JBQzNFLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDdEQsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQjtvQkFDekQsWUFBWSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CO29CQUNoRCxvQkFBb0IsRUFBRSxJQUFJO2lCQUMzQixDQUFDLENBQUM7YUFDSixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxxQkFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQy9ELFNBQVMsRUFBRSxJQUFJLHFCQUFHLENBQUMsa0JBQWtCLENBQ25DLGdDQUFnQyxFQUNoQztvQkFDRSxjQUFjLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtvQkFDL0Usd0JBQXdCLEVBQUUsRUFBRSxvQ0FBb0MsRUFBRSxlQUFlLEVBQUU7aUJBQ3BGLEVBQ0QsK0JBQStCLENBQ2hDO2dCQUNELGVBQWUsRUFBRSxHQUFHLENBQUMsZ0NBQWdDO2FBQ3RELENBQUMsQ0FBQztZQUVILElBQUkseUJBQU8sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7Z0JBQ25FLGNBQWMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUc7Z0JBQ3JDLEtBQUssRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFO2FBQ3pELENBQUMsQ0FBQztZQUVILGdFQUFnRTtZQUNoRSxJQUFJLEdBQUcsQ0FBQyxhQUFhLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxJQUFJLHlCQUFPLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtvQkFDN0QsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRztvQkFDckMsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0I7b0JBQ3hELFdBQVcsRUFBRSxLQUFLO29CQUNsQixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7aUJBQ2pDLENBQUMsQ0FBQztZQUNMLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBMUxELGtEQTBMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjb3JlIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIGF3c19jb2duaXRvIGFzIGNvZ25pdG8sXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3Nfa21zIGFzIGttcyxcbiAgYXdzX2xhbWJkYSBhcyBsYW1iZGEsXG59IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSAnY29uc3RydWN0cyc7XG5cbnR5cGUgQWNjb3VudFRha2VvdmVyUmlza0NvbmZpZyA9IGNvZ25pdG8uQ2ZuVXNlclBvb2xSaXNrQ29uZmlndXJhdGlvbkF0dGFjaG1lbnQuQWNjb3VudFRha2VvdmVyUmlza0NvbmZpZ3VyYXRpb25UeXBlUHJvcGVydHk7XG50eXBlIENvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlnID0gY29nbml0by5DZm5Vc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudC5Db21wcm9taXNlZENyZWRlbnRpYWxzUmlza0NvbmZpZ3VyYXRpb25UeXBlUHJvcGVydHk7XG5cbi8qKlxuICogU3BlY2lmaWNhdGlvbiBmb3Igb25lIENvZ25pdG8gYXBwIGNsaWVudCAoZS5nLiBvbmUgYnJhbmQgb3Igb25lIGZyb250LWVuZCkuXG4gKiBQdWJsaWMgU1BBIGNsaWVudHM6IG5vIHNlY3JldCwgUEtDRSAoYXV0aG9yaXphdGlvbi1jb2RlIGdyYW50KSwgU1JQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZ25pdG9BcHBDbGllbnRTcGVjIHtcbiAgLyoqIExvZ2ljYWwga2V5IHVzZWQgYXMgdGhlIGNvbnN0cnVjdCBpZCBhbmQgdGhlIGtleSBpbiB7QGxpbmsgQ29nbml0b0N1c3RvbWVyUG9vbC51c2VyUG9vbENsaWVudHN9LiAqL1xuICByZWFkb25seSBrZXk6IHN0cmluZztcbiAgLyoqIE9BdXRoMiBjYWxsYmFjayBVUkxzIGZvciB0aGlzIGNsaWVudCAodXNlZCBvbmx5IGJ5IHRoZSBzb2NpYWwvaG9zdGVkIHJlZGlyZWN0IGZsb3cpLiAqL1xuICByZWFkb25seSBjYWxsYmFja1VybHM/OiBzdHJpbmdbXTtcbiAgLyoqIExvZ291dCBVUkxzIGZvciB0aGlzIGNsaWVudC4gKi9cbiAgcmVhZG9ubHkgbG9nb3V0VXJscz86IHN0cmluZ1tdO1xuICAvKiogSWRlbnRpdHkgcHJvdmlkZXJzIHRoaXMgY2xpZW50IHN1cHBvcnRzLiBAZGVmYXVsdCBbQ09HTklUT10gKi9cbiAgcmVhZG9ubHkgc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlcnM/OiBjb2duaXRvLlVzZXJQb29sQ2xpZW50SWRlbnRpdHlQcm92aWRlcltdO1xuICAvKiogR2VuZXJhdGUgYSBjbGllbnQgc2VjcmV0LiBAZGVmYXVsdCBmYWxzZSAocHVibGljIFNQQSBjbGllbnQpICovXG4gIHJlYWRvbmx5IGdlbmVyYXRlU2VjcmV0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25hbCBDb2duaXRvIElkZW50aXR5IFBvb2wgKyBBQkFDIChhdHRyaWJ1dGVzLWZvci1hY2Nlc3MtY29udHJvbCkgY29uZmlnLlxuICogTWFwcyB0b2tlbiBjbGFpbXMgdG8gcHJpbmNpcGFsIHRhZ3Mgc28gZG93bnN0cmVhbSBJQU0gY2FuIHNjb3BlIG9uIHRoZW0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5UG9vbEFiYWNDb25maWcge1xuICAvKiogQWxsb3cgdW5hdXRoZW50aWNhdGVkIChndWVzdCkgaWRlbnRpdGllcy4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVhZG9ubHkgYWxsb3dVbmF1dGhlbnRpY2F0ZWRJZGVudGl0aWVzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIENsYWltIOKGkiBwcmluY2lwYWwtdGFnIG1hcHBpbmcsIGUuZy4gYHsgc3ViOiAnY3VzdG9tZXItaWQnIH1gLiBBcHBsaWVkIHRvIHRoZVxuICAgKiB1c2VyLXBvb2wgcHJvdmlkZXIgc28gYXV0aGVudGljYXRlZCBzZXNzaW9ucyBjYXJyeSB0aGVzZSBhcyBgYXdzOlByaW5jaXBhbFRhZy8qYC5cbiAgICovXG4gIHJlYWRvbmx5IHByaW5jaXBhbFRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogTWFuYWdlZCBwb2xpY2llcyBmb3IgdGhlIGF1dGhlbnRpY2F0ZWQgcm9sZS4gQGRlZmF1bHQgbm9uZSAoYXR0YWNoIHlvdXIgb3duKS4gKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRlZFJvbGVNYW5hZ2VkUG9saWNpZXM/OiBpYW0uSU1hbmFnZWRQb2xpY3lbXTtcbn1cblxuLyoqXG4gKiBQcm9wcyBmb3Ige0BsaW5rIENvZ25pdG9DdXN0b21lclBvb2x9LiBFdmVyeSB2YWx1ZSBpcyBnZW5lcmljIOKAlCBub1xuICogcHJvamVjdC9icmFuZC9kb21haW4gc3BlY2lmaWNzIGFyZSBiYWtlZCBpbjsgcGFzcyB0aGVtIGhlcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0N1c3RvbWVyUG9vbFByb3BzIHtcbiAgLyoqIFVzZXIgcG9vbCBuYW1lLiAqL1xuICByZWFkb25seSB1c2VyUG9vbE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBDb2duaXRvIGhvc3RlZC1VSSBkb21haW4gcHJlZml4IChnbG9iYWxseSB1bmlxdWUpLiAqL1xuICByZWFkb25seSBjb2duaXRvRG9tYWluUHJlZml4OiBzdHJpbmc7XG4gIC8qKiBBcHAgY2xpZW50cyB0byBjcmVhdGUgKHR5cGljYWxseSBvbmUgcGVyIGJyYW5kL2Zyb250LWVuZCkuIEF0IGxlYXN0IG9uZS4gKi9cbiAgcmVhZG9ubHkgYXBwQ2xpZW50czogQ29nbml0b0FwcENsaWVudFNwZWNbXTtcbiAgLyoqIEVuYWJsZSBzZWxmLXNlcnZpY2Ugc2lnbi11cC4gQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVhZG9ubHkgc2VsZlNpZ25VcEVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTUZBIGVuZm9yY2VtZW50LiBAZGVmYXVsdCBSRVFVSVJFRCAqL1xuICByZWFkb25seSBtZmE/OiBjb2duaXRvLk1mYTtcbiAgLyoqIFNlY29uZCBmYWN0b3JzLiBAZGVmYXVsdCB7IG90cDogdHJ1ZSwgc21zOiBmYWxzZSB9ICovXG4gIHJlYWRvbmx5IG1mYVNlY29uZEZhY3Rvcj86IGNvZ25pdG8uTWZhU2Vjb25kRmFjdG9yO1xuICAvKiogUGFzc3dvcmQgcG9saWN5LiBAZGVmYXVsdCBtaW5MZW5ndGggMTIsIHVwcGVyL2xvd2VyL2RpZ2l0cy9zeW1ib2xzLiAqL1xuICByZWFkb25seSBwYXNzd29yZFBvbGljeT86IGNvZ25pdG8uUGFzc3dvcmRQb2xpY3k7XG4gIC8qKiBBZHZhbmNlZCBzZWN1cml0eSBtb2RlICh0aHJlYXQgcHJvdGVjdGlvbikuIEBkZWZhdWx0IE9GRiAqL1xuICByZWFkb25seSBhZHZhbmNlZFNlY3VyaXR5TW9kZT86IGNvZ25pdG8uQWR2YW5jZWRTZWN1cml0eU1vZGU7XG4gIC8qKiBTdGFuZGFyZCBhdHRyaWJ1dGVzIGNvbmZpZy4gKi9cbiAgcmVhZG9ubHkgc3RhbmRhcmRBdHRyaWJ1dGVzPzogY29nbml0by5TdGFuZGFyZEF0dHJpYnV0ZXM7XG4gIC8qKiBDdXN0b20gYXR0cmlidXRlcy4gKi9cbiAgcmVhZG9ubHkgY3VzdG9tQXR0cmlidXRlcz86IHsgW2tleTogc3RyaW5nXTogY29nbml0by5JQ3VzdG9tQXR0cmlidXRlIH07XG4gIC8qKiBFbmFibGUgdGhlIENVU1RPTV9BVVRIIGZsb3cgb24gYXBwIGNsaWVudHMuIEBkZWZhdWx0IGZhbHNlICovXG4gIHJlYWRvbmx5IGVuYWJsZUN1c3RvbUF1dGhGbG93PzogYm9vbGVhbjtcbiAgLyoqIEFjY2VzcyB0b2tlbiB2YWxpZGl0eS4gQGRlZmF1bHQgMSBob3VyICovXG4gIHJlYWRvbmx5IGFjY2Vzc1Rva2VuVmFsaWRpdHk/OiBjb3JlLkR1cmF0aW9uO1xuICAvKiogSUQgdG9rZW4gdmFsaWRpdHkuIEBkZWZhdWx0IDEgaG91ciAqL1xuICByZWFkb25seSBpZFRva2VuVmFsaWRpdHk/OiBjb3JlLkR1cmF0aW9uO1xuICAvKiogUmVmcmVzaCB0b2tlbiB2YWxpZGl0eS4gQGRlZmF1bHQgMzAgZGF5cyAqL1xuICByZWFkb25seSByZWZyZXNoVG9rZW5WYWxpZGl0eT86IGNvcmUuRHVyYXRpb247XG4gIC8qKiBDb2duaXRvIGdyb3VwcyB0byBjcmVhdGUuICovXG4gIHJlYWRvbmx5IGdyb3Vwcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogUHJlLXRva2VuLWdlbmVyYXRpb24gTGFtYmRhIChWMikuIEBkZWZhdWx0IGEgYnVuZGxlZCBuby1vcCBsaWJyYXJ5IExhbWJkYSBpc1xuICAgKiBjcmVhdGVkLiBQYXNzIHlvdXIgb3duIHRvIGN1c3RvbWlzZSBlbWl0dGVkIGNsYWltcy5cbiAgICovXG4gIHJlYWRvbmx5IHByZVRva2VuR2VuZXJhdGlvbkxhbWJkYT86IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBFbmFibGUgZW1haWwgb25lLXRpbWUtcGFzc3dvcmQgKGBFTUFJTF9PVFBgKSBhcyB0aGUgTUZBIHNlY29uZCBmYWN0b3IsIGRlbGl2ZXJlZFxuICAgKiBieSB7QGxpbmsgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGF9LiBUaGlzIGlzIHNldCB2aWEgYW4gTDEgb3ZlcnJpZGUgb24gdGhlXG4gICAqIHVuZGVybHlpbmcgYENmblVzZXJQb29sYCAoYEVuYWJsZWRNZmFzOiBbJ0VNQUlMX09UUCddYCkgcmF0aGVyIHRoYW5cbiAgICogYG1mYVNlY29uZEZhY3Rvci5lbWFpbGAsIGJlY2F1c2UgdGhlIENESyBMMiByZXF1aXJlcyBhIG1hbmFnZWQgKGBERVZFTE9QRVJgKSBTRVNcbiAgICogYGVtYWlsYCBjb25maWcgZm9yIGBtZmFTZWNvbmRGYWN0b3IuZW1haWxgIOKAlCB3aGljaCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhXG4gICAqIGN1c3RvbS1lbWFpbC1zZW5kZXItb25seSBkZWxpdmVyeSBwYXRoLiBSZXF1aXJlcyB7QGxpbmsgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGF9XG4gICAqIGFuZCB7QGxpbmsgY3VzdG9tU2VuZGVyS21zS2V5fSwgYW5kIGEgcG9vbCBmZWF0dXJlIHBsYW4gb2YgRXNzZW50aWFscyBvciBoaWdoZXIuXG4gICAqIFdoZW4gdHJ1ZSwgYW55IGBvdHBgL2BzbXNgIGluIHtAbGluayBtZmFTZWNvbmRGYWN0b3J9IGlzIGlnbm9yZWQg4oCUIEVNQUlMX09UUCBpc1xuICAgKiB0aGUgc29sZSBmYWN0b3IuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbWFpbE90cE1mYT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBDdXN0b20gRW1haWwgU2VuZGVyIExhbWJkYS4gV2hlbiBzZXQgKHRvZ2V0aGVyIHdpdGgge0BsaW5rIGN1c3RvbVNlbmRlckttc0tleX0pLFxuICAgKiBpdCBpcyB3aXJlZCB0byB0aGUgcG9vbCB2aWEgdGhlIGBDVVNUT01fRU1BSUxfU0VOREVSYCB0cmlnZ2VyIGFuZCBDb2duaXRvXG4gICAqIGRlbGl2ZXJzIGFsbCBjdXN0b21lciBlbWFpbHMgKE1GQSBjb2RlcywgdmVyaWZpY2F0aW9uLCB0ZW1wb3JhcnkgcGFzc3dvcmRzKVxuICAgKiB0aHJvdWdoIHRoaXMgTGFtYmRhIGluc3RlYWQgb2YgaXRzIGRlZmF1bHQgc2VuZGVyIG9yIGEgbWFuYWdlZCBTRVMgc2VuZGVyLlxuICAgKiBDb2duaXRvIGVuY3J5cHRzIGVhY2ggY29kZSB0byB7QGxpbmsgY3VzdG9tU2VuZGVyS21zS2V5fTsgdGhlIExhbWJkYSBkZWNyeXB0c1xuICAgKiBpdCB3aXRoIHRoZSBBV1MgRW5jcnlwdGlvbiBTREsgYmVmb3JlIHNlbmRpbmcuIFJlcXVpcmVzIHtAbGluayBjdXN0b21TZW5kZXJLbXNLZXl9LlxuICAgKiBAZGVmYXVsdCAtIENvZ25pdG8ncyBkZWZhdWx0IGVtYWlsIGRlbGl2ZXJ5XG4gICAqL1xuICByZWFkb25seSBjdXN0b21FbWFpbFNlbmRlckxhbWJkYT86IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBTeW1tZXRyaWMgS01TIGtleSBDb2duaXRvIHVzZXMgdG8gZW5jcnlwdCBjb2RlcyBmb3Ige0BsaW5rIGN1c3RvbUVtYWlsU2VuZGVyTGFtYmRhfS5cbiAgICogUmVxdWlyZWQgd2hlbiBhIGN1c3RvbSBlbWFpbCBzZW5kZXIgaXMgcHJvdmlkZWQ7IGlnbm9yZWQgb3RoZXJ3aXNlLiBDb2duaXRvIGlzXG4gICAqIGdyYW50ZWQgZW5jcnlwdC9kZWNyeXB0IG9uIGl0OyB0aGUgTGFtYmRhIG11c3QgYmUgc2VwYXJhdGVseSBncmFudGVkIGRlY3J5cHQuXG4gICAqIEBkZWZhdWx0IC0gbm8ga2V5IChvbmx5IHZhbGlkIHdoZW4gbm8gY3VzdG9tIGVtYWlsIHNlbmRlciBpcyBzZXQpXG4gICAqL1xuICByZWFkb25seSBjdXN0b21TZW5kZXJLbXNLZXk/OiBrbXMuSUtleTtcbiAgLyoqXG4gICAqIEwxIGFjY291bnQtdGFrZW92ZXIgcmlzayBjb25maWd1cmF0aW9uIChyZXF1aXJlcyB7QGxpbmsgYWR2YW5jZWRTZWN1cml0eU1vZGV9XG4gICAqIEVORk9SQ0VEL0FVRElUKS4gUGFzc2VkIHRocm91Z2ggdG8gQ2ZuVXNlclBvb2xSaXNrQ29uZmlndXJhdGlvbkF0dGFjaG1lbnQuXG4gICAqL1xuICByZWFkb25seSBhY2NvdW50VGFrZW92ZXJSaXNrQ29uZmlndXJhdGlvbj86IEFjY291bnRUYWtlb3ZlclJpc2tDb25maWc7XG4gIC8qKiBMMSBjb21wcm9taXNlZC1jcmVkZW50aWFscyByaXNrIGNvbmZpZ3VyYXRpb24uICovXG4gIHJlYWRvbmx5IGNvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlndXJhdGlvbj86IENvbXByb21pc2VkQ3JlZGVudGlhbHNSaXNrQ29uZmlnO1xuICAvKiogT3B0aW9uYWwgaWRlbnRpdHkgcG9vbCArIEFCQUMgY29uZmlndXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgaWRlbnRpdHlQb29sPzogQ29nbml0b0lkZW50aXR5UG9vbEFiYWNDb25maWc7XG4gIC8qKiBSZW1vdmFsIHBvbGljeSBmb3IgdGhlIHBvb2wuIEBkZWZhdWx0IFJFVEFJTiAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogY29yZS5SZW1vdmFsUG9saWN5O1xufVxuXG4vKipcbiAqIEEgZ2VuZXJpYywgcmV1c2FibGUgc2VjdXJlIENvZ25pdG8gKipjdXN0b21lcioqIHVzZXIgcG9vbCBmb3IgdGhlIGN1c3RvbS1VSVxuICogKGNsaWVudC1zaWRlIFNSUCkgYXV0aGVudGljYXRpb24gcGF0dGVybjogcHVibGljIFBLQ0UgYXBwIGNsaWVudHMsIE1GQSxcbiAqIHN0cm9uZyBwYXNzd29yZCBwb2xpY3ksIG9wdGlvbmFsIGFkdmFuY2VkLXNlY3VyaXR5IHRocmVhdCBwcm90ZWN0aW9uLFxuICogcGVyLWNsaWVudCAocGVyLWJyYW5kKSBhcHAgY2xpZW50cywgYW5kIGFuIG9wdGlvbmFsIGlkZW50aXR5IHBvb2wgd2l0aCBBQkFDLlxuICpcbiAqIFByb3Zpc2lvbnMgT05MWSB0aGUgaWRlbnRpdHkgcHJvdmlkZXIuIEl0IGtub3dzIG5vdGhpbmcgYWJvdXQgQ2xvdWRGcm9udCxcbiAqIHNlc3Npb25zLCBvciBhbnkgc3BlY2lmaWMgcHJvamVjdCDigJQgcGFpciBpdCB3aXRoIGBDb2duaXRvU2Vzc2lvbkJhY2tlbmRgXG4gKiAoc2Vzc2lvbiBzdWJzdHJhdGUpIGFuZCBgQ29nbml0b0N1c3RvbVVpQXV0aGAgKGVkZ2UvQ0ROKS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZ25pdG9DdXN0b21lclBvb2wgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbDogY29nbml0by5Vc2VyUG9vbDtcbiAgLyoqIEFwcCBjbGllbnRzIGtleWVkIGJ5IHtAbGluayBDb2duaXRvQXBwQ2xpZW50U3BlYy5rZXl9LiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlclBvb2xDbGllbnRzOiBSZWNvcmQ8c3RyaW5nLCBjb2duaXRvLlVzZXJQb29sQ2xpZW50PjtcbiAgLyoqIFRoZSBmaXJzdCBhcHAgY2xpZW50LCBmb3IgY29udmVuaWVuY2UuICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyUG9vbENsaWVudDogY29nbml0by5Vc2VyUG9vbENsaWVudDtcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJQb29sRG9tYWluOiBjb2duaXRvLlVzZXJQb29sRG9tYWluO1xuICAvKiogSG9zdGVkLVVJIGRvbWFpbiBVUkwsIGUuZy4gYDxwcmVmaXg+LmF1dGguPHJlZ2lvbj4uYW1hem9uY29nbml0by5jb21gLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY29nbml0b0RvbWFpblVybDogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgaWRlbnRpdHlQb29sPzogY29nbml0by5DZm5JZGVudGl0eVBvb2w7XG4gIHB1YmxpYyByZWFkb25seSBhdXRoZW50aWNhdGVkUm9sZT86IGlhbS5Sb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZ25pdG9DdXN0b21lclBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBpZiAoIXByb3BzLmFwcENsaWVudHMgfHwgcHJvcHMuYXBwQ2xpZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29nbml0b0N1c3RvbWVyUG9vbCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgYXBwIGNsaWVudCcpO1xuICAgIH1cblxuICAgIGlmICgocHJvcHMuY3VzdG9tRW1haWxTZW5kZXJMYW1iZGEgPT09IHVuZGVmaW5lZCkgIT09IChwcm9wcy5jdXN0b21TZW5kZXJLbXNLZXkgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvZ25pdG9DdXN0b21lclBvb2w6IGN1c3RvbUVtYWlsU2VuZGVyTGFtYmRhIGFuZCBjdXN0b21TZW5kZXJLbXNLZXkgbXVzdCBiZSBwcm92aWRlZCB0b2dldGhlciDigJQgJ1xuICAgICAgICArICdhIGN1c3RvbSBlbWFpbCBzZW5kZXIgcmVxdWlyZXMgYSBLTVMga2V5IGZvciBDb2duaXRvIHRvIGVuY3J5cHQgY29kZXMgdG8sIGFuZCB0aGUga2V5IGlzIHVudXNlZCB3aXRob3V0IHRoZSBMYW1iZGEuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmVtYWlsT3RwTWZhICYmICFwcm9wcy5jdXN0b21FbWFpbFNlbmRlckxhbWJkYSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ29nbml0b0N1c3RvbWVyUG9vbDogZW1haWxPdHBNZmEgcmVxdWlyZXMgY3VzdG9tRW1haWxTZW5kZXJMYW1iZGEgKGFuZCBjdXN0b21TZW5kZXJLbXNLZXkpIOKAlCAnXG4gICAgICAgICsgJ0VNQUlMX09UUCBjb2RlcyBhcmUgZGVsaXZlcmVkIGJ5IHRoZSBjdXN0b20gZW1haWwgc2VuZGVyLCBzbyBlbWFpbCBNRkEgY2Fubm90IGJlIGVuYWJsZWQgd2l0aG91dCBpdC4nLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBXaXRoIGVtYWlsT3RwTWZhLCBFTUFJTF9PVFAgaXMgdGhlIHNvbGUgZmFjdG9yIGFuZCBpcyBhcHBsaWVkIHZpYSBhbiBMMVxuICAgIC8vIG92ZXJyaWRlIGJlbG93OyBkbyBOT1QgcGFzcyBtZmFTZWNvbmRGYWN0b3IuZW1haWwgdG8gdGhlIEwyIChpdHMgdmFsaWRhdGVFbWFpbE1mYVxuICAgIC8vIGRlbWFuZHMgYSBtYW5hZ2VkIERFVkVMT1BFUiBTRVMgY29uZmlnLCB3aGljaCB0aGUgY3VzdG9tLXNlbmRlciBwYXRoIGF2b2lkcykuXG4gICAgY29uc3QgbDJNZmFTZWNvbmRGYWN0b3IgPSBwcm9wcy5lbWFpbE90cE1mYVxuICAgICAgPyB7IG90cDogZmFsc2UsIHNtczogZmFsc2UgfVxuICAgICAgOiAocHJvcHMubWZhU2Vjb25kRmFjdG9yID8/IHsgb3RwOiB0cnVlLCBzbXM6IGZhbHNlIH0pO1xuXG4gICAgLy8gQWNjb3VudCByZWNvdmVyeSBtdXN0IG5vdCBiZSBlbWFpbC1vbmx5IHdoZW4gRU1BSUxfT1RQIE1GQSBpcyBlbmFibGVkOlxuICAgIC8vIENvZ25pdG8gcmVqZWN0cyBFbWFpbE1mYUNvbmZpZ3VyYXRpb24gdW5sZXNzIEFjY291bnRSZWNvdmVyeVNldHRpbmcgaGFzIGF0XG4gICAgLy8gbGVhc3Qgb25lIG1lY2hhbmlzbSBvdGhlciB0aGFuIHZlcmlmaWVkX2VtYWlsIChyZWNvdmVyaW5nIGVtYWlsLWJhc2VkIE1GQSB2aWFcbiAgICAvLyBlbWFpbCBpcyBjaXJjdWxhcikuIEFjY291bnRSZWNvdmVyeS5OT05FIG1hcHMgdG8gdGhlIGFkbWluX29ubHkgbWVjaGFuaXNtLCB3aGljaFxuICAgIC8vIHNhdGlzZmllcyB0aGUgY29uc3RyYWludCB3aXRob3V0IGludHJvZHVjaW5nIGFuIFNNUy9waG9uZSBmYWN0b3IgaW50byB0aGlzXG4gICAgLy8gcGFzc3dvcmRsZXNzLWVtYWlsIGRlc2lnbi4gT3RoZXJ3aXNlIGtlZXAgdGhlIGVtYWlsLW9ubHkgZGVmYXVsdC5cbiAgICBjb25zdCBhY2NvdW50UmVjb3ZlcnkgPSBwcm9wcy5lbWFpbE90cE1mYVxuICAgICAgPyBjb2duaXRvLkFjY291bnRSZWNvdmVyeS5OT05FXG4gICAgICA6IGNvZ25pdG8uQWNjb3VudFJlY292ZXJ5LkVNQUlMX09OTFk7XG5cbiAgICB0aGlzLnVzZXJQb29sID0gbmV3IGNvZ25pdG8uVXNlclBvb2wodGhpcywgJ1VzZXJQb29sJywge1xuICAgICAgdXNlclBvb2xOYW1lOiBwcm9wcy51c2VyUG9vbE5hbWUsXG4gICAgICBzZWxmU2lnblVwRW5hYmxlZDogcHJvcHMuc2VsZlNpZ25VcEVuYWJsZWQgPz8gZmFsc2UsXG4gICAgICBzaWduSW5BbGlhc2VzOiB7IGVtYWlsOiB0cnVlIH0sXG4gICAgICBzaWduSW5DYXNlU2Vuc2l0aXZlOiBmYWxzZSxcbiAgICAgIG1mYTogcHJvcHMubWZhID8/IGNvZ25pdG8uTWZhLlJFUVVJUkVELFxuICAgICAgbWZhU2Vjb25kRmFjdG9yOiBsMk1mYVNlY29uZEZhY3RvcixcbiAgICAgIHBhc3N3b3JkUG9saWN5OiBwcm9wcy5wYXNzd29yZFBvbGljeSA/PyB7XG4gICAgICAgIG1pbkxlbmd0aDogMTIsXG4gICAgICAgIHJlcXVpcmVMb3dlcmNhc2U6IHRydWUsXG4gICAgICAgIHJlcXVpcmVVcHBlcmNhc2U6IHRydWUsXG4gICAgICAgIHJlcXVpcmVEaWdpdHM6IHRydWUsXG4gICAgICAgIHJlcXVpcmVTeW1ib2xzOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGFkdmFuY2VkU2VjdXJpdHlNb2RlOiBwcm9wcy5hZHZhbmNlZFNlY3VyaXR5TW9kZSA/PyBjb2duaXRvLkFkdmFuY2VkU2VjdXJpdHlNb2RlLk9GRixcbiAgICAgIHN0YW5kYXJkQXR0cmlidXRlczogcHJvcHMuc3RhbmRhcmRBdHRyaWJ1dGVzLFxuICAgICAgY3VzdG9tQXR0cmlidXRlczogcHJvcHMuY3VzdG9tQXR0cmlidXRlcyxcbiAgICAgIGF1dG9WZXJpZnk6IHsgZW1haWw6IHRydWUgfSxcbiAgICAgIGFjY291bnRSZWNvdmVyeSxcbiAgICAgIC8vIEN1c3RvbSBFbWFpbCBTZW5kZXI6IHdoZW4gcHJvdmlkZWQsIENvZ25pdG8gcm91dGVzIGV2ZXJ5IGN1c3RvbWVyIGVtYWlsXG4gICAgICAvLyB0aHJvdWdoIHRoaXMgTGFtYmRhIGFuZCBlbmNyeXB0cyBjb2RlcyB0byBjdXN0b21TZW5kZXJLbXNLZXkuIEJvdGggbXVzdCBiZVxuICAgICAgLy8gc2V0IG9uIHRoZSBwb29sIGF0IGNvbnN0cnVjdGlvbiDigJQgdGhlIEtNUyBrZXkgaXMgbm90IHNldHRhYmxlIHZpYSBhZGRUcmlnZ2VyLlxuICAgICAgY3VzdG9tU2VuZGVyS21zS2V5OiBwcm9wcy5jdXN0b21TZW5kZXJLbXNLZXksXG4gICAgICBsYW1iZGFUcmlnZ2VyczogcHJvcHMuY3VzdG9tRW1haWxTZW5kZXJMYW1iZGFcbiAgICAgICAgPyB7IGN1c3RvbUVtYWlsU2VuZGVyOiBwcm9wcy5jdXN0b21FbWFpbFNlbmRlckxhbWJkYSB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMucmVtb3ZhbFBvbGljeSA/PyBjb3JlLlJlbW92YWxQb2xpY3kuUkVUQUlOLFxuICAgIH0pO1xuXG4gICAgLy8gTDEgZXNjYXBlIGhhdGNoOiBlbmFibGUgRU1BSUxfT1RQIGFzIHRoZSBvbmx5IE1GQSBmYWN0b3IuIFRoZSBMMiBjYW5ub3QgZXhwcmVzc1xuICAgIC8vIFwiZW1haWwgTUZBIGRlbGl2ZXJlZCBzb2xlbHkgYnkgYSBjdXN0b20gc2VuZGVyXCIgKHNlZSBlbWFpbE90cE1mYSBkb2NzKSwgc28gc2V0XG4gICAgLy8gRW5hYmxlZE1mYXMgZGlyZWN0bHkgb24gdGhlIHVuZGVybHlpbmcgQ2ZuVXNlclBvb2wuIFRoZSBjdXN0b20gZW1haWwgc2VuZGVyXG4gICAgLy8gZGVsaXZlcnMgdGhlIGNvZGU7IG5vIG1hbmFnZWQgU0VTIGVtYWlsIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQuXG4gICAgaWYgKHByb3BzLmVtYWlsT3RwTWZhKSB7XG4gICAgICBjb25zdCBjZm5Qb29sID0gdGhpcy51c2VyUG9vbC5ub2RlLmRlZmF1bHRDaGlsZCBhcyBjb2duaXRvLkNmblVzZXJQb29sO1xuICAgICAgY2ZuUG9vbC5lbmFibGVkTWZhcyA9IFsnRU1BSUxfT1RQJ107XG4gICAgfVxuXG4gICAgY29uc3QgcHJlVG9rZW5MYW1iZGEgPSBwcm9wcy5wcmVUb2tlbkdlbmVyYXRpb25MYW1iZGEgPz8gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCAnUHJlVG9rZW5MYW1iZGEnLCB7XG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMixcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vbGFtYmRhL3ByZS10b2tlbicpKSxcbiAgICAgIHRpbWVvdXQ6IGNvcmUuRHVyYXRpb24uc2Vjb25kcyg1KSxcbiAgICB9KTtcbiAgICB0aGlzLnVzZXJQb29sLmFkZFRyaWdnZXIoY29nbml0by5Vc2VyUG9vbE9wZXJhdGlvbi5QUkVfVE9LRU5fR0VORVJBVElPTl9DT05GSUcsIHByZVRva2VuTGFtYmRhLCBjb2duaXRvLkxhbWJkYVZlcnNpb24uVjJfMCk7XG5cbiAgICBpZiAocHJvcHMuZ3JvdXBzKSB7XG4gICAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIHByb3BzLmdyb3Vwcykge1xuICAgICAgICBuZXcgY29nbml0by5DZm5Vc2VyUG9vbEdyb3VwKHRoaXMsIGBHcm91cCR7Z3JvdXB9YCwge1xuICAgICAgICAgIHVzZXJQb29sSWQ6IHRoaXMudXNlclBvb2wudXNlclBvb2xJZCxcbiAgICAgICAgICBncm91cE5hbWU6IGdyb3VwLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPcHRpb25hbCBhZHZhbmNlZC1zZWN1cml0eSByaXNrIGNvbmZpZ3VyYXRpb24gKEwxKS5cbiAgICBpZiAocHJvcHMuYWNjb3VudFRha2VvdmVyUmlza0NvbmZpZ3VyYXRpb24gfHwgcHJvcHMuY29tcHJvbWlzZWRDcmVkZW50aWFsc1Jpc2tDb25maWd1cmF0aW9uKSB7XG4gICAgICBuZXcgY29nbml0by5DZm5Vc2VyUG9vbFJpc2tDb25maWd1cmF0aW9uQXR0YWNobWVudCh0aGlzLCAnUmlza0NvbmZpZycsIHtcbiAgICAgICAgdXNlclBvb2xJZDogdGhpcy51c2VyUG9vbC51c2VyUG9vbElkLFxuICAgICAgICBjbGllbnRJZDogJ0FMTCcsXG4gICAgICAgIGFjY291bnRUYWtlb3ZlclJpc2tDb25maWd1cmF0aW9uOiBwcm9wcy5hY2NvdW50VGFrZW92ZXJSaXNrQ29uZmlndXJhdGlvbixcbiAgICAgICAgY29tcHJvbWlzZWRDcmVkZW50aWFsc1Jpc2tDb25maWd1cmF0aW9uOiBwcm9wcy5jb21wcm9taXNlZENyZWRlbnRpYWxzUmlza0NvbmZpZ3VyYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnVzZXJQb29sQ2xpZW50cyA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3BlYyBvZiBwcm9wcy5hcHBDbGllbnRzKSB7XG4gICAgICBjb25zdCBjbGllbnQgPSBuZXcgY29nbml0by5Vc2VyUG9vbENsaWVudCh0aGlzLCBgQ2xpZW50JHtzcGVjLmtleX1gLCB7XG4gICAgICAgIHVzZXJQb29sOiB0aGlzLnVzZXJQb29sLFxuICAgICAgICBnZW5lcmF0ZVNlY3JldDogc3BlYy5nZW5lcmF0ZVNlY3JldCA/PyBmYWxzZSxcbiAgICAgICAgYXV0aEZsb3dzOiB7XG4gICAgICAgICAgdXNlclNycDogdHJ1ZSxcbiAgICAgICAgICBjdXN0b206IHByb3BzLmVuYWJsZUN1c3RvbUF1dGhGbG93ID8/IGZhbHNlLFxuICAgICAgICAgIC8vIHVzZXJQYXNzd29yZCAvIGFkbWluVXNlclBhc3N3b3JkIGludGVudGlvbmFsbHkgb21pdHRlZCAoZGlzYWJsZWQpLlxuICAgICAgICB9LFxuICAgICAgICBvQXV0aDoge1xuICAgICAgICAgIGZsb3dzOiB7IGF1dGhvcml6YXRpb25Db2RlR3JhbnQ6IHRydWUgfSxcbiAgICAgICAgICBzY29wZXM6IFtjb2duaXRvLk9BdXRoU2NvcGUuT1BFTklELCBjb2duaXRvLk9BdXRoU2NvcGUuRU1BSUwsIGNvZ25pdG8uT0F1dGhTY29wZS5QUk9GSUxFXSxcbiAgICAgICAgICBjYWxsYmFja1VybHM6IHNwZWMuY2FsbGJhY2tVcmxzLFxuICAgICAgICAgIGxvZ291dFVybHM6IHNwZWMubG9nb3V0VXJscyxcbiAgICAgICAgfSxcbiAgICAgICAgc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlcnM6IHNwZWMuc3VwcG9ydGVkSWRlbnRpdHlQcm92aWRlcnMgPz8gW2NvZ25pdG8uVXNlclBvb2xDbGllbnRJZGVudGl0eVByb3ZpZGVyLkNPR05JVE9dLFxuICAgICAgICBwcmV2ZW50VXNlckV4aXN0ZW5jZUVycm9yczogdHJ1ZSxcbiAgICAgICAgZW5hYmxlVG9rZW5SZXZvY2F0aW9uOiB0cnVlLFxuICAgICAgICBhY2Nlc3NUb2tlblZhbGlkaXR5OiBwcm9wcy5hY2Nlc3NUb2tlblZhbGlkaXR5ID8/IGNvcmUuRHVyYXRpb24uaG91cnMoMSksXG4gICAgICAgIGlkVG9rZW5WYWxpZGl0eTogcHJvcHMuaWRUb2tlblZhbGlkaXR5ID8/IGNvcmUuRHVyYXRpb24uaG91cnMoMSksXG4gICAgICAgIHJlZnJlc2hUb2tlblZhbGlkaXR5OiBwcm9wcy5yZWZyZXNoVG9rZW5WYWxpZGl0eSA/PyBjb3JlLkR1cmF0aW9uLmRheXMoMzApLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnVzZXJQb29sQ2xpZW50c1tzcGVjLmtleV0gPSBjbGllbnQ7XG4gICAgfVxuICAgIHRoaXMudXNlclBvb2xDbGllbnQgPSB0aGlzLnVzZXJQb29sQ2xpZW50c1twcm9wcy5hcHBDbGllbnRzWzBdLmtleV07XG5cbiAgICB0aGlzLnVzZXJQb29sRG9tYWluID0gdGhpcy51c2VyUG9vbC5hZGREb21haW4oJ0NvZ25pdG9Eb21haW4nLCB7XG4gICAgICBjb2duaXRvRG9tYWluOiB7IGRvbWFpblByZWZpeDogcHJvcHMuY29nbml0b0RvbWFpblByZWZpeCB9LFxuICAgIH0pO1xuICAgIHRoaXMuY29nbml0b0RvbWFpblVybCA9IGAke3Byb3BzLmNvZ25pdG9Eb21haW5QcmVmaXh9LmF1dGguJHtjb3JlLlN0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uY29nbml0by5jb21gO1xuXG4gICAgaWYgKHByb3BzLmlkZW50aXR5UG9vbCkge1xuICAgICAgY29uc3QgaWRwID0gcHJvcHMuaWRlbnRpdHlQb29sO1xuICAgICAgdGhpcy5pZGVudGl0eVBvb2wgPSBuZXcgY29nbml0by5DZm5JZGVudGl0eVBvb2wodGhpcywgJ0lkZW50aXR5UG9vbCcsIHtcbiAgICAgICAgYWxsb3dVbmF1dGhlbnRpY2F0ZWRJZGVudGl0aWVzOiBpZHAuYWxsb3dVbmF1dGhlbnRpY2F0ZWRJZGVudGl0aWVzID8/IGZhbHNlLFxuICAgICAgICBjb2duaXRvSWRlbnRpdHlQcm92aWRlcnM6IHByb3BzLmFwcENsaWVudHMubWFwKHNwZWMgPT4gKHtcbiAgICAgICAgICBjbGllbnRJZDogdGhpcy51c2VyUG9vbENsaWVudHNbc3BlYy5rZXldLnVzZXJQb29sQ2xpZW50SWQsXG4gICAgICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLnVzZXJQb29sLnVzZXJQb29sUHJvdmlkZXJOYW1lLFxuICAgICAgICAgIHNlcnZlclNpZGVUb2tlbkNoZWNrOiB0cnVlLFxuICAgICAgICB9KSksXG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hdXRoZW50aWNhdGVkUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnQXV0aGVudGljYXRlZFJvbGUnLCB7XG4gICAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5GZWRlcmF0ZWRQcmluY2lwYWwoXG4gICAgICAgICAgJ2NvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbScsXG4gICAgICAgICAge1xuICAgICAgICAgICAgJ1N0cmluZ0VxdWFscyc6IHsgJ2NvZ25pdG8taWRlbnRpdHkuYW1hem9uYXdzLmNvbTphdWQnOiB0aGlzLmlkZW50aXR5UG9vbC5yZWYgfSxcbiAgICAgICAgICAgICdGb3JBbnlWYWx1ZTpTdHJpbmdMaWtlJzogeyAnY29nbml0by1pZGVudGl0eS5hbWF6b25hd3MuY29tOmFtcic6ICdhdXRoZW50aWNhdGVkJyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgJ3N0czpBc3N1bWVSb2xlV2l0aFdlYklkZW50aXR5JyxcbiAgICAgICAgKSxcbiAgICAgICAgbWFuYWdlZFBvbGljaWVzOiBpZHAuYXV0aGVudGljYXRlZFJvbGVNYW5hZ2VkUG9saWNpZXMsXG4gICAgICB9KTtcblxuICAgICAgbmV3IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUm9sZUF0dGFjaG1lbnQodGhpcywgJ0lkZW50aXR5UG9vbFJvbGVzJywge1xuICAgICAgICBpZGVudGl0eVBvb2xJZDogdGhpcy5pZGVudGl0eVBvb2wucmVmLFxuICAgICAgICByb2xlczogeyBhdXRoZW50aWNhdGVkOiB0aGlzLmF1dGhlbnRpY2F0ZWRSb2xlLnJvbGVBcm4gfSxcbiAgICAgIH0pO1xuXG4gICAgICAvLyBBQkFDOiBtYXAgY2xhaW1zIHRvIHByaW5jaXBhbCB0YWdzIG9uIHRoZSB1c2VyLXBvb2wgcHJvdmlkZXIuXG4gICAgICBpZiAoaWRwLnByaW5jaXBhbFRhZ3MgJiYgT2JqZWN0LmtleXMoaWRwLnByaW5jaXBhbFRhZ3MpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbmV3IGNvZ25pdG8uQ2ZuSWRlbnRpdHlQb29sUHJpbmNpcGFsVGFnKHRoaXMsICdQcmluY2lwYWxUYWdzJywge1xuICAgICAgICAgIGlkZW50aXR5UG9vbElkOiB0aGlzLmlkZW50aXR5UG9vbC5yZWYsXG4gICAgICAgICAgaWRlbnRpdHlQcm92aWRlck5hbWU6IHRoaXMudXNlclBvb2wudXNlclBvb2xQcm92aWRlck5hbWUsXG4gICAgICAgICAgdXNlRGVmYXVsdHM6IGZhbHNlLFxuICAgICAgICAgIHByaW5jaXBhbFRhZ3M6IGlkcC5wcmluY2lwYWxUYWdzLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -59,7 +59,7 @@
59
59
  },
60
60
  "main": "lib/index.js",
61
61
  "license": "Apache-2.0",
62
- "version": "0.0.41",
62
+ "version": "0.0.42",
63
63
  "jest": {
64
64
  "coverageProvider": "v8",
65
65
  "testMatch": [