@bitgo-beta/statics 15.1.1-beta.202 → 15.1.1-beta.2021

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 (129) hide show
  1. package/dist/src/account.d.ts +1227 -74
  2. package/dist/src/account.d.ts.map +1 -1
  3. package/dist/src/account.js +1850 -155
  4. package/dist/src/ada.d.ts.map +1 -1
  5. package/dist/src/ada.js +7 -3
  6. package/dist/src/allCoinsAndTokens.d.ts +2 -0
  7. package/dist/src/allCoinsAndTokens.d.ts.map +1 -0
  8. package/dist/src/allCoinsAndTokens.js +1880 -0
  9. package/dist/src/avaxp.d.ts.map +1 -1
  10. package/dist/src/avaxp.js +8 -3
  11. package/dist/src/base.d.ts +2933 -45
  12. package/dist/src/base.d.ts.map +1 -1
  13. package/dist/src/base.js +3059 -56
  14. package/dist/src/canton.d.ts +34 -0
  15. package/dist/src/canton.d.ts.map +1 -0
  16. package/dist/src/canton.js +51 -0
  17. package/dist/src/coinFeatures.d.ts +129 -0
  18. package/dist/src/coinFeatures.d.ts.map +1 -0
  19. package/dist/src/coinFeatures.js +798 -0
  20. package/dist/src/coins/adaTokens.d.ts +2 -0
  21. package/dist/src/coins/adaTokens.d.ts.map +1 -0
  22. package/dist/src/coins/adaTokens.js +27 -0
  23. package/dist/src/coins/avaxTokens.d.ts +2 -0
  24. package/dist/src/coins/avaxTokens.d.ts.map +1 -0
  25. package/dist/src/coins/avaxTokens.js +133 -0
  26. package/dist/src/coins/botOfcTokens.d.ts +3 -0
  27. package/dist/src/coins/botOfcTokens.d.ts.map +1 -0
  28. package/dist/src/coins/botOfcTokens.js +178 -0
  29. package/dist/src/coins/botTokens.d.ts +3 -0
  30. package/dist/src/coins/botTokens.d.ts.map +1 -0
  31. package/dist/src/coins/botTokens.js +549 -0
  32. package/dist/src/coins/bscTokens.d.ts +2 -0
  33. package/dist/src/coins/bscTokens.d.ts.map +1 -0
  34. package/dist/src/coins/bscTokens.js +419 -0
  35. package/dist/src/coins/cantonTokens.d.ts +2 -0
  36. package/dist/src/coins/cantonTokens.d.ts.map +1 -0
  37. package/dist/src/coins/cantonTokens.js +134 -0
  38. package/dist/src/coins/cosmosTokens.d.ts +2 -0
  39. package/dist/src/coins/cosmosTokens.d.ts.map +1 -0
  40. package/dist/src/coins/cosmosTokens.js +14 -0
  41. package/dist/src/coins/erc20Coins.d.ts +2 -0
  42. package/dist/src/coins/erc20Coins.d.ts.map +1 -0
  43. package/dist/src/coins/erc20Coins.js +2077 -0
  44. package/dist/src/coins/erc7984Tokens.d.ts +17 -0
  45. package/dist/src/coins/erc7984Tokens.d.ts.map +1 -0
  46. package/dist/src/coins/erc7984Tokens.js +40 -0
  47. package/dist/src/coins/generateERC20.d.ts +36 -0
  48. package/dist/src/coins/generateERC20.d.ts.map +1 -0
  49. package/dist/src/coins/generateERC20.js +46 -0
  50. package/dist/src/coins/hoodethTokens.d.ts +2 -0
  51. package/dist/src/coins/hoodethTokens.d.ts.map +1 -0
  52. package/dist/src/coins/hoodethTokens.js +308 -0
  53. package/dist/src/coins/jettonTokens.d.ts +2 -0
  54. package/dist/src/coins/jettonTokens.d.ts.map +1 -0
  55. package/dist/src/coins/jettonTokens.js +19 -0
  56. package/dist/src/coins/nep141Tokens.d.ts +2 -0
  57. package/dist/src/coins/nep141Tokens.d.ts.map +1 -0
  58. package/dist/src/coins/nep141Tokens.js +18 -0
  59. package/dist/src/coins/ofcCoins.d.ts +2 -0
  60. package/dist/src/coins/ofcCoins.d.ts.map +1 -0
  61. package/dist/src/coins/ofcCoins.js +1446 -0
  62. package/dist/src/coins/ofcErc20Coins.d.ts +4 -0
  63. package/dist/src/coins/ofcErc20Coins.d.ts.map +1 -0
  64. package/dist/src/coins/ofcErc20Coins.js +1897 -0
  65. package/dist/src/coins/ofcHoodethTokens.d.ts +2 -0
  66. package/dist/src/coins/ofcHoodethTokens.d.ts.map +1 -0
  67. package/dist/src/coins/ofcHoodethTokens.js +306 -0
  68. package/dist/src/coins/polygonTokens.d.ts +2 -0
  69. package/dist/src/coins/polygonTokens.d.ts.map +1 -0
  70. package/dist/src/coins/polygonTokens.js +215 -0
  71. package/dist/src/coins/polyxTokens.d.ts +2 -0
  72. package/dist/src/coins/polyxTokens.d.ts.map +1 -0
  73. package/dist/src/coins/polyxTokens.js +22 -0
  74. package/dist/src/coins/sip10Tokens.d.ts +2 -0
  75. package/dist/src/coins/sip10Tokens.d.ts.map +1 -0
  76. package/dist/src/coins/sip10Tokens.js +25 -0
  77. package/dist/src/coins/solTokens.d.ts +3 -0
  78. package/dist/src/coins/solTokens.d.ts.map +1 -0
  79. package/dist/src/coins/solTokens.js +538 -0
  80. package/dist/src/coins/vetTokens.d.ts +2 -0
  81. package/dist/src/coins/vetTokens.d.ts.map +1 -0
  82. package/dist/src/coins/vetTokens.js +11 -0
  83. package/dist/src/coins.d.ts +22 -1
  84. package/dist/src/coins.d.ts.map +1 -1
  85. package/dist/src/coins.js +471 -2052
  86. package/dist/src/constants.d.ts +1 -0
  87. package/dist/src/constants.d.ts.map +1 -1
  88. package/dist/src/constants.js +3 -2
  89. package/dist/src/errors.d.ts +9 -0
  90. package/dist/src/errors.d.ts.map +1 -1
  91. package/dist/src/errors.js +23 -2
  92. package/dist/src/flrp.d.ts +40 -0
  93. package/dist/src/flrp.d.ts.map +1 -0
  94. package/dist/src/flrp.js +66 -0
  95. package/dist/src/hypeevm.d.ts +28 -0
  96. package/dist/src/hypeevm.d.ts.map +1 -0
  97. package/dist/src/hypeevm.js +60 -0
  98. package/dist/src/index.d.ts +5 -1
  99. package/dist/src/index.d.ts.map +1 -1
  100. package/dist/src/index.js +44 -3
  101. package/dist/src/kaspa.d.ts +34 -0
  102. package/dist/src/kaspa.d.ts.map +1 -0
  103. package/dist/src/kaspa.js +63 -0
  104. package/dist/src/lightning.d.ts +43 -0
  105. package/dist/src/lightning.d.ts.map +1 -0
  106. package/dist/src/lightning.js +64 -0
  107. package/dist/src/map.d.ts +34 -1
  108. package/dist/src/map.d.ts.map +1 -1
  109. package/dist/src/map.js +250 -35
  110. package/dist/src/networkFeatureMapForTokens.d.ts +17 -0
  111. package/dist/src/networkFeatureMapForTokens.d.ts.map +1 -0
  112. package/dist/src/networkFeatureMapForTokens.js +85 -0
  113. package/dist/src/networks.d.ts +2028 -64
  114. package/dist/src/networks.d.ts.map +1 -1
  115. package/dist/src/networks.js +2493 -104
  116. package/dist/src/ofc.d.ts +695 -3
  117. package/dist/src/ofc.d.ts.map +1 -1
  118. package/dist/src/ofc.js +1653 -28
  119. package/dist/src/tokenConfig.d.ts +705 -108
  120. package/dist/src/tokenConfig.d.ts.map +1 -1
  121. package/dist/src/tokenConfig.js +1101 -220
  122. package/dist/src/utxo.d.ts +6 -2
  123. package/dist/src/utxo.d.ts.map +1 -1
  124. package/dist/src/utxo.js +105 -4
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +6 -3
  127. package/.mocharc.js +0 -10
  128. package/.prettierignore +0 -2
  129. package/CHANGELOG.md +0 -1428
