@lifeready/core 1.0.21 → 1.0.22

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 (228) hide show
  1. package/bundles/lifeready-core.umd.js +9745 -9700
  2. package/bundles/lifeready-core.umd.js.map +1 -1
  3. package/bundles/lifeready-core.umd.min.js +2 -2
  4. package/bundles/lifeready-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/_common/run-outside-angular.js +2 -2
  6. package/esm2015/lib/_common/types.js +1 -1
  7. package/esm2015/lib/api/lr-apollo.service.js +3 -3
  8. package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
  9. package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
  10. package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
  11. package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
  12. package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
  13. package/esm2015/lib/auth/auth.gql.js +1 -28
  14. package/esm2015/lib/auth/auth.types.js +1 -1
  15. package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
  16. package/esm2015/lib/category/category.gql.js +1 -1
  17. package/esm2015/lib/category/category.service.js +6 -6
  18. package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
  19. package/esm2015/lib/contact-card/contact-card.service.js +154 -0
  20. package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
  21. package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
  22. package/esm2015/lib/encryption/encryption.service.js +189 -0
  23. package/esm2015/lib/file-upload/file-upload.service.js +74 -0
  24. package/esm2015/lib/file-upload/file-upload.types.js +1 -0
  25. package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
  26. package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
  27. package/esm2015/lib/items2/item2.service.js +20 -20
  28. package/esm2015/lib/key/key-factory.service.js +237 -0
  29. package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
  30. package/esm2015/lib/key/key-meta.service.js +200 -0
  31. package/esm2015/lib/key/key.service.js +124 -0
  32. package/esm2015/lib/key/key.types.js +11 -0
  33. package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
  34. package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
  35. package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
  36. package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
  37. package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
  38. package/esm2015/lib/lbop/lbop.service.js +355 -0
  39. package/esm2015/lib/life-ready.module.js +2 -27
  40. package/esm2015/lib/lock/lock.gql.js +40 -0
  41. package/esm2015/lib/lock/lock.service.js +64 -0
  42. package/esm2015/lib/message/message.gql.js +32 -0
  43. package/esm2015/lib/message/message.service.js +116 -0
  44. package/esm2015/lib/message/message.types.js +1 -0
  45. package/esm2015/lib/password/password.gql.js +28 -0
  46. package/esm2015/lib/password/password.service.js +315 -0
  47. package/esm2015/lib/persist/persist.service.js +180 -0
  48. package/esm2015/lib/profile/profile-details.service.js +214 -0
  49. package/esm2015/lib/profile/profile.gql.js +97 -0
  50. package/esm2015/lib/profile/profile.service.js +169 -0
  51. package/esm2015/lib/profile/profile.types.js +34 -0
  52. package/esm2015/lib/record/record-attachment.service.js +15 -15
  53. package/esm2015/lib/record/record.service.js +3 -3
  54. package/esm2015/lib/register/register.service.js +172 -0
  55. package/esm2015/lib/scenario/scenario.controller.js +2 -2
  56. package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
  57. package/esm2015/lib/scenario/scenario.service.js +9 -9
  58. package/esm2015/lib/scenario/scenario.types.js +1 -1
  59. package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
  60. package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
  61. package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
  62. package/esm2015/lib/slip39/slip39.service.js +169 -0
  63. package/esm2015/lib/time/time.service.js +146 -0
  64. package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
  65. package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
  66. package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
  67. package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
  68. package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
  69. package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
  70. package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
  71. package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
  72. package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
  73. package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
  74. package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
  75. package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
  76. package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
  77. package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
  78. package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
  79. package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
  80. package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
  81. package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
  82. package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
  83. package/esm2015/lib/two-factor/two-factor.service.js +74 -0
  84. package/esm2015/lib/user/user.gql.js +60 -0
  85. package/esm2015/lib/user/user.service.js +79 -0
  86. package/esm2015/lib/user/user.types.js +1 -0
  87. package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
  88. package/esm2015/lifeready-core.js +15 -13
  89. package/esm2015/public-api.js +49 -51
  90. package/fesm2015/lifeready-core.js +9232 -9214
  91. package/fesm2015/lifeready-core.js.map +1 -1
  92. package/lib/_common/types.d.ts +3 -1
  93. package/lib/api/lr-apollo.service.d.ts +1 -1
  94. package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
  95. package/lib/api/query-processor/common-processors.service.d.ts +1 -1
  96. package/lib/api/query-processor/query-processor.service.d.ts +1 -1
  97. package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
  98. package/lib/api/types/lr-graphql.types.d.ts +11 -0
  99. package/lib/auth/auth.gql.d.ts +0 -3
  100. package/lib/auth/auth.types.d.ts +2 -2
  101. package/lib/auth/life-ready-auth.service.d.ts +12 -12
  102. package/lib/category/category.gql.d.ts +1 -1
  103. package/lib/category/category.service.d.ts +2 -2
  104. package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
  105. package/lib/contact-card/contact-card2.gql.d.ts +25 -0
  106. package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
  107. package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
  108. package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
  109. package/lib/file-upload/file-upload.types.d.ts +5 -0
  110. package/lib/{auth → idle}/idle.service.d.ts +4 -4
  111. package/lib/items2/item2.service.d.ts +11 -11
  112. package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
  113. package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
  114. package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
  115. package/lib/{cryptography → key}/key.service.d.ts +2 -2
  116. package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
  117. package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
  118. package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
  119. package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
  120. package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
  121. package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
  122. package/lib/{api → lock}/lock.gql.d.ts +1 -1
  123. package/lib/{api → lock}/lock.service.d.ts +1 -1
  124. package/lib/message/message.gql.d.ts +13 -0
  125. package/lib/message/message.service.d.ts +29 -0
  126. package/lib/message/message.types.d.ts +12 -0
  127. package/lib/password/password.gql.d.ts +3 -0
  128. package/lib/{auth → password}/password.service.d.ts +8 -8
  129. package/lib/{api → persist}/persist.service.d.ts +3 -3
  130. package/lib/{users → profile}/profile-details.service.d.ts +3 -3
  131. package/lib/{users → profile}/profile.gql.d.ts +2 -2
  132. package/lib/{users → profile}/profile.service.d.ts +6 -6
  133. package/lib/{users → profile}/profile.types.d.ts +1 -1
  134. package/lib/record/record-attachment.service.d.ts +6 -6
  135. package/lib/record/record.service.d.ts +1 -1
  136. package/lib/{auth → register}/register.service.d.ts +4 -4
  137. package/lib/scenario/scenario.controller.d.ts +1 -1
  138. package/lib/scenario/scenario.service.d.ts +2 -2
  139. package/lib/scenario/scenario.types.d.ts +1 -1
  140. package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
  141. package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
  142. package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
  143. package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
  144. package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
  145. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
  146. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
  147. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
  148. package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
  149. package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
  150. package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
  151. package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
  152. package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
  153. package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
  154. package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
  155. package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
  156. package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
  157. package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
  158. package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
  159. package/lib/{users → user}/user.gql.d.ts +1 -1
  160. package/lib/{users → user}/user.types.d.ts +1 -1
  161. package/lifeready-core.d.ts +14 -12
  162. package/lifeready-core.metadata.json +1 -1
  163. package/package.json +1 -1
  164. package/public-api.d.ts +48 -50
  165. package/esm2015/lib/api/contact-card.gql.js +0 -79
  166. package/esm2015/lib/api/contact-card.service.js +0 -154
  167. package/esm2015/lib/api/contact-card2.gql.js +0 -60
  168. package/esm2015/lib/api/contact-card2.service.js +0 -103
  169. package/esm2015/lib/api/file.service.js +0 -74
  170. package/esm2015/lib/api/key-exchange.gql.js +0 -188
  171. package/esm2015/lib/api/key-exchange.service.js +0 -442
  172. package/esm2015/lib/api/key-exchange.types.js +0 -7
  173. package/esm2015/lib/api/key-exchange2.gql.js +0 -171
  174. package/esm2015/lib/api/key-exchange2.service.js +0 -480
  175. package/esm2015/lib/api/lock.gql.js +0 -40
  176. package/esm2015/lib/api/lock.service.js +0 -64
  177. package/esm2015/lib/api/message.service.js +0 -138
  178. package/esm2015/lib/api/persist.service.js +0 -181
  179. package/esm2015/lib/api/shared-contact-card.service.js +0 -119
  180. package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
  181. package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
  182. package/esm2015/lib/api/time.service.js +0 -146
  183. package/esm2015/lib/auth/lbop.service.js +0 -355
  184. package/esm2015/lib/auth/password.service.js +0 -315
  185. package/esm2015/lib/auth/register.service.js +0 -172
  186. package/esm2015/lib/auth/two-factor.service.js +0 -74
  187. package/esm2015/lib/cryptography/cryptography.types.js +0 -11
  188. package/esm2015/lib/cryptography/encryption.service.js +0 -189
  189. package/esm2015/lib/cryptography/key-factory.service.js +0 -237
  190. package/esm2015/lib/cryptography/key-meta.service.js +0 -200
  191. package/esm2015/lib/cryptography/key.service.js +0 -124
  192. package/esm2015/lib/cryptography/slip39.service.js +0 -169
  193. package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
  194. package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
  195. package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
  196. package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
  197. package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
  198. package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
  199. package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
  200. package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
  201. package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
  202. package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
  203. package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
  204. package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
  205. package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
  206. package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
  207. package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
  208. package/esm2015/lib/users/profile-details.service.js +0 -214
  209. package/esm2015/lib/users/profile.gql.js +0 -97
  210. package/esm2015/lib/users/profile.service.js +0 -169
  211. package/esm2015/lib/users/profile.types.js +0 -34
  212. package/esm2015/lib/users/user.gql.js +0 -60
  213. package/esm2015/lib/users/user.service.js +0 -79
  214. package/esm2015/lib/users/user.types.js +0 -1
  215. package/lib/api/contact-card2.gql.d.ts +0 -34
  216. package/lib/api/message.service.d.ts +0 -59
  217. /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
  218. /package/lib/{auth → idle}/idle.types.d.ts +0 -0
  219. /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
  220. /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
  221. /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
  222. /package/lib/{api → time}/time.service.d.ts +0 -0
  223. /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
  224. /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
  225. /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
  226. /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
  227. /package/lib/{users → user}/user.service.d.ts +0 -0
  228. /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
