bx-rest 1.5.1 → 1.6.0

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 (148) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.en.md +113 -2
  3. package/README.md +114 -2
  4. package/esm2022/functions/errors.mjs +17 -5
  5. package/esm2022/functions/uniqueElementCode.mjs +24 -0
  6. package/esm2022/public-api.mjs +2 -2
  7. package/esm2022/request-navvy/bizproc.mjs +18 -9
  8. package/esm2022/request-navvy/calendar/event.mjs +1 -9
  9. package/esm2022/request-navvy/disk/operation.mjs +3 -10
  10. package/esm2022/request-navvy/socialnetwork/api/livefeed.mjs +1 -5
  11. package/esm2022/request-navvy/task/operation/elapseditem.mjs +8 -8
  12. package/esm2022/request-navvy/tasks/task.mjs +1 -119
  13. package/esm2022/rest/navvy.mjs +66 -64
  14. package/esm2022/services/base.mjs +1 -4
  15. package/esm2022/services/context.mjs +59 -0
  16. package/esm2022/services/http/HttpBX.mjs +49 -19
  17. package/esm2022/services/http/authRefresh.mjs +25 -23
  18. package/esm2022/services/http/http.mjs +14 -69
  19. package/esm2022/services/http/middleware.mjs +149 -0
  20. package/esm2022/services/http/sessionKey.mjs +16 -5
  21. package/esm2022/services/http/transport.mjs +5 -0
  22. package/esm2022/services/navvy/navvy-support.mjs +2 -15
  23. package/esm2022/services/navvy.mjs +18 -31
  24. package/esm2022/typification/rest/calendar/event/get.mjs +1 -1
  25. package/esm2022/typification/rest/tasks/task/get.mjs +1 -1
  26. package/esm2022/typification/settings.mjs +1 -1
  27. package/fesm2022/bx-rest.mjs +450 -463
  28. package/fesm2022/bx-rest.mjs.map +1 -1
  29. package/functions/errors.d.ts +9 -0
  30. package/functions/uniqueElementCode.d.ts +12 -0
  31. package/package.json +1 -1
  32. package/public-api.d.ts +2 -1
  33. package/rest/navvy.d.ts +9 -0
  34. package/services/context.d.ts +43 -0
  35. package/services/http/HttpBX.d.ts +10 -0
  36. package/services/http/authRefresh.d.ts +5 -1
  37. package/services/http/http.d.ts +12 -9
  38. package/services/http/middleware.d.ts +31 -0
  39. package/services/http/sessionKey.d.ts +10 -0
  40. package/services/http/transport.d.ts +28 -0
  41. package/services/navvy/navvy-support.d.ts +0 -10
  42. package/services/navvy.d.ts +1 -0
  43. package/typification/rest/calendar/event/get.d.ts +1 -1
  44. package/typification/settings.d.ts +34 -0
  45. package/esm2022/functions/errorHandler.mjs +0 -34
  46. package/esm2022/request/app.mjs +0 -13
  47. package/esm2022/request/bizproc/activity.mjs +0 -3
  48. package/esm2022/request/bizproc/event.mjs +0 -3
  49. package/esm2022/request/bizproc/robot.mjs +0 -3
  50. package/esm2022/request/bizproc/task.mjs +0 -3
  51. package/esm2022/request/bizproc/workflow/instance.mjs +0 -3
  52. package/esm2022/request/bizproc/workflow/template.mjs +0 -3
  53. package/esm2022/request/bizproc/workflow.mjs +0 -18
  54. package/esm2022/request/bizproc.mjs +0 -15
  55. package/esm2022/request/department.mjs +0 -26
  56. package/esm2022/request/disk/attachedObject.mjs +0 -14
  57. package/esm2022/request/disk/file.mjs +0 -18
  58. package/esm2022/request/disk/folder.mjs +0 -117
  59. package/esm2022/request/disk.mjs +0 -11
  60. package/esm2022/request/lists/element.mjs +0 -18
  61. package/esm2022/request/lists/field.mjs +0 -35
  62. package/esm2022/request/lists.mjs +0 -86
  63. package/esm2022/request/log/blogcomment.mjs +0 -3
  64. package/esm2022/request/log/blogpost.mjs +0 -18
  65. package/esm2022/request/log.mjs +0 -9
  66. package/esm2022/request/pull/application/config.mjs +0 -11
  67. package/esm2022/request/pull/channel/public.mjs +0 -18
  68. package/esm2022/request/pull/config.mjs +0 -13
  69. package/esm2022/request/pull.mjs +0 -11
  70. package/esm2022/request/server.mjs +0 -14
  71. package/esm2022/request/socialnetwork/api/contentview.mjs +0 -14
  72. package/esm2022/request/socialnetwork/api/livefeed/blogpost/important.mjs +0 -14
  73. package/esm2022/request/socialnetwork/api/livefeed/blogpost.mjs +0 -7
  74. package/esm2022/request/socialnetwork/api/livefeed.mjs +0 -7
  75. package/esm2022/request/socialnetwork/api.mjs +0 -9
  76. package/esm2022/request/socialnetwork.mjs +0 -8
  77. package/esm2022/request/sonet_group.mjs +0 -24
  78. package/esm2022/request/task/commentitem.mjs +0 -32
  79. package/esm2022/request/task/elapseditem.mjs +0 -40
  80. package/esm2022/request/task/item/userfield.mjs +0 -14
  81. package/esm2022/request/task/item.mjs +0 -7
  82. package/esm2022/request/task/planner.mjs +0 -11
  83. package/esm2022/request/task.mjs +0 -13
  84. package/esm2022/request/tasks/task/result.mjs +0 -22
  85. package/esm2022/request/tasks/task.mjs +0 -110
  86. package/esm2022/request/tasks.mjs +0 -7
  87. package/esm2022/request/user/userfield.mjs +0 -14
  88. package/esm2022/request/user.mjs +0 -40
  89. package/esm2022/rest/base.mjs +0 -39
  90. package/esm2022/services/http/HttpData.mjs +0 -77
  91. package/esm2022/services/http/base/base.mjs +0 -4
  92. package/esm2022/services/http/httpNavvy.mjs +0 -14
  93. package/esm2022/typification/base/answers.mjs +0 -438
  94. package/esm2022/typification/base/params.mjs +0 -525
  95. package/esm2022/typification/base/workpiece/methods-list.mjs +0 -2
  96. package/esm2022/typification/base/workpiece/methods.mjs +0 -2
  97. package/functions/errorHandler.d.ts +0 -10
  98. package/request/app.d.ts +0 -8
  99. package/request/bizproc/activity.d.ts +0 -2
  100. package/request/bizproc/event.d.ts +0 -2
  101. package/request/bizproc/robot.d.ts +0 -2
  102. package/request/bizproc/task.d.ts +0 -2
  103. package/request/bizproc/workflow/instance.d.ts +0 -2
  104. package/request/bizproc/workflow/template.d.ts +0 -2
  105. package/request/bizproc/workflow.d.ts +0 -13
  106. package/request/bizproc.d.ts +0 -12
  107. package/request/department.d.ts +0 -18
  108. package/request/disk/attachedObject.d.ts +0 -8
  109. package/request/disk/file.d.ts +0 -10
  110. package/request/disk/folder.d.ts +0 -96
  111. package/request/disk.d.ts +0 -8
  112. package/request/lists/element.d.ts +0 -11
  113. package/request/lists/field.d.ts +0 -11
  114. package/request/lists.d.ts +0 -31
  115. package/request/log/blogcomment.d.ts +0 -2
  116. package/request/log/blogpost.d.ts +0 -11
  117. package/request/log.d.ts +0 -6
  118. package/request/pull/application/config.d.ts +0 -5
  119. package/request/pull/channel/public.d.ts +0 -5
  120. package/request/pull/config.d.ts +0 -7
  121. package/request/pull.d.ts +0 -8
  122. package/request/server.d.ts +0 -7
  123. package/request/socialnetwork/api/contentview.d.ts +0 -6
  124. package/request/socialnetwork/api/livefeed/blogpost/important.d.ts +0 -6
  125. package/request/socialnetwork/api/livefeed/blogpost.d.ts +0 -4
  126. package/request/socialnetwork/api/livefeed.d.ts +0 -4
  127. package/request/socialnetwork/api.d.ts +0 -6
  128. package/request/socialnetwork.d.ts +0 -4
  129. package/request/sonet_group.d.ts +0 -8
  130. package/request/task/commentitem.d.ts +0 -23
  131. package/request/task/elapseditem.d.ts +0 -26
  132. package/request/task/item/userfield.d.ts +0 -6
  133. package/request/task/item.d.ts +0 -4
  134. package/request/task/planner.d.ts +0 -4
  135. package/request/task.d.ts +0 -10
  136. package/request/tasks/task/result.d.ts +0 -13
  137. package/request/tasks/task.d.ts +0 -37
  138. package/request/tasks.d.ts +0 -4
  139. package/request/user/userfield.d.ts +0 -8
  140. package/request/user.d.ts +0 -24
  141. package/rest/base.d.ts +0 -33
  142. package/services/http/HttpData.d.ts +0 -7
  143. package/services/http/base/base.d.ts +0 -7
  144. package/services/http/httpNavvy.d.ts +0 -10
  145. package/typification/base/answers.d.ts +0 -12
  146. package/typification/base/params.d.ts +0 -16
  147. package/typification/base/workpiece/methods-list.d.ts +0 -247
  148. package/typification/base/workpiece/methods.d.ts +0 -20