@@ -0,0 +1,798 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NEAR_TOKEN_FEATURES = exports.NEAR_FEATURES = exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES = exports.STX_FEATURES = exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.BSC_TOKEN_FEATURES = exports.BSC_FEATURES = exports.APT_OFC_TOKEN_FEATURES = exports.SOL_OFC_TOKEN_FEATURES = exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES = exports.TSOL_FEATURES = exports.SOL_FEATURES = exports.POL_FEATURES = exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.POLYGON_TOKEN_FEATURES = exports.POLYGON_FEATURES = exports.HBAR_FEATURES = exports.EOS_FEATURES = exports.DOT_FEATURES = exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.ADA_TOKEN_FEATURES = exports.ADA_FEATURES = exports.HTETH_TOKEN_FEATURES = exports.ALGO_FEATURES = exports.CSPR_FEATURES = exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = exports.XRP_FEATURES = exports.XTZ_FEATURES = exports.XLM_FEATURES = exports.RBTC_FEATURES = exports.CELO_TOKEN_FEATURES = exports.CELO_FEATURES = exports.AVAXC_FEATURES = exports.EVM_FEATURES = exports.ETC_FEATURES = exports.ETH_FEATURES_WITH_STAKING_AND_MMI = exports.ETH_FEATURES_WITH_STAKING = exports.ETH_FEATURES_WITH_MMI = exports.ETH_FEATURES = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES = exports.BITGO_CUSTODY_JURISDICTIONS = void 0;
4
+ exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = exports.ETH_FEATURES_WITH_GERMANY = exports.ETH_FEATURES_WITH_FRANKFURT = exports.POLYX_TOKEN_FEATURES = exports.POLYX_FEATURES = exports.SONEIUM_FEATURES = exports.TAO_TOKEN_FEATURES = exports.TAO_FEATURES = exports.STARKNET_FEATURES = exports.ICP_FEATURES = exports.APT_FEATURES = exports.APECHAIN_FEATURES = exports.HYPERLIQUID_FEATURES = exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES = exports.COREDAO_FEATURES = exports.OAS_FEATURES = exports.BERA_FEATURES = exports.ZKSYNCERA_FEATURES = exports.ZKETH_FEATURES = exports.OPETH_FEATURES = exports.ARBETH_FEATURES = exports.TON_TOKEN_FEATURES = exports.TON_FEATURES = exports.GENERIC_TOKEN_FEATURES = exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = exports.TOKEN_FEATURES_WITH_FRANKFURT = exports.TOKEN_FEATURES_WITH_SWISS = exports.SEI_FEATURES = exports.COREUM_FEATURES = exports.INJECTIVE_FEATURES = exports.ATOM_FEATURES = exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = exports.COSMOS_TOKEN_FEATURES = exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = exports.COSMOS_SIDECHAIN_FEATURES = exports.TRX_FEATURES = exports.SUI_TOKEN_FEATURES_STAKING = exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES = exports.SUI_FEATURES = exports.RETH_ROCKET_FEATURES = exports.EIGEN_FEATURES = exports.TWETH_FEATURES = exports.WETH_FEATURES = exports.MATIC_FEATURES_WITH_FRANKFURT = exports.MATIC_FEATURES = void 0;
5
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ERC7984_TOKEN_FEATURES = exports.TCANTON_FEATURES = exports.CANTON_TOKEN_FEATURES = exports.CANTON_FEATURES = exports.IOTA_FEATURES = exports.WEMIX_FEATURES = exports.WFLR_FEATURES = exports.FLR_FEATURES = exports.SGB_FEATURES = exports.XDC_TOKEN_FEATURES = exports.XDC_FEATURES = exports.EVM_NON_EIP1559_FEATURES = exports.VET_TOKEN_FEATURES = exports.VET_FEATURES = exports.BERA_BGT_FEATURES = exports.WCT_FEATURES = exports.TIA_FEATURES = exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ZETA_EVM_FEATURES = exports.ZETA_FEATURES = void 0;
6
+ const base_1 = require("./base");
7
+ const ada_1 = require("./ada");
8
+ //list of all the jurisdictions where BitGo Custody is available
9
+ exports.BITGO_CUSTODY_JURISDICTIONS = [
10
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
11
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
12
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
13
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
14
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
15
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
16
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
17
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
18
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
19
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
20
+ base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE,
21
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
22
+ ];
23
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES = [
24
+ base_1.CoinFeature.ACCOUNT_MODEL,
25
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
26
+ base_1.CoinFeature.VALUELESS_TRANSFER,
27
+ base_1.CoinFeature.TRANSACTION_DATA,
28
+ base_1.CoinFeature.CUSTODY,
29
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
30
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
31
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
32
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
33
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
34
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
35
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
36
+ ];
37
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
38
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
39
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE && feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE);
40
+ exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_EUROPE = exports.ACCOUNT_COIN_DEFAULT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
41
+ exports.ETH_FEATURES = [
42
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
43
+ base_1.CoinFeature.SUPPORTS_TOKENS,
44
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
45
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
46
+ base_1.CoinFeature.EVM_COIN,
47
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_ONCHAIN,
48
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
49
+ ];
50
+ exports.ETH_FEATURES_WITH_MMI = [...exports.ETH_FEATURES, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
51
+ exports.ETH_FEATURES_WITH_STAKING = [...exports.ETH_FEATURES, base_1.CoinFeature.STAKING];
52
+ exports.ETH_FEATURES_WITH_STAKING_AND_MMI = [...exports.ETH_FEATURES_WITH_STAKING, base_1.CoinFeature.METAMASK_INSTITUTIONAL];
53
+ exports.ETC_FEATURES = [
54
+ ...exports.ETH_FEATURES,
55
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
56
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
57
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
58
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
59
+ base_1.CoinFeature.MULTISIG_COLD,
60
+ base_1.CoinFeature.MULTISIG,
61
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
62
+ ];
63
+ exports.EVM_FEATURES = [
64
+ ...exports.ETH_FEATURES,
65
+ base_1.CoinFeature.TSS,
66
+ base_1.CoinFeature.TSS_COLD,
67
+ base_1.CoinFeature.MPCV2,
68
+ base_1.CoinFeature.EVM_WALLET,
69
+ base_1.CoinFeature.BULK_TRANSACTION,
70
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
71
+ base_1.CoinFeature.EIP1559,
72
+ ];
73
+ exports.AVAXC_FEATURES = [
74
+ ...exports.ETH_FEATURES_WITH_MMI,
75
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
76
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
77
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
78
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
79
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
80
+ base_1.CoinFeature.MULTISIG_COLD,
81
+ base_1.CoinFeature.MULTISIG,
82
+ base_1.CoinFeature.EIP1559,
83
+ base_1.CoinFeature.STAKING,
84
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
85
+ ];
86
+ exports.CELO_FEATURES = [
87
+ ...exports.ETH_FEATURES,
88
+ base_1.CoinFeature.MULTISIG_COLD,
89
+ base_1.CoinFeature.MULTISIG,
90
+ base_1.CoinFeature.EIP1559,
91
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
92
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_GERMANY &&
93
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
94
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
95
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
96
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
97
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
98
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
99
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
100
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK &&
101
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND &&
102
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SISTER_TRUST_ONE &&
103
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA &&
104
+ feature !== base_1.CoinFeature.DISTRIBUTED_CUSTODY);
105
+ exports.CELO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES].filter((feature) => feature !== base_1.CoinFeature.CUSTODY &&
106
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_TRUST &&
107
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE &&
108
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE &&
109
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE &&
110
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_KOREA &&
111
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS &&
112
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT &&
113
+ feature !== base_1.CoinFeature.CUSTODY_BITGO_INDIA);
114
+ exports.RBTC_FEATURES = [
115
+ ...exports.ETH_FEATURES,
116
+ base_1.CoinFeature.MULTISIG_COLD,
117
+ base_1.CoinFeature.MULTISIG,
118
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
119
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
120
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
121
+ ];
122
+ exports.XLM_FEATURES = [
123
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
124
+ base_1.CoinFeature.SUPPORTS_TOKENS,
125
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
126
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
127
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
128
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
129
+ base_1.CoinFeature.MULTISIG_COLD,
130
+ base_1.CoinFeature.MULTISIG,
131
+ ];
132
+ exports.XTZ_FEATURES = [
133
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
134
+ base_1.CoinFeature.MULTISIG_COLD,
135
+ base_1.CoinFeature.MULTISIG,
136
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
137
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
138
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
139
+ ].filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE);
140
+ exports.XRP_FEATURES = [
141
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
142
+ base_1.CoinFeature.SUPPORTS_TOKENS,
143
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
144
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
145
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
146
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
147
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
148
+ base_1.CoinFeature.MULTISIG_COLD,
149
+ base_1.CoinFeature.MULTISIG,
150
+ ];
151
+ exports.POLYGON_TOKEN_FEATURES_WITH_FRANKFURT = [
152
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
153
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
154
+ base_1.CoinFeature.BULK_TRANSACTION,
155
+ ];
156
+ exports.CSPR_FEATURES = [
157
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
158
+ base_1.CoinFeature.REQUIRES_RESERVE,
159
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
160
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
161
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
162
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
163
+ base_1.CoinFeature.MULTISIG_COLD,
164
+ base_1.CoinFeature.MULTISIG,
165
+ base_1.CoinFeature.STAKING,
166
+ ];
167
+ exports.ALGO_FEATURES = [
168
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
169
+ base_1.CoinFeature.SUPPORTS_TOKENS,
170
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
171
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
172
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
173
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
174
+ base_1.CoinFeature.MULTISIG_COLD,
175
+ base_1.CoinFeature.MULTISIG,
176
+ base_1.CoinFeature.BULK_TRANSACTION,
177
+ ];
178
+ exports.HTETH_TOKEN_FEATURES = [
179
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
180
+ base_1.CoinFeature.BULK_TRANSACTION,
181
+ base_1.CoinFeature.EIP1559,
182
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
183
+ ];
184
+ exports.ADA_FEATURES = [
185
+ ...ada_1.Ada.DEFAULT_FEATURES,
186
+ base_1.CoinFeature.BULK_TRANSACTION,
187
+ base_1.CoinFeature.SUPPORTS_TOKENS,
188
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
189
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
190
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
191
+ ];
192
+ exports.ADA_TOKEN_FEATURES = [
193
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
194
+ base_1.CoinFeature.BULK_TRANSACTION,
195
+ base_1.CoinFeature.TSS,
196
+ base_1.CoinFeature.TSS_COLD,
197
+ ];
198
+ exports.ADA_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
199
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
200
+ base_1.CoinFeature.BULK_TRANSACTION,
201
+ base_1.CoinFeature.TSS,
202
+ base_1.CoinFeature.TSS_COLD,
203
+ ];
204
+ exports.DOT_FEATURES = [
205
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
206
+ base_1.CoinFeature.TSS,
207
+ base_1.CoinFeature.TSS_COLD,
208
+ base_1.CoinFeature.STAKING,
209
+ base_1.CoinFeature.EXPIRING_TRANSACTIONS,
210
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
211
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
212
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
213
+ ];
214
+ exports.EOS_FEATURES = [
215
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
216
+ base_1.CoinFeature.SUPPORTS_TOKENS,
217
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
218
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
219
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
220
+ base_1.CoinFeature.MULTISIG_COLD,
221
+ base_1.CoinFeature.MULTISIG,
222
+ ];
223
+ exports.HBAR_FEATURES = [
224
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
225
+ base_1.CoinFeature.SUPPORTS_TOKENS,
226
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
227
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
228
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
229
+ base_1.CoinFeature.MULTISIG_COLD,
230
+ base_1.CoinFeature.MULTISIG,
231
+ base_1.CoinFeature.BULK_TRANSACTION,
232
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
233
+ base_1.CoinFeature.STAKING,
234
+ ];
235
+ exports.POLYGON_FEATURES = [
236
+ ...exports.ETH_FEATURES_WITH_MMI,
237
+ base_1.CoinFeature.TSS,
238
+ base_1.CoinFeature.TSS_COLD,
239
+ base_1.CoinFeature.MULTISIG_COLD,
240
+ base_1.CoinFeature.EVM_WALLET,
241
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
242
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
243
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
244
+ base_1.CoinFeature.MPCV2,
245
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
246
+ base_1.CoinFeature.BULK_TRANSACTION,
247
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
248
+ ];
249
+ exports.POLYGON_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.BULK_TRANSACTION];
250
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
251
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
252
+ base_1.CoinFeature.BULK_TRANSACTION,
253
+ ];
254
+ exports.EVM_ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
255
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
256
+ base_1.CoinFeature.EIP1559,
257
+ ];
258
+ exports.ERC20_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
259
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
260
+ base_1.CoinFeature.BULK_TRANSACTION,
261
+ ];
262
+ exports.POL_FEATURES = [
263
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
264
+ base_1.CoinFeature.STAKING,
265
+ base_1.CoinFeature.MULTISIG_COLD,
266
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
267
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
268
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
269
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
270
+ ];
271
+ exports.SOL_FEATURES = [
272
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
273
+ base_1.CoinFeature.TSS,
274
+ base_1.CoinFeature.TSS_COLD,
275
+ base_1.CoinFeature.REQUIRES_RESERVE,
276
+ base_1.CoinFeature.SUPPORTS_TOKENS,
277
+ base_1.CoinFeature.STAKING,
278
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
279
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
280
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
281
+ base_1.CoinFeature.BULK_TRANSACTION,
282
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
283
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
284
+ ];
285
+ exports.TSOL_FEATURES = [...exports.SOL_FEATURES, base_1.CoinFeature.BULK_TRANSACTION, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
286
+ exports.SOL_TOKEN_FEATURES = [
287
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
288
+ base_1.CoinFeature.TSS,
289
+ base_1.CoinFeature.TSS_COLD,
290
+ base_1.CoinFeature.BULK_TRANSACTION,
291
+ ];
292
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
293
+ exports.SOL_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
294
+ exports.APT_OFC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
295
+ exports.BSC_FEATURES = [
296
+ ...exports.ETH_FEATURES_WITH_STAKING_AND_MMI,
297
+ base_1.CoinFeature.TSS,
298
+ base_1.CoinFeature.TSS_COLD,
299
+ base_1.CoinFeature.EVM_WALLET,
300
+ base_1.CoinFeature.MPCV2,
301
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
302
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
303
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
304
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
305
+ base_1.CoinFeature.BULK_TRANSACTION,
306
+ base_1.CoinFeature.SHARED_EVM_MESSAGE_SIGNING,
307
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
308
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
309
+ ];
310
+ exports.BSC_TOKEN_FEATURES = [
311
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
312
+ base_1.CoinFeature.BULK_TRANSACTION,
313
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
314
+ ];
315
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE = [
316
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE,
317
+ base_1.CoinFeature.BULK_TRANSACTION,
318
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
319
+ ];
320
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_MENA_FZE = [
321
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE,
322
+ base_1.CoinFeature.BULK_TRANSACTION,
323
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
324
+ ];
325
+ exports.STX_FEATURES = [
326
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
327
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
328
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
329
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
330
+ base_1.CoinFeature.MULTISIG_COLD,
331
+ base_1.CoinFeature.MULTISIG,
332
+ base_1.CoinFeature.STAKING,
333
+ base_1.CoinFeature.SUPPORTS_TOKENS,
334
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
335
+ ];
336
+ exports.STX_TOKEN_FEATURES = [
337
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
338
+ base_1.CoinFeature.MULTISIG_COLD,
339
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
340
+ ];
341
+ exports.STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.STX_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
342
+ exports.NEAR_FEATURES = [
343
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
344
+ base_1.CoinFeature.TSS,
345
+ base_1.CoinFeature.TSS_COLD,
346
+ base_1.CoinFeature.STAKING,
347
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
348
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
349
+ base_1.CoinFeature.SUPPORTS_TOKENS,
350
+ ];
351
+ exports.NEAR_TOKEN_FEATURES = [
352
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
353
+ base_1.CoinFeature.TSS,
354
+ base_1.CoinFeature.TSS_COLD,
355
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
356
+ ];
357
+ exports.MATIC_FEATURES = [
358
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
359
+ base_1.CoinFeature.STAKING,
360
+ base_1.CoinFeature.MULTISIG_COLD,
361
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
362
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
363
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
364
+ ];
365
+ exports.MATIC_FEATURES_WITH_FRANKFURT = [...exports.MATIC_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
366
+ exports.WETH_FEATURES = [
367
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
368
+ base_1.CoinFeature.MULTISIG_COLD,
369
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
370
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
371
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
372
+ ];
373
+ exports.TWETH_FEATURES = [...exports.WETH_FEATURES, base_1.CoinFeature.STAKING];
374
+ exports.EIGEN_FEATURES = [
375
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
376
+ base_1.CoinFeature.STAKING,
377
+ base_1.CoinFeature.MULTISIG_COLD,
378
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
379
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
380
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
381
+ ];
382
+ exports.RETH_ROCKET_FEATURES = [
383
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
384
+ base_1.CoinFeature.STAKING,
385
+ base_1.CoinFeature.MULTISIG_COLD,
386
+ base_1.CoinFeature.METAMASK_INSTITUTIONAL,
387
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
388
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
389
+ base_1.CoinFeature.LIQUID_STAKING,
390
+ ];
391
+ exports.SUI_FEATURES = [
392
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
393
+ base_1.CoinFeature.TSS,
394
+ base_1.CoinFeature.TSS_COLD,
395
+ base_1.CoinFeature.STAKING,
396
+ base_1.CoinFeature.BULK_TRANSACTION,
397
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
398
+ base_1.CoinFeature.SUPPORTS_TOKENS,
399
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
400
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
401
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
402
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
403
+ base_1.CoinFeature.ALLOWS_NEGATIVE_FEE,
404
+ ];
405
+ exports.SUI_TOKEN_FEATURES = [
406
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
407
+ base_1.CoinFeature.TSS,
408
+ base_1.CoinFeature.TSS_COLD,
409
+ base_1.CoinFeature.BULK_TRANSACTION,
410
+ ];
411
+ exports.SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE = exports.SUI_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
412
+ exports.SUI_TOKEN_FEATURES_STAKING = [
413
+ ...exports.SUI_TOKEN_FEATURES,
414
+ base_1.CoinFeature.STAKING,
415
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
416
+ ];
417
+ exports.TRX_FEATURES = [
418
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
419
+ base_1.CoinFeature.SUPPORTS_TOKENS,
420
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
421
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
422
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
423
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
424
+ base_1.CoinFeature.MULTISIG_COLD,
425
+ base_1.CoinFeature.MULTISIG,
426
+ base_1.CoinFeature.STAKING,
427
+ base_1.CoinFeature.TSS,
428
+ base_1.CoinFeature.TSS_COLD,
429
+ base_1.CoinFeature.MPCV2,
430
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
431
+ base_1.CoinFeature.TSS_SUPPORT_IN_PROGRESS, // TODO: remove this after TSS is fully onboarded
432
+ ];
433
+ exports.COSMOS_SIDECHAIN_FEATURES = [
434
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
435
+ base_1.CoinFeature.TSS,
436
+ base_1.CoinFeature.TSS_COLD,
437
+ base_1.CoinFeature.MPCV2,
438
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
439
+ base_1.CoinFeature.COSMOS_LIKE_COINS,
440
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
441
+ base_1.CoinFeature.INCREASED_TX_REQUEST_REBUILD_LIMIT,
442
+ base_1.CoinFeature.BULK_TRANSACTION,
443
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
444
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
445
+ base_1.CoinFeature.SUPPORTS_TOKENS,
446
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
447
+ ];
448
+ exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING = [
449
+ ...exports.COSMOS_SIDECHAIN_FEATURES,
450
+ base_1.CoinFeature.STAKING,
451
+ base_1.CoinFeature.BULK_STAKING_TRANSACTION,
452
+ ];
453
+ exports.COSMOS_TOKEN_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES];
454
+ exports.COSMOS_TOKEN_FEATURES_WITH_STAKING = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING];
455
+ exports.ATOM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
456
+ exports.INJECTIVE_FEATURES = [
457
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
458
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
459
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
460
+ ];
461
+ exports.COREUM_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
462
+ exports.SEI_FEATURES = [
463
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
464
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
465
+ base_1.CoinFeature.SUNSETTING,
466
+ ];
467
+ exports.TOKEN_FEATURES_WITH_SWISS = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND];
468
+ exports.TOKEN_FEATURES_WITH_FRANKFURT = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
469
+ exports.TOKEN_FEATURES_WITH_NY_GERMANY_FRANKFURT = [
470
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
471
+ base_1.CoinFeature.CUSTODY_BITGO_NEW_YORK,
472
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
473
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
474
+ ];
475
+ exports.GENERIC_TOKEN_FEATURES = [
476
+ base_1.CoinFeature.ACCOUNT_MODEL,
477
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
478
+ base_1.CoinFeature.VALUELESS_TRANSFER,
479
+ base_1.CoinFeature.TRANSACTION_DATA,
480
+ base_1.CoinFeature.GENERIC_TOKEN,
481
+ ];
482
+ exports.TON_FEATURES = [
483
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
484
+ base_1.CoinFeature.TSS,
485
+ base_1.CoinFeature.TSS_COLD,
486
+ base_1.CoinFeature.STAKING,
487
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
488
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
489
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
490
+ base_1.CoinFeature.CUSTODY_BITGO_KOREA,
491
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
492
+ base_1.CoinFeature.SUPPORTS_TOKENS,
493
+ ];
494
+ exports.TON_TOKEN_FEATURES = [
495
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
496
+ base_1.CoinFeature.TSS,
497
+ base_1.CoinFeature.TSS_COLD,
498
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
499
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
500
+ ];
501
+ exports.ARBETH_FEATURES = [
502
+ ...exports.ETH_FEATURES,
503
+ base_1.CoinFeature.TSS,
504
+ base_1.CoinFeature.TSS_COLD,
505
+ base_1.CoinFeature.MPCV2,
506
+ base_1.CoinFeature.MULTISIG_COLD,
507
+ base_1.CoinFeature.EVM_WALLET,
508
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
509
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
510
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
511
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
512
+ base_1.CoinFeature.EIP1559,
513
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
514
+ base_1.CoinFeature.MULTISIG,
515
+ base_1.CoinFeature.BULK_TRANSACTION,
516
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
517
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
518
+ ];
519
+ exports.OPETH_FEATURES = [
520
+ ...exports.ETH_FEATURES,
521
+ base_1.CoinFeature.TSS,
522
+ base_1.CoinFeature.TSS_COLD,
523
+ base_1.CoinFeature.MPCV2,
524
+ base_1.CoinFeature.MULTISIG_COLD,
525
+ base_1.CoinFeature.MULTISIG,
526
+ base_1.CoinFeature.EVM_WALLET,
527
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
528
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
529
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
530
+ base_1.CoinFeature.EIP1559,
531
+ base_1.CoinFeature.WALLET_CONNECT_DEFI,
532
+ base_1.CoinFeature.BULK_TRANSACTION,
533
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
534
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
535
+ ];
536
+ exports.ZKETH_FEATURES = [
537
+ ...exports.ETH_FEATURES,
538
+ base_1.CoinFeature.MULTISIG_COLD,
539
+ base_1.CoinFeature.MULTISIG,
540
+ base_1.CoinFeature.EVM_WALLET,
541
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
542
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
543
+ base_1.CoinFeature.EIP1559,
544
+ ];
545
+ exports.ZKSYNCERA_FEATURES = [
546
+ ...exports.EVM_FEATURES,
547
+ base_1.CoinFeature.SHARED_EVM_SIGNING,
548
+ base_1.CoinFeature.SHARED_EVM_SDK,
549
+ base_1.CoinFeature.EVM_COMPATIBLE_IMS,
550
+ base_1.CoinFeature.EVM_COMPATIBLE_UI,
551
+ base_1.CoinFeature.EVM_COMPATIBLE_WP,
552
+ base_1.CoinFeature.SUPPORTS_ERC20,
553
+ base_1.CoinFeature.EVM_NON_BITGO_RECOVERY,
554
+ base_1.CoinFeature.EVM_UNSIGNED_SWEEP_RECOVERY,
555
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
556
+ base_1.CoinFeature.ETH_ROLLUP_CHAIN,
557
+ ];
558
+ exports.BERA_FEATURES = [
559
+ ...exports.ETH_FEATURES,
560
+ base_1.CoinFeature.TSS,
561
+ base_1.CoinFeature.TSS_COLD,
562
+ base_1.CoinFeature.MPCV2,
563
+ base_1.CoinFeature.EVM_WALLET,
564
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
565
+ base_1.CoinFeature.BULK_TRANSACTION,
566
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
567
+ base_1.CoinFeature.EIP1559,
568
+ base_1.CoinFeature.STAKING,
569
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
570
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
571
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
572
+ ];
573
+ exports.OAS_FEATURES = [
574
+ ...exports.ETH_FEATURES,
575
+ base_1.CoinFeature.TSS,
576
+ base_1.CoinFeature.TSS_COLD,
577
+ base_1.CoinFeature.MPCV2,
578
+ base_1.CoinFeature.EVM_WALLET,
579
+ base_1.CoinFeature.BULK_TRANSACTION,
580
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
581
+ base_1.CoinFeature.EIP1559,
582
+ ];
583
+ exports.COREDAO_FEATURES = [
584
+ ...exports.ETH_FEATURES,
585
+ base_1.CoinFeature.TSS,
586
+ base_1.CoinFeature.TSS_COLD,
587
+ base_1.CoinFeature.MPCV2,
588
+ base_1.CoinFeature.EVM_WALLET,
589
+ base_1.CoinFeature.BULK_TRANSACTION,
590
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
591
+ base_1.CoinFeature.EIP1559,
592
+ base_1.CoinFeature.STAKING,
593
+ base_1.CoinFeature.EIP1559,
594
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
595
+ ];
596
+ exports.TEMPO_FEATURES = [
597
+ ...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.ENTERPRISE_PAYS_FEES),
598
+ base_1.CoinFeature.EVM_KEYRING_UNSUPPORTED,
599
+ ];
600
+ exports.TEMPO_FEATURES_EXCLUDE_SINGAPORE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
601
+ exports.HYPERLIQUID_FEATURES = [
602
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
603
+ base_1.CoinFeature.MULTISIG_COLD,
604
+ base_1.CoinFeature.TSS,
605
+ base_1.CoinFeature.TSS_COLD,
606
+ base_1.CoinFeature.MPCV2,
607
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
608
+ ];
609
+ exports.APECHAIN_FEATURES = [
610
+ ...exports.ETH_FEATURES,
611
+ base_1.CoinFeature.TSS,
612
+ base_1.CoinFeature.TSS_COLD,
613
+ base_1.CoinFeature.MPCV2,
614
+ base_1.CoinFeature.EVM_WALLET,
615
+ base_1.CoinFeature.BULK_TRANSACTION,
616
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
617
+ base_1.CoinFeature.EIP1559,
618
+ ];
619
+ exports.APT_FEATURES = [
620
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
621
+ base_1.CoinFeature.TSS,
622
+ base_1.CoinFeature.TSS_COLD,
623
+ base_1.CoinFeature.BULK_TRANSACTION,
624
+ base_1.CoinFeature.SUPPORTS_TOKENS,
625
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
626
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
627
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
628
+ ];
629
+ exports.ICP_FEATURES = [
630
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
631
+ base_1.CoinFeature.TSS,
632
+ base_1.CoinFeature.TSS_COLD,
633
+ base_1.CoinFeature.MPCV2,
634
+ base_1.CoinFeature.SUPPORTS_TOKENS,
635
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
636
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
637
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
638
+ ];
639
+ exports.STARKNET_FEATURES = [
640
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
641
+ base_1.CoinFeature.TSS,
642
+ base_1.CoinFeature.TSS_COLD,
643
+ base_1.CoinFeature.MPCV2,
644
+ base_1.CoinFeature.SHA256_WITH_ECDSA_TSS,
645
+ base_1.CoinFeature.REBUILD_ON_CUSTODY_SIGNING,
646
+ ];
647
+ exports.TAO_FEATURES = [
648
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
649
+ base_1.CoinFeature.TSS,
650
+ base_1.CoinFeature.TSS_COLD,
651
+ base_1.CoinFeature.STAKING,
652
+ base_1.CoinFeature.SUPPORTS_TOKENS,
653
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
654
+ ];
655
+ exports.TAO_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS, base_1.CoinFeature.TSS_COLD];
656
+ exports.SONEIUM_FEATURES = [
657
+ ...exports.ETH_FEATURES,
658
+ base_1.CoinFeature.TSS,
659
+ base_1.CoinFeature.TSS_COLD,
660
+ base_1.CoinFeature.MPCV2,
661
+ base_1.CoinFeature.EVM_WALLET,
662
+ base_1.CoinFeature.BULK_TRANSACTION,
663
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
664
+ base_1.CoinFeature.EIP1559,
665
+ base_1.CoinFeature.MULTISIG,
666
+ base_1.CoinFeature.MULTISIG_COLD,
667
+ base_1.CoinFeature.MULTISIG_SUPPORT_GATED,
668
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
669
+ ];
670
+ exports.POLYX_FEATURES = [
671
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
672
+ base_1.CoinFeature.TSS,
673
+ base_1.CoinFeature.TSS_COLD,
674
+ base_1.CoinFeature.STAKING,
675
+ base_1.CoinFeature.SUPPORTS_TOKENS,
676
+ base_1.CoinFeature.STUCK_TRANSACTION_MANAGEMENT_TSS,
677
+ ];
678
+ exports.POLYX_TOKEN_FEATURES = [
679
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
680
+ base_1.CoinFeature.TSS,
681
+ base_1.CoinFeature.TOKEN_STANDARD_USES_ALTERNATIVE_ADDRESS_IDENTIFIER,
682
+ ];
683
+ exports.ETH_FEATURES_WITH_FRANKFURT = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT];
684
+ exports.ETH_FEATURES_WITH_GERMANY = [...exports.ETH_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
685
+ exports.ETH_FEATURES_WITH_FRANKFURT_GERMANY = [...exports.ETH_FEATURES_WITH_FRANKFURT, base_1.CoinFeature.CUSTODY_BITGO_GERMANY];
686
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT = [
687
+ ...exports.SOL_TOKEN_FEATURES,
688
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
689
+ base_1.CoinFeature.BULK_TRANSACTION,
690
+ ];
691
+ exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT_GERMANY = [
692
+ ...exports.SOL_TOKEN_FEATURES_WITH_FRANKFURT,
693
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
694
+ ];
695
+ exports.XLM_TOKEN_FEATURES_WITH_FRANKFURT = [
696
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
697
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
698
+ ];
699
+ exports.ZETA_FEATURES = [...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
700
+ exports.ZETA_EVM_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE];
701
+ exports.ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE = exports.ETH_FEATURES_WITH_FRANKFURT.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE);
702
+ exports.TIA_FEATURES = [
703
+ ...exports.COSMOS_SIDECHAIN_FEATURES_WITH_STAKING,
704
+ base_1.CoinFeature.CUSTODY_BITGO_SWITZERLAND,
705
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
706
+ ];
707
+ exports.WCT_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STAKING, base_1.CoinFeature.WALLET_CONNECT_DEFI];
708
+ exports.BERA_BGT_FEATURES = [
709
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
710
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
711
+ base_1.CoinFeature.CUSTODY_BITGO_GERMANY,
712
+ ];
713
+ exports.VET_FEATURES = [
714
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
715
+ base_1.CoinFeature.TSS,
716
+ base_1.CoinFeature.TSS_COLD,
717
+ base_1.CoinFeature.BULK_TRANSACTION,
718
+ base_1.CoinFeature.SUPPORTS_TOKENS,
719
+ base_1.CoinFeature.ENTERPRISE_PAYS_FEES,
720
+ base_1.CoinFeature.TSS_ENTERPRISE_PAYS_FEES,
721
+ base_1.CoinFeature.FEES_PAID_WITH_TOKEN,
722
+ base_1.CoinFeature.MPCV2,
723
+ ];
724
+ exports.VET_TOKEN_FEATURES = exports.VET_FEATURES.filter((feature) => feature !== base_1.CoinFeature.SUPPORTS_TOKENS);
725
+ exports.EVM_NON_EIP1559_FEATURES = [...exports.EVM_FEATURES.filter((feature) => feature !== base_1.CoinFeature.EIP1559)];
726
+ exports.XDC_FEATURES = [
727
+ ...exports.EVM_NON_EIP1559_FEATURES,
728
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
729
+ base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX,
730
+ ];
731
+ exports.XDC_TOKEN_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.TSS_VERIFY_USE_SERIALIZED_TX_HEX];
732
+ exports.SGB_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
733
+ exports.FLR_FEATURES = [
734
+ ...exports.EVM_FEATURES,
735
+ base_1.CoinFeature.USES_NON_PACKED_ENCODING_FOR_TXDATA,
736
+ base_1.CoinFeature.ERC20_BULK_TRANSACTION,
737
+ ];
738
+ exports.WFLR_FEATURES = [...exports.ACCOUNT_COIN_DEFAULT_FEATURES, base_1.CoinFeature.STABLECOIN, base_1.CoinFeature.STAKING];
739
+ exports.WEMIX_FEATURES = [...exports.EVM_FEATURES, base_1.CoinFeature.ERC20_BULK_TRANSACTION];
740
+ exports.IOTA_FEATURES = [
741
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
742
+ base_1.CoinFeature.TSS,
743
+ base_1.CoinFeature.TSS_COLD,
744
+ base_1.CoinFeature.BULK_TRANSACTION,
745
+ base_1.CoinFeature.CUSTODY_BULK_TRANSACTION,
746
+ ];
747
+ // TODO: https://bitgoinc.atlassian.net/browse/COIN-5870
748
+ exports.CANTON_FEATURES = [
749
+ base_1.CoinFeature.TRANSACTION_DATA,
750
+ base_1.CoinFeature.REQUIRES_BIG_NUMBER,
751
+ base_1.CoinFeature.TSS,
752
+ base_1.CoinFeature.TSS_COLD,
753
+ base_1.CoinFeature.CUSTODY,
754
+ base_1.CoinFeature.CUSTODY_BITGO_TRUST,
755
+ base_1.CoinFeature.CUSTODY_BITGO_MENA_FZE,
756
+ base_1.CoinFeature.CUSTODY_BITGO_CUSTODY_MENA_FZE,
757
+ base_1.CoinFeature.CUSTODY_BITGO_SINGAPORE,
758
+ base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS,
759
+ base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT,
760
+ base_1.CoinFeature.CUSTODY_BITGO_INDIA,
761
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
762
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
763
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
764
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
765
+ base_1.CoinFeature.SUPPORTS_TOKENS,
766
+ ];
767
+ exports.CANTON_TOKEN_FEATURES = [
768
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
769
+ base_1.CoinFeature.TSS,
770
+ base_1.CoinFeature.TSS_COLD,
771
+ base_1.CoinFeature.SUPPORTS_ONE_STEP_DEPOSIT,
772
+ base_1.CoinFeature.REQUIRES_WALLET_INITIALIZATION_TRANSACTION,
773
+ base_1.CoinFeature.REQUIRES_DEPOSIT_ACCEPTANCE_TRANSACTION,
774
+ base_1.CoinFeature.ALPHANUMERIC_MEMO_ID,
775
+ ];
776
+ exports.TCANTON_FEATURES = [
777
+ ...exports.CANTON_FEATURES,
778
+ base_1.CoinFeature.UNSPENT_MODEL,
779
+ base_1.CoinFeature.MERGE_UTXOS,
780
+ base_1.CoinFeature.FANOUT_UTXOS,
781
+ base_1.CoinFeature.BYOV_VALIDATOR,
782
+ ];
783
+ exports.ERC7984_TOKEN_FEATURES = [
784
+ ...exports.ACCOUNT_COIN_DEFAULT_FEATURES,
785
+ base_1.CoinFeature.BULK_TRANSACTION,
786
+ base_1.CoinFeature.TSS,
787
+ base_1.CoinFeature.TSS_COLD,
788
+ base_1.CoinFeature.CONFIDENTIAL_TRANSFER,
789
+ base_1.CoinFeature.REQUIRES_DECRYPTION_DELEGATION,
790
+ ];
791
+ exports.ETH_FEATURES_EXCLUDE_EUROPE = exports.ETH_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
792
+ exports.POLYGON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.POLYGON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
793
+ exports.SOL_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.SOL_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
794
+ exports.BSC_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.BSC_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
795
+ exports.TON_TOKEN_FEATURES_EXCLUDE_EUROPE = exports.TON_TOKEN_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
796
+ exports.TEMPO_FEATURES_EXCLUDE_EUROPE = exports.TEMPO_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
797
+ exports.APT_FEATURES_EXCLUDE_EUROPE = exports.APT_FEATURES.filter((feature) => feature !== base_1.CoinFeature.CUSTODY_BITGO_EUROPE_APS && feature !== base_1.CoinFeature.CUSTODY_BITGO_FRANKFURT);
798
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29pbkZlYXR1cmVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvaW5GZWF0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFxQztBQUNyQywrQkFBNEI7QUFFNUIsZ0VBQWdFO0FBQ25ELFFBQUEsMkJBQTJCLEdBQUc7SUFDekMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxtQkFBbUI7SUFDL0Isa0JBQVcsQ0FBQyx3QkFBd0I7SUFDcEMsa0JBQVcsQ0FBQyxxQkFBcUI7SUFDakMsa0JBQVcsQ0FBQyx1QkFBdUI7SUFDbkMsa0JBQVcsQ0FBQyxzQkFBc0I7SUFDbEMsa0JBQVcsQ0FBQyx5QkFBeUI7SUFDckMsa0JBQVcsQ0FBQyw4QkFBOEI7SUFDMUMsa0JBQVcsQ0FBQyxtQkFBbUI7Q0FDaEMsQ0FBQztBQUVXLFFBQUEsNkJBQTZCLEdBQUc7SUFDM0Msa0JBQVcsQ0FBQyxhQUFhO0lBQ3pCLGtCQUFXLENBQUMsbUJBQW1CO0lBQy9CLGtCQUFXLENBQUMsa0JBQWtCO0lBQzlCLGtCQUFXLENBQUMsZ0JBQWdCO0lBQzVCLGtCQUFXLENBQUMsT0FBTztJQUNuQixrQkFBVyxDQUFDLG1CQUFtQjtJQUMvQixrQkFBVyxDQUFDLHNCQUFzQjtJQUNsQyxrQkFBVyxDQUFDLDhCQUE4QjtJQUMxQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLHdCQUF3QjtJQUNwQyxrQkFBVyxDQUFDLHVCQUF1QjtJQUNuQyxrQkFBVyxDQUFDLG1CQUFtQjtDQUNoQyxDQUFDO0FBRVcsUUFBQSwrQ0FBK0MsR0FBRyxxQ0FBNkIsQ0FBQyxNQUFNLENBQ2pHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FD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QixDQUNqSCxDQUFDO0FBQ1csUUFBQSxpQ0FBaUMsR0FBRywwQkFBa0IsQ0FBQyxNQUFNLENBQ3hFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssa0JBQVcsQ0FBQyx3QkFBd0IsSUFBSSxPQUFPLEtBQUssa0JBQVcsQ0FBQyx1QkFBdUIsQ0FDakgsQ0FBQztBQUNXLFFBQUEsaUNBQWlDLEdBQUcsMEJBQWtCLENBQUMsTUFBTSxDQUN4RSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxLQUFLLGtCQUFXLENBQUMsd0JBQXdCLElBQUksT0FBTyxLQUFLLGtCQUFXLENBQUMsdUJBQXVCLENBQ2pILENBQUM7QUFDVyxRQUFBLGlDQUFpQyxHQUFHLDBCQUFrQixDQUFDLE1BQU0sQ0FDeEUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSw2QkFBNkIsR0FBRyxzQkFBYyxDQUFDLE1BQU0sQ0FDaEUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDO0FBQ1csUUFBQSwyQkFBMkIsR0FBRyxvQkFBWSxDQUFDLE1BQU0sQ0FDNUQsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHdCQUF3QixJQUFJLE9BQU8sS0FBSyxrQkFBVyxDQUFDLHVCQUF1QixDQUNqSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29pbkZlYXR1cmUgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQWRhIH0gZnJvbSAnLi9hZGEnO1xuXG4vL2xpc3Qgb2YgYWxsIHRoZSBqdXJpc2RpY3Rpb25zIHdoZXJlIEJpdEdvIEN1c3RvZHkgaXMgYXZhaWxhYmxlXG5leHBvcnQgY29uc3QgQklUR09fQ1VTVE9EWV9KVVJJU0RJQ1RJT05TID0gW1xuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lTVEVSX1RSVVNUX09ORSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSxcbl07XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyA9IFtcbiAgQ29pbkZlYXR1cmUuQUNDT1VOVF9NT0RFTCxcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfQklHX05VTUJFUixcbiAgQ29pbkZlYXR1cmUuVkFMVUVMRVNTX1RSQU5TRkVSLFxuICBDb2luRmVhdHVyZS5UUkFOU0FDVElPTl9EQVRBLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0NVU1RPRFlfTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0lORElBLFxuXTtcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFID0gQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRVxuKTtcblxuZXhwb3J0IGNvbnN0IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFX0FORF9NRU5BX0ZaRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkVcbik7XG5cbmV4cG9ydCBjb25zdCBBQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcblxuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLkVWTV9DT0lOLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX09OQ0hBSU4sXG4gIENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fTUVTU0FHRV9TSUdOSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9NTUkgPSBbLi4uRVRIX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5NRVRBTUFTS19JTlNUSVRVVElPTkFMXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuU1RBS0lOR107XG5leHBvcnQgY29uc3QgRVRIX0ZFQVRVUkVTX1dJVEhfU1RBS0lOR19BTkRfTU1JID0gWy4uLkVUSF9GRUFUVVJFU19XSVRIX1NUQUtJTkcsIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUxdO1xuZXhwb3J0IGNvbnN0IEVUQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuZXhwb3J0IGNvbnN0IEVWTV9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuZXhwb3J0IGNvbnN0IEFWQVhDX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVNfV0lUSF9NTUksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgQ0VMT19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbl0uZmlsdGVyKFxuICAoZmVhdHVyZSkgPT5cbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX01FTkFfRlpFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUksgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5EICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSVNURVJfVFJVU1RfT05FICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkRJU1RSSUJVVEVEX0NVU1RPRFlcbik7XG5cbmV4cG9ydCBjb25zdCBDRUxPX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTXS5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFkgJiZcbiAgICBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1RSVVNUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJlxuICAgIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUICYmXG4gICAgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19JTkRJQVxuKTtcblxuZXhwb3J0IGNvbnN0IFJCVENfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBYTE1fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19ORVdfWU9SSyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbl07XG5leHBvcnQgY29uc3QgWFRaX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTkVXX1lPUkssXG5dLmZpbHRlcigoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19DVVNUT0RZX01FTkFfRlpFKTtcblxuZXhwb3J0IGNvbnN0IFhSUF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuXTtcbmV4cG9ydCBjb25zdCBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENTUFJfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19SRVNFUlZFLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG5dO1xuZXhwb3J0IGNvbnN0IEFMR09fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgSFRFVEhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuICBDb2luRmVhdHVyZS5XQUxMRVRfQ09OTkVDVF9ERUZJLFxuXTtcbmV4cG9ydCBjb25zdCBBREFfRkVBVFVSRVMgPSBbXG4gIC4uLkFkYS5ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbl07XG5leHBvcnQgY29uc3QgQURBX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbl07XG5leHBvcnQgY29uc3QgQURBX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbl07XG5leHBvcnQgY29uc3QgRE9UX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuRVhQSVJJTkdfVFJBTlNBQ1RJT05TLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBFT1NfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbl07XG5leHBvcnQgY29uc3QgSEJBUl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTX1dJVEhfTU1JLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuXG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTl07XG5leHBvcnQgY29uc3QgUE9MWUdPTl9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IEVWTV9FUkMyMF9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVNfRVhDTFVERV9TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuZXhwb3J0IGNvbnN0IEVSQzIwX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgUE9MX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IFNPTF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1JFU0VSVkUsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBUU09MX0ZFQVRVUkVTID0gWy4uLlNPTF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTiwgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVdO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IFNPTF9UT0tFTl9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFNPTF9UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRVxuKTtcbmV4cG9ydCBjb25zdCBTT0xfT0ZDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1MsIENvaW5GZWF0dXJlLlRTU19DT0xEXTtcbmV4cG9ydCBjb25zdCBBUFRfT0ZDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1MsIENvaW5GZWF0dXJlLlRTU19DT0xEXTtcblxuZXhwb3J0IGNvbnN0IEJTQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTX1dJVEhfU1RBS0lOR19BTkRfTU1JLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9NRVNTQUdFX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcbmV4cG9ydCBjb25zdCBCU0NfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgQlNDX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuVFNTX1ZFUklGWV9VU0VfU0VSSUFMSVpFRF9UWF9IRVgsXG5dO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFU19FWENMVURFX01FTkFfRlpFLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgU1RYX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkFMUEhBTlVNRVJJQ19NRU1PX0lELFxuXTtcbmV4cG9ydCBjb25zdCBTVFhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbl07XG5leHBvcnQgY29uc3QgU1RYX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gU1RYX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IE5FQVJfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbl07XG5leHBvcnQgY29uc3QgTkVBUl9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBNQVRJQ19GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBNQVRJQ19GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5NQVRJQ19GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuXG5leHBvcnQgY29uc3QgV0VUSF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBUV0VUSF9GRUFUVVJFUyA9IFsuLi5XRVRIX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFLSU5HXTtcbmV4cG9ydCBjb25zdCBFSUdFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuXTtcbmV4cG9ydCBjb25zdCBSRVRIX1JPQ0tFVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1FVEFNQVNLX0lOU1RJVFVUSU9OQUwsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU1dJVFpFUkxBTkQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFLFxuICBDb2luRmVhdHVyZS5MSVFVSURfU1RBS0lORyxcbl07XG5leHBvcnQgY29uc3QgU1VJX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQlVMS19TVEFLSU5HX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fS09SRUEsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQUxMT1dTX05FR0FUSVZFX0ZFRSxcbl07XG5leHBvcnQgY29uc3QgU1VJX1RPS0VOX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgU1VJX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfU0lOR0FQT1JFID0gU1VJX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IFNVSV9UT0tFTl9GRUFUVVJFU19TVEFLSU5HID0gW1xuICAuLi5TVUlfVE9LRU5fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkJVTEtfU1RBS0lOR19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgVFJYX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19LT1JFQSxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUcsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5TSEEyNTZfV0lUSF9FQ0RTQV9UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19TVVBQT1JUX0lOX1BST0dSRVNTLCAvLyBUT0RPOiByZW1vdmUgdGhpcyBhZnRlciBUU1MgaXMgZnVsbHkgb25ib2FyZGVkXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19TSURFQ0hBSU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuU0hBMjU2X1dJVEhfRUNEU0FfVFNTLFxuICBDb2luRmVhdHVyZS5DT1NNT1NfTElLRV9DT0lOUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLklOQ1JFQVNFRF9UWF9SRVFVRVNUX1JFQlVJTERfTElNSVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5TVEFLSU5HLFxuICBDb2luRmVhdHVyZS5CVUxLX1NUQUtJTkdfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IENPU01PU19UT0tFTl9GRUFUVVJFUyA9IFsuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTXTtcbmV4cG9ydCBjb25zdCBDT1NNT1NfVE9LRU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HXTtcbmV4cG9ydCBjb25zdCBBVE9NX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVF07XG5leHBvcnQgY29uc3QgSU5KRUNUSVZFX0ZFQVRVUkVTID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IENPUkVVTV9GRUFUVVJFUyA9IFsuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuZXhwb3J0IGNvbnN0IFNFSV9GRUFUVVJFUyA9IFtcbiAgLi4uQ09TTU9TX1NJREVDSEFJTl9GRUFUVVJFU19XSVRIX1NUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5TVU5TRVRUSU5HLFxuXTtcbmV4cG9ydCBjb25zdCBUT0tFTl9GRUFUVVJFU19XSVRIX1NXSVNTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NXSVRaRVJMQU5EXTtcbmV4cG9ydCBjb25zdCBUT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRdO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0ZFQVRVUkVTX1dJVEhfTllfR0VSTUFOWV9GUkFOS0ZVUlQgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX05FV19ZT1JLLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuXTtcbmV4cG9ydCBjb25zdCBHRU5FUklDX1RPS0VOX0ZFQVRVUkVTID0gW1xuICBDb2luRmVhdHVyZS5BQ0NPVU5UX01PREVMLFxuICBDb2luRmVhdHVyZS5SRVFVSVJFU19CSUdfTlVNQkVSLFxuICBDb2luRmVhdHVyZS5WQUxVRUxFU1NfVFJBTlNGRVIsXG4gIENvaW5GZWF0dXJlLlRSQU5TQUNUSU9OX0RBVEEsXG4gIENvaW5GZWF0dXJlLkdFTkVSSUNfVE9LRU4sXG5dO1xuZXhwb3J0IGNvbnN0IFRPTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlJFQlVJTERfT05fQ1VTVE9EWV9TSUdOSU5HLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0tPUkVBLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuXTtcbmV4cG9ydCBjb25zdCBUT05fVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5SRUJVSUxEX09OX0NVU1RPRFlfU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuQUxQSEFOVU1FUklDX01FTU9fSUQsXG5dO1xuZXhwb3J0IGNvbnN0IEFSQkVUSF9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLkVUSF9ST0xMVVBfQ0hBSU4sXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbl07XG5leHBvcnQgY29uc3QgT1BFVEhfRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLldBTExFVF9DT05ORUNUX0RFRkksXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcbmV4cG9ydCBjb25zdCBaS0VUSF9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJRyxcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuVVNFU19OT05fUEFDS0VEX0VOQ09ESU5HX0ZPUl9UWERBVEEsXG4gIENvaW5GZWF0dXJlLkVUSF9ST0xMVVBfQ0hBSU4sXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG5dO1xuXG5leHBvcnQgY29uc3QgWktTWU5DRVJBX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlNIQVJFRF9FVk1fU0lHTklORyxcbiAgQ29pbkZlYXR1cmUuU0hBUkVEX0VWTV9TREssXG4gIENvaW5GZWF0dXJlLkVWTV9DT01QQVRJQkxFX0lNUyxcbiAgQ29pbkZlYXR1cmUuRVZNX0NPTVBBVElCTEVfVUksXG4gIENvaW5GZWF0dXJlLkVWTV9DT01QQVRJQkxFX1dQLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19FUkMyMCxcbiAgQ29pbkZlYXR1cmUuRVZNX05PTl9CSVRHT19SRUNPVkVSWSxcbiAgQ29pbkZlYXR1cmUuRVZNX1VOU0lHTkVEX1NXRUVQX1JFQ09WRVJZLFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVRIX1JPTExVUF9DSEFJTixcbl07XG5cbmV4cG9ydCBjb25zdCBCRVJBX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQlVMS19UUkFOU0FDVElPTixcbl07XG5leHBvcnQgY29uc3QgT0FTX0ZFQVRVUkVTID0gW1xuICAuLi5FVEhfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5FVk1fV0FMTEVULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbiAgQ29pbkZlYXR1cmUuRUlQMTU1OSxcbl07XG5leHBvcnQgY29uc3QgQ09SRURBT19GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLkVSQzIwX0JVTEtfVFJBTlNBQ1RJT04sXG5dO1xuZXhwb3J0IGNvbnN0IFRFTVBPX0ZFQVRVUkVTID0gW1xuICAuLi5FVk1fRkVBVFVSRVMuZmlsdGVyKChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5FTlRFUlBSSVNFX1BBWVNfRkVFUyksXG4gIENvaW5GZWF0dXJlLkVWTV9LRVlSSU5HX1VOU1VQUE9SVEVELFxuXTtcbmV4cG9ydCBjb25zdCBURU1QT19GRUFUVVJFU19FWENMVURFX1NJTkdBUE9SRSA9IFRFTVBPX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXG4pO1xuZXhwb3J0IGNvbnN0IEhZUEVSTElRVUlEX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuTVVMVElTSUdfQ09MRCxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbl07XG5leHBvcnQgY29uc3QgQVBFQ0hBSU5fRkVBVFVSRVMgPSBbXG4gIC4uLkVUSF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLkVWTV9XQUxMRVQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuICBDb2luRmVhdHVyZS5FSVAxNTU5LFxuXTtcbmV4cG9ydCBjb25zdCBBUFRfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLkVOVEVSUFJJU0VfUEFZU19GRUVTLFxuICBDb2luRmVhdHVyZS5UU1NfRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLlNUVUNLX1RSQU5TQUNUSU9OX01BTkFHRU1FTlRfVFNTLFxuXTtcblxuZXhwb3J0IGNvbnN0IElDUF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuICBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG4gIENvaW5GZWF0dXJlLlRTU19WRVJJRllfVVNFX1NFUklBTElaRURfVFhfSEVYLFxuXTtcblxuZXhwb3J0IGNvbnN0IFNUQVJLTkVUX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuTVBDVjIsXG4gIENvaW5GZWF0dXJlLlNIQTI1Nl9XSVRIX0VDRFNBX1RTUyxcbiAgQ29pbkZlYXR1cmUuUkVCVUlMRF9PTl9DVVNUT0RZX1NJR05JTkcsXG5dO1xuXG5leHBvcnQgY29uc3QgVEFPX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuICBDb2luRmVhdHVyZS5TVFVDS19UUkFOU0FDVElPTl9NQU5BR0VNRU5UX1RTUyxcbl07XG5cbmV4cG9ydCBjb25zdCBUQU9fVE9LRU5fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLlRTUywgQ29pbkZlYXR1cmUuVFNTX0NPTERdO1xuXG5leHBvcnQgY29uc3QgU09ORUlVTV9GRUFUVVJFUyA9IFtcbiAgLi4uRVRIX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5NUENWMixcbiAgQ29pbkZlYXR1cmUuRVZNX1dBTExFVCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG4gIENvaW5GZWF0dXJlLkVJUDE1NTksXG4gIENvaW5GZWF0dXJlLk1VTFRJU0lHLFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19DT0xELFxuICBDb2luRmVhdHVyZS5NVUxUSVNJR19TVVBQT1JUX0dBVEVELFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbl07XG5cbmV4cG9ydCBjb25zdCBQT0xZWF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNUQUtJTkcsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuU1RVQ0tfVFJBTlNBQ1RJT05fTUFOQUdFTUVOVF9UU1MsXG5dO1xuXG5leHBvcnQgY29uc3QgUE9MWVhfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRPS0VOX1NUQU5EQVJEX1VTRVNfQUxURVJOQVRJVkVfQUREUkVTU19JREVOVElGSUVSLFxuXTtcblxuZXhwb3J0IGNvbnN0IEVUSF9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFsuLi5FVEhfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9HRVJNQU5ZID0gWy4uLkVUSF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfR0VSTUFOWSA9IFsuLi5FVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fR0VSTUFOWV07XG5leHBvcnQgY29uc3QgU09MX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJUID0gW1xuICAuLi5TT0xfVE9LRU5fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuXTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfR0VSTUFOWSA9IFtcbiAgLi4uU09MX1RPS0VOX0ZFQVRVUkVTX1dJVEhfRlJBTktGVVJULFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0dFUk1BTlksXG5dO1xuZXhwb3J0IGNvbnN0IFhMTV9UT0tFTl9GRUFUVVJFU19XSVRIX0ZSQU5LRlVSVCA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJULFxuXTtcbmV4cG9ydCBjb25zdCBaRVRBX0ZFQVRVUkVTID0gWy4uLkNPU01PU19TSURFQ0hBSU5fRkVBVFVSRVNfV0lUSF9TVEFLSU5HLCBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX1NJTkdBUE9SRV07XG5leHBvcnQgY29uc3QgWkVUQV9FVk1fRkVBVFVSRVMgPSBbLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fU0lOR0FQT1JFXTtcbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlRfRVhDTFVERV9TSU5HQVBPUkUgPSBFVEhfRkVBVFVSRVNfV0lUSF9GUkFOS0ZVUlQuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkVcbik7XG5leHBvcnQgY29uc3QgVElBX0ZFQVRVUkVTID0gW1xuICAuLi5DT1NNT1NfU0lERUNIQUlOX0ZFQVRVUkVTX1dJVEhfU1RBS0lORyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TV0lUWkVSTEFORCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG5dO1xuZXhwb3J0IGNvbnN0IFdDVF9GRUFUVVJFUyA9IFsuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUywgQ29pbkZlYXR1cmUuU1RBS0lORywgQ29pbkZlYXR1cmUuV0FMTEVUX0NPTk5FQ1RfREVGSV07XG5leHBvcnQgY29uc3QgQkVSQV9CR1RfRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVCxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19HRVJNQU5ZLFxuXTtcblxuZXhwb3J0IGNvbnN0IFZFVF9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkJVTEtfVFJBTlNBQ1RJT04sXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX1RPS0VOUyxcbiAgQ29pbkZlYXR1cmUuRU5URVJQUklTRV9QQVlTX0ZFRVMsXG4gIENvaW5GZWF0dXJlLlRTU19FTlRFUlBSSVNFX1BBWVNfRkVFUyxcbiAgQ29pbkZlYXR1cmUuRkVFU19QQUlEX1dJVEhfVE9LRU4sXG4gIENvaW5GZWF0dXJlLk1QQ1YyLFxuXTtcbmV4cG9ydCBjb25zdCBWRVRfVE9LRU5fRkVBVFVSRVMgPSBWRVRfRkVBVFVSRVMuZmlsdGVyKChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5TVVBQT1JUU19UT0tFTlMpO1xuXG5leHBvcnQgY29uc3QgRVZNX05PTl9FSVAxNTU5X0ZFQVRVUkVTID0gWy4uLkVWTV9GRUFUVVJFUy5maWx0ZXIoKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkVJUDE1NTkpXTtcblxuZXhwb3J0IGNvbnN0IFhEQ19GRUFUVVJFUyA9IFtcbiAgLi4uRVZNX05PTl9FSVAxNTU5X0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWCxcbl07XG5leHBvcnQgY29uc3QgWERDX1RPS0VOX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5UU1NfVkVSSUZZX1VTRV9TRVJJQUxJWkVEX1RYX0hFWF07XG5cbmV4cG9ydCBjb25zdCBTR0JfRkVBVFVSRVMgPSBbLi4uRVZNX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5FUkMyMF9CVUxLX1RSQU5TQUNUSU9OXTtcblxuZXhwb3J0IGNvbnN0IEZMUl9GRUFUVVJFUyA9IFtcbiAgLi4uRVZNX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5VU0VTX05PTl9QQUNLRURfRU5DT0RJTkdfRk9SX1RYREFUQSxcbiAgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBXRkxSX0ZFQVRVUkVTID0gWy4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLCBDb2luRmVhdHVyZS5TVEFCTEVDT0lOLCBDb2luRmVhdHVyZS5TVEFLSU5HXTtcblxuZXhwb3J0IGNvbnN0IFdFTUlYX0ZFQVRVUkVTID0gWy4uLkVWTV9GRUFUVVJFUywgQ29pbkZlYXR1cmUuRVJDMjBfQlVMS19UUkFOU0FDVElPTl07XG5cbmV4cG9ydCBjb25zdCBJT1RBX0ZFQVRVUkVTID0gW1xuICAuLi5BQ0NPVU5UX0NPSU5fREVGQVVMVF9GRUFUVVJFUyxcbiAgQ29pbkZlYXR1cmUuVFNTLFxuICBDb2luRmVhdHVyZS5UU1NfQ09MRCxcbiAgQ29pbkZlYXR1cmUuQlVMS19UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CVUxLX1RSQU5TQUNUSU9OLFxuXTtcblxuLy8gVE9ETzogaHR0cHM6Ly9iaXRnb2luYy5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9DT0lOLTU4NzBcbmV4cG9ydCBjb25zdCBDQU5UT05fRkVBVFVSRVMgPSBbXG4gIENvaW5GZWF0dXJlLlRSQU5TQUNUSU9OX0RBVEEsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0JJR19OVU1CRVIsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFksXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fVFJVU1QsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fTUVOQV9GWkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fQ1VTVE9EWV9NRU5BX0ZaRSxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19TSU5HQVBPUkUsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyxcbiAgQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlQsXG4gIENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fSU5ESUEsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX09ORV9TVEVQX0RFUE9TSVQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1dBTExFVF9JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfREVQT1NJVF9BQ0NFUFRBTkNFX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbiAgQ29pbkZlYXR1cmUuU1VQUE9SVFNfVE9LRU5TLFxuXTtcblxuZXhwb3J0IGNvbnN0IENBTlRPTl9UT0tFTl9GRUFUVVJFUyA9IFtcbiAgLi4uQUNDT1VOVF9DT0lOX0RFRkFVTFRfRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlRTUyxcbiAgQ29pbkZlYXR1cmUuVFNTX0NPTEQsXG4gIENvaW5GZWF0dXJlLlNVUFBPUlRTX09ORV9TVEVQX0RFUE9TSVQsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX1dBTExFVF9JTklUSUFMSVpBVElPTl9UUkFOU0FDVElPTixcbiAgQ29pbkZlYXR1cmUuUkVRVUlSRVNfREVQT1NJVF9BQ0NFUFRBTkNFX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5BTFBIQU5VTUVSSUNfTUVNT19JRCxcbl07XG5cbmV4cG9ydCBjb25zdCBUQ0FOVE9OX0ZFQVRVUkVTID0gW1xuICAuLi5DQU5UT05fRkVBVFVSRVMsXG4gIENvaW5GZWF0dXJlLlVOU1BFTlRfTU9ERUwsXG4gIENvaW5GZWF0dXJlLk1FUkdFX1VUWE9TLFxuICBDb2luRmVhdHVyZS5GQU5PVVRfVVRYT1MsXG4gIENvaW5GZWF0dXJlLkJZT1ZfVkFMSURBVE9SLFxuXTtcblxuZXhwb3J0IGNvbnN0IEVSQzc5ODRfVE9LRU5fRkVBVFVSRVMgPSBbXG4gIC4uLkFDQ09VTlRfQ09JTl9ERUZBVUxUX0ZFQVRVUkVTLFxuICBDb2luRmVhdHVyZS5CVUxLX1RSQU5TQUNUSU9OLFxuICBDb2luRmVhdHVyZS5UU1MsXG4gIENvaW5GZWF0dXJlLlRTU19DT0xELFxuICBDb2luRmVhdHVyZS5DT05GSURFTlRJQUxfVFJBTlNGRVIsXG4gIENvaW5GZWF0dXJlLlJFUVVJUkVTX0RFQ1JZUFRJT05fREVMRUdBVElPTixcbl07XG5cbmV4cG9ydCBjb25zdCBFVEhfRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBFVEhfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IFBPTFlHT05fVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBQT0xZR09OX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBTT0xfVE9LRU5fRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBTT0xfVE9LRU5fRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuZXhwb3J0IGNvbnN0IEJTQ19UT0tFTl9GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IEJTQ19UT0tFTl9GRUFUVVJFUy5maWx0ZXIoXG4gIChmZWF0dXJlKSA9PiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0VVUk9QRV9BUFMgJiYgZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19GUkFOS0ZVUlRcbik7XG5leHBvcnQgY29uc3QgVE9OX1RPS0VOX0ZFQVRVUkVTX0VYQ0xVREVfRVVST1BFID0gVE9OX1RPS0VOX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBURU1QT19GRUFUVVJFU19FWENMVURFX0VVUk9QRSA9IFRFTVBPX0ZFQVRVUkVTLmZpbHRlcihcbiAgKGZlYXR1cmUpID0+IGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRVVST1BFX0FQUyAmJiBmZWF0dXJlICE9PSBDb2luRmVhdHVyZS5DVVNUT0RZX0JJVEdPX0ZSQU5LRlVSVFxuKTtcbmV4cG9ydCBjb25zdCBBUFRfRkVBVFVSRVNfRVhDTFVERV9FVVJPUEUgPSBBUFRfRkVBVFVSRVMuZmlsdGVyKFxuICAoZmVhdHVyZSkgPT4gZmVhdHVyZSAhPT0gQ29pbkZlYXR1cmUuQ1VTVE9EWV9CSVRHT19FVVJPUEVfQVBTICYmIGZlYXR1cmUgIT09IENvaW5GZWF0dXJlLkNVU1RPRFlfQklUR09fRlJBTktGVVJUXG4pO1xuIl19