@@ -1,171 +0,0 @@
1
- import { gqlTyped } from '../_common/ast';
2
- export const KeyExchangeFragment = gqlTyped `
3
- fragment KeyExchangeFragment on KeyExchangeNode {
4
- id
5
- token
6
- state
7
- mode
8
- isInitiator
9
- initiator {
10
- id
11
- username
12
- }
13
- responder {
14
- id
15
- username
16
- }
17
- created
18
- modified
19
- tokenExpiryTime
20
- isExpired
21
- initiatorRootKeyCipher
22
- initiatorActionRequired
23
- responderActionRequired
24
- responderEmailAddress
25
- otk {
26
- state
27
- otKeyParams
28
- otKeyCipher
29
- sharedKey {
30
- id
31
- }
32
- mkSharedKey {
33
- id
34
- }
35
- initiatorSigPxk {
36
- id
37
- }
38
- responderSigPxk {
39
- id
40
- }
41
- initiatorOneTimePbkCipher
42
- responderPbkCipher
43
- }
44
- }
45
- `;
46
- export const UserSharedKeyFragment = gqlTyped `
47
- fragment UserSharedKeyFragment on UserSharedKeyNode {
48
- userSigPrk {
49
- id
50
- }
51
- otherSigPbk {
52
- id
53
- }
54
- sharedKey {
55
- id
56
- }
57
- mkSharedKey {
58
- id
59
- }
60
- }`;
61
- export const KeyExchangesQuery2 = gqlTyped `
62
- query KeyExchangesQuery2($state: String) {
63
- keyExchanges(state: $state) {
64
- edges {
65
- node {
66
- ...KeyExchangeFragment
67
- }
68
- }
69
- }
70
- }
71
- ${KeyExchangeFragment}
72
- `;
73
- export const KeyExchangeQuery2 = gqlTyped `
74
- query KeyExchangeQuery2($id: LrRelayIdInput!) {
75
- keyExchange(id: $id) {
76
- ...KeyExchangeFragment
77
- }
78
- }
79
- ${KeyExchangeFragment}
80
- `;
81
- export const KeyExchangeTokenQuery2 = gqlTyped `
82
- query KeyExchangeTokenQuery2($id: LrRelayIdInput!, $token: String) {
83
- keyExchange(id: $id, token: $token) {
84
- ...KeyExchangeFragment
85
- }
86
- }
87
- ${KeyExchangeFragment}
88
- `;
89
- export const CancelKeyExchangeMutation = gqlTyped `
90
- mutation CancelKeyExchangeMutation($input: CancelKeyExchangeInput!) {
91
- cancelKeyExchange(input: $input) {
92
- keyExchange {
93
- id
94
- }
95
- }
96
- }
97
- `;
98
- export const DeclineKeyExchangeMutation = gqlTyped `
99
- mutation DeclineKeyExchangeMutation($input: DeclineKeyExchangeInput!) {
100
- declineKeyExchange(input: $input) {
101
- keyExchange {
102
- id
103
- }
104
- }
105
- }
106
- `;
107
- export const InitiateKeyExchangeOtkMutation = gqlTyped `
108
- mutation InitiateKeyExchangeOtkMutation(
109
- $input: InitiateKeyExchangeOtkInput!
110
- ) {
111
- initiateKeyExchangeOtk(input: $input) {
112
- keyExchange {
113
- ...KeyExchangeFragment
114
- }
115
- }
116
- }
117
- ${KeyExchangeFragment}
118
- `;
119
- export const RespondKeyExchangeOtkMutation = gqlTyped `
120
- mutation RespondKeyExchangeOtkMutation($input: RespondKeyExchangeOtkInput!) {
121
- respondKeyExchangeOtk(input: $input) {
122
- keyExchange {
123
- ...KeyExchangeFragment
124
- }
125
- userSharedKey {
126
- ...UserSharedKeyFragment
127
- }
128
- tp {
129
- id
130
- }
131
- }
132
- }
133
- ${KeyExchangeFragment}
134
- ${UserSharedKeyFragment}
135
- `;
136
- export const CompleteKeyExchangeOtkMutation = gqlTyped `
137
- mutation CompleteKeyExchangeOtkMutation(
138
- $input: CompleteKeyExchangeOtkInput!
139
- ) {
140
- completeKeyExchangeOtk(input: $input) {
141
- keyExchange {
142
- ...KeyExchangeFragment
143
- }
144
- userSharedKey {
145
- ...UserSharedKeyFragment
146
- }
147
- tp {
148
- id
149
- }
150
- }
151
- }
152
- ${KeyExchangeFragment}
153
- ${UserSharedKeyFragment}
154
- `;
155
- export const CurrentUserSharedKeyQuery2 = gqlTyped `
156
- query CurrentUserSharedKeyQuery2(
157
- $username: String
158
- $userId: LrRelayIdInput
159
- ) {
160
- currentUserSharedKey(
161
- username: $username
162
- userId: $userId
163
- ) {
164
- userSharedKey {
165
- ...UserSharedKeyFragment
166
- }
167
- }
168
- }
169
- ${UserSharedKeyFragment}
170
- `;
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LWV4Y2hhbmdlMi5ncWwuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2FwaS9rZXktZXhjaGFuZ2UyLmdxbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUErRDFDLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBcUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EyQy9ELENBQUM7QUFnQkYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsUUFBUSxDQUF1Qjs7Ozs7Ozs7Ozs7Ozs7RUFjbEUsQ0FBQztBQUtILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBb0I7Ozs7Ozs7Ozs7RUFVNUQsbUJBQW1CO0NBQ3BCLENBQUM7QUFLRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQW1COzs7Ozs7RUFNMUQsbUJBQW1CO0NBQ3BCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxRQUFRLENBQXdCOzs7Ozs7RUFNcEUsbUJBQW1CO0NBQ3BCLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQTJCOzs7Ozs7OztDQVEzRSxDQUFDO0FBU0YsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsUUFBUSxDQUE0Qjs7Ozs7Ozs7Q0FRN0UsQ0FBQztBQU9GLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLFFBQVEsQ0FBZ0M7Ozs7Ozs7Ozs7RUFVcEYsbUJBQW1CO0NBQ3BCLENBQUM7QUFXRixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQStCOzs7Ozs7Ozs7Ozs7OztFQWNsRixtQkFBbUI7RUFDbkIscUJBQXFCO0NBQ3RCLENBQUM7QUFXRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxRQUFRLENBQWdDOzs7Ozs7Ozs7Ozs7Ozs7O0VBZ0JwRixtQkFBbUI7RUFDbkIscUJBQXFCO0NBQ3RCLENBQUM7QUFPRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxRQUFRLENBQTRCOzs7Ozs7Ozs7Ozs7OztFQWM1RSxxQkFBcUI7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBncWwgZnJvbSAnZ3JhcGhxbC10YWcnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IGdxbFR5cGVkIH0gZnJvbSAnLi4vX2NvbW1vbi9hc3QnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbixcbiAgRGF0ZVRpbWUsXG4gIElELFxuICBKU09OT2JqZWN0LFxuICBMckVtYWlsLFxuICBPdEtleUNpcGhlckNsZWFySnNvbjIsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBLZXlFeGNoYW5nZVN0YXRlMiA9XG4gIHwgJ0lOX1BST0dSRVNTJ1xuICB8ICdDT01QTEVURUQnXG4gIHwgJ0RFQ0xJTkVEJ1xuICB8ICdDQU5DRUxMRUQnXG4gIHwgJ0RFTEVURUQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlRnJhZ21lbnQge1xuICBpZDogSUQ7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHN0YXRlOiBLZXlFeGNoYW5nZVN0YXRlMjtcbiAgbW9kZTogJ09USyc7XG4gIGlzSW5pdGlhdG9yOiBib29sZWFuO1xuICBpbml0aWF0b3I6IHtcbiAgICBpZDogSUQ7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgfTtcbiAgcmVzcG9uZGVyOiB7XG4gICAgaWQ6IElEO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gIH07XG4gIGNyZWF0ZWQ6IERhdGVUaW1lO1xuICBtb2RpZmllZDogRGF0ZVRpbWU7XG4gIHRva2VuRXhwaXJ5VGltZTogRGF0ZVRpbWU7XG4gIGlzRXhwaXJlZDogYm9vbGVhbjtcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlcjogc3RyaW5nO1xuICBpbml0aWF0b3JSb290S2V5Q2lwaGVyQ2xlYXJKc29uOiBKU09OT2JqZWN0O1xuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZDogYm9vbGVhbjtcbiAgcmVzcG9uZGVyQWN0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHJlc3BvbmRlckVtYWlsQWRkcmVzczogTHJFbWFpbDtcbiAgb3RrOiB7XG4gICAgc3RhdGU6ICdPVEtfSU5JVElBVEVEJyB8ICdPVEtfQUNDRVBURUQnIHwgJ09US19DT01QTEVURUQnO1xuICAgIG90S2V5UGFyYW1zOiBzdHJpbmc7XG4gICAgb3RLZXlDaXBoZXI6IHN0cmluZztcbiAgICBvdEtleT86IEpXSy5LZXk7XG4gICAgb3RLZXlDaXBoZXJDbGVhckpzb24/OiBPdEtleUNpcGhlckNsZWFySnNvbjI7XG4gICAgc2hhcmVkS2V5OiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICBta1NoYXJlZEtleToge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gICAgaW5pdGlhdG9yU2lnUHhrOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgICByZXNwb25kZXJTaWdQeGs6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICAgIGluaXRpYXRvck9uZVRpbWVQYmtDaXBoZXI6IHN0cmluZztcbiAgICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyQ2xlYXJKc29uOiBKU09OT2JqZWN0O1xuICAgIHJlc3BvbmRlclBia0NpcGhlcjogc3RyaW5nO1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IEtleUV4Y2hhbmdlRnJhZ21lbnQgPSBncWxUeXBlZDxLZXlFeGNoYW5nZUZyYWdtZW50PmBcbmZyYWdtZW50IEtleUV4Y2hhbmdlRnJhZ21lbnQgb24gS2V5RXhjaGFuZ2VOb2RlIHtcbiAgaWRcbiAgdG9rZW5cbiAgc3RhdGVcbiAgbW9kZVxuICBpc0luaXRpYXRvclxuICBpbml0aWF0b3Ige1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICByZXNwb25kZXIge1xuICAgIGlkXG4gICAgdXNlcm5hbWVcbiAgfVxuICBjcmVhdGVkXG4gIG1vZGlmaWVkXG4gIHRva2VuRXhwaXJ5VGltZVxuICBpc0V4cGlyZWRcbiAgaW5pdGlhdG9yUm9vdEtleUNpcGhlclxuICBpbml0aWF0b3JBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJBY3Rpb25SZXF1aXJlZFxuICByZXNwb25kZXJFbWFpbEFkZHJlc3NcbiAgb3RrIHtcbiAgICBzdGF0ZVxuICAgIG90S2V5UGFyYW1zXG4gICAgb3RLZXlDaXBoZXJcbiAgICBzaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgbWtTaGFyZWRLZXkge1xuICAgICAgaWRcbiAgICB9XG4gICAgaW5pdGlhdG9yU2lnUHhrIHtcbiAgICAgIGlkXG4gICAgfVxuICAgIHJlc3BvbmRlclNpZ1B4ayB7XG4gICAgICBpZFxuICAgIH1cbiAgICBpbml0aWF0b3JPbmVUaW1lUGJrQ2lwaGVyXG4gICAgcmVzcG9uZGVyUGJrQ2lwaGVyXG4gIH1cbn1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclNoYXJlZEtleUZyYWdtZW50IHtcbiAgdXNlclNpZ1Byazoge1xuICAgIGlkOiBJRDtcbiAgfTtcbiAgb3RoZXJTaWdQYms6IHtcbiAgICBpZDogSUQ7XG4gIH07XG4gIHNoYXJlZEtleToge1xuICAgIGlkOiBJRDtcbiAgfTtcbiAgbWtTaGFyZWRLZXk6IHtcbiAgICBpZDogSUQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgVXNlclNoYXJlZEtleUZyYWdtZW50ID0gZ3FsVHlwZWQ8VXNlclNoYXJlZEtleUZyYWdtZW50PmBcbmZyYWdtZW50IFVzZXJTaGFyZWRLZXlGcmFnbWVudCBvbiBVc2VyU2hhcmVkS2V5Tm9kZSB7XG4gIHVzZXJTaWdQcmsge1xuICAgIGlkXG4gIH1cbiAgb3RoZXJTaWdQYmsge1xuICAgIGlkXG4gIH1cbiAgc2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG4gIG1rU2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG59YDtcblxuZXhwb3J0IGludGVyZmFjZSBLZXlFeGNoYW5nZXNRdWVyeTIge1xuICBrZXlFeGNoYW5nZXM6IENvbm5lY3Rpb248S2V5RXhjaGFuZ2VGcmFnbWVudD47XG59XG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VzUXVlcnkyID0gZ3FsVHlwZWQ8S2V5RXhjaGFuZ2VzUXVlcnkyPmBcbnF1ZXJ5IEtleUV4Y2hhbmdlc1F1ZXJ5Migkc3RhdGU6IFN0cmluZykge1xuICBrZXlFeGNoYW5nZXMoc3RhdGU6ICRzdGF0ZSkge1xuICAgIGVkZ2VzIHtcbiAgICAgIG5vZGUge1xuICAgICAgICAuLi5LZXlFeGNoYW5nZUZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlUXVlcnkyIHtcbiAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG59XG5leHBvcnQgY29uc3QgS2V5RXhjaGFuZ2VRdWVyeTIgPSBncWxUeXBlZDxLZXlFeGNoYW5nZVF1ZXJ5Mj5gXG5xdWVyeSBLZXlFeGNoYW5nZVF1ZXJ5MigkaWQ6IExyUmVsYXlJZElucHV0ISkge1xuICBrZXlFeGNoYW5nZShpZDogJGlkKSB7XG4gICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG4vLyBLZXkgZ3JhcGggaXMgb25seSBhdmFpbGFibGUgZm9yIGF1dGhlbnRpY2F0ZWQgdXNlcnMuIFRoaXMgcXVlcnlcbi8vIGlzIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMuXG5leHBvcnQgaW50ZXJmYWNlIEtleUV4Y2hhbmdlVG9rZW5RdWVyeTIge1xuICBrZXlFeGNoYW5nZTogS2V5RXhjaGFuZ2VGcmFnbWVudDtcbn1cbmV4cG9ydCBjb25zdCBLZXlFeGNoYW5nZVRva2VuUXVlcnkyID0gZ3FsVHlwZWQ8S2V5RXhjaGFuZ2VUb2tlblF1ZXJ5Mj5gXG5xdWVyeSBLZXlFeGNoYW5nZVRva2VuUXVlcnkyKCRpZDogTHJSZWxheUlkSW5wdXQhLCAkdG9rZW46IFN0cmluZykge1xuICBrZXlFeGNoYW5nZShpZDogJGlkLCB0b2tlbjogJHRva2VuKSB7XG4gICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbEtleUV4Y2hhbmdlTXV0YXRpb24ge1xuICBjYW5jZWxLZXlFeGNoYW5nZToge1xuICAgIGtleUV4Y2hhbmdlOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDYW5jZWxLZXlFeGNoYW5nZU11dGF0aW9uID0gZ3FsVHlwZWQ8Q2FuY2VsS2V5RXhjaGFuZ2VNdXRhdGlvbj5gXG5tdXRhdGlvbiBDYW5jZWxLZXlFeGNoYW5nZU11dGF0aW9uKCRpbnB1dDogQ2FuY2VsS2V5RXhjaGFuZ2VJbnB1dCEpIHtcbiAgY2FuY2VsS2V5RXhjaGFuZ2UoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59XG5gO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2xpbmVLZXlFeGNoYW5nZU11dGF0aW9uIHtcbiAgZGVjbGluZUtleUV4Y2hhbmdlOiB7XG4gICAga2V5RXhjaGFuZ2U6IHtcbiAgICAgIGlkOiBJRDtcbiAgICB9O1xuICB9O1xufVxuZXhwb3J0IGNvbnN0IERlY2xpbmVLZXlFeGNoYW5nZU11dGF0aW9uID0gZ3FsVHlwZWQ8RGVjbGluZUtleUV4Y2hhbmdlTXV0YXRpb24+YFxubXV0YXRpb24gRGVjbGluZUtleUV4Y2hhbmdlTXV0YXRpb24oJGlucHV0OiBEZWNsaW5lS2V5RXhjaGFuZ2VJbnB1dCEpIHtcbiAgZGVjbGluZUtleUV4Y2hhbmdlKGlucHV0OiAkaW5wdXQpIHtcbiAgICBrZXlFeGNoYW5nZSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxufVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24ge1xuICBpbml0aWF0ZUtleUV4Y2hhbmdlT3RrOiB7XG4gICAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG4gIH07XG59XG5leHBvcnQgY29uc3QgSW5pdGlhdGVLZXlFeGNoYW5nZU90a011dGF0aW9uID0gZ3FsVHlwZWQ8SW5pdGlhdGVLZXlFeGNoYW5nZU90a011dGF0aW9uPmBcbm11dGF0aW9uIEluaXRpYXRlS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbihcbiAgJGlucHV0OiBJbml0aWF0ZUtleUV4Y2hhbmdlT3RrSW5wdXQhXG4pIHtcbiAgaW5pdGlhdGVLZXlFeGNoYW5nZU90ayhpbnB1dDogJGlucHV0KSB7XG4gICAga2V5RXhjaGFuZ2Uge1xuICAgICAgLi4uS2V5RXhjaGFuZ2VGcmFnbWVudFxuICAgIH1cbiAgfVxufVxuJHtLZXlFeGNoYW5nZUZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbiB7XG4gIHJlc3BvbmRLZXlFeGNoYW5nZU90azoge1xuICAgIGtleUV4Y2hhbmdlOiBLZXlFeGNoYW5nZUZyYWdtZW50O1xuICAgIHVzZXJTaGFyZWRLZXk6IFVzZXJTaGFyZWRLZXlGcmFnbWVudDtcbiAgICB0cDoge1xuICAgICAgaWQ6IElEO1xuICAgIH07XG4gIH07XG59XG5leHBvcnQgY29uc3QgUmVzcG9uZEtleUV4Y2hhbmdlT3RrTXV0YXRpb24gPSBncWxUeXBlZDxSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbj5gXG5tdXRhdGlvbiBSZXNwb25kS2V5RXhjaGFuZ2VPdGtNdXRhdGlvbigkaW5wdXQ6IFJlc3BvbmRLZXlFeGNoYW5nZU90a0lucHV0ISkge1xuICByZXNwb25kS2V5RXhjaGFuZ2VPdGsoaW5wdXQ6ICRpbnB1dCkge1xuICAgIGtleUV4Y2hhbmdlIHtcbiAgICAgIC4uLktleUV4Y2hhbmdlRnJhZ21lbnRcbiAgICB9XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAuLi5Vc2VyU2hhcmVkS2V5RnJhZ21lbnRcbiAgICB9XG4gICAgdHAge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbn1cbiR7S2V5RXhjaGFuZ2VGcmFnbWVudH1cbiR7VXNlclNoYXJlZEtleUZyYWdtZW50fVxuYDtcblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24ge1xuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrOiB7XG4gICAga2V5RXhjaGFuZ2U6IEtleUV4Y2hhbmdlRnJhZ21lbnQ7XG4gICAgdXNlclNoYXJlZEtleTogVXNlclNoYXJlZEtleUZyYWdtZW50O1xuICAgIHRwOiB7XG4gICAgICBpZDogSUQ7XG4gICAgfTtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24gPSBncWxUeXBlZDxDb21wbGV0ZUtleUV4Y2hhbmdlT3RrTXV0YXRpb24+YFxubXV0YXRpb24gQ29tcGxldGVLZXlFeGNoYW5nZU90a011dGF0aW9uKFxuICAkaW5wdXQ6IENvbXBsZXRlS2V5RXhjaGFuZ2VPdGtJbnB1dCFcbikge1xuICBjb21wbGV0ZUtleUV4Y2hhbmdlT3RrKGlucHV0OiAkaW5wdXQpIHtcbiAgICBrZXlFeGNoYW5nZSB7XG4gICAgICAuLi5LZXlFeGNoYW5nZUZyYWdtZW50XG4gICAgfVxuICAgIHVzZXJTaGFyZWRLZXkge1xuICAgICAgLi4uVXNlclNoYXJlZEtleUZyYWdtZW50XG4gICAgfVxuICAgIHRwIHtcbiAgICAgIGlkXG4gICAgfVxuICB9XG59XG4ke0tleUV4Y2hhbmdlRnJhZ21lbnR9XG4ke1VzZXJTaGFyZWRLZXlGcmFnbWVudH1cbmA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeTIge1xuICBjdXJyZW50VXNlclNoYXJlZEtleToge1xuICAgIHVzZXJTaGFyZWRLZXk6IFVzZXJTaGFyZWRLZXlGcmFnbWVudDtcbiAgfTtcbn1cbmV4cG9ydCBjb25zdCBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5MiA9IGdxbFR5cGVkPEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkyPmBcbnF1ZXJ5IEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnkyKFxuICAkdXNlcm5hbWU6IFN0cmluZ1xuICAkdXNlcklkOiBMclJlbGF5SWRJbnB1dFxuKSB7XG4gIGN1cnJlbnRVc2VyU2hhcmVkS2V5KFxuICAgIHVzZXJuYW1lOiAkdXNlcm5hbWVcbiAgICB1c2VySWQ6ICR1c2VySWRcbiAgKSB7XG4gICAgdXNlclNoYXJlZEtleSB7XG4gICAgICAuLi5Vc2VyU2hhcmVkS2V5RnJhZ21lbnRcbiAgICB9XG4gIH1cbn1cbiR7VXNlclNoYXJlZEtleUZyYWdtZW50fVxuYDtcbiJdfQ==