@@ -1,525 +0,0 @@
1
- export {};
2
- //
3
- // export interface iBXRestParams {
4
- // user: {
5
- // get: iBXRestUserHttp[]
6
- // update: Partial<iBXRestUser>
7
- // search: iBXRestParamUserSearch
8
- // access: string[]
9
- // },
10
- // tasks: {
11
- // task: {
12
- // add: iBXRestParamTaskAdd
13
- // approve: iBXRestParamTasksTaskApprove
14
- // complete: iBXRestParamTasksTaskComplete
15
- // // counters: {
16
- // // get: [$tasks, $task, $counters, $get], //Получает счетчики пользователя
17
- // // },
18
- // defer: iBXRestParamTasksTaskDefer
19
- // delegate: iBXRestParamTasksTaskUpdate
20
- // // delete: [$tasks, $task, $delete], // Удаляет задачу
21
- // // disapprove: [$tasks, $task, $disapprove], // Позволяет отклонить задачу
22
- // // favorite: {
23
- // // add: [$tasks, $task, $favorite, $add], // Добавляет задачи в "Избранное"
24
- // // delete: [$tasks, $task, $favorite, $delete], // Удаляет задачи из "Избранного"
25
- // // },
26
- // // files: {
27
- // // attach: [$tasks, $task, $files, $attach], // Прикрепляет загруженный на диск файл к задаче
28
- // // },
29
- // // get: iBXRestParamTasksTaskGet<CustomFields>
30
- // getAccess: iBXRestParamTaskGetAccess
31
- // // history: {
32
- // // list: [$tasks, $task, $history, $list], // Получает историю задачи
33
- // // },
34
- // // list: [$tasks, $task, $list], // Возвращает массив задач, каждая из которых содержит массив полей
35
- // // pause: [$tasks, $task, $pause], // Останавливает выполнение задачи, переводя ее в статус "ждет выполнения"
36
- // // renew: [$tasks, $task, $renew], // Возобновляет задачу после ее завершения
37
- // // start: [$tasks, $task, $start], // Переводит задачу в статус «выполняется»
38
- // // startWatch: [$tasks, $task, 'startwatch'], // Позволяет наблюдать за задачей
39
- // // stopwatch: [$tasks, $task, 'stopwatch'], // Останавливает наблюдение за задачей
40
- // // update: [$tasks, $task, $update], // Обновляет задачу
41
- // result: {
42
- // list: iBXRestParamTasksTaskResultList
43
- // addFromComment: iBXParamRestTasksTaskResultAdd
44
- // // deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
45
- // }
46
- // }
47
- // },
48
- // task: {
49
- // elapsedItem: {
50
- // // getManifest:
51
- // // getList:
52
- // // get: [$task, $elapseditem, $get],
53
- // add: iBXRestParamAddElapseditem,
54
- // delete: iBXRestParamDelElapseditem,
55
- // isActionAllowed: iIsActionAllowedParam,
56
- // update: iBXRestParamUpdateElapseditem
57
- // },
58
- // commentItem: {
59
- // // /**
60
- // // * Возвращает список методов и их описание
61
- // // */
62
- // // getManifest: [$task, $commentitem, $getmanifest],
63
- // // /**
64
- // // * Возвращает список комментариев к задаче
65
- // // */
66
- // // getList: [$task, $commentitem, $getlist],
67
- // /**
68
- // * Возвращает комментарий к задаче
69
- // */
70
- // get: iBXRestParamTaskCommentItemGet,
71
- // /**
72
- // * Создает новый комментарий к задаче
73
- // */
74
- // add: iBXRestCommentTaskAdd,
75
- // /**
76
- // * Обновляет данные комментария
77
- // */
78
- // update: iBXRestTaskCommentItemUpdate,
79
- // /**
80
- // * Удаляет комментарий
81
- // */
82
- // delete: BXRestTaskCommentItemDelete,
83
- // // /**
84
- // // * Проверяет, разрешено ли действие
85
- // // */
86
- // // isActionAllowed: [$task, $commentitem, $isactionallowed],
87
- // },
88
- // planner: {
89
- // getList: null
90
- // },
91
- // item: {
92
- // userField: {
93
- // /**
94
- // * Получение всех доступных полей свойства
95
- // */
96
- // getFields: iBXRestParamTaskItemUserFieldGetlist,
97
- // // /**
98
- // // * Получение всех доступных типов данных
99
- // // */
100
- // // getTypes: [$task, $item, $userfield, 'gettypes'],
101
- // // /**
102
- // // * Создание нового свойства
103
- // // */
104
- // // add: [$task, $item, $userfield, $add],
105
- // // /**
106
- // // * Получение свойства по идентификатору
107
- // // */
108
- // // get: [$task, $item, $userfield, $get],
109
- // // /**
110
- // // * Получение списка свойств
111
- // // */
112
- // // getList: [$task, $item, $userfield, 'getlist'],
113
- // // /**
114
- // // * Редактирование параметров свойства
115
- // // */
116
- // // update: [$task, $item, $userfield, $update],
117
- // // /**
118
- // // * Удаление свойства
119
- // // */
120
- // // delete: [$task, $item, $userfield, $delete]
121
- // }
122
- // }
123
- // },
124
- // timeman: {
125
- // // /**
126
- // // * Получение настроек рабочего времени пользователя
127
- // // */
128
- // // settings: [$timeMan, $settings],
129
- // /**
130
- // * Получение информации о текущем рабочем дне пользователя
131
- // */
132
- // status: iBXRestParamTimeManStatus | undefined,
133
- // // /**
134
- // // * Начать новый рабочий день либо возобновить закрытый или приостановленный
135
- // // */
136
- // // open: [$timeMan, 'open'],
137
- // // /**
138
- // // * Закрыть рабочий день
139
- // // */
140
- // // close: [$timeMan, 'close'],
141
- // // /**
142
- // // * Приостановить рабочий день
143
- // // */
144
- // // pause: [$timeMan, $pause],
145
- // // networkrange: {
146
- // // check: this.baseUrl + 'networkrange.check', // Метод для проверки IP-адреса на вхождение в диапазоны сетевых адресов офисной сети
147
- // // get: this.baseUrl + 'networkrange.get', // Метод для получения диапазонов сетевых адресов, входящих в офисную сеть
148
- // // set: this.baseUrl + 'networkrange.set' // Метод для установки диапазонов сетевых адресов, входящих в офисную сеть. 18.5.0
149
- // // },
150
- // // timecontrol: {
151
- // // report: {
152
- // // add: this.baseUrl + 'timecontrol.report.add', // Метод для отправки отчета о выявленном отсутствии
153
- // // get: this.baseUrl + 'timecontrol.reports.get', // Метод для получения отчета о выявленных отсутствиях
154
- // // settings: {
155
- // // get: this.baseUrl + 'timecontrol.reports.settings.get' // Метод для получения пользовательских настроек для построения интерфейса отчетов инструмента контроля времени
156
- // // },
157
- // // users: {
158
- // // get: this.baseUrl + 'timecontrol.reports.users.get' // Метод для получения списка пользователей, относящихся к указанному подразделению. 18.5.0
159
- // // }
160
- // // },
161
- // // settings: {
162
- // // get: this.baseUrl + 'timecontrol.settings.get', // Метод для получения настроек инструмента контроля времени
163
- // // set: this.baseUrl + 'timecontrol.settings.set' // Метод для установки настроек инструмента контроля времени
164
- // // },
165
- // // },
166
- // // schedule: {
167
- // // get: this.baseUrl + 'schedule.get' // Метод позволяет получить рабочий график по его идентификатору
168
- // // }
169
- // },
170
- // sonet_group: {
171
- // // /**
172
- // // * Создает группу соцсети, используя метод API CSocNetGroup::CreateGroup(), указывая владельцем группы текущего пользователя
173
- // // */
174
- // // create: [$sonet_group, $create],
175
- // // /**
176
- // // * Удаляет группу соцсети
177
- // // */
178
- // // delete: [$sonet_group, $delete],
179
- // // feature: {
180
- // // access: [$sonet_group, $feature, $access] // Проверяет, имеет ли текущий пользователь право на совершение операции в группе соцсети, осуществляя вызов функции CSocNetFeaturesPerms::CurrentUserCanPerformOperation()
181
- // // },
182
- // /**
183
- // * Возвращает массив групп соцсети, каждая из которых содержит массив полей, осуществляя вызов CSocNetGroup::GetList(), при этом возвращаются только те группы, которые доступны пользователю по правам
184
- // */
185
- // get: iBXRestParamSonetGroupGet,
186
- // // /**
187
- // // * Изменяет владельца группы
188
- // // */
189
- // // setOwner: [$sonet_group, 'setowner'],
190
- // // /**
191
- // // * Изменяет параметры группы соцсети, используя метод API CSocNetGroup::Update()
192
- // // */
193
- // // update: [$sonet_group, $update],
194
- // // user: {
195
- // // add: [$sonet_group, $user, $add], // sonet_group.user.add Добавляет пользователей в качестве участников рабочей группы (без приглашения и подтверждения)
196
- // // delete: [$sonet_group, $user, $delete], // Удаляет пользователей из рабочей группы
197
- // // get: [$sonet_group, $user, $get], // Возвращает массив участников группы соцсети, осуществляя вызов CSocNetUserToGroup::GetList(), при этом проверяются права на доступ текущего пользователя к группе
198
- // // groups: [$sonet_group, $user, 'groups'], // Возвращает массив групп соцсети текущего пользователя, осуществляя вызов CSocNetUserToGroup::GetList()
199
- // // invite: [$sonet_group, $user, 'invite'], // Выполняет приглашение пользователей в группу соцсети от лица текущего пользователя, при этом проверяются права на доступ текущего пользователя к группе
200
- // // request: [$sonet_group, $user, $request], // Отправляет запрос текущего пользователя на вступление в группу соцсети, при этом проверяются права на доступ текущего пользователя к группе.
201
- // // update: [$sonet_group, $user, $update], // Изменяет роль пользователей в рабочей группе События при работе с группами СоцСети Список событий при добавлении, изменении и удалении группы.
202
- // // },
203
- // // workgroup: {
204
- // // list: [$socialnetwork, $api, $workgroup, $list], // Метод возвращает список групп,
205
- // // get: [$socialnetwork, $api, $workgroup, $get] // Метод возвращает данные по рабочей группе
206
- // // }
207
- // },
208
- // server: {
209
- // /**
210
- // * Получить время сервера
211
- // */
212
- // time: iBXRestParamEmpty
213
- // },
214
- // log: {
215
- // blogpost: {
216
- // /**
217
- // * Добавляет в Живую Ленту сообщение от имени текущего пользователя
218
- // */
219
- // add: iBXRestParamLogBlogPostAdd,
220
- // // getusers: {
221
- // // important: 'log.blogpost.getusers.important' // Отдает массив ID пользователей, прочитавших Важное сообщение
222
- // // },
223
- // /**
224
- // * Возвращает массив с доступными текущему пользователю сообщениями Живой ленты. Каждое из сообщений представляет собой массив значений полей (включая пользовательские поля)
225
- // */
226
- // get: iBXRestParamBlogPostGet,
227
- // // /**
228
- // // * Удаляет сообщение Живой Ленты
229
- // // */
230
- // // delete: [$log, $blogpost, $delete],
231
- // // /**
232
- // // * Добавляет получателей в сообщение Живой Ленты
233
- // // */
234
- // // share: [$log, $blogpost, $share],
235
- // // /**
236
- // // * Изменяет сообщение Живой Ленты
237
- // // */
238
- // // update: [$log, $blogpost, $update],
239
- // },
240
- // // blogcomment: {
241
- // // /**
242
- // // * Добавляет комментарий к сообщению Живой ленты
243
- // // */
244
- // // add: [$log, $blogcomment, $add],
245
- // // }
246
- // },
247
- // lists: {
248
- // // /**
249
- // // * Метод создаёт список
250
- // // */
251
- // // add: [$lists, $add],
252
- // // /**
253
- // // * Метод удаляет список
254
- // // */
255
- // // delete: [$lists, $delete],
256
- // /**
257
- // * Метод возвращает данные по спискам
258
- // */
259
- // get: iBXRestParamListGet,
260
- // // /**
261
- // // * Метод обновляет существующий список
262
- // // */
263
- // // update: [$lists, $update],
264
- // // /**
265
- // // * Метод возвращает id типа инфоблока
266
- // // */
267
- // // getIBlockTypeId: [$lists, $get, $iblock, $type, $id],
268
- // element: {
269
- // /**
270
- // * Метод создаёт элемент списка
271
- // */
272
- // add: iBXRestParamListsElementAdd,
273
- // // /**
274
- // // * Метод удаляет элемент списка TODO: Реализовать
275
- // // */
276
- // // delete: [$lists, $element, $delete],
277
- // /**
278
- // * Метод возвращает список элементов или элемент
279
- // */
280
- // get: iBXRestParamListsElementGet,
281
- // // /**
282
- // // * Метод обновляет элемент списка TODO: Реализовать
283
- // // */
284
- // // update: [$lists, $element, $update],
285
- // // /**
286
- // // * Метод возвращает путь к файлу TODO: Реализовать
287
- // // */
288
- // // getFileUrl: [$lists, $element, $get, $file, $url]
289
- // },
290
- // field: {
291
- // // /**
292
- // // * Метод создает поле списка
293
- // // */
294
- // // add: [$lists, $field, $add],
295
- // // /**
296
- // // * Метод удаляет поле списка
297
- // // */
298
- // // delete: [$lists, $field, $delete],
299
- // /**
300
- // * Метод возвращает данные поля
301
- // */
302
- // get: iBXRestParamListField,
303
- // // type: {
304
- // // /**
305
- // // * Метод возвращает доступные типа полей для указанного списка
306
- // // */
307
- // // get: [$lists, $field, $type, $get],
308
- // // },
309
- // // /**
310
- // // * Метод обновляет поле списка
311
- // // */
312
- // // update: [$lists, $field, $update],
313
- // }
314
- // },
315
- // im: {
316
- // chat: {
317
- // add: iBXRestParamImChatAdd,
318
- // // list: [$im, $chat, $user, $list],
319
- // // add: [$im, $chat, $user, $add],
320
- // // delete: [$im, $chat, $user, $delete],
321
- // // updateTitle: [$im, $chat, $updateTitle],
322
- // // updateColor: [$im, $chat, $updateColor],
323
- // // updateAvatar: [$im, $chat, $updateAvatar],
324
- // // setOwner: [$im, $chat, $setOwner],
325
- // // get: [$im, $chat, $get],
326
- // // mute: [$im, $chat, $mute],
327
- // }
328
- // },
329
- // disk: {
330
- // file: {
331
- // // /**
332
- // // * Возвращает описание полей файла
333
- // // */
334
- // // getFields: [$disk, $file, $getFields],
335
- // /**
336
- // * Возвращает файл по идентификатору
337
- // */
338
- // get: iBXRestParamDiskFileGet,
339
- // // /**
340
- // // * Переименовывает файл
341
- // // */
342
- // // rename: [$disk, $file, $rename],
343
- // // /**
344
- // // * Копирует файл в указанную папку
345
- // // */
346
- // // copyTo: [$disk, $file, $copyto],
347
- // // /**
348
- // // * Перемещает файл в указанную папку
349
- // // */
350
- // // moveto: [$disk, $file, $moveto],
351
- // // /**
352
- // // * Уничтожает файл навсегда
353
- // // */
354
- // // delete: [$disk, $file, $delete],
355
- // /**
356
- // * Перемещает файл в корзину
357
- // */
358
- // markDeleted: iBXRestParamDiskFileMarkDeleted,
359
- // // /**
360
- // // * Восстанавливает файл из корзины
361
- // // */
362
- // // restore: [$disk, $file, $restore],
363
- // // /**
364
- // // * Загружает новую версию файла
365
- // // */
366
- // // uploadVersion: [$disk, $file, 'uploadversion'],
367
- // // /**
368
- // // * Возвращает список версий файла
369
- // // */
370
- // // getVersions: [$disk, $file, 'getVersions'],
371
- // // /**
372
- // // * Восстанавливает файл из конкретной версии
373
- // // */
374
- // // restoreFromVersion: [$disk, $file, 'restoreFromVersion'],
375
- // // /**
376
- // // * Возвращает публичную ссылку на файл
377
- // // */
378
- // // getExternalLink: [$disk, $file, 'getexternallink']
379
- // },
380
- // folder: {
381
- // getFields: iBXRestParamEmpty
382
- // get: iBXRestParamFolderGet
383
- // getChildren: iBXRestParamFolderGetChildren
384
- // addSubFolder: iBXRestDiskFolderAddSubFolderParam
385
- // copyTo: iBXRestDiskFolderCopyToParam
386
- // moveTo: iBXRestDiskFolderMoveToParam
387
- // rename: iBXRestDiskFolderRenameParam
388
- // deleteTree: iBXRestParamFolderDeleteTree
389
- // markDeleted: iBXRestParamFolderMarkDeleted
390
- // restore: iBXRestParamFolderRestore
391
- // uploadFile: iBXRestDiskFolderUploadFileParam
392
- // getExternalLink: iBXRestParamFolderGetExternalLink
393
- // },
394
- // attachedObject: {
395
- // get: iBXRestParamRestDiskAttachedObject
396
- // }
397
- // },
398
- // department: {
399
- // get: iBXRestParamDepartmentGet
400
- // del: iBXRestParamDepartmentDel
401
- // add: iBXRestParamDepartmentAdd
402
- // update: iBXRestDepartmentUpdate
403
- // },
404
- // calendar: {
405
- // event: {
406
- // // /**
407
- // // * Добавляет новое событие
408
- // // */
409
- // // add: [$calendar, $event, $add],
410
- // // /**
411
- // // * Удаляет событие
412
- // // */
413
- // // delete: [$calendar, $event, $delete],
414
- // /**
415
- // * Возвращает список событий календаря
416
- // */
417
- // get: iBXRestCalendarEventGetParam,
418
- // // /**
419
- // // * Возвращает список будущих событий для текущего пользователя
420
- // // */
421
- // // getNearest: [$calendar, $event, $get, $nearest],
422
- // // /**
423
- // // * Редактирует существующее событие
424
- // // */
425
- // // update: [$calendar, $event, $get, $update],
426
- // }
427
- // },
428
- // bizProc: {
429
- // workflow: {
430
- // // /**
431
- // // * Возвращает список запущенных бизнес-процессов TODO: реализовать
432
- // // */
433
- // // instances: [$bizproc, $workflow, $instances],
434
- // terminate: {
435
- // // /**
436
- // // * Добавляет шаблон Бизнес-процесса
437
- // // */
438
- // // add: [$bizproc, $workflow, $template, $add],
439
- // // /**
440
- // // * Удаляет шаблон Бизнес-процесса
441
- // // */
442
- // // delete: [$bizproc, $workflow, $template, $delete],
443
- // // /**
444
- // // * Изменяет шаблон Бизнес-процесса
445
- // // */
446
- // // update: [$bizproc, $workflow, $template, $update],
447
- // // /**
448
- // // * Возвращает список шаблонов Бизнес-процессов, установленных на сайте
449
- // // */
450
- // // list: iBXRestParamBizprocWorkflowTemplateList
451
- // },
452
- // /**
453
- // * Запускает Бизнес-процесс
454
- // */
455
- // start: iBXRestParamBizprocWorkflowStart
456
- // /**
457
- // * Удаляет запущенный бизнес-процесс TODO: реализовать
458
- // */
459
- // // kill: [$bizproc, $workflow, $kill],
460
- // },
461
- // // activity: {
462
- // // /**
463
- // // * Добавляет новое действие в бизнес-процесс
464
- // // */
465
- // // add: [$bizproc, $activity, $add],
466
- // // /**
467
- // // * Удаляет действие
468
- // // */
469
- // // delete: [$bizproc, $activity, $delete],
470
- // // /**
471
- // // * Возвращает список установленных приложением действий
472
- // // */
473
- // // list: [$bizproc, $activity, $list],
474
- // // /**
475
- // // * Позволяет обновить поля действия
476
- // // */
477
- // // update: [$bizproc, $activity, $update],
478
- // // /**
479
- // // * Записывает информацию в лог бизнес-процесса
480
- // // */
481
- // // log: [$bizproc, $activity, $log]
482
- // // },
483
- // // task: {
484
- // // /**
485
- // // * Осуществляет выполнение заданий БП
486
- // // */
487
- // // complete: [$bizproc, $task, $complete],
488
- // // /**
489
- // // * Возвращает список заданий бизнес-процессов
490
- // // */
491
- // // list: [$bizproc, $task, $list],
492
- // // },
493
- // // robot: {
494
- // // /**
495
- // // * Регистрирует нового робота
496
- // // */
497
- // // add: [$bizproc, $robot, $add],
498
- // // /**
499
- // // * Удаляет зарегистрированного робота
500
- // // */
501
- // // delete: [$bizproc, $robot, $delete],
502
- // // /**
503
- // // * Список зарегистрированных приложением роботов
504
- // // */
505
- // // list: [$bizproc, $robot, $list], //
506
- // // /**
507
- // // * Обновляет поля робота
508
- // // */
509
- // // update: [$bizproc, $robot, $update] //
510
- // // },
511
- // // event: {
512
- // // /**
513
- // // * Возвращает действию выходные параметры, заданные в описании действия
514
- // // */
515
- // // send: [$bizproc, $event, $send],
516
- // // }
517
- // },
518
- // app: {
519
- // /**
520
- // * Показ информации о приложении. Метод поддерживает безопасный вызов
521
- // */
522
- // info: iBXRestParamEmpty
523
- // }
524
- // }
525
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL2Jhc2UvcGFyYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFtRUEsRUFBRTtBQUNGLG1DQUFtQztBQUNuQyxZQUFZO0FBQ1osNkJBQTZCO0FBQzdCLG1DQUFtQztBQUNuQyxxQ0FBcUM7QUFDckMsdUJBQXVCO0FBQ3ZCLE9BQU87QUFDUCxhQUFhO0FBQ2IsY0FBYztBQUNkLGlDQUFpQztBQUNqQyw4Q0FBOEM7QUFDOUMsZ0RBQWdEO0FBQ2hELHVCQUF1QjtBQUN2QixxRkFBcUY7QUFDckYsY0FBYztBQUNkLDBDQUEwQztBQUMxQyw4Q0FBOEM7QUFDOUMsK0RBQStEO0FBQy9ELG1GQUFtRjtBQUNuRix1QkFBdUI7QUFDdkIsc0ZBQXNGO0FBQ3RGLDRGQUE0RjtBQUM1RixjQUFjO0FBQ2Qsb0JBQW9CO0FBQ3BCLHdHQUF3RztBQUN4RyxjQUFjO0FBQ2QsdURBQXVEO0FBQ3ZELDZDQUE2QztBQUM3QyxzQkFBc0I7QUFDdEIsZ0ZBQWdGO0FBQ2hGLGNBQWM7QUFDZCw2R0FBNkc7QUFDN0csc0hBQXNIO0FBQ3RILHNGQUFzRjtBQUN0RixzRkFBc0Y7QUFDdEYsd0ZBQXdGO0FBQ3hGLDJGQUEyRjtBQUMzRixpRUFBaUU7QUFDakUsa0JBQWtCO0FBQ2xCLGdEQUFnRDtBQUNoRCx5REFBeUQ7QUFDekQsc0pBQXNKO0FBQ3RKLFVBQVU7QUFDVixRQUFRO0FBQ1IsT0FBTztBQUNQLFlBQVk7QUFDWixxQkFBcUI7QUFDckIsd0JBQXdCO0FBQ3hCLG9CQUFvQjtBQUNwQiw2Q0FBNkM7QUFDN0MseUNBQXlDO0FBQ3pDLDRDQUE0QztBQUM1QyxnREFBZ0Q7QUFDaEQsOENBQThDO0FBQzlDLFNBQVM7QUFDVCxxQkFBcUI7QUFDckIsZUFBZTtBQUNmLHNEQUFzRDtBQUN0RCxlQUFlO0FBQ2YsNkRBQTZEO0FBQzdE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Q04sSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RVc2VyIH0gZnJvbSAnLi4vcmVzdC91c2VyL3VzZXInXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi9yZXN0L3VzZXIvc2VhcmNoJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tBcHByb3ZlIH0gZnJvbSAnLi4vcmVzdC90YXNrcy90YXNrL2FwcHJvdmUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlIH0gZnJvbSAnLi4vcmVzdC90YXNrcy90YXNrL2NvbXBsZXRlJ1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlciwgaUJYUmVzdFRhc2tzVGFza0RlZmVySHR0cCB9IGZyb20gJy4uL3Jlc3QvdGFza3MvdGFzay9kZWZlcidcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrVXBkYXRlIH0gZnJvbSAnLi4vcmVzdC90YXNrcy90YXNrL3VwZGF0ZSdcclxuaW1wb3J0IHsgaUJYUmVzdFRhc2tHZXRBY2Nlc3MgfSBmcm9tICcuLi9yZXN0L3Rhc2svYWNjZXNzL2dldGFjY2VzcydcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NUYXNrUmVzdWx0TGlzdCB9IGZyb20gJy4uL3Jlc3QvdGFza3MvcmVzdWx0L2xpc3QnXHJcbmltcG9ydCB7IGlCWFBhcmFtUmVzdFRhc2tzVGFza1Jlc3VsdEFkZCB9IGZyb20gJy4uL3Jlc3QvdGFza3MvdGFzay9yZXN1bHQvcmVzdWx0J1xyXG5pbXBvcnQgeyBpQlhSZXN0UGFyYW1UYXNrQWRkIH0gZnJvbSAnLi4vcmVzdC90YXNrcy90YXNrL2FkZCdcclxuaW1wb3J0IHsgaUJYUmVzdFdvcmtwaWVjZU1ldGhvZHNGdWxsIH0gZnJvbSAnLi93b3JrcGllY2UvbWV0aG9kcydcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0V29ya3BpZWNlTWV0aG9kc1Rhc2tzLFxyXG4gIGlCWFJlc3RXb3JrcGllY2VNZXRob2RzVGFza3NUYXNrLFxyXG4gIGlCWFJlc3RXb3JrcGllY2VNZXRob2RzVGFza3NUYXNrUmVzdWx0LFxyXG4gIGlCWFJlc3RXb3JrcGllY2VNZXRob2RzVXNlcixcclxuICBpQlhSZXN0V29ya3BpZWNlTWV0aG9kc1VzZXJGaWVsZCxcclxuICBpQlhSZXN0V29ya3BpZWNlTWV0aG9kc1VzZXJGaWVsZExpc3RcclxufSBmcm9tICcuL3dvcmtwaWVjZS9tZXRob2RzLWxpc3QnXHJcbmltcG9ydCB7IGlCWFJlc3RUYXNrc1Rhc2tCYXNlQW5zd2VyIH0gZnJvbSAnLi4vcmVzdC90YXNrcy90YXNrL2Jhc2UnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJHZXQgfSBmcm9tICcuLi9yZXN0L3VzZXIvZ2V0J1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0UGFyYW1zIGV4dGVuZHMgaUJYUmVzdFdvcmtwaWVjZU1ldGhvZHNGdWxsPFxyXG4gIGlCWFJlc3RXb3JrcGllY2VNZXRob2RzVXNlcjxcclxuICAgIHVuZGVmaW5lZCxcclxuICAgIGlCWFJlc3RQYXJhbVVzZXJHZXQsXHJcbiAgICB1bmRlZmluZWQsXHJcbiAgICBQYXJ0aWFsPGlCWFJlc3RVc2VyPixcclxuICAgIGlCWFJlc3RQYXJhbVVzZXJTZWFyY2gsXHJcbiAgICBzdHJpbmdbXSxcclxuICAgIHVuZGVmaW5lZCxcclxuICAgIGlCWFJlc3RXb3JrcGllY2VNZXRob2RzVXNlckZpZWxkPGFueSwgYW55LCBhbnksIGFueSwgaUJYUmVzdFdvcmtwaWVjZU1ldGhvZHNVc2VyRmllbGRMaXN0PGFueT4+XHJcbiAgPixcclxuICBpQlhSZXN0V29ya3BpZWNlTWV0aG9kc1Rhc2tzPFxyXG4gICAgaUJYUmVzdFdvcmtwaWVjZU1ldGhvZHNUYXNrc1Rhc2s8XHJcbiAgICAgIGlCWFJlc3RQYXJhbVRhc2tBZGQ8YW55PixcclxuICAgICAgaUJYUmVzdFBhcmFtVGFza3NUYXNrQXBwcm92ZSxcclxuICAgICAgaUJYUmVzdFBhcmFtVGFza3NUYXNrQ29tcGxldGUsXHJcbiAgICAgIGlCWFJlc3RQYXJhbVRhc2tzVGFza0RlZmVyLFxyXG4gICAgICBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tVcGRhdGUsXHJcbiAgICAgIGFueSxcclxuICAgICAgaUJYUmVzdFRhc2tzVGFza0Jhc2VBbnN3ZXI8aUJYUmVzdFRhc2tzVGFza0RlZmVySHR0cD4sXHJcbiAgICAgIGlCWFJlc3RUYXNrR2V0QWNjZXNzLFxyXG4gICAgICBhbnksXHJcbiAgICAgIGFueSxcclxuICAgICAgaUJYUmVzdFdvcmtwaWVjZU1ldGhvZHNUYXNrc1Rhc2tSZXN1bHQ8XHJcbiAgICAgICAgaUJYUmVzdFBhcmFtVGFza3NUYXNrUmVzdWx0TGlzdCxcclxuICAgICAgICBpQlhQYXJhbVJlc3RUYXNrc1Rhc2tSZXN1bHRBZGQsXHJcbiAgICAgICAgYW55XHJcbiAgICAgID5cclxuICAgID5cclxuICA+LFxyXG4gIGFueSxcclxuICBhbnksXHJcbiAgYW55LFxyXG4gIGFueSxcclxuICBhbnksXHJcbiAgYW55LFxyXG4gIGFueSxcclxuICBhbnksXHJcbiAgYW55LFxyXG4gIGFueSxcclxuICBhbnksXHJcbiAgYW55LFxyXG4gIGFueVxyXG4+IHt9XHJcblxyXG4vL1xyXG4vLyBleHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RQYXJhbXMge1xyXG4vLyAgIHVzZXI6IHtcclxuLy8gICAgIGdldDogaUJYUmVzdFVzZXJIdHRwW11cclxuLy8gICAgIHVwZGF0ZTogUGFydGlhbDxpQlhSZXN0VXNlcj5cclxuLy8gICAgIHNlYXJjaDogaUJYUmVzdFBhcmFtVXNlclNlYXJjaFxyXG4vLyAgICAgYWNjZXNzOiBzdHJpbmdbXVxyXG4vLyAgIH0sXHJcbi8vICAgdGFza3M6IHtcclxuLy8gICAgIHRhc2s6IHtcclxuLy8gICAgICAgYWRkOiBpQlhSZXN0UGFyYW1UYXNrQWRkXHJcbi8vICAgICAgIGFwcHJvdmU6IGlCWFJlc3RQYXJhbVRhc2tzVGFza0FwcHJvdmVcclxuLy8gICAgICAgY29tcGxldGU6IGlCWFJlc3RQYXJhbVRhc2tzVGFza0NvbXBsZXRlXHJcbi8vICAgICAgIC8vIGNvdW50ZXJzOiB7XHJcbi8vICAgICAgIC8vICAgZ2V0OiBbJHRhc2tzLCAkdGFzaywgJGNvdW50ZXJzLCAkZ2V0XSwgLy/Qn9C+0LvRg9GH0LDQtdGCINGB0YfQtdGC0YfQuNC60Lgg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPXHJcbi8vICAgICAgIC8vIH0sXHJcbi8vICAgICAgIGRlZmVyOiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tEZWZlclxyXG4vLyAgICAgICBkZWxlZ2F0ZTogaUJYUmVzdFBhcmFtVGFza3NUYXNrVXBkYXRlXHJcbi8vICAgICAgIC8vIGRlbGV0ZTogWyR0YXNrcywgJHRhc2ssICRkZWxldGVdLCAvLyDQo9C00LDQu9GP0LXRgiDQt9Cw0LTQsNGH0YNcclxuLy8gICAgICAgLy8gZGlzYXBwcm92ZTogWyR0YXNrcywgJHRhc2ssICRkaXNhcHByb3ZlXSwgLy8g0J/QvtC30LLQvtC70Y/QtdGCINC+0YLQutC70L7QvdC40YLRjCDQt9Cw0LTQsNGH0YNcclxuLy8gICAgICAgLy8gZmF2b3JpdGU6IHtcclxuLy8gICAgICAgLy8gICBhZGQ6IFskdGFza3MsICR0YXNrLCAkZmF2b3JpdGUsICRhZGRdLCAvLyDQlNC+0LHQsNCy0LvRj9C10YIg0LfQsNC00LDRh9C4INCyIFwi0JjQt9Cx0YDQsNC90L3QvtC1XCJcclxuLy8gICAgICAgLy8gICBkZWxldGU6IFskdGFza3MsICR0YXNrLCAkZmF2b3JpdGUsICRkZWxldGVdLCAvLyDQo9C00LDQu9GP0LXRgiDQt9Cw0LTQsNGH0Lgg0LjQtyBcItCY0LfQsdGA0LDQvdC90L7Qs9C+XCJcclxuLy8gICAgICAgLy8gfSxcclxuLy8gICAgICAgLy8gZmlsZXM6IHtcclxuLy8gICAgICAgLy8gICBhdHRhY2g6IFskdGFza3MsICR0YXNrLCAkZmlsZXMsICRhdHRhY2hdLCAvLyDQn9GA0LjQutGA0LXQv9C70Y/QtdGCINC30LDQs9GA0YPQttC10L3QvdGL0Lkg0L3QsCDQtNC40YHQuiDRhNCw0LnQuyDQuiDQt9Cw0LTQsNGH0LVcclxuLy8gICAgICAgLy8gfSxcclxuLy8gICAgICAgLy8gZ2V0OiBpQlhSZXN0UGFyYW1UYXNrc1Rhc2tHZXQ8Q3VzdG9tRmllbGRzPlxyXG4vLyAgICAgICBnZXRBY2Nlc3M6IGlCWFJlc3RQYXJhbVRhc2tHZXRBY2Nlc3NcclxuLy8gICAgICAgLy8gaGlzdG9yeToge1xyXG4vLyAgICAgICAvLyAgIGxpc3Q6IFskdGFza3MsICR0YXNrLCAkaGlzdG9yeSwgJGxpc3RdLCAvLyDQn9C+0LvRg9GH0LDQtdGCINC40YHRgtC+0YDQuNGOINC30LDQtNCw0YfQuFxyXG4vLyAgICAgICAvLyB9LFxyXG4vLyAgICAgICAvLyBsaXN0OiBbJHRhc2tzLCAkdGFzaywgJGxpc3RdLCAvLyDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0LfQsNC00LDRhywg0LrQsNC20LTQsNGPINC40Lcg0LrQvtGC0L7RgNGL0YUg0YHQvtC00LXRgNC20LjRgiDQvNCw0YHRgdC40LIg0L/QvtC70LXQuVxyXG4vLyAgICAgICAvLyBwYXVzZTogWyR0YXNrcywgJHRhc2ssICRwYXVzZV0sIC8vINCe0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0YvQv9C+0LvQvdC10L3QuNC1INC30LDQtNCw0YfQuCwg0L/QtdGA0LXQstC+0LTRjyDQtdC1INCyINGB0YLQsNGC0YPRgSBcItC20LTQtdGCINCy0YvQv9C+0LvQvdC10L3QuNGPXCJcclxuLy8gICAgICAgLy8gcmVuZXc6IFskdGFza3MsICR0YXNrLCAkcmVuZXddLCAvLyDQktC+0LfQvtCx0L3QvtCy0LvRj9C10YIg0LfQsNC00LDRh9GDINC/0L7RgdC70LUg0LXQtSDQt9Cw0LLQtdGA0YjQtdC90LjRj1xyXG4vLyAgICAgICAvLyBzdGFydDogWyR0YXNrcywgJHRhc2ssICRzdGFydF0sIC8vINCf0LXRgNC10LLQvtC00LjRgiDQt9Cw0LTQsNGH0YMg0LIg0YHRgtCw0YLRg9GBIMKr0LLRi9C/0L7Qu9C90Y/QtdGC0YHRj8K7XHJcbi8vICAgICAgIC8vIHN0YXJ0V2F0Y2g6IFskdGFza3MsICR0YXNrLCAnc3RhcnR3YXRjaCddLCAvLyDQn9C+0LfQstC+0LvRj9C10YIg0L3QsNCx0LvRjtC00LDRgtGMINC30LAg0LfQsNC00LDRh9C10LlcclxuLy8gICAgICAgLy8gc3RvcHdhdGNoOiBbJHRhc2tzLCAkdGFzaywgJ3N0b3B3YXRjaCddLCAvLyDQntGB0YLQsNC90LDQstC70LjQstCw0LXRgiDQvdCw0LHQu9GO0LTQtdC90LjQtSDQt9CwINC30LDQtNCw0YfQtdC5XHJcbi8vICAgICAgIC8vIHVwZGF0ZTogWyR0YXNrcywgJHRhc2ssICR1cGRhdGVdLCAvLyDQntCx0L3QvtCy0LvRj9C10YIg0LfQsNC00LDRh9GDXHJcbi8vICAgICAgIHJlc3VsdDoge1xyXG4vLyAgICAgICAgIGxpc3Q6IGlCWFJlc3RQYXJhbVRhc2tzVGFza1Jlc3VsdExpc3RcclxuLy8gICAgICAgICBhZGRGcm9tQ29tbWVudDogaUJYUGFyYW1SZXN0VGFza3NUYXNrUmVzdWx0QWRkXHJcbi8vICAgICAgICAgLy8gZGVsZXRlRnJvbUNvbW1lbnQ6IFskdGFza3MsICR0YXNrLCAkcmVzdWx0LCAnZGVsZXRlRnJvbUNvbW1lbnQnXSwgLy8g0KPQtNCw0LvQtdC90LjQtSDRgNC10LfRg9C70YzRgtCw0YLQsCDQt9Cw0LTQsNGH0Lgg0L/QviDQutC+0LzQvNC10L3RgtCw0YDQuNGOINC40Lcg0LrQvtGC0L7RgNC+0LPQviDQvtC9INCx0YvQuyDRgdC+0LfQtNCw0L1cclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyAgIH0sXHJcbi8vICAgdGFzazoge1xyXG4vLyAgICAgZWxhcHNlZEl0ZW06IHtcclxuLy8gICAgICAgLy8gZ2V0TWFuaWZlc3Q6XHJcbi8vICAgICAgIC8vIGdldExpc3Q6XHJcbi8vICAgICAgIC8vIGdldDogWyR0YXNrLCAkZWxhcHNlZGl0ZW0sICRnZXRdLFxyXG4vLyAgICAgICBhZGQ6IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtLFxyXG4vLyAgICAgICBkZWxldGU6IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtLFxyXG4vLyAgICAgICBpc0FjdGlvbkFsbG93ZWQ6IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSxcclxuLy8gICAgICAgdXBkYXRlOiBpQlhSZXN0UGFyYW1VcGRhdGVFbGFwc2VkaXRlbVxyXG4vLyAgICAgfSxcclxuLy8gICAgIGNvbW1lbnRJdGVtOiB7XHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LzQtdGC0L7QtNC+0LIg0Lgg0LjRhSDQvtC/0LjRgdCw0L3QuNC1XHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyBnZXRNYW5pZmVzdDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRnZXRtYW5pZmVzdF0sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LrQvtC80LzQtdC90YLQsNGA0LjQtdCyINC6INC30LDQtNCw0YfQtVxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gZ2V0TGlzdDogWyR0YXNrLCAkY29tbWVudGl0ZW0sICRnZXRsaXN0XSxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC60L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0LfQsNC00LDRh9C1XHJcbi8vICAgICAgICAqL1xyXG4vLyAgICAgICBnZXQ6IGlCWFJlc3RQYXJhbVRhc2tDb21tZW50SXRlbUdldCxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCh0L7Qt9C00LDQtdGCINC90L7QstGL0Lkg0LrQvtC80LzQtdC90YLQsNGA0LjQuSDQuiDQt9Cw0LTQsNGH0LVcclxuLy8gICAgICAgICovXHJcbi8vICAgICAgIGFkZDogaUJYUmVzdENvbW1lbnRUYXNrQWRkLFxyXG4vLyAgICAgICAvKipcclxuLy8gICAgICAgICog0J7QsdC90L7QstC70Y/QtdGCINC00LDQvdC90YvQtSDQutC+0LzQvNC10L3RgtCw0YDQuNGPXHJcbi8vICAgICAgICAqL1xyXG4vLyAgICAgICB1cGRhdGU6IGlCWFJlc3RUYXNrQ29tbWVudEl0ZW1VcGRhdGUsXHJcbi8vICAgICAgIC8qKlxyXG4vLyAgICAgICAgKiDQo9C00LDQu9GP0LXRgiDQutC+0LzQvNC10L3RgtCw0YDQuNC5XHJcbi8vICAgICAgICAqL1xyXG4vLyAgICAgICBkZWxldGU6IEJYUmVzdFRhc2tDb21tZW50SXRlbURlbGV0ZSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCf0YDQvtCy0LXRgNGP0LXRgiwg0YDQsNC30YDQtdGI0LXQvdC+INC70Lgg0LTQtdC50YHRgtCy0LjQtVxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gaXNBY3Rpb25BbGxvd2VkOiBbJHRhc2ssICRjb21tZW50aXRlbSwgJGlzYWN0aW9uYWxsb3dlZF0sXHJcbi8vICAgICB9LFxyXG4vLyAgICAgcGxhbm5lcjoge1xyXG4vLyAgICAgICBnZXRMaXN0OiBudWxsXHJcbi8vICAgICB9LFxyXG4vLyAgICAgaXRlbToge1xyXG4vLyAgICAgICB1c2VyRmllbGQ6IHtcclxuLy8gICAgICAgICAvKipcclxuLy8gICAgICAgICAgKiDQn9C+0LvRg9GH0LXQvdC40LUg0LLRgdC10YUg0LTQvtGB0YLRg9C/0L3Ri9GFINC/0L7Qu9C10Lkg0YHQstC+0LnRgdGC0LLQsFxyXG4vLyAgICAgICAgICAqL1xyXG4vLyAgICAgICAgIGdldEZpZWxkczogaUJYUmVzdFBhcmFtVGFza0l0ZW1Vc2VyRmllbGRHZXRsaXN0LFxyXG4vLyAgICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAgIC8vICAqINCf0L7Qu9GD0YfQtdC90LjQtSDQstGB0LXRhSDQtNC+0YHRgtGD0L/QvdGL0YUg0YLQuNC/0L7QsiDQtNCw0L3QvdGL0YVcclxuLy8gICAgICAgICAvLyAgKi9cclxuLy8gICAgICAgICAvLyBnZXRUeXBlczogWyR0YXNrLCAkaXRlbSwgJHVzZXJmaWVsZCwgJ2dldHR5cGVzJ10sXHJcbi8vICAgICAgICAgLy8gLyoqXHJcbi8vICAgICAgICAgLy8gICog0KHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtCz0L4g0YHQstC+0LnRgdGC0LLQsFxyXG4vLyAgICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAgIC8vIGFkZDogWyR0YXNrLCAkaXRlbSwgJHVzZXJmaWVsZCwgJGFkZF0sXHJcbi8vICAgICAgICAgLy8gLyoqXHJcbi8vICAgICAgICAgLy8gICog0J/QvtC70YPRh9C10L3QuNC1INGB0LLQvtC50YHRgtCy0LAg0L/QviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDXHJcbi8vICAgICAgICAgLy8gICovXHJcbi8vICAgICAgICAgLy8gZ2V0OiBbJHRhc2ssICRpdGVtLCAkdXNlcmZpZWxkLCAkZ2V0XSxcclxuLy8gICAgICAgICAvLyAvKipcclxuLy8gICAgICAgICAvLyAgKiDQn9C+0LvRg9GH0LXQvdC40LUg0YHQv9C40YHQutCwINGB0LLQvtC50YHRgtCyXHJcbi8vICAgICAgICAgLy8gICovXHJcbi8vICAgICAgICAgLy8gZ2V0TGlzdDogWyR0YXNrLCAkaXRlbSwgJHVzZXJmaWVsZCwgJ2dldGxpc3QnXSxcclxuLy8gICAgICAgICAvLyAvKipcclxuLy8gICAgICAgICAvLyAgKiDQoNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINGB0LLQvtC50YHRgtCy0LBcclxuLy8gICAgICAgICAvLyAgKi9cclxuLy8gICAgICAgICAvLyB1cGRhdGU6IFskdGFzaywgJGl0ZW0sICR1c2VyZmllbGQsICR1cGRhdGVdLFxyXG4vLyAgICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAgIC8vICAqINCj0LTQsNC70LXQvdC40LUg0YHQstC+0LnRgdGC0LLQsFxyXG4vLyAgICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAgIC8vIGRlbGV0ZTogWyR0YXNrLCAkaXRlbSwgJHVzZXJmaWVsZCwgJGRlbGV0ZV1cclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyAgIH0sXHJcbi8vICAgdGltZW1hbjoge1xyXG4vLyAgICAgLy8gLyoqXHJcbi8vICAgICAvLyAgKiDQn9C+0LvRg9GH0LXQvdC40LUg0L3QsNGB0YLRgNC+0LXQuiDRgNCw0LHQvtGH0LXQs9C+INCy0YDQtdC80LXQvdC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4vLyAgICAgLy8gICovXHJcbi8vICAgICAvLyBzZXR0aW5nczogWyR0aW1lTWFuLCAkc2V0dGluZ3NdLFxyXG4vLyAgICAgLyoqXHJcbi8vICAgICAgKiDQn9C+0LvRg9GH0LXQvdC40LUg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0YLQtdC60YPRidC10Lwg0YDQsNCx0L7Rh9C10Lwg0LTQvdC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4vLyAgICAgICovXHJcbi8vICAgICBzdGF0dXM6IGlCWFJlc3RQYXJhbVRpbWVNYW5TdGF0dXMgfCB1bmRlZmluZWQsXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCd0LDRh9Cw0YLRjCDQvdC+0LLRi9C5INGA0LDQsdC+0YfQuNC5INC00LXQvdGMINC70LjQsdC+INCy0L7Qt9C+0LHQvdC+0LLQuNGC0Ywg0LfQsNC60YDRi9GC0YvQuSDQuNC70Lgg0L/RgNC40L7RgdGC0LDQvdC+0LLQu9C10L3QvdGL0LlcclxuLy8gICAgIC8vICAqL1xyXG4vLyAgICAgLy8gb3BlbjogWyR0aW1lTWFuLCAnb3BlbiddLFxyXG4vLyAgICAgLy8gLyoqXHJcbi8vICAgICAvLyAgKiDQl9Cw0LrRgNGL0YLRjCDRgNCw0LHQvtGH0LjQuSDQtNC10L3RjFxyXG4vLyAgICAgLy8gICovXHJcbi8vICAgICAvLyBjbG9zZTogWyR0aW1lTWFuLCAnY2xvc2UnXSxcclxuLy8gICAgIC8vIC8qKlxyXG4vLyAgICAgLy8gICog0J/RgNC40L7RgdGC0LDQvdC+0LLQuNGC0Ywg0YDQsNCx0L7Rh9C40Lkg0LTQtdC90YxcclxuLy8gICAgIC8vICAqL1xyXG4vLyAgICAgLy8gcGF1c2U6IFskdGltZU1hbiwgJHBhdXNlXSxcclxuLy8gICAgIC8vIG5ldHdvcmtyYW5nZToge1xyXG4vLyAgICAgLy8gICBjaGVjazogdGhpcy5iYXNlVXJsICsgJ25ldHdvcmtyYW5nZS5jaGVjaycsIC8vINCc0LXRgtC+0LQg0LTQu9GPINC/0YDQvtCy0LXRgNC60LggSVAt0LDQtNGA0LXRgdCwINC90LAg0LLRhdC+0LbQtNC10L3QuNC1INCyINC00LjQsNC/0LDQt9C+0L3RiyDRgdC10YLQtdCy0YvRhSDQsNC00YDQtdGB0L7QsiDQvtGE0LjRgdC90L7QuSDRgdC10YLQuFxyXG4vLyAgICAgLy8gICBnZXQ6IHRoaXMuYmFzZVVybCArICduZXR3b3JrcmFuZ2UuZ2V0JywgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00LjQsNC/0LDQt9C+0L3QvtCyINGB0LXRgtC10LLRi9GFINCw0LTRgNC10YHQvtCyLCDQstGF0L7QtNGP0YnQuNGFINCyINC+0YTQuNGB0L3Rg9GOINGB0LXRgtGMXHJcbi8vICAgICAvLyAgIHNldDogdGhpcy5iYXNlVXJsICsgJ25ldHdvcmtyYW5nZS5zZXQnXHQvLyDQnNC10YLQvtC0INC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0LTQuNCw0L/QsNC30L7QvdC+0LIg0YHQtdGC0LXQstGL0YUg0LDQtNGA0LXRgdC+0LIsINCy0YXQvtC00Y/RidC40YUg0LIg0L7RhNC40YHQvdGD0Y4g0YHQtdGC0YwuXHQxOC41LjBcclxuLy8gICAgIC8vIH0sXHJcbi8vICAgICAvLyB0aW1lY29udHJvbDoge1xyXG4vLyAgICAgLy8gICByZXBvcnQ6IHtcclxuLy8gICAgIC8vICAgICBhZGQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5yZXBvcnQuYWRkJywgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L7RgtC/0YDQsNCy0LrQuCDQvtGC0YfQtdGC0LAg0L4g0LLRi9GP0LLQu9C10L3QvdC+0Lwg0L7RgtGB0YPRgtGB0YLQstC40LhcclxuLy8gICAgIC8vICAgICBnZXQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5yZXBvcnRzLmdldCcsIC8vINCc0LXRgtC+0LQg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQvtGC0YfQtdGC0LAg0L4g0LLRi9GP0LLQu9C10L3QvdGL0YUg0L7RgtGB0YPRgtGB0YLQstC40Y/RhVxyXG4vLyAgICAgLy8gICAgIHNldHRpbmdzOiB7XHJcbi8vICAgICAvLyAgICAgICBnZXQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5yZXBvcnRzLnNldHRpbmdzLmdldCcgLy8g0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC90LDRgdGC0YDQvtC10Log0LTQu9GPINC/0L7RgdGC0YDQvtC10L3QuNGPINC40L3RgtC10YDRhNC10LnRgdCwINC+0YLRh9C10YLQvtCyINC40L3RgdGC0YDRg9C80LXQvdGC0LAg0LrQvtC90YLRgNC+0LvRjyDQstGA0LXQvNC10L3QuFxyXG4vLyAgICAgLy8gICAgIH0sXHJcbi8vICAgICAvLyAgICAgdXNlcnM6IHtcclxuLy8gICAgIC8vICAgICAgIGdldDogdGhpcy5iYXNlVXJsICsgJ3RpbWVjb250cm9sLnJlcG9ydHMudXNlcnMuZ2V0J1x0Ly8g0JzQtdGC0L7QtCDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSwg0L7RgtC90L7RgdGP0YnQuNGF0YHRjyDQuiDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQv9C+0LTRgNCw0LfQtNC10LvQtdC90LjRji5cdDE4LjUuMFxyXG4vLyAgICAgLy8gICAgIH1cclxuLy8gICAgIC8vICAgfSxcclxuLy8gICAgIC8vICAgc2V0dGluZ3M6IHtcclxuLy8gICAgIC8vICAgICBnZXQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5zZXR0aW5ncy5nZXQnLCAvLyDQnNC10YLQvtC0INC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0L3QsNGB0YLRgNC+0LXQuiDQuNC90YHRgtGA0YPQvNC10L3RgtCwINC60L7QvdGC0YDQvtC70Y8g0LLRgNC10LzQtdC90LhcclxuLy8gICAgIC8vICAgICBzZXQ6IHRoaXMuYmFzZVVybCArICd0aW1lY29udHJvbC5zZXR0aW5ncy5zZXQnXHQvLyDQnNC10YLQvtC0INC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0L3QsNGB0YLRgNC+0LXQuiDQuNC90YHRgtGA0YPQvNC10L3RgtCwINC60L7QvdGC0YDQvtC70Y8g0LLRgNC10LzQtdC90LhcclxuLy8gICAgIC8vICAgfSxcclxuLy8gICAgIC8vIH0sXHJcbi8vICAgICAvLyBzY2hlZHVsZToge1xyXG4vLyAgICAgLy8gICBnZXQ6IHRoaXMuYmFzZVVybCArICdzY2hlZHVsZS5nZXQnXHQvLyDQnNC10YLQvtC0INC/0L7Qt9Cy0L7Qu9GP0LXRgiDQv9C+0LvRg9GH0LjRgtGMINGA0LDQsdC+0YfQuNC5INCz0YDQsNGE0LjQuiDQv9C+INC10LPQviDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNGDXHJcbi8vICAgICAvLyB9XHJcbi8vICAgfSxcclxuLy8gICBzb25ldF9ncm91cDoge1xyXG4vLyAgICAgLy8gLyoqXHJcbi8vICAgICAvLyAgKiDQodC+0LfQtNCw0LXRgiDQs9GA0YPQv9C/0YMg0YHQvtGG0YHQtdGC0LgsINC40YHQv9C+0LvRjNC30YPRjyDQvNC10YLQvtC0IEFQSSBDU29jTmV0R3JvdXA6OkNyZWF0ZUdyb3VwKCksINGD0LrQsNC30YvQstCw0Y8g0LLQu9Cw0LTQtdC70YzRhtC10Lwg0LPRgNGD0L/Qv9GLINGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPXHJcbi8vICAgICAvLyAgKi9cclxuLy8gICAgIC8vIGNyZWF0ZTogWyRzb25ldF9ncm91cCwgJGNyZWF0ZV0sXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCj0LTQsNC70Y/QtdGCINCz0YDRg9C/0L/RgyDRgdC+0YbRgdC10YLQuFxyXG4vLyAgICAgLy8gICovXHJcbi8vICAgICAvLyBkZWxldGU6IFskc29uZXRfZ3JvdXAsICRkZWxldGVdLFxyXG4vLyAgICAgLy8gZmVhdHVyZToge1xyXG4vLyAgICAgLy8gICAgIGFjY2VzczogWyRzb25ldF9ncm91cCwgJGZlYXR1cmUsICRhY2Nlc3NdIC8vINCf0YDQvtCy0LXRgNGP0LXRgiwg0LjQvNC10LXRgiDQu9C4INGC0LXQutGD0YnQuNC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQv9GA0LDQstC+INC90LAg0YHQvtCy0LXRgNGI0LXQvdC40LUg0L7Qv9C10YDQsNGG0LjQuCDQsiDQs9GA0YPQv9C/0LUg0YHQvtGG0YHQtdGC0LgsINC+0YHRg9GJ0LXRgdGC0LLQu9GP0Y8g0LLRi9C30L7QsiDRhNGD0L3QutGG0LjQuCBDU29jTmV0RmVhdHVyZXNQZXJtczo6Q3VycmVudFVzZXJDYW5QZXJmb3JtT3BlcmF0aW9uKClcclxuLy8gICAgIC8vIH0sXHJcbi8vICAgICAvKipcclxuLy8gICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDQs9GA0YPQv9C/INGB0L7RhtGB0LXRgtC4LCDQutCw0LbQtNCw0Y8g0LjQtyDQutC+0YLQvtGA0YvRhSDRgdC+0LTQtdGA0LbQuNGCINC80LDRgdGB0LjQsiDQv9C+0LvQtdC5LCDQvtGB0YPRidC10YHRgtCy0LvRj9GPINCy0YvQt9C+0LIgQ1NvY05ldEdyb3VwOjpHZXRMaXN0KCksINC/0YDQuCDRjdGC0L7QvCDQstC+0LfQstGA0LDRidCw0Y7RgtGB0Y8g0YLQvtC70YzQutC+INGC0LUg0LPRgNGD0L/Qv9GLLCDQutC+0YLQvtGA0YvQtSDQtNC+0YHRgtGD0L/QvdGLINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjiDQv9C+INC/0YDQsNCy0LDQvFxyXG4vLyAgICAgICovXHJcbi8vICAgICBnZXQ6IGlCWFJlc3RQYXJhbVNvbmV0R3JvdXBHZXQsXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCY0LfQvNC10L3Rj9C10YIg0LLQu9Cw0LTQtdC70YzRhtCwINCz0YDRg9C/0L/Ri1xyXG4vLyAgICAgLy8gICovXHJcbi8vICAgICAvLyBzZXRPd25lcjogWyRzb25ldF9ncm91cCwgJ3NldG93bmVyJ10sXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCY0LfQvNC10L3Rj9C10YIg0L/QsNGA0LDQvNC10YLRgNGLINCz0YDRg9C/0L/RiyDRgdC+0YbRgdC10YLQuCwg0LjRgdC/0L7Qu9GM0LfRg9GPINC80LXRgtC+0LQgQVBJIENTb2NOZXRHcm91cDo6VXBkYXRlKClcclxuLy8gICAgIC8vICAqL1xyXG4vLyAgICAgLy8gdXBkYXRlOiBbJHNvbmV0X2dyb3VwLCAkdXBkYXRlXSxcclxuLy8gICAgIC8vIHVzZXI6IHtcclxuLy8gICAgIC8vICAgICBhZGQ6IFskc29uZXRfZ3JvdXAsICR1c2VyLCAkYWRkXSwgLy8gc29uZXRfZ3JvdXAudXNlci5hZGRcdNCU0L7QsdCw0LLQu9GP0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQsiDQutCw0YfQtdGB0YLQstC1INGD0YfQsNGB0YLQvdC40LrQvtCyINGA0LDQsdC+0YfQtdC5INCz0YDRg9C/0L/RiyAo0LHQtdC3INC/0YDQuNCz0LvQsNGI0LXQvdC40Y8g0Lgg0L/QvtC00YLQstC10YDQttC00LXQvdC40Y8pXHJcbi8vICAgICAvLyAgICAgZGVsZXRlOiBbJHNvbmV0X2dyb3VwLCAkdXNlciwgJGRlbGV0ZV0sIC8vXHTQo9C00LDQu9GP0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQuNC3INGA0LDQsdC+0YfQtdC5INCz0YDRg9C/0L/Ri1xyXG4vLyAgICAgLy8gICAgIGdldDogWyRzb25ldF9ncm91cCwgJHVzZXIsICRnZXRdLCAvLyDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0YPRh9Cw0YHRgtC90LjQutC+0LIg0LPRgNGD0L/Qv9GLINGB0L7RhtGB0LXRgtC4LCDQvtGB0YPRidC10YHRgtCy0LvRj9GPINCy0YvQt9C+0LIgQ1NvY05ldFVzZXJUb0dyb3VwOjpHZXRMaXN0KCksINC/0YDQuCDRjdGC0L7QvCDQv9GA0L7QstC10YDRj9GO0YLRgdGPINC/0YDQsNCy0LAg0L3QsCDQtNC+0YHRgtGD0L8g0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0Log0LPRgNGD0L/Qv9C1XHJcbi8vICAgICAvLyAgICAgZ3JvdXBzOiBbJHNvbmV0X2dyb3VwLCAkdXNlciwgJ2dyb3VwcyddLCAvLyDQktC+0LfQstGA0LDRidCw0LXRgiDQvNCw0YHRgdC40LIg0LPRgNGD0L/QvyDRgdC+0YbRgdC10YLQuCDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0L7RgdGD0YnQtdGB0YLQstC70Y/RjyDQstGL0LfQvtCyIENTb2NOZXRVc2VyVG9Hcm91cDo6R2V0TGlzdCgpXHJcbi8vICAgICAvLyAgICAgaW52aXRlOiBbJHNvbmV0X2dyb3VwLCAkdXNlciwgJ2ludml0ZSddLCAvLyDQktGL0L/QvtC70L3Rj9C10YIg0L/RgNC40LPQu9Cw0YjQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSDQsiDQs9GA0YPQv9C/0YMg0YHQvtGG0YHQtdGC0Lgg0L7RgiDQu9C40YbQsCDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0L/RgNC4INGN0YLQvtC8INC/0YDQvtCy0LXRgNGP0Y7RgtGB0Y8g0L/RgNCw0LLQsCDQvdCwINC00L7RgdGC0YPQvyDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuiDQs9GA0YPQv9C/0LVcclxuLy8gICAgIC8vICAgICByZXF1ZXN0OiBbJHNvbmV0X2dyb3VwLCAkdXNlciwgJHJlcXVlc3RdLCAvLyDQntGC0L/RgNCw0LLQu9GP0LXRgiDQt9Cw0L/RgNC+0YEg0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0L3QsCDQstGB0YLRg9C/0LvQtdC90LjQtSDQsiDQs9GA0YPQv9C/0YMg0YHQvtGG0YHQtdGC0LgsINC/0YDQuCDRjdGC0L7QvCDQv9GA0L7QstC10YDRj9GO0YLRgdGPINC/0YDQsNCy0LAg0L3QsCDQtNC+0YHRgtGD0L8g0YLQtdC60YPRidC10LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0Log0LPRgNGD0L/Qv9C1LlxyXG4vLyAgICAgLy8gICAgIHVwZGF0ZTogWyRzb25ldF9ncm91cCwgJHVzZXIsICR1cGRhdGVdLCAvLyDQmNC30LzQtdC90Y/QtdGCINGA0L7Qu9GMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INCyINGA0LDQsdC+0YfQtdC5INCz0YDRg9C/0L/QtSDQodC+0LHRi9GC0LjRjyDQv9GA0Lgg0YDQsNCx0L7RgtC1INGBINCz0YDRg9C/0L/QsNC80Lgg0KHQvtGG0KHQtdGC0LhcdNCh0L/QuNGB0L7QuiDRgdC+0LHRi9GC0LjQuSDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40LgsINC40LfQvNC10L3QtdC90LjQuCDQuCDRg9C00LDQu9C10L3QuNC4INCz0YDRg9C/0L/Riy5cclxuLy8gICAgIC8vIH0sXHJcbi8vICAgICAvLyB3b3JrZ3JvdXA6IHtcclxuLy8gICAgIC8vICAgICBsaXN0OiBbJHNvY2lhbG5ldHdvcmssICRhcGksICR3b3JrZ3JvdXAsICRsaXN0XSwgLy8g0JzQtdGC0L7QtCDQstC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LPRgNGD0L/QvyxcclxuLy8gICAgIC8vICAgICBnZXQ6IFskc29jaWFsbmV0d29yaywgJGFwaSwgJHdvcmtncm91cCwgJGdldF0gLy8g0JzQtdGC0L7QtCDQstC+0LfQstGA0LDRidCw0LXRgiDQtNCw0L3QvdGL0LUg0L/QviDRgNCw0LHQvtGH0LXQuSDQs9GA0YPQv9C/0LVcclxuLy8gICAgIC8vIH1cclxuLy8gICB9LFxyXG4vLyAgIHNlcnZlcjoge1xyXG4vLyAgICAgLyoqXHJcbi8vICAgICAgKiDQn9C+0LvRg9GH0LjRgtGMINCy0YDQtdC80Y8g0YHQtdGA0LLQtdGA0LBcclxuLy8gICAgICAqL1xyXG4vLyAgICAgdGltZTogaUJYUmVzdFBhcmFtRW1wdHlcclxuLy8gICB9LFxyXG4vLyAgIGxvZzoge1xyXG4vLyAgICAgYmxvZ3Bvc3Q6IHtcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQsiDQltC40LLRg9GOINCb0LXQvdGC0YMg0YHQvtC+0LHRidC10L3QuNC1INC+0YIg0LjQvNC10L3QuCDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgYWRkOiBpQlhSZXN0UGFyYW1Mb2dCbG9nUG9zdEFkZCxcclxuLy8gICAgICAgLy8gZ2V0dXNlcnM6IHtcclxuLy8gICAgICAgLy8gICBpbXBvcnRhbnQ6ICdsb2cuYmxvZ3Bvc3QuZ2V0dXNlcnMuaW1wb3J0YW50JyAvLyDQntGC0LTQsNC10YIg0LzQsNGB0YHQuNCyIElEINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LCDQv9GA0L7Rh9C40YLQsNCy0YjQuNGFINCS0LDQttC90L7QtSDRgdC+0L7QsdGJ0LXQvdC40LVcclxuLy8gICAgICAgLy8gfSxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC80LDRgdGB0LjQsiDRgSDQtNC+0YHRgtGD0L/QvdGL0LzQuCDRgtC10LrRg9GJ0LXQvNGDINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjiDRgdC+0L7QsdGJ0LXQvdC40Y/QvNC4INCW0LjQstC+0Lkg0LvQtdC90YLRiy4g0JrQsNC20LTQvtC1INC40Lcg0YHQvtC+0LHRidC10L3QuNC5INC/0YDQtdC00YHRgtCw0LLQu9GP0LXRgiDRgdC+0LHQvtC5INC80LDRgdGB0LjQsiDQt9C90LDRh9C10L3QuNC5INC/0L7Qu9C10LkgKNCy0LrQu9GO0YfQsNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC1INC/0L7Qu9GPKVxyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0UGFyYW1CbG9nUG9zdEdldCxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCj0LTQsNC70Y/QtdGCINGB0L7QvtCx0YnQtdC90LjQtSDQltC40LLQvtC5INCb0LXQvdGC0YtcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGRlbGV0ZTogWyRsb2csICRibG9ncG9zdCwgJGRlbGV0ZV0sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0L/QvtC70YPRh9Cw0YLQtdC70LXQuSDQsiDRgdC+0L7QsdGJ0LXQvdC40LUg0JbQuNCy0L7QuSDQm9C10L3RgtGLXHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyBzaGFyZTogWyRsb2csICRibG9ncG9zdCwgJHNoYXJlXSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCY0LfQvNC10L3Rj9C10YIg0YHQvtC+0LHRidC10L3QuNC1INCW0LjQstC+0Lkg0JvQtdC90YLRi1xyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gdXBkYXRlOiBbJGxvZywgJGJsb2dwb3N0LCAkdXBkYXRlXSxcclxuLy8gICAgIH0sXHJcbi8vICAgICAvLyBibG9nY29tbWVudDoge1xyXG4vLyAgICAgLy8gICAvKipcclxuLy8gICAgIC8vICAgICog0JTQvtCx0LDQstC70Y/QtdGCINC60L7QvNC80LXQvdGC0LDRgNC40Lkg0Log0YHQvtC+0LHRidC10L3QuNGOINCW0LjQstC+0Lkg0LvQtdC90YLRi1xyXG4vLyAgICAgLy8gICAgKi9cclxuLy8gICAgIC8vICAgYWRkOiBbJGxvZywgJGJsb2djb21tZW50LCAkYWRkXSxcclxuLy8gICAgIC8vIH1cclxuLy8gICB9LFxyXG4vLyAgIGxpc3RzOiB7XHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCc0LXRgtC+0LQg0YHQvtC30LTQsNGR0YIg0YHQv9C40YHQvtC6XHJcbi8vICAgICAvLyAgKi9cclxuLy8gICAgIC8vIGFkZDogWyRsaXN0cywgJGFkZF0sXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCc0LXRgtC+0LQg0YPQtNCw0LvRj9C10YIg0YHQv9C40YHQvtC6XHJcbi8vICAgICAvLyAgKi9cclxuLy8gICAgIC8vIGRlbGV0ZTogWyRsaXN0cywgJGRlbGV0ZV0sXHJcbi8vICAgICAvKipcclxuLy8gICAgICAqINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNC90L3Ri9C1INC/0L4g0YHQv9C40YHQutCw0LxcclxuLy8gICAgICAqL1xyXG4vLyAgICAgZ2V0OiBpQlhSZXN0UGFyYW1MaXN0R2V0LFxyXG4vLyAgICAgLy8gLyoqXHJcbi8vICAgICAvLyAgKiDQnNC10YLQvtC0INC+0LHQvdC+0LLQu9GP0LXRgiDRgdGD0YnQtdGB0YLQstGD0Y7RidC40Lkg0YHQv9C40YHQvtC6XHJcbi8vICAgICAvLyAgKi9cclxuLy8gICAgIC8vIHVwZGF0ZTogWyRsaXN0cywgJHVwZGF0ZV0sXHJcbi8vICAgICAvLyAvKipcclxuLy8gICAgIC8vICAqINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIgaWQg0YLQuNC/0LAg0LjQvdGE0L7QsdC70L7QutCwXHJcbi8vICAgICAvLyAgKi9cclxuLy8gICAgIC8vIGdldElCbG9ja1R5cGVJZDogWyRsaXN0cywgJGdldCwgJGlibG9jaywgJHR5cGUsICRpZF0sXHJcbi8vICAgICBlbGVtZW50OiB7XHJcbi8vICAgICAgIC8qKlxyXG4vLyAgICAgICAgKiDQnNC10YLQvtC0INGB0L7Qt9C00LDRkdGCINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsFxyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgYWRkOiBpQlhSZXN0UGFyYW1MaXN0c0VsZW1lbnRBZGQsXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQnNC10YLQvtC0INGD0LTQsNC70Y/QtdGCINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsCBUT0RPOiDQoNC10LDQu9C40LfQvtCy0LDRgtGMXHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyBkZWxldGU6IFskbGlzdHMsICRlbGVtZW50LCAkZGVsZXRlXSxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCc0LXRgtC+0LQg0LLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGN0LvQtdC80LXQvdGC0L7QsiDQuNC70Lgg0Y3Qu9C10LzQtdC90YJcclxuLy8gICAgICAgICovXHJcbi8vICAgICAgIGdldDogaUJYUmVzdFBhcmFtTGlzdHNFbGVtZW50R2V0LFxyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JzQtdGC0L7QtCDQvtCx0L3QvtCy0LvRj9C10YIg0Y3Qu9C10LzQtdC90YIg0YHQv9C40YHQutCwIFRPRE86INCg0LXQsNC70LjQt9C+0LLQsNGC0YxcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIHVwZGF0ZTogWyRsaXN0cywgJGVsZW1lbnQsICR1cGRhdGVdLFxyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JzQtdGC0L7QtCDQstC+0LfQstGA0LDRidCw0LXRgiDQv9GD0YLRjCDQuiDRhNCw0LnQu9GDIFRPRE86INCg0LXQsNC70LjQt9C+0LLQsNGC0YxcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGdldEZpbGVVcmw6IFskbGlzdHMsICRlbGVtZW50LCAkZ2V0LCAkZmlsZSwgJHVybF1cclxuLy8gICAgIH0sXHJcbi8vICAgICBmaWVsZDoge1xyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JzQtdGC0L7QtCDRgdC+0LfQtNCw0LXRgiDQv9C+0LvQtSDRgdC/0LjRgdC60LBcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGFkZDogWyRsaXN0cywgJGZpZWxkLCAkYWRkXSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCc0LXRgtC+0LQg0YPQtNCw0LvRj9C10YIg0L/QvtC70LUg0YHQv9C40YHQutCwXHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyBkZWxldGU6IFskbGlzdHMsICRmaWVsZCwgJGRlbGV0ZV0sXHJcbi8vICAgICAgIC8qKlxyXG4vLyAgICAgICAgKiDQnNC10YLQvtC0INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDQvdC90YvQtSDQv9C+0LvRj1xyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0UGFyYW1MaXN0RmllbGQsXHJcbi8vICAgICAgIC8vIHR5cGU6IHtcclxuLy8gICAgICAgLy8gICAvKipcclxuLy8gICAgICAgLy8gICAgKiDQnNC10YLQvtC0INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00L7RgdGC0YPQv9C90YvQtSDRgtC40L/QsCDQv9C+0LvQtdC5INC00LvRjyDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgdC/0LjRgdC60LBcclxuLy8gICAgICAgLy8gICAgKi9cclxuLy8gICAgICAgLy8gICBnZXQ6IFskbGlzdHMsICRmaWVsZCwgJHR5cGUsICRnZXRdLFxyXG4vLyAgICAgICAvLyB9LFxyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JzQtdGC0L7QtCDQvtCx0L3QvtCy0LvRj9C10YIg0L/QvtC70LUg0YHQv9C40YHQutCwXHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyB1cGRhdGU6IFskbGlzdHMsICRmaWVsZCwgJHVwZGF0ZV0sXHJcbi8vICAgICB9XHJcbi8vICAgfSxcclxuLy8gICBpbToge1xyXG4vLyAgICAgY2hhdDoge1xyXG4vLyAgICAgICBhZGQ6IGlCWFJlc3RQYXJhbUltQ2hhdEFkZCxcclxuLy8gICAgICAgLy8gbGlzdDogWyRpbSwgJGNoYXQsICR1c2VyLCAkbGlzdF0sXHJcbi8vICAgICAgIC8vIGFkZDogWyRpbSwgJGNoYXQsICR1c2VyLCAkYWRkXSxcclxuLy8gICAgICAgLy8gZGVsZXRlOiBbJGltLCAkY2hhdCwgJHVzZXIsICRkZWxldGVdLFxyXG4vLyAgICAgICAvLyB1cGRhdGVUaXRsZTogWyRpbSwgJGNoYXQsICR1cGRhdGVUaXRsZV0sXHJcbi8vICAgICAgIC8vIHVwZGF0ZUNvbG9yOiBbJGltLCAkY2hhdCwgJHVwZGF0ZUNvbG9yXSxcclxuLy8gICAgICAgLy8gdXBkYXRlQXZhdGFyOiBbJGltLCAkY2hhdCwgJHVwZGF0ZUF2YXRhcl0sXHJcbi8vICAgICAgIC8vIHNldE93bmVyOiBbJGltLCAkY2hhdCwgJHNldE93bmVyXSxcclxuLy8gICAgICAgLy8gZ2V0OiBbJGltLCAkY2hhdCwgJGdldF0sXHJcbi8vICAgICAgIC8vIG11dGU6IFskaW0sICRjaGF0LCAkbXV0ZV0sXHJcbi8vICAgICB9XHJcbi8vICAgfSxcclxuLy8gICBkaXNrOiB7XHJcbi8vICAgICBmaWxlOiB7XHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtC/0LjRgdCw0L3QuNC1INC/0L7Qu9C10Lkg0YTQsNC50LvQsFxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gZ2V0RmllbGRzOiBbJGRpc2ssICRmaWxlLCAkZ2V0RmllbGRzXSxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGE0LDQudC7INC/0L4g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDRg1xyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0UGFyYW1EaXNrRmlsZUdldCxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCf0LXRgNC10LjQvNC10L3QvtCy0YvQstCw0LXRgiDRhNCw0LnQu1xyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gcmVuYW1lOiBbJGRpc2ssICRmaWxlLCAkcmVuYW1lXSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCa0L7Qv9C40YDRg9C10YIg0YTQsNC50Lsg0LIg0YPQutCw0LfQsNC90L3Rg9GOINC/0LDQv9C60YNcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGNvcHlUbzogWyRkaXNrLCAkZmlsZSwgJGNvcHl0b10sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQn9C10YDQtdC80LXRidCw0LXRgiDRhNCw0LnQuyDQsiDRg9C60LDQt9Cw0L3QvdGD0Y4g0L/QsNC/0LrRg1xyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gbW92ZXRvOiBbJGRpc2ssICRmaWxlLCAkbW92ZXRvXSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCj0L3QuNGH0YLQvtC20LDQtdGCINGE0LDQudC7INC90LDQstGB0LXQs9C00LBcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGRlbGV0ZTogWyRkaXNrLCAkZmlsZSwgJGRlbGV0ZV0sXHJcbi8vICAgICAgIC8qKlxyXG4vLyAgICAgICAgKiDQn9C10YDQtdC80LXRidCw0LXRgiDRhNCw0LnQuyDQsiDQutC+0YDQt9C40L3Rg1xyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgbWFya0RlbGV0ZWQ6IGlCWFJlc3RQYXJhbURpc2tGaWxlTWFya0RlbGV0ZWQsXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0YHRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0YTQsNC50Lsg0LjQtyDQutC+0YDQt9C40L3Ri1xyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gcmVzdG9yZTogWyRkaXNrLCAkZmlsZSwgJHJlc3RvcmVdLFxyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JfQsNCz0YDRg9C20LDQtdGCINC90L7QstGD0Y4g0LLQtdGA0YHQuNGOINGE0LDQudC70LBcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIHVwbG9hZFZlcnNpb246IFskZGlzaywgJGZpbGUsICd1cGxvYWR2ZXJzaW9uJ10sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LLQtdGA0YHQuNC5INGE0LDQudC70LBcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGdldFZlcnNpb25zOiBbJGRpc2ssICRmaWxlLCAnZ2V0VmVyc2lvbnMnXSxcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCS0L7RgdGB0YLQsNC90LDQstC70LjQstCw0LXRgiDRhNCw0LnQuyDQuNC3INC60L7QvdC60YDQtdGC0L3QvtC5INCy0LXRgNGB0LjQuFxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gcmVzdG9yZUZyb21WZXJzaW9uOiBbJGRpc2ssICRmaWxlLCAncmVzdG9yZUZyb21WZXJzaW9uJ10sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GD0LHQu9C40YfQvdGD0Y4g0YHRgdGL0LvQutGDINC90LAg0YTQsNC50LtcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGdldEV4dGVybmFsTGluazogWyRkaXNrLCAkZmlsZSwgJ2dldGV4dGVybmFsbGluayddXHJcbi8vICAgICB9LFxyXG4vLyAgICAgZm9sZGVyOiB7XHJcbi8vICAgICAgIGdldEZpZWxkczogaUJYUmVzdFBhcmFtRW1wdHlcclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0UGFyYW1Gb2xkZXJHZXRcclxuLy8gICAgICAgZ2V0Q2hpbGRyZW46IGlCWFJlc3RQYXJhbUZvbGRlckdldENoaWxkcmVuXHJcbi8vICAgICAgIGFkZFN1YkZvbGRlcjogaUJYUmVzdERpc2tGb2xkZXJBZGRTdWJGb2xkZXJQYXJhbVxyXG4vLyAgICAgICBjb3B5VG86IGlCWFJlc3REaXNrRm9sZGVyQ29weVRvUGFyYW1cclxuLy8gICAgICAgbW92ZVRvOiBpQlhSZXN0RGlza0ZvbGRlck1vdmVUb1BhcmFtXHJcbi8vICAgICAgIHJlbmFtZTogaUJYUmVzdERpc2tGb2xkZXJSZW5hbWVQYXJhbVxyXG4vLyAgICAgICBkZWxldGVUcmVlOiBpQlhSZXN0UGFyYW1Gb2xkZXJEZWxldGVUcmVlXHJcbi8vICAgICAgIG1hcmtEZWxldGVkOiBpQlhSZXN0UGFyYW1Gb2xkZXJNYXJrRGVsZXRlZFxyXG4vLyAgICAgICByZXN0b3JlOiBpQlhSZXN0UGFyYW1Gb2xkZXJSZXN0b3JlXHJcbi8vICAgICAgIHVwbG9hZEZpbGU6IGlCWFJlc3REaXNrRm9sZGVyVXBsb2FkRmlsZVBhcmFtXHJcbi8vICAgICAgIGdldEV4dGVybmFsTGluazogaUJYUmVzdFBhcmFtRm9sZGVyR2V0RXh0ZXJuYWxMaW5rXHJcbi8vICAgICB9LFxyXG4vLyAgICAgYXR0YWNoZWRPYmplY3Q6IHtcclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0UGFyYW1SZXN0RGlza0F0dGFjaGVkT2JqZWN0XHJcbi8vICAgICB9XHJcbi8vICAgfSxcclxuLy8gICBkZXBhcnRtZW50OiB7XHJcbi8vICAgICBnZXQ6IGlCWFJlc3RQYXJhbURlcGFydG1lbnRHZXRcclxuLy8gICAgIGRlbDogaUJYUmVzdFBhcmFtRGVwYXJ0bWVudERlbFxyXG4vLyAgICAgYWRkOiBpQlhSZXN0UGFyYW1EZXBhcnRtZW50QWRkXHJcbi8vICAgICB1cGRhdGU6IGlCWFJlc3REZXBhcnRtZW50VXBkYXRlXHJcbi8vICAgfSxcclxuLy8gICBjYWxlbmRhcjoge1xyXG4vLyAgICAgZXZlbnQ6IHtcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQvdC+0LLQvtC1INGB0L7QsdGL0YLQuNC1XHJcbi8vICAgICAgIC8vICAqL1xyXG4vLyAgICAgICAvLyBhZGQ6IFskY2FsZW5kYXIsICRldmVudCwgJGFkZF0sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQo9C00LDQu9GP0LXRgiDRgdC+0LHRi9GC0LjQtVxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gZGVsZXRlOiBbJGNhbGVuZGFyLCAkZXZlbnQsICRkZWxldGVdLFxyXG4vLyAgICAgICAvKipcclxuLy8gICAgICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGB0L7QsdGL0YLQuNC5INC60LDQu9C10L3QtNCw0YDRj1xyXG4vLyAgICAgICAgKi9cclxuLy8gICAgICAgZ2V0OiBpQlhSZXN0Q2FsZW5kYXJFdmVudEdldFBhcmFtLFxyXG4vLyAgICAgICAvLyAvKipcclxuLy8gICAgICAgLy8gICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INCx0YPQtNGD0YnQuNGFINGB0L7QsdGL0YLQuNC5INC00LvRjyDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gZ2V0TmVhcmVzdDogWyRjYWxlbmRhciwgJGV2ZW50LCAkZ2V0LCAkbmVhcmVzdF0sXHJcbi8vICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAvLyAgKiDQoNC10LTQsNC60YLQuNGA0YPQtdGCINGB0YPRidC10YHRgtCy0YPRjtGJ0LXQtSDRgdC+0LHRi9GC0LjQtVxyXG4vLyAgICAgICAvLyAgKi9cclxuLy8gICAgICAgLy8gdXBkYXRlOiBbJGNhbGVuZGFyLCAkZXZlbnQsICRnZXQsICR1cGRhdGVdLFxyXG4vLyAgICAgfVxyXG4vLyAgIH0sXHJcbi8vICAgYml6UHJvYzoge1xyXG4vLyAgICAgd29ya2Zsb3c6IHtcclxuLy8gICAgICAgLy8gLyoqXHJcbi8vICAgICAgIC8vICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0L/Rg9GJ0LXQvdC90YvRhSDQsdC40LfQvdC10YEt0L/RgNC+0YbQtdGB0YHQvtCyIFRPRE86INGA0LXQsNC70LjQt9C+0LLQsNGC0YxcclxuLy8gICAgICAgLy8gICovXHJcbi8vICAgICAgIC8vIGluc3RhbmNlczogWyRiaXpwcm9jLCAkd29ya2Zsb3csICRpbnN0YW5jZXNdLFxyXG4vLyAgICAgICB0ZXJtaW5hdGU6IHtcclxuLy8gICAgICAgICAvLyAvKipcclxuLy8gICAgICAgICAvLyAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0YjQsNCx0LvQvtC9INCR0LjQt9C90LXRgS3Qv9GA0L7RhtC10YHRgdCwXHJcbi8vICAgICAgICAgLy8gICovXHJcbi8vICAgICAgICAgLy8gYWRkOiBbJGJpenByb2MsICR3b3JrZmxvdywgJHRlbXBsYXRlLCAkYWRkXSxcclxuLy8gICAgICAgICAvLyAvKipcclxuLy8gICAgICAgICAvLyAgKiDQo9C00LDQu9GP0LXRgiDRiNCw0LHQu9C+0L0g0JHQuNC30L3QtdGBLdC/0YDQvtGG0LXRgdGB0LBcclxuLy8gICAgICAgICAvLyAgKi9cclxuLy8gICAgICAgICAvLyBkZWxldGU6IFskYml6cHJvYywgJHdvcmtmbG93LCAkdGVtcGxhdGUsICRkZWxldGVdLFxyXG4vLyAgICAgICAgIC8vIC8qKlxyXG4vLyAgICAgICAgIC8vICAqINCY0LfQvNC10L3Rj9C10YIg0YjQsNCx0LvQvtC9INCR0LjQt9C90LXRgS3Qv9GA0L7RhtC10YHRgdCwXHJcbi8vICAgICAgICAgLy8gICovXHJcbi8vICAgICAgICAgLy8gdXBkYXRlOiBbJGJpenByb2MsICR3b3JrZmxvdywgJHRlbXBsYXRlLCAkdXBkYXRlXSxcclxuLy8gICAgICAgICAvLyAvKipcclxuLy8gICAgICAgICAvLyAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0YjQsNCx0LvQvtC90L7QsiDQkdC40LfQvdC10YEt0L/RgNC+0YbQtdGB0YHQvtCyLCDRg9GB0YLQsNC90L7QstC70LXQvdC90YvRhSDQvdCwINGB0LDQudGC0LVcclxuLy8gICAgICAgICAvLyAgKi9cclxuLy8gICAgICAgICAvLyBsaXN0OiBpQlhSZXN0UGFyYW1CaXpwcm9jV29ya2Zsb3dUZW1wbGF0ZUxpc3RcclxuLy8gICAgICAgfSxcclxuLy8gICAgICAgLyoqXHJcbi8vICAgICAgICAqINCX0LDQv9GD0YHQutCw0LXRgiDQkdC40LfQvdC10YEt0L/RgNC+0YbQtdGB0YFcclxuLy8gICAgICAgICovXHJcbi8vICAgICAgIHN0YXJ0OiBpQlhSZXN0UGFyYW1CaXpwcm9jV29ya2Zsb3dTdGFydFxyXG4vLyAgICAgICAvKipcclxuLy8gICAgICAgICog0KPQtNCw0LvRj9C10YIg0LfQsNC/0YPRidC10L3QvdGL0Lkg0LHQuNC30L3QtdGBLdC/0YDQvtGG0LXRgdGBIFRPRE86INGA0LXQsNC70LjQt9C+0LLQsNGC0YxcclxuLy8gICAgICAgICovXHJcbi8vICAgICAgIC8vIGtpbGw6IFskYml6cHJvYywgJHdvcmtmbG93LCAka2lsbF0sXHJcbi8vICAgICB9LFxyXG4vLyAgICAgLy8gYWN0aXZpdHk6IHtcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDQvdC+0LLQvtC1INC00LXQudGB0YLQstC40LUg0LIg0LHQuNC30L3QtdGBLdC/0YDQvtGG0LXRgdGBXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICBhZGQ6IFskYml6cHJvYywgJGFjdGl2aXR5LCAkYWRkXSxcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCj0LTQsNC70Y/QtdGCINC00LXQudGB0YLQstC40LVcclxuLy8gICAgIC8vICAgICovXHJcbi8vICAgICAvLyAgIGRlbGV0ZTogWyRiaXpwcm9jLCAkYWN0aXZpdHksICRkZWxldGVdLFxyXG4vLyAgICAgLy8gICAvKipcclxuLy8gICAgIC8vICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INGD0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9GFINC/0YDQuNC70L7QttC10L3QuNC10Lwg0LTQtdC50YHRgtCy0LjQuVxyXG4vLyAgICAgLy8gICAgKi9cclxuLy8gICAgIC8vICAgbGlzdDogWyRiaXpwcm9jLCAkYWN0aXZpdHksICRsaXN0XSxcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCf0L7Qt9Cy0L7Qu9GP0LXRgiDQvtCx0L3QvtCy0LjRgtGMINC/0L7Qu9GPINC00LXQudGB0YLQstC40Y9cclxuLy8gICAgIC8vICAgICovXHJcbi8vICAgICAvLyAgIHVwZGF0ZTogWyRiaXpwcm9jLCAkYWN0aXZpdHksICR1cGRhdGVdLFxyXG4vLyAgICAgLy8gICAvKipcclxuLy8gICAgIC8vICAgICog0JfQsNC/0LjRgdGL0LLQsNC10YIg0LjQvdGE0L7RgNC80LDRhtC40Y4g0LIg0LvQvtCzINCx0LjQt9C90LXRgS3Qv9GA0L7RhtC10YHRgdCwXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICBsb2c6IFskYml6cHJvYywgJGFjdGl2aXR5LCAkbG9nXVxyXG4vLyAgICAgLy8gfSxcclxuLy8gICAgIC8vIHRhc2s6IHtcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCe0YHRg9GJ0LXRgdGC0LLQu9GP0LXRgiDQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LTQsNC90LjQuSDQkdCfXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICBjb21wbGV0ZTogWyRiaXpwcm9jLCAkdGFzaywgJGNvbXBsZXRlXSxcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0LTQsNC90LjQuSDQsdC40LfQvdC10YEt0L/RgNC+0YbQtdGB0YHQvtCyXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICBsaXN0OiBbJGJpenByb2MsICR0YXNrLCAkbGlzdF0sXHJcbi8vICAgICAvLyB9LFxyXG4vLyAgICAgLy8gcm9ib3Q6IHtcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCg0LXQs9C40YHRgtGA0LjRgNGD0LXRgiDQvdC+0LLQvtCz0L4g0YDQvtCx0L7RgtCwXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICBhZGQ6IFskYml6cHJvYywgJHJvYm90LCAkYWRkXSxcclxuLy8gICAgIC8vICAgLyoqXHJcbi8vICAgICAvLyAgICAqINCj0LTQsNC70Y/QtdGCINC30LDRgNC10LPQuNGB0YLRgNC40YDQvtCy0LDQvdC90L7Qs9C+INGA0L7QsdC+0YLQsFxyXG4vLyAgICAgLy8gICAgKi9cclxuLy8gICAgIC8vICAgZGVsZXRlOiBbJGJpenByb2MsICRyb2JvdCwgJGRlbGV0ZV0sXHJcbi8vICAgICAvLyAgIC8qKlxyXG4vLyAgICAgLy8gICAgKiDQodC/0LjRgdC+0Log0LfQsNGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNC90L3Ri9GFINC/0YDQuNC70L7QttC10L3QuNC10Lwg0YDQvtCx0L7RgtC+0LJcclxuLy8gICAgIC8vICAgICovXHJcbi8vICAgICAvLyAgIGxpc3Q6IFskYml6cHJvYywgJHJvYm90LCAkbGlzdF0sIC8vXHJcbi8vICAgICAvLyAgIC8qKlxyXG4vLyAgICAgLy8gICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0L/QvtC70Y8g0YDQvtCx0L7RgtCwXHJcbi8vICAgICAvLyAgICAqL1xyXG4vLyAgICAgLy8gICB1cGRhdGU6IFskYml6cHJvYywgJHJvYm90LCAkdXBkYXRlXSAvL1xyXG4vLyAgICAgLy8gfSxcclxuLy8gICAgIC8vIGV2ZW50OiB7XHJcbi8vICAgICAvLyAgIC8qKlxyXG4vLyAgICAgLy8gICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQtNC10LnRgdGC0LLQuNGOINCy0YvRhdC+0LTQvdGL0LUg0L/QsNGA0LDQvNC10YLRgNGLLCDQt9Cw0LTQsNC90L3Ri9C1INCyINC+0L/QuNGB0LDQvdC40Lgg0LTQtdC50YHRgtCy0LjRj1xyXG4vLyAgICAgLy8gICAgKi9cclxuLy8gICAgIC8vICAgc2VuZDogWyRiaXpwcm9jLCAkZXZlbnQsICRzZW5kXSxcclxuLy8gICAgIC8vIH1cclxuLy8gICB9LFxyXG4vLyAgIGFwcDoge1xyXG4vLyAgICAgLyoqXHJcbi8vICAgICAgKiDQn9C+0LrQsNC3INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INC/0YDQuNC70L7QttC10L3QuNC4LiDQnNC10YLQvtC0INC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQsdC10LfQvtC/0LDRgdC90YvQuSDQstGL0LfQvtCyXHJcbi8vICAgICAgKi9cclxuLy8gICAgIGluZm86IGlCWFJlc3RQYXJhbUVtcHR5XHJcbi8vICAgfVxyXG4vLyB9Il19