@lifeready/core 1.0.10 → 1.0.12
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.
- package/bundles/lifeready-core.umd.js +7390 -8456
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +2 -2
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/utils.js +9 -1
- package/esm2015/lib/api/lock.service.js +10 -10
- package/esm2015/lib/api/lr-graphql/lr-merged-mutation.js +1 -1
- package/esm2015/lib/api/query-processor/query-processor.service.js +71 -1
- package/esm2015/lib/api/types/lr-graphql.types.js +31 -1
- package/esm2015/lib/auth/life-ready-auth.service.js +12 -24
- package/esm2015/lib/cryptography/encryption.service.js +3 -3
- package/esm2015/lib/cryptography/key-graph.service.js +24 -5
- package/esm2015/lib/items2/item2.gql.js +139 -0
- package/esm2015/lib/items2/item2.service.js +498 -0
- package/esm2015/lib/items2/item2.types.js +1 -0
- package/esm2015/lib/scenario/scenario.constants.js +2 -0
- package/esm2015/lib/scenario/scenario.controller.js +34 -0
- package/esm2015/lib/scenario/scenario.gql.js +35 -331
- package/esm2015/lib/scenario/scenario.gql.private.js +198 -0
- package/esm2015/lib/scenario/scenario.service.js +420 -493
- package/esm2015/lib/scenario/scenario.types.js +1 -64
- package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +22 -0
- package/esm2015/lib/trusted-parties/tp-assembly.js +362 -0
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +1 -0
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +4 -3
- package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +34 -0
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +5 -1
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +36 -240
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +3 -3
- package/esm2015/lifeready-core.js +6 -3
- package/esm2015/public-api.js +6 -15
- package/fesm2015/lifeready-core.js +6127 -6909
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/utils.d.ts +6 -0
- package/lib/api/lock.service.d.ts +12 -3
- package/lib/api/lr-graphql/lr-merged-mutation.d.ts +1 -0
- package/lib/api/query-processor/query-processor.service.d.ts +1 -1
- package/lib/api/types/lr-graphql.types.d.ts +107 -2
- package/lib/auth/life-ready-auth.service.d.ts +3 -1
- package/lib/cryptography/key-graph.service.d.ts +9 -1
- package/lib/{api → items2}/item2.gql.d.ts +28 -1
- package/lib/items2/item2.service.d.ts +203 -0
- package/lib/items2/item2.types.d.ts +70 -0
- package/lib/scenario/scenario.constants.d.ts +1 -0
- package/lib/scenario/scenario.controller.d.ts +10 -0
- package/lib/scenario/scenario.gql.d.ts +52 -24
- package/lib/scenario/scenario.gql.private.d.ts +16 -0
- package/lib/scenario/scenario.service.d.ts +229 -54
- package/lib/scenario/scenario.types.d.ts +47 -214
- package/lib/trusted-parties/tp-assembly.d.ts +177 -0
- package/lib/trusted-parties/tp-assembly.gql.private.d.ts +5 -0
- package/lib/trusted-parties/tp-assembly.types.d.ts +38 -0
- package/lib/trusted-parties/tp-password-reset-request.service.d.ts +3 -3
- package/lib/trusted-parties/tp-password-reset.controller.d.ts +10 -0
- package/lib/trusted-parties/tp-password-reset.gql.d.ts +5 -0
- package/lib/trusted-parties/tp-password-reset.service.d.ts +99 -41
- package/lib/trusted-parties/trusted-party2.service.d.ts +1 -1
- package/lifeready-core.d.ts +5 -2
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +5 -14
- package/esm2015/lib/api/item2.gql.js +0 -110
- package/esm2015/lib/api/item2.service.js +0 -311
- package/esm2015/lib/scenario/approvals/scenario-approval.gql.js +0 -105
- package/esm2015/lib/scenario/approvals/scenario-approval.types.js +0 -1
- package/esm2015/lib/scenario/approvals/scenario-approver.service.js +0 -300
- package/esm2015/lib/scenario/claimants/scenario-claimant.gql.js +0 -52
- package/esm2015/lib/scenario/claimants/scenario-claimant.service.js +0 -97
- package/esm2015/lib/scenario/claimants/scenario-claimant.types.js +0 -1
- package/esm2015/lib/scenario/receivers/scenario-receiver.gql.js +0 -150
- package/esm2015/lib/scenario/receivers/scenario-receiver.service.js +0 -229
- package/esm2015/lib/scenario/receivers/scenario-receiver.types.js +0 -1
- package/esm2015/lib/scenario/scenario-setup.service.js +0 -269
- package/lib/api/item2.service.d.ts +0 -177
- package/lib/scenario/approvals/scenario-approval.gql.d.ts +0 -7
- package/lib/scenario/approvals/scenario-approval.types.d.ts +0 -63
- package/lib/scenario/approvals/scenario-approver.service.d.ts +0 -32
- package/lib/scenario/claimants/scenario-claimant.gql.d.ts +0 -5
- package/lib/scenario/claimants/scenario-claimant.service.d.ts +0 -17
- package/lib/scenario/claimants/scenario-claimant.types.d.ts +0 -18
- package/lib/scenario/receivers/scenario-receiver.gql.d.ts +0 -8
- package/lib/scenario/receivers/scenario-receiver.service.d.ts +0 -30
- package/lib/scenario/receivers/scenario-receiver.types.d.ts +0 -54
- package/lib/scenario/scenario-setup.service.d.ts +0 -22
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import gql from 'graphql-tag';
|
|
2
|
-
import { KeyGraphField } from '../../_common/queries.gql';
|
|
3
|
-
import { TrustedPartyProperties } from '../../trusted-parties/trusted-party.gql';
|
|
4
|
-
import { CategoryFields, AccessFields } from '../../category/category.gql';
|
|
5
|
-
export const ReceiverFields = `
|
|
6
|
-
id
|
|
7
|
-
tp {
|
|
8
|
-
${TrustedPartyProperties}
|
|
9
|
-
}
|
|
10
|
-
pbk {
|
|
11
|
-
id
|
|
12
|
-
}
|
|
13
|
-
sharedKey {
|
|
14
|
-
id
|
|
15
|
-
}
|
|
16
|
-
sharedCipherData
|
|
17
|
-
categories: receiverDirectories(plainMeta: $categoryFilter, orderBy: "created") {
|
|
18
|
-
edges {
|
|
19
|
-
node {
|
|
20
|
-
id
|
|
21
|
-
sharedKey {
|
|
22
|
-
id
|
|
23
|
-
}
|
|
24
|
-
sharedCipherData
|
|
25
|
-
accessRole
|
|
26
|
-
wrappedItemKey
|
|
27
|
-
directory {
|
|
28
|
-
${CategoryFields}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
records: receiverDirectories(plainMeta: $recordFilter, orderBy: "created") {
|
|
34
|
-
edges {
|
|
35
|
-
node {
|
|
36
|
-
id
|
|
37
|
-
sharedKey {
|
|
38
|
-
id
|
|
39
|
-
}
|
|
40
|
-
sharedCipherData
|
|
41
|
-
accessRole
|
|
42
|
-
wrappedItemKey
|
|
43
|
-
directory {
|
|
44
|
-
id
|
|
45
|
-
keyId
|
|
46
|
-
archived
|
|
47
|
-
plainMeta
|
|
48
|
-
cipherMeta
|
|
49
|
-
created
|
|
50
|
-
modified
|
|
51
|
-
${AccessFields}
|
|
52
|
-
content: childFileLinks(plainMeta: $contentFilter) {
|
|
53
|
-
edges {
|
|
54
|
-
node {
|
|
55
|
-
childFile {
|
|
56
|
-
id
|
|
57
|
-
archived
|
|
58
|
-
currentVersion {
|
|
59
|
-
state {
|
|
60
|
-
keyId
|
|
61
|
-
plainMeta
|
|
62
|
-
cipherMeta
|
|
63
|
-
created
|
|
64
|
-
modified
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
`;
|
|
76
|
-
export const GetScenarioReceiverQuery = gql `
|
|
77
|
-
query GetScenarioReceiverQuery(
|
|
78
|
-
$id: LrRelayIdInput!,
|
|
79
|
-
$categoryFilter: LrJSONFilter!,
|
|
80
|
-
$recordFilter: LrJSONFilter!,
|
|
81
|
-
$contentFilter: LrJSONFilter
|
|
82
|
-
) {
|
|
83
|
-
scenarioReceiver(id: $id) {
|
|
84
|
-
${ReceiverFields}
|
|
85
|
-
}
|
|
86
|
-
${KeyGraphField}
|
|
87
|
-
} `;
|
|
88
|
-
export const CreateScenarioReceiverMutation = gql `
|
|
89
|
-
mutation CreateScenarioReceiverMutation(
|
|
90
|
-
$input: CreateScenarioReceiverInput!
|
|
91
|
-
) {
|
|
92
|
-
createScenarioReceiver(input: $input) {
|
|
93
|
-
receiver {
|
|
94
|
-
id
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
`;
|
|
99
|
-
export const UpdateScenarioReceiverMutation = gql `
|
|
100
|
-
mutation UpdateScenarioReceiverMutation(
|
|
101
|
-
$input: UpdateScenarioReceiverInput!
|
|
102
|
-
) {
|
|
103
|
-
updateScenarioReceiver(input: $input) {
|
|
104
|
-
receiver {
|
|
105
|
-
id
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
`;
|
|
110
|
-
export const DeleteScenarioReceiverMutation = gql `
|
|
111
|
-
mutation DeleteScenarioReceiverMutation(
|
|
112
|
-
$input: DeleteScenarioReceiverInput!
|
|
113
|
-
) {
|
|
114
|
-
deleteScenarioReceiver(input: $input) {
|
|
115
|
-
id
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
`;
|
|
119
|
-
export const AddScenarioReceiverDirectoryMutation = gql `
|
|
120
|
-
mutation AddScenarioReceiverDirectoryMutation(
|
|
121
|
-
$input: AddScenarioReceiverDirectoryInput!
|
|
122
|
-
) {
|
|
123
|
-
addScenarioReceiverDirectory(input: $input) {
|
|
124
|
-
receiverDirectory {
|
|
125
|
-
id
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
`;
|
|
130
|
-
export const UpdateScenarioReceiverDirectoryMutation = gql `
|
|
131
|
-
mutation UpdateScenarioReceiverDirectoryMutation(
|
|
132
|
-
$input: UpdateScenarioReceiverDirectoryInput!
|
|
133
|
-
) {
|
|
134
|
-
updateScenarioReceiverDirectory(input: $input) {
|
|
135
|
-
receiverDirectory {
|
|
136
|
-
id
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
`;
|
|
141
|
-
export const DeleteScenarioReceiverDirectoryMutation = gql `
|
|
142
|
-
mutation DeleteScenarioReceiverDirectoryMutation(
|
|
143
|
-
$input: DeleteScenarioReceiverDirectoryInput!
|
|
144
|
-
) {
|
|
145
|
-
deleteScenarioReceiverDirectory(input: $input) {
|
|
146
|
-
id
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
`;
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIuZ3FsLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9zY2VuYXJpby9yZWNlaXZlcnMvc2NlbmFyaW8tcmVjZWl2ZXIuZ3FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUzRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7OztNQUd4QixzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1lBb0JoQixjQUFjOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztZQXVCZCxZQUFZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0F3QnZCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O01BUXJDLGNBQWM7O0lBRWhCLGFBQWE7R0FDZCxDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVWhELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Q0FVaEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRaEQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7OztDQVV0RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUNBQXVDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVXpELENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1Q0FBdUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7O0NBUXpELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ3FsIGZyb20gJ2dyYXBocWwtdGFnJztcbmltcG9ydCB7IEtleUdyYXBoRmllbGQgfSBmcm9tICcuLi8uLi9fY29tbW9uL3F1ZXJpZXMuZ3FsJztcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS5ncWwnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWVsZHMsIEFjY2Vzc0ZpZWxkcyB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LmdxbCc7XG5cbmV4cG9ydCBjb25zdCBSZWNlaXZlckZpZWxkcyA9IGBcbiAgaWRcbiAgdHAge1xuICAgICR7VHJ1c3RlZFBhcnR5UHJvcGVydGllc31cbiAgfVxuICBwYmsge1xuICAgIGlkXG4gIH1cbiAgc2hhcmVkS2V5IHtcbiAgICBpZFxuICB9XG4gIHNoYXJlZENpcGhlckRhdGFcbiAgY2F0ZWdvcmllczogcmVjZWl2ZXJEaXJlY3RvcmllcyhwbGFpbk1ldGE6ICRjYXRlZ29yeUZpbHRlciwgb3JkZXJCeTogXCJjcmVhdGVkXCIpIHtcbiAgICBlZGdlcyB7XG4gICAgICBub2RlIHtcbiAgICAgICAgaWRcbiAgICAgICAgc2hhcmVkS2V5IHtcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICAgIHNoYXJlZENpcGhlckRhdGFcbiAgICAgICAgYWNjZXNzUm9sZVxuICAgICAgICB3cmFwcGVkSXRlbUtleVxuICAgICAgICBkaXJlY3Rvcnkge1xuICAgICAgICAgICR7Q2F0ZWdvcnlGaWVsZHN9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVjb3JkczogcmVjZWl2ZXJEaXJlY3RvcmllcyhwbGFpbk1ldGE6ICRyZWNvcmRGaWx0ZXIsIG9yZGVyQnk6IFwiY3JlYXRlZFwiKSB7XG4gICAgZWRnZXMge1xuICAgICAgbm9kZSB7XG4gICAgICAgIGlkXG4gICAgICAgIHNoYXJlZEtleSB7XG4gICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgICAgICBzaGFyZWRDaXBoZXJEYXRhXG4gICAgICAgIGFjY2Vzc1JvbGVcbiAgICAgICAgd3JhcHBlZEl0ZW1LZXlcbiAgICAgICAgZGlyZWN0b3J5IHtcbiAgICAgICAgICBpZFxuICAgICAgICAgIGtleUlkXG4gICAgICAgICAgYXJjaGl2ZWRcbiAgICAgICAgICBwbGFpbk1ldGFcbiAgICAgICAgICBjaXBoZXJNZXRhXG4gICAgICAgICAgY3JlYXRlZFxuICAgICAgICAgIG1vZGlmaWVkXG4gICAgICAgICAgJHtBY2Nlc3NGaWVsZHN9XG4gICAgICAgICAgY29udGVudDogY2hpbGRGaWxlTGlua3MocGxhaW5NZXRhOiAkY29udGVudEZpbHRlcikge1xuICAgICAgICAgICAgZWRnZXMge1xuICAgICAgICAgICAgICBub2RlIHtcbiAgICAgICAgICAgICAgICBjaGlsZEZpbGUge1xuICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgIGFyY2hpdmVkXG4gICAgICAgICAgICAgICAgICBjdXJyZW50VmVyc2lvbiB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRlIHtcbiAgICAgICAgICAgICAgICAgICAgICBrZXlJZFxuICAgICAgICAgICAgICAgICAgICAgIHBsYWluTWV0YVxuICAgICAgICAgICAgICAgICAgICAgIGNpcGhlck1ldGFcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkXG4gICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZWRcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdldFNjZW5hcmlvUmVjZWl2ZXJRdWVyeSA9IGdxbGBcbnF1ZXJ5IEdldFNjZW5hcmlvUmVjZWl2ZXJRdWVyeShcbiAgJGlkOiBMclJlbGF5SWRJbnB1dCEsXG4gICRjYXRlZ29yeUZpbHRlcjogTHJKU09ORmlsdGVyISxcbiAgJHJlY29yZEZpbHRlcjogTHJKU09ORmlsdGVyISxcbiAgJGNvbnRlbnRGaWx0ZXI6IExySlNPTkZpbHRlclxuKSB7XG4gIHNjZW5hcmlvUmVjZWl2ZXIoaWQ6ICRpZCkge1xuICAgICR7UmVjZWl2ZXJGaWVsZHN9XG4gIH1cbiAgJHtLZXlHcmFwaEZpZWxkfVxufSBgO1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBDcmVhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24oXG4gICAgJGlucHV0OiBDcmVhdGVTY2VuYXJpb1JlY2VpdmVySW5wdXQhXG4gICkge1xuICAgIGNyZWF0ZVNjZW5hcmlvUmVjZWl2ZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgcmVjZWl2ZXIge1xuICAgICAgICBpZFxuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gVXBkYXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uKFxuICAgICRpbnB1dDogVXBkYXRlU2NlbmFyaW9SZWNlaXZlcklucHV0IVxuICApIHtcbiAgICB1cGRhdGVTY2VuYXJpb1JlY2VpdmVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIHJlY2VpdmVyIHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24gPSBncWxgXG4gIG11dGF0aW9uIERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbihcbiAgICAkaW5wdXQ6IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJJbnB1dCFcbiAgKSB7XG4gICAgZGVsZXRlU2NlbmFyaW9SZWNlaXZlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICBpZFxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFkZFNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbiA9IGdxbGBcbiAgbXV0YXRpb24gQWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uKFxuICAgICRpbnB1dDogQWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeUlucHV0IVxuICApIHtcbiAgICBhZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5KGlucHV0OiAkaW5wdXQpIHtcbiAgICAgIHJlY2VpdmVyRGlyZWN0b3J5IHtcbiAgICAgICAgaWRcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24gPSBncWxgXG4gIG11dGF0aW9uIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbihcbiAgICAkaW5wdXQ6IFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlJbnB1dCFcbiAgKSB7XG4gICAgdXBkYXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeShpbnB1dDogJGlucHV0KSB7XG4gICAgICByZWNlaXZlckRpcmVjdG9yeSB7XG4gICAgICAgIGlkXG4gICAgICB9XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uID0gZ3FsYFxuICBtdXRhdGlvbiBEZWxldGVTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24oXG4gICAgJGlucHV0OiBEZWxldGVTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5SW5wdXQhXG4gICkge1xuICAgIGRlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnkoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgaWRcbiAgICB9XG4gIH1cbmA7XG4iXX0=
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { LrApolloService } from '../../api/lr-apollo.service';
|
|
4
|
-
import { CategoryFilter, RecordFilter } from '../../category/category.gql';
|
|
5
|
-
import { CategoryService } from '../../category/category.service';
|
|
6
|
-
import { KeyGraphService } from '../../cryptography/key-graph.service';
|
|
7
|
-
import { KeyMetaService } from '../../cryptography/key-meta.service';
|
|
8
|
-
import { RecordContentFilter } from '../../record/record.gql';
|
|
9
|
-
import { RecordService } from '../../record/record.service';
|
|
10
|
-
import { TrustedPartyService } from '../../trusted-parties/trusted-party.service';
|
|
11
|
-
import { AddScenarioReceiverDirectoryMutation, CreateScenarioReceiverMutation, DeleteScenarioReceiverDirectoryMutation, DeleteScenarioReceiverMutation, GetScenarioReceiverQuery, UpdateScenarioReceiverDirectoryMutation, UpdateScenarioReceiverMutation, } from './scenario-receiver.gql';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "../../api/lr-apollo.service";
|
|
14
|
-
import * as i2 from "../../cryptography/key-graph.service";
|
|
15
|
-
import * as i3 from "../../cryptography/key-meta.service";
|
|
16
|
-
import * as i4 from "../../trusted-parties/trusted-party.service";
|
|
17
|
-
import * as i5 from "../../category/category.service";
|
|
18
|
-
import * as i6 from "../../record/record.service";
|
|
19
|
-
export class ScenarioReceiverService {
|
|
20
|
-
constructor(lrApollo, keyGraph, keyMetaService, tpService, categoryService, recordService) {
|
|
21
|
-
this.lrApollo = lrApollo;
|
|
22
|
-
this.keyGraph = keyGraph;
|
|
23
|
-
this.keyMetaService = keyMetaService;
|
|
24
|
-
this.tpService = tpService;
|
|
25
|
-
this.categoryService = categoryService;
|
|
26
|
-
this.recordService = recordService;
|
|
27
|
-
}
|
|
28
|
-
getReceiver(receiverId) {
|
|
29
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const { scenarioReceiver } = yield this.lrApollo.query({
|
|
31
|
-
query: GetScenarioReceiverQuery,
|
|
32
|
-
variables: {
|
|
33
|
-
id: receiverId,
|
|
34
|
-
categoryFilter: CategoryFilter,
|
|
35
|
-
recordFilter: RecordFilter,
|
|
36
|
-
contentFilter: RecordContentFilter,
|
|
37
|
-
},
|
|
38
|
-
});
|
|
39
|
-
return this.mapReceiver(scenarioReceiver);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
mapReceiver(receiver) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const { message } = yield this.keyGraph.decryptFromString(receiver.sharedKey.id, receiver.sharedCipherData);
|
|
45
|
-
return {
|
|
46
|
-
id: receiver.id,
|
|
47
|
-
keyId: receiver.sharedKey.id,
|
|
48
|
-
trustedParty: yield this.tpService.mapTrustedParty(receiver.tp),
|
|
49
|
-
message,
|
|
50
|
-
categories: yield this.mapCategories(receiver.categories),
|
|
51
|
-
records: yield this.mapRecords(receiver.records),
|
|
52
|
-
};
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
mapCategories(list) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
return (yield Promise.all(list.edges
|
|
58
|
-
.map((x) => x.node)
|
|
59
|
-
.map((x) => x.childDirectory || x)
|
|
60
|
-
.map((node) => this.mapReceiverCategory(node))))
|
|
61
|
-
.filter((x) => x)
|
|
62
|
-
.sort((x, y) => x.category.name === y.category.name
|
|
63
|
-
? 0
|
|
64
|
-
: x.category.name > y.category.name
|
|
65
|
-
? 1
|
|
66
|
-
: -1);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
mapRecords(list) {
|
|
70
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
-
return (yield Promise.all(list.edges
|
|
72
|
-
.map((x) => x.node)
|
|
73
|
-
.map((x) => x.childDirectory || x)
|
|
74
|
-
.map((node) => this.mapReceiverRecord(node))))
|
|
75
|
-
.filter((x) => x)
|
|
76
|
-
.sort((x, y) => x.record.name === y.record.name
|
|
77
|
-
? 0
|
|
78
|
-
: x.record.name > y.record.name
|
|
79
|
-
? 1
|
|
80
|
-
: -1);
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
mapReceiverCategory(receiverDirectory) {
|
|
84
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
return {
|
|
86
|
-
id: receiverDirectory.id,
|
|
87
|
-
keyId: receiverDirectory.sharedKey.id,
|
|
88
|
-
accessLevel: receiverDirectory.accessRole,
|
|
89
|
-
category: yield this.categoryService.mapCategory(receiverDirectory.directory),
|
|
90
|
-
};
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
mapReceiverRecord(receiverDirectory) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
return {
|
|
96
|
-
id: receiverDirectory.id,
|
|
97
|
-
keyId: receiverDirectory.sharedKey.id,
|
|
98
|
-
accessLevel: receiverDirectory.accessRole,
|
|
99
|
-
record: yield this.categoryService.mapRecord(receiverDirectory.directory),
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
addReceiver(receiver) {
|
|
104
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
const wrappedContent = yield this.keyMetaService.wrapContentWithKey(receiver.plainSharedCipherData, receiver.trustedPartySharedKeyId);
|
|
106
|
-
const { createScenarioReceiver } = yield this.lrApollo.mutate({
|
|
107
|
-
mutation: CreateScenarioReceiverMutation,
|
|
108
|
-
variables: {
|
|
109
|
-
input: {
|
|
110
|
-
scenarioId: receiver.scenarioId,
|
|
111
|
-
tpId: receiver.trustedPartyId,
|
|
112
|
-
tpSharedKeyId: receiver.trustedPartySharedKeyId,
|
|
113
|
-
tpSharedKeyWrappedSharedKey: wrappedContent.rootKey.wrappedKey,
|
|
114
|
-
sharedCipherData: wrappedContent.cipherMeta,
|
|
115
|
-
},
|
|
116
|
-
},
|
|
117
|
-
});
|
|
118
|
-
return createScenarioReceiver.receiver.id;
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
updateReceiver(receiver) {
|
|
122
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
123
|
-
const sharedCipherData = yield this.keyGraph.encryptToString(receiver.keyId, receiver.plainSharedCipherData);
|
|
124
|
-
yield this.lrApollo.mutate({
|
|
125
|
-
mutation: UpdateScenarioReceiverMutation,
|
|
126
|
-
variables: {
|
|
127
|
-
input: {
|
|
128
|
-
receiverId: receiver.id,
|
|
129
|
-
sharedKeyId: receiver.keyId,
|
|
130
|
-
sharedCipherData,
|
|
131
|
-
},
|
|
132
|
-
},
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
deleteReceiver(receiverId) {
|
|
137
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
138
|
-
yield this.lrApollo.mutate({
|
|
139
|
-
mutation: DeleteScenarioReceiverMutation,
|
|
140
|
-
variables: { input: { receiverId } },
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
addReceiverCategory(input) {
|
|
145
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
-
const category = yield this.categoryService.getCategory(input.categoryId);
|
|
147
|
-
const res = yield this.lrApollo.mutate({
|
|
148
|
-
mutation: AddScenarioReceiverDirectoryMutation,
|
|
149
|
-
variables: {
|
|
150
|
-
input: Object.assign(Object.assign({}, (yield this.addReceiverItem(input, category.category.keyId))), { directoryId: category.category.id }),
|
|
151
|
-
},
|
|
152
|
-
});
|
|
153
|
-
return res.addScenarioReceiverDirectory.receiverDirectory.id;
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
addReceiverRecord(input) {
|
|
157
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
158
|
-
const record = yield this.recordService.getRecord(input.recordId);
|
|
159
|
-
const { addScenarioReceiverDirectory } = yield this.lrApollo.mutate({
|
|
160
|
-
mutation: AddScenarioReceiverDirectoryMutation,
|
|
161
|
-
variables: {
|
|
162
|
-
input: Object.assign(Object.assign({}, (yield this.addReceiverItem(input, record.keyId))), { directoryId: record.id }),
|
|
163
|
-
},
|
|
164
|
-
});
|
|
165
|
-
return addScenarioReceiverDirectory.receiverDirectory.id;
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
addReceiverItem(input, itemKeyId) {
|
|
169
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
-
const sharedCipherData = input.plainSharedCipherData
|
|
171
|
-
? yield this.keyGraph.encryptToString(input.receiverKeyId, input.plainSharedCipherData)
|
|
172
|
-
: '';
|
|
173
|
-
const itemKey = yield this.keyGraph.getKey(itemKeyId);
|
|
174
|
-
let wrappedItemKey = yield this.keyGraph.encryptToString(input.receiverKeyId, itemKey.jwk.toJSON(true));
|
|
175
|
-
if (input.assemblyKeyId) {
|
|
176
|
-
wrappedItemKey = yield this.keyGraph.encryptToString(input.assemblyKeyId, wrappedItemKey);
|
|
177
|
-
}
|
|
178
|
-
return {
|
|
179
|
-
receiverId: input.receiverId,
|
|
180
|
-
sharedKeyId: input.receiverKeyId,
|
|
181
|
-
assemblyKeyId: input.assemblyKeyId,
|
|
182
|
-
wrappedItemKey,
|
|
183
|
-
accessRole: input.accessRole,
|
|
184
|
-
sharedCipherData,
|
|
185
|
-
};
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
updateReceiverItem(input) {
|
|
189
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
190
|
-
const sharedCipherData = input.plainSharedCipherData
|
|
191
|
-
? yield this.keyGraph.encryptToString(input.keyId, input.plainSharedCipherData)
|
|
192
|
-
: '';
|
|
193
|
-
yield this.lrApollo.mutate({
|
|
194
|
-
mutation: UpdateScenarioReceiverDirectoryMutation,
|
|
195
|
-
variables: {
|
|
196
|
-
input: {
|
|
197
|
-
receiverDirectoryId: input.id,
|
|
198
|
-
sharedKeyId: input.keyId,
|
|
199
|
-
accessRole: input.accessRole,
|
|
200
|
-
sharedCipherData,
|
|
201
|
-
},
|
|
202
|
-
},
|
|
203
|
-
});
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
deleteReceiverItem(receiverCategoryId) {
|
|
207
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
208
|
-
yield this.lrApollo.mutate({
|
|
209
|
-
mutation: DeleteScenarioReceiverDirectoryMutation,
|
|
210
|
-
variables: { input: { receiverDirectoryId: receiverCategoryId } },
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
ScenarioReceiverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScenarioReceiverService_Factory() { return new ScenarioReceiverService(i0.ɵɵinject(i1.LrApolloService), i0.ɵɵinject(i2.KeyGraphService), i0.ɵɵinject(i3.KeyMetaService), i0.ɵɵinject(i4.TrustedPartyService), i0.ɵɵinject(i5.CategoryService), i0.ɵɵinject(i6.RecordService)); }, token: ScenarioReceiverService, providedIn: "root" });
|
|
216
|
-
ScenarioReceiverService.decorators = [
|
|
217
|
-
{ type: Injectable, args: [{
|
|
218
|
-
providedIn: 'root',
|
|
219
|
-
},] }
|
|
220
|
-
];
|
|
221
|
-
ScenarioReceiverService.ctorParameters = () => [
|
|
222
|
-
{ type: LrApolloService },
|
|
223
|
-
{ type: KeyGraphService },
|
|
224
|
-
{ type: KeyMetaService },
|
|
225
|
-
{ type: TrustedPartyService },
|
|
226
|
-
{ type: CategoryService },
|
|
227
|
-
{ type: RecordService }
|
|
228
|
-
];
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvc2NlbmFyaW8vcmVjZWl2ZXJzL3NjZW5hcmlvLXJlY2VpdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRWxGLE9BQU8sRUFDTCxvQ0FBb0MsRUFDcEMsOEJBQThCLEVBQzlCLHVDQUF1QyxFQUN2Qyw4QkFBOEIsRUFDOUIsd0JBQXdCLEVBQ3hCLHVDQUF1QyxFQUN2Qyw4QkFBOEIsR0FDL0IsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7QUFnQmpDLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEMsWUFDVSxRQUF5QixFQUN6QixRQUF5QixFQUN6QixjQUE4QixFQUM5QixTQUE4QixFQUM5QixlQUFnQyxFQUNoQyxhQUE0QjtRQUw1QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6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QUUsQ0FBQztZQUVQLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQU07Z0JBQzlCLFFBQVEsRUFBRSx1Q0FBdUM7Z0JBQ2pELFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUU7d0JBQ0wsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQzdCLFdBQVcsRUFBRSxLQUFLLENBQUMsS0FBSzt3QkFDeEIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO3dCQUM1QixnQkFBZ0I7cUJBQ2pCO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRVksa0JBQWtCLENBQUMsa0JBQTBCOztZQUN4RCxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFNO2dCQUM5QixRQUFRLEVBQUUsdUNBQXVDO2dCQUNqRCxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsRUFBRSxFQUFFO2FBQ2xFLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7OztZQXJQRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWhDUSxlQUFlO1lBR2YsZUFBZTtZQUNmLGNBQWM7WUFHZCxtQkFBbUI7WUFMbkIsZUFBZTtZQUlmLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMckFwb2xsb1NlcnZpY2UgfSBmcm9tICcuLi8uLi9hcGkvbHItYXBvbGxvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcnlGaWx0ZXIsIFJlY29yZEZpbHRlciB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LmdxbCc7XG5pbXBvcnQgeyBDYXRlZ29yeVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jYXRlZ29yeS9jYXRlZ29yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uLy4uL2NyeXB0b2dyYXBoeS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlNZXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2NyeXB0b2dyYXBoeS9rZXktbWV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlY29yZENvbnRlbnRGaWx0ZXIgfSBmcm9tICcuLi8uLi9yZWNvcmQvcmVjb3JkLmdxbCc7XG5pbXBvcnQgeyBSZWNvcmRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVjb3JkL3JlY29yZC5zZXJ2aWNlJztcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi90cnVzdGVkLXBhcnRpZXMvdHJ1c3RlZC1wYXJ0eS5zZXJ2aWNlJztcbmltcG9ydCB7IEhhc0VkZ2VzIH0gZnJvbSAnLi4vLi4vX2NvbW1vbi90eXBlcyc7XG5pbXBvcnQge1xuICBBZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5TXV0YXRpb24sXG4gIENyZWF0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbixcbiAgRGVsZXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uLFxuICBEZWxldGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXG4gIEdldFNjZW5hcmlvUmVjZWl2ZXJRdWVyeSxcbiAgVXBkYXRlU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uLFxuICBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXG59IGZyb20gJy4vc2NlbmFyaW8tcmVjZWl2ZXIuZ3FsJztcbmltcG9ydCB7XG4gIEFkZFNjZW5hcmlvUmVjZWl2ZXJDYXRlZ29yeUlucHV0LFxuICBBZGRTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0LFxuICBBZGRTY2VuYXJpb1JlY2VpdmVyUmVjb3JkSW5wdXQsXG4gIEFkZFNjZW5hcmlvUmVjZWl2ZXIsXG4gIFJlY2VpdmVyLFxuICBSZWNlaXZlckNhdGVnb3J5LFxuICBSZWNlaXZlclJlY29yZCxcbiAgVXBkYXRlU2NlbmFyaW9SZWNlaXZlcixcbiAgVXBkYXRlU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dCxcbn0gZnJvbSAnLi9zY2VuYXJpby1yZWNlaXZlci50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY2VuYXJpb1JlY2VpdmVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbHJBcG9sbG86IExyQXBvbGxvU2VydmljZSxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cFNlcnZpY2U6IFRydXN0ZWRQYXJ0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjYXRlZ29yeVNlcnZpY2U6IENhdGVnb3J5U2VydmljZSxcbiAgICBwcml2YXRlIHJlY29yZFNlcnZpY2U6IFJlY29yZFNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRSZWNlaXZlcihyZWNlaXZlcklkOiBzdHJpbmcpOiBQcm9taXNlPFJlY2VpdmVyPiB7XG4gICAgY29uc3QgeyBzY2VuYXJpb1JlY2VpdmVyIH0gPSBhd2FpdCB0aGlzLmxyQXBvbGxvLnF1ZXJ5PGFueT4oe1xuICAgICAgcXVlcnk6IEdldFNjZW5hcmlvUmVjZWl2ZXJRdWVyeSxcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpZDogcmVjZWl2ZXJJZCxcbiAgICAgICAgY2F0ZWdvcnlGaWx0ZXI6IENhdGVnb3J5RmlsdGVyLFxuICAgICAgICByZWNvcmRGaWx0ZXI6IFJlY29yZEZpbHRlcixcbiAgICAgICAgY29udGVudEZpbHRlcjogUmVjb3JkQ29udGVudEZpbHRlcixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMubWFwUmVjZWl2ZXIoc2NlbmFyaW9SZWNlaXZlcik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgbWFwUmVjZWl2ZXIocmVjZWl2ZXI6IGFueSk6IFByb21pc2U8UmVjZWl2ZXI+IHtcbiAgICBjb25zdCB7IG1lc3NhZ2UgfSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZGVjcnlwdEZyb21TdHJpbmc8e1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHJlY2VpdmVyLnNoYXJlZEtleS5pZCwgcmVjZWl2ZXIuc2hhcmVkQ2lwaGVyRGF0YSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiByZWNlaXZlci5pZCxcbiAgICAgIGtleUlkOiByZWNlaXZlci5zaGFyZWRLZXkuaWQsXG4gICAgICB0cnVzdGVkUGFydHk6IGF3YWl0IHRoaXMudHBTZXJ2aWNlLm1hcFRydXN0ZWRQYXJ0eShyZWNlaXZlci50cCksXG4gICAgICBtZXNzYWdlLFxuICAgICAgY2F0ZWdvcmllczogYXdhaXQgdGhpcy5tYXBDYXRlZ29yaWVzKHJlY2VpdmVyLmNhdGVnb3JpZXMpLFxuICAgICAgcmVjb3JkczogYXdhaXQgdGhpcy5tYXBSZWNvcmRzKHJlY2VpdmVyLnJlY29yZHMpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1hcENhdGVnb3JpZXMobGlzdDogSGFzRWRnZXM8YW55Pikge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCBQcm9taXNlLmFsbDxSZWNlaXZlckNhdGVnb3J5PihcbiAgICAgICAgbGlzdC5lZGdlc1xuICAgICAgICAgIC5tYXAoKHgpID0+IHgubm9kZSlcbiAgICAgICAgICAubWFwKCh4KSA9PiB4LmNoaWxkRGlyZWN0b3J5IHx8IHgpXG4gICAgICAgICAgLm1hcCgobm9kZTogYW55KSA9PiB0aGlzLm1hcFJlY2VpdmVyQ2F0ZWdvcnkobm9kZSkpXG4gICAgICApXG4gICAgKVxuICAgICAgLmZpbHRlcigoeCkgPT4geClcbiAgICAgIC5zb3J0KCh4LCB5KSA9PlxuICAgICAgICB4LmNhdGVnb3J5Lm5hbWUgPT09IHkuY2F0ZWdvcnkubmFtZVxuICAgICAgICAgID8gMFxuICAgICAgICAgIDogeC5jYXRlZ29yeS5uYW1lID4geS5jYXRlZ29yeS5uYW1lXG4gICAgICAgICAgPyAxXG4gICAgICAgICAgOiAtMVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbWFwUmVjb3JkcyhsaXN0OiBIYXNFZGdlczxhbnk+KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsPFJlY2VpdmVyUmVjb3JkPihcbiAgICAgICAgbGlzdC5lZGdlc1xuICAgICAgICAgIC5tYXAoKHgpID0+IHgubm9kZSlcbiAgICAgICAgICAubWFwKCh4KSA9PiB4LmNoaWxkRGlyZWN0b3J5IHx8IHgpXG4gICAgICAgICAgLm1hcCgobm9kZTogYW55KSA9PiB0aGlzLm1hcFJlY2VpdmVyUmVjb3JkKG5vZGUpKVxuICAgICAgKVxuICAgIClcbiAgICAgIC5maWx0ZXIoKHgpID0+IHgpXG4gICAgICAuc29ydCgoeCwgeSkgPT5cbiAgICAgICAgeC5yZWNvcmQubmFtZSA9PT0geS5yZWNvcmQubmFtZVxuICAgICAgICAgID8gMFxuICAgICAgICAgIDogeC5yZWNvcmQubmFtZSA+IHkucmVjb3JkLm5hbWVcbiAgICAgICAgICA/IDFcbiAgICAgICAgICA6IC0xXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBtYXBSZWNlaXZlckNhdGVnb3J5KFxuICAgIHJlY2VpdmVyRGlyZWN0b3J5OiBhbnlcbiAgKTogUHJvbWlzZTxSZWNlaXZlckNhdGVnb3J5PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiByZWNlaXZlckRpcmVjdG9yeS5pZCxcbiAgICAgIGtleUlkOiByZWNlaXZlckRpcmVjdG9yeS5zaGFyZWRLZXkuaWQsXG4gICAgICBhY2Nlc3NMZXZlbDogcmVjZWl2ZXJEaXJlY3RvcnkuYWNjZXNzUm9sZSxcbiAgICAgIGNhdGVnb3J5OiBhd2FpdCB0aGlzLmNhdGVnb3J5U2VydmljZS5tYXBDYXRlZ29yeShcbiAgICAgICAgcmVjZWl2ZXJEaXJlY3RvcnkuZGlyZWN0b3J5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1hcFJlY2VpdmVyUmVjb3JkKFxuICAgIHJlY2VpdmVyRGlyZWN0b3J5OiBhbnlcbiAgKTogUHJvbWlzZTxSZWNlaXZlclJlY29yZD4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogcmVjZWl2ZXJEaXJlY3RvcnkuaWQsXG4gICAgICBrZXlJZDogcmVjZWl2ZXJEaXJlY3Rvcnkuc2hhcmVkS2V5LmlkLFxuICAgICAgYWNjZXNzTGV2ZWw6IHJlY2VpdmVyRGlyZWN0b3J5LmFjY2Vzc1JvbGUsXG4gICAgICByZWNvcmQ6IGF3YWl0IHRoaXMuY2F0ZWdvcnlTZXJ2aWNlLm1hcFJlY29yZChyZWNlaXZlckRpcmVjdG9yeS5kaXJlY3RvcnkpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYWRkUmVjZWl2ZXIocmVjZWl2ZXI6IEFkZFNjZW5hcmlvUmVjZWl2ZXIpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHdyYXBwZWRDb250ZW50ID0gYXdhaXQgdGhpcy5rZXlNZXRhU2VydmljZS53cmFwQ29udGVudFdpdGhLZXkoXG4gICAgICByZWNlaXZlci5wbGFpblNoYXJlZENpcGhlckRhdGEsXG4gICAgICByZWNlaXZlci50cnVzdGVkUGFydHlTaGFyZWRLZXlJZFxuICAgICk7XG5cbiAgICBjb25zdCB7IGNyZWF0ZVNjZW5hcmlvUmVjZWl2ZXIgfSA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZVNjZW5hcmlvUmVjZWl2ZXJNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHNjZW5hcmlvSWQ6IHJlY2VpdmVyLnNjZW5hcmlvSWQsXG4gICAgICAgICAgdHBJZDogcmVjZWl2ZXIudHJ1c3RlZFBhcnR5SWQsXG4gICAgICAgICAgdHBTaGFyZWRLZXlJZDogcmVjZWl2ZXIudHJ1c3RlZFBhcnR5U2hhcmVkS2V5SWQsXG4gICAgICAgICAgdHBTaGFyZWRLZXlXcmFwcGVkU2hhcmVkS2V5OiB3cmFwcGVkQ29udGVudC5yb290S2V5LndyYXBwZWRLZXksXG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YTogd3JhcHBlZENvbnRlbnQuY2lwaGVyTWV0YSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGNyZWF0ZVNjZW5hcmlvUmVjZWl2ZXIucmVjZWl2ZXIuaWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdXBkYXRlUmVjZWl2ZXIocmVjZWl2ZXI6IFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBzaGFyZWRDaXBoZXJEYXRhID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICByZWNlaXZlci5rZXlJZCxcbiAgICAgIHJlY2VpdmVyLnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLmxyQXBvbGxvLm11dGF0ZTxhbnk+KHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVTY2VuYXJpb1JlY2VpdmVyTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICByZWNlaXZlcklkOiByZWNlaXZlci5pZCxcbiAgICAgICAgICBzaGFyZWRLZXlJZDogcmVjZWl2ZXIua2V5SWQsXG4gICAgICAgICAgc2hhcmVkQ2lwaGVyRGF0YSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVsZXRlUmVjZWl2ZXIocmVjZWl2ZXJJZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XG4gICAgICBtdXRhdGlvbjogRGVsZXRlU2NlbmFyaW9SZWNlaXZlck11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7IGlucHV0OiB7IHJlY2VpdmVySWQgfSB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZFJlY2VpdmVyQ2F0ZWdvcnkoXG4gICAgaW5wdXQ6IEFkZFNjZW5hcmlvUmVjZWl2ZXJDYXRlZ29yeUlucHV0XG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgY2F0ZWdvcnkgPSBhd2FpdCB0aGlzLmNhdGVnb3J5U2VydmljZS5nZXRDYXRlZ29yeShpbnB1dC5jYXRlZ29yeUlkKTtcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IEFkZFNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIC4uLihhd2FpdCB0aGlzLmFkZFJlY2VpdmVySXRlbShpbnB1dCwgY2F0ZWdvcnkuY2F0ZWdvcnkua2V5SWQpKSxcbiAgICAgICAgICBkaXJlY3RvcnlJZDogY2F0ZWdvcnkuY2F0ZWdvcnkuaWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcy5hZGRTY2VuYXJpb1JlY2VpdmVyRGlyZWN0b3J5LnJlY2VpdmVyRGlyZWN0b3J5LmlkO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGFkZFJlY2VpdmVyUmVjb3JkKFxuICAgIGlucHV0OiBBZGRTY2VuYXJpb1JlY2VpdmVyUmVjb3JkSW5wdXRcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByZWNvcmQgPSBhd2FpdCB0aGlzLnJlY29yZFNlcnZpY2UuZ2V0UmVjb3JkKGlucHV0LnJlY29yZElkKTtcblxuICAgIGNvbnN0IHsgYWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeSB9ID0gYXdhaXQgdGhpcy5sckFwb2xsby5tdXRhdGU8YW55Pih7XG4gICAgICBtdXRhdGlvbjogQWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgLi4uKGF3YWl0IHRoaXMuYWRkUmVjZWl2ZXJJdGVtKGlucHV0LCByZWNvcmQua2V5SWQpKSxcbiAgICAgICAgICBkaXJlY3RvcnlJZDogcmVjb3JkLmlkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gYWRkU2NlbmFyaW9SZWNlaXZlckRpcmVjdG9yeS5yZWNlaXZlckRpcmVjdG9yeS5pZDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkUmVjZWl2ZXJJdGVtKFxuICAgIGlucHV0OiBBZGRTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0LFxuICAgIGl0ZW1LZXlJZDogc3RyaW5nXG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxuICAgICAgPyBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgICBpbnB1dC5yZWNlaXZlcktleUlkLFxuICAgICAgICAgIGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxuICAgICAgICApXG4gICAgICA6ICcnO1xuXG4gICAgY29uc3QgaXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGl0ZW1LZXlJZCk7XG4gICAgbGV0IHdyYXBwZWRJdGVtS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBpbnB1dC5yZWNlaXZlcktleUlkLFxuICAgICAgaXRlbUtleS5qd2sudG9KU09OKHRydWUpXG4gICAgKTtcblxuICAgIGlmIChpbnB1dC5hc3NlbWJseUtleUlkKSB7XG4gICAgICB3cmFwcGVkSXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICBpbnB1dC5hc3NlbWJseUtleUlkLFxuICAgICAgICB3cmFwcGVkSXRlbUtleVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmVjZWl2ZXJJZDogaW5wdXQucmVjZWl2ZXJJZCxcbiAgICAgIHNoYXJlZEtleUlkOiBpbnB1dC5yZWNlaXZlcktleUlkLFxuICAgICAgYXNzZW1ibHlLZXlJZDogaW5wdXQuYXNzZW1ibHlLZXlJZCxcbiAgICAgIHdyYXBwZWRJdGVtS2V5LFxuICAgICAgYWNjZXNzUm9sZTogaW5wdXQuYWNjZXNzUm9sZSxcbiAgICAgIHNoYXJlZENpcGhlckRhdGEsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB1cGRhdGVSZWNlaXZlckl0ZW0oXG4gICAgaW5wdXQ6IFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJJdGVtSW5wdXRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3Qgc2hhcmVkQ2lwaGVyRGF0YSA9IGlucHV0LnBsYWluU2hhcmVkQ2lwaGVyRGF0YVxuICAgICAgPyBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgICBpbnB1dC5rZXlJZCxcbiAgICAgICAgICBpbnB1dC5wbGFpblNoYXJlZENpcGhlckRhdGFcbiAgICAgICAgKVxuICAgICAgOiAnJztcblxuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHJlY2VpdmVyRGlyZWN0b3J5SWQ6IGlucHV0LmlkLFxuICAgICAgICAgIHNoYXJlZEtleUlkOiBpbnB1dC5rZXlJZCxcbiAgICAgICAgICBhY2Nlc3NSb2xlOiBpbnB1dC5hY2Nlc3NSb2xlLFxuICAgICAgICAgIHNoYXJlZENpcGhlckRhdGEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGRlbGV0ZVJlY2VpdmVySXRlbShyZWNlaXZlckNhdGVnb3J5SWQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubHJBcG9sbG8ubXV0YXRlPGFueT4oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZVNjZW5hcmlvUmVjZWl2ZXJEaXJlY3RvcnlNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczogeyBpbnB1dDogeyByZWNlaXZlckRpcmVjdG9yeUlkOiByZWNlaXZlckNhdGVnb3J5SWQgfSB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tcmVjZWl2ZXIudHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL3NjZW5hcmlvL3JlY2VpdmVycy9zY2VuYXJpby1yZWNlaXZlci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjZXNzTGV2ZWwgfSBmcm9tICcuLy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzJztcbmltcG9ydCB7IFRydXN0ZWRQYXJ0eSB9IGZyb20gJy4uLy4uL3RydXN0ZWQtcGFydGllcy90cnVzdGVkLXBhcnR5LnR5cGVzJztcbmltcG9ydCB7IENhdGVnb3J5LCBWYXVsdFJlY29yZCB9IGZyb20gJy4uLy4uL2NhdGVnb3J5L2NhdGVnb3J5LnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlciB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIHRydXN0ZWRQYXJ0eTogVHJ1c3RlZFBhcnR5O1xuICBtZXNzYWdlPzogc3RyaW5nO1xuXG4gIGNhdGVnb3JpZXM6IFJlY2VpdmVyQ2F0ZWdvcnlbXTtcbiAgcmVjb3Jkcz86IFJlY2VpdmVyUmVjb3JkW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZXJDYXRlZ29yeSB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIGFjY2Vzc0xldmVsOiBBY2Nlc3NMZXZlbDtcbiAgY2F0ZWdvcnk6IENhdGVnb3J5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVyUmVjb3JkIHtcbiAgaWQ6IHN0cmluZztcbiAga2V5SWQ6IHN0cmluZztcbiAgYWNjZXNzTGV2ZWw6IEFjY2Vzc0xldmVsO1xuICByZWNvcmQ6IFZhdWx0UmVjb3JkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZFNjZW5hcmlvUmVjZWl2ZXIge1xuICBzY2VuYXJpb0lkOiBzdHJpbmc7XG4gIHRydXN0ZWRQYXJ0eUlkOiBzdHJpbmc7XG4gIHRydXN0ZWRQYXJ0eVNoYXJlZEtleUlkOiBzdHJpbmc7XG4gIHBsYWluU2hhcmVkQ2lwaGVyRGF0YTogb2JqZWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVNjZW5hcmlvUmVjZWl2ZXIge1xuICBpZDogc3RyaW5nO1xuICBrZXlJZDogc3RyaW5nO1xuICBwbGFpblNoYXJlZENpcGhlckRhdGE6IG9iamVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRTY2VuYXJpb1JlY2VpdmVySXRlbUlucHV0IHtcbiAgc2NlbmFyaW9JZDogc3RyaW5nO1xuICBhc3NlbWJseUtleUlkPzogc3RyaW5nO1xuICByZWNlaXZlcklkOiBzdHJpbmc7XG4gIHJlY2VpdmVyS2V5SWQ6IHN0cmluZztcbiAgYWNjZXNzUm9sZTogQWNjZXNzTGV2ZWw7XG4gIHBsYWluU2hhcmVkQ2lwaGVyRGF0YT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRTY2VuYXJpb1JlY2VpdmVyQ2F0ZWdvcnlJbnB1dFxuICBleHRlbmRzIEFkZFNjZW5hcmlvUmVjZWl2ZXJJdGVtSW5wdXQge1xuICBjYXRlZ29yeUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkU2NlbmFyaW9SZWNlaXZlclJlY29yZElucHV0XG4gIGV4dGVuZHMgQWRkU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dCB7XG4gIHJlY29yZElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlU2NlbmFyaW9SZWNlaXZlckl0ZW1JbnB1dCB7XG4gIGlkOiBzdHJpbmc7XG4gIGtleUlkOiBzdHJpbmc7XG4gIGFjY2Vzc1JvbGU6IEFjY2Vzc0xldmVsO1xuICBwbGFpblNoYXJlZENpcGhlckRhdGE/OiBzdHJpbmc7XG59XG4iXX0=
|