Merge ~ltrager/maas:lp1840181_2.6 into maas:master

Proposed by Lee Trager
Status: Superseded
Proposed branch: ~ltrager/maas:lp1840181_2.6
Merge into: maas:master
Diff against target: 3421 lines (+1314/-676) (has conflicts)
36 files modified
.eslintrc.js (+3/-0)
Makefile (+7/-0)
debian/changelog (+11/-1)
debian/copyright (+0/-4)
dev/null (+0/-631)
jest.config.js (+6/-0)
package.json (+16/-0)
src/maasserver/models/signals/scriptresult.py (+6/-0)
src/maasserver/models/signals/tests/test_scriptresult.py (+13/-0)
src/maasserver/static/js/angular/controllers/pods_list.js (+5/-0)
src/maasserver/static/js/angular/controllers/settings.js (+114/-0)
src/maasserver/static/js/angular/controllers/tests/test_pods_list.js (+5/-0)
src/maasserver/static/js/angular/controllers/tests/test_settings.js (+264/-0)
src/maasserver/static/js/angular/controllers/tests/test_zones_list.js (+4/-0)
src/maasserver/static/js/angular/directives/machines_table.js (+31/-9)
src/maasserver/static/js/angular/directives/script_status.js (+3/-0)
src/maasserver/static/js/angular/directives/tests/test_machines_table.js (+30/-0)
src/maasserver/static/js/angular/entry.js (+1/-7)
src/maasserver/static/js/bundle/maas-min.js (+4/-0)
src/maasserver/static/js/bundle/maas-min.js.map (+5/-1)
src/maasserver/static/js/bundle/vendor-min.js (+4/-0)
src/maasserver/static/js/bundle/vendor-min.js.map (+5/-1)
src/maasserver/static/partials/dashboard.html (+1/-1)
src/maasserver/static/partials/machines-table.html (+24/-2)
src/maasserver/static/partials/networks-list.html (+2/-2)
src/maasserver/static/partials/node-events.html (+1/-1)
src/maasserver/static/partials/nodes-list.html (+66/-2)
src/maasserver/static/partials/pods-list.html (+5/-0)
src/maasserver/static/partials/subnet-details.html (+1/-1)
src/maasserver/static/partials/switches-table.html (+1/-1)
src/maasserver/static/partials/zones-list.html (+6/-0)
src/maasserver/testing/html-loader.js (+0/-0)
src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py (+8/-0)
src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py (+20/-0)
src/provisioningserver/utils/version.py (+4/-0)
yarn.lock (+638/-12)
Conflict in .eslintrc.js
Conflict in Makefile
Conflict in debian/changelog
Conflict in jest.config.js
Conflict in package.json
Conflict in src/maasserver/models/signals/scriptresult.py
Conflict in src/maasserver/models/signals/tests/test_scriptresult.py
Conflict in src/maasserver/static/js/angular/controllers/pods_list.js
Conflict in src/maasserver/static/js/angular/controllers/settings.js
Conflict in src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
Conflict in src/maasserver/static/js/angular/controllers/tests/test_settings.js
Conflict in src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
Conflict in src/maasserver/static/js/angular/directives/script_status.js
Conflict in src/maasserver/static/js/bundle/maas-min.js
Conflict in src/maasserver/static/js/bundle/maas-min.js.map
Conflict in src/maasserver/static/js/bundle/vendor-min.js
Conflict in src/maasserver/static/js/bundle/vendor-min.js.map
Conflict in src/maasserver/static/partials/machines-table.html
Conflict in src/maasserver/static/partials/nodes-list.html
Conflict in src/maasserver/static/partials/pods-list.html
Conflict in src/maasserver/static/partials/zones-list.html
Conflict in src/metadataserver/user_data/templates/snippets/maas_run_remote_scripts.py
Conflict in src/metadataserver/user_data/templates/snippets/tests/test_maas_run_remote_scripts.py
Conflict in src/provisioningserver/utils/version.py
Conflict in yarn.lock
Reviewer Review Type Date Requested Status
MAAS Maintainers Pending
Review via email: mp+371488@code.launchpad.net

Commit message

Backport of df8ae4e LP: #1840181 - Use model to get device name for ScriptResult events

To post a comment you must log in.

Unmerged commits

c74b6fb... by Lee Trager

Backport of df8ae4e LP: #1840181 - Use model to get device name for ScriptResult events

f73b1cc... by Newell Jensen

backport of f0331a265c1096ad7ee5cb1a24223b3c6b5813ff

LP: #1834500, #1468830 -- Mark previously deployed machines deployed when mark fixed. Allow marking a machine fixed if power is not on.

d56cfcf... by Blake Rouse

Fixes LP: #1710278 - Notice when bind9 is hung, force kill the service, ensure it starts again, then perform a reload.

Backport of d0a4ec6ce2af49d00431c0d7ad4c5164d3951e1a.

80c4959... by Lee Trager

LP: #1836293 - Install Debian packages with --no-install-recommends

Backport of edb6603

74f6896... by Adam Collard

Bump DEFAULT_VERSION to 2.6.1

a4c12e3... by Blake Rouse

Fix get_mac_addresses to ignore zero based mac addresses. Fix get_all_interfaces_definition to ignore zero based mac addresses.

Backport of 34631c2fe5062ac9078c8175d3fabf7eef394d8a

52f2b53... by Blake Rouse

Do not convert IPv4 addresses to IPv6 cast addresses.

Backport of 573da6972903c1b5566aad3012b97b09108d46eb

dbbc280... by Newell Jensen

Backport of d0a34d08f4b0fe245423939229daa3b71e0843a7

LP: #1806969 -- Explicitly search for bridges, bonds, followed by the remaining interfaces when retrieving a requested machine via interface constraints.

fc8c42d... by Lee Trager

Backport of 302d171 LP: #1835275 - Remove netplan interface lock.

Netplan creates a configuration file which locks the interface used to boot.
This ensures netbooted environments don't get disconnected. MAAS may send
a netplan configuration file which will reconfigure the boot interface. The
script runner will ensure the machine reconnects.

d4c3a71... by Conrad Hoffmann

Fixes LP: #1836867 - Change config merge order to allow overrides

The contains the user-supplied config from e.g.. Settings made in there are
expected to be passed to curtin as is. However, with other
(Maas-generated) configs being merged after it, values that the user set
explicitly may be overwritten by Maas.

Merging the last ensures that the user-supplied values
override the Maas-generated ones.

Backport of 396f0cc4ef741ed57bf247830b09df49974cd2cf.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/.eslintrc.js b/.eslintrc.js
2index b45615b..69133ba 100644
3--- a/.eslintrc.js
4+++ b/.eslintrc.js
5@@ -18,7 +18,10 @@ module.exports = {
6 "jasmine": false,
7 "jest": false,
8 "MAAS_config": false,
9+<<<<<<< .eslintrc.js
10 "module": false,
11+=======
12+>>>>>>> .eslintrc.js
13 "require": false,
14 "setTimeout": false,
15 "SharedArrayBuffer": "readonly",
16diff --git a/Makefile b/Makefile
17index 661cdf0..6c63afe 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -250,10 +250,17 @@ test: bin/test.parallel bin/coverage
21 @bin/coverage combine
22 $(MAKE) test-js
23
24+<<<<<<< Makefile
25 test-js: assets
26 bin/yarn test
27
28 test-js-watch: assets
29+=======
30+test-js: javascript
31+ bin/yarn test
32+
33+test-js-watch: javascript
34+>>>>>>> Makefile
35 bin/yarn test --watch
36
37 test-serial: $(strip $(test-scripts))
38diff --git a/debian/changelog b/debian/changelog
39index d3f01cd..fcba359 100644
40--- a/debian/changelog
41+++ b/debian/changelog
42@@ -1,8 +1,18 @@
43+<<<<<<< debian/changelog
44 maas (2.7.0~alpha1-0ubuntu1) UNRELEASED; urgency=medium
45+=======
46+maas (2.6.0~rc3-0ubuntu1) UNRELEASED; urgency=medium
47+>>>>>>> debian/changelog
48
49 * UNRELEASED
50
51- -- Andres Rodriguez <andreserl@ubuntu.com> Thu, 30 May 2019 16:31:03 -0400
52+ -- Andres Rodriguez <andreserl@ubuntu.com> Mon, 03 Jun 2019 10:14:38 -0400
53+
54+maas (2.6.0~rc2-7802-g59416a869-0ubuntu1~19.10.1) eoan; urgency=medium
55+
56+ * New upstream release, MAAS 2.6.0 RC 2.
57+
58+ -- Andres Rodriguez <andreserl@ubuntu.com> Mon, 03 Jun 2019 10:08:01 -0400
59
60 maas (2.6.0~rc1-7799-g70b0fe161-0ubuntu1) eoan; urgency=medium
61
62diff --git a/debian/copyright b/debian/copyright
63index 7152152..0127fa2 100644
64--- a/debian/copyright
65+++ b/debian/copyright
66@@ -28,10 +28,6 @@ Files: src/maasserver/static/js/angular/3rdparty/ng-tags-input.js
67 Copyright: Copyright (c) 2013-2015 Michael Benford.
68 License: MIT
69
70-Files: src/maasserver/static/js/angular/3rdparty/vs-repeat.js
71-Copyright: 2018 Kamil Pękala.
72-License: MIT
73-
74 Files: src/maasserver/websockets/websockets.py
75 Copyright: Twisted Matrix Laboratories
76 2011-2012 Oregon State University Open Source Lab
77diff --git a/jest.config.js b/jest.config.js
78index b8b0386..7b43697 100644
79--- a/jest.config.js
80+++ b/jest.config.js
81@@ -3,9 +3,12 @@ const config = {
82 '<rootDir>/src/maasserver/static/js/angular/',
83 'node_modules'
84 ],
85+<<<<<<< jest.config.js
86 moduleNameMapper: {
87 '.scss$': '<rootDir>/src/maasserver/static/js/angular/testing/proxy-module.js'
88 },
89+=======
90+>>>>>>> jest.config.js
91 setupFiles: [
92 '<rootDir>/src/maasserver/static/js/angular/testing/setup-jest.js',
93 ],
94@@ -16,7 +19,10 @@ const config = {
95 '/usr/share/javascript/angular.js/angular-cookies.js',
96 '/usr/share/javascript/angular.js/angular-sanitize.js',
97 '<rootDir>/src/maasserver/static/js/angular/3rdparty/ng-tags-input.js',
98+<<<<<<< jest.config.js
99 '<rootDir>/src/maasserver/static/js/angular/3rdparty/vs-repeat.js',
100+=======
101+>>>>>>> jest.config.js
102 '<rootDir>/src/maasserver/static/js/angular/entry.js',
103 '<rootDir>/src/maasserver/static/js/angular/testing/setup.js',
104
105diff --git a/package.json b/package.json
106index a67d0fd..147724e 100644
107--- a/package.json
108+++ b/package.json
109@@ -19,26 +19,42 @@
110 "babel-jest": "24.8.0",
111 "babel-loader": "^8.0.0-beta.0",
112 "babel-plugin-angularjs-annotate": "^0.10.0",
113+<<<<<<< package.json
114 "css-loader": "2.1.1",
115 "enzyme": "3.9.0",
116 "enzyme-adapter-react-16": "1.13.2",
117 "enzyme-to-json": "3.3.5",
118+=======
119+ "enzyme-adapter-react-16": "1.13.2",
120+ "enzyme-to-json": "3.3.5",
121+ "enzyme": "3.9.0",
122+>>>>>>> package.json
123 "eslint": "^5.15.3",
124 "glob": "^7.1.2",
125 "html-loader-jest": "0.2.1",
126 "jest": "24.8.0",
127+<<<<<<< package.json
128 "mini-css-extract-plugin": "0.7.0",
129 "node-sass": "4.12.0",
130 "optimize-css-assets-webpack-plugin": "5.0.1",
131+=======
132+ "node-sass": "^4.7.2",
133+>>>>>>> package.json
134 "prettier": "^1.17.0",
135 "prop-types": "^15.6.1",
136 "protractor": "^5.3.0",
137 "react": "^16.2.0",
138 "react-dom": "^16.2.0",
139 "react2angular": "^3.2.1",
140+<<<<<<< package.json
141 "sass-loader": "7.1.0",
142 "vanilla-framework": "2.0.1",
143 "webpack": "4.33.0",
144+=======
145+ "vanilla-framework": "^1.8.0",
146+ "vanilla-framework-react": "^0.1.2",
147+ "webpack": "^4.1.1",
148+>>>>>>> package.json
149 "webpack-cli": "^2.0.10",
150 "webpack-merge": "^4.1.2"
151 },
152diff --git a/src/maasserver/models/signals/scriptresult.py b/src/maasserver/models/signals/scriptresult.py
153index c016a6f..3354e42 100644
154--- a/src/maasserver/models/signals/scriptresult.py
155+++ b/src/maasserver/models/signals/scriptresult.py
156@@ -49,8 +49,14 @@ def emit_script_result_status_transition_event(
157 Event.objects.create_node_event(
158 script_result.script_set.node, EVENT_TYPES.RUNNING_TEST,
159 event_description=script_name)
160+<<<<<<< src/maasserver/models/signals/scriptresult.py
161 elif script_result.status in SCRIPT_STATUS_FAILED.union({
162 SCRIPT_STATUS.ABORTED}):
163+=======
164+ elif script_result.status in [
165+ SCRIPT_STATUS.FAILED, SCRIPT_STATUS.FAILED_INSTALLING,
166+ SCRIPT_STATUS.TIMEDOUT, SCRIPT_STATUS.ABORTED]:
167+>>>>>>> src/maasserver/models/signals/scriptresult.py
168 Event.objects.create_node_event(
169 script_result.script_set.node,
170 EVENT_TYPES.SCRIPT_DID_NOT_COMPLETE,
171diff --git a/src/maasserver/models/signals/tests/test_scriptresult.py b/src/maasserver/models/signals/tests/test_scriptresult.py
172index 2fecb97..6c06b44 100644
173--- a/src/maasserver/models/signals/tests/test_scriptresult.py
174+++ b/src/maasserver/models/signals/tests/test_scriptresult.py
175@@ -16,7 +16,10 @@ from metadataserver.enum import (
176 RESULT_TYPE,
177 SCRIPT_STATUS,
178 SCRIPT_STATUS_CHOICES,
179+<<<<<<< src/maasserver/models/signals/tests/test_scriptresult.py
180 SCRIPT_STATUS_FAILED,
181+=======
182+>>>>>>> src/maasserver/models/signals/tests/test_scriptresult.py
183 SCRIPT_STATUS_RUNNING,
184 SCRIPT_TYPE,
185 )
186@@ -54,6 +57,7 @@ class TestStatusTransitionEvent(MAASServerTestCase):
187 script = factory.make_Script(script_type=SCRIPT_TYPE.TESTING)
188 script_set = factory.make_ScriptSet(
189 result_type=RESULT_TYPE.TESTING, node=node)
190+<<<<<<< src/maasserver/models/signals/tests/test_scriptresult.py
191 script_result = factory.make_ScriptResult(
192 status=SCRIPT_STATUS.PENDING, script=script, script_set=script_set,
193 physical_blockdevice=node.boot_disk)
194@@ -107,6 +111,11 @@ class TestStatusTransitionEvent(MAASServerTestCase):
195 script_result = factory.make_ScriptResult(
196 status=SCRIPT_STATUS.PENDING, script=script, script_set=script_set,
197 physical_blockdevice=node.boot_disk, interface=node.boot_interface)
198+=======
199+ script_result = factory.make_ScriptResult(
200+ status=SCRIPT_STATUS.PENDING, script=script, script_set=script_set,
201+ physical_blockdevice=node.boot_disk)
202+>>>>>>> src/maasserver/models/signals/tests/test_scriptresult.py
203
204 script_result.status = random.choice(list(SCRIPT_STATUS_RUNNING))
205 script_result.save()
206@@ -116,9 +125,13 @@ class TestStatusTransitionEvent(MAASServerTestCase):
207 (
208 EVENT_TYPES.RUNNING_TEST,
209 EVENT_DETAILS[EVENT_TYPES.RUNNING_TEST].description,
210+<<<<<<< src/maasserver/models/signals/tests/test_scriptresult.py
211 '%s on %s and %s' % (
212 script_result.name, node.boot_disk.name,
213 node.boot_interface.name)
214+=======
215+ '%s on %s' % (script_result.name, node.boot_disk.name)
216+>>>>>>> src/maasserver/models/signals/tests/test_scriptresult.py
217 ),
218 (
219 latest_event.type.name,
220diff --git a/src/maasserver/static/js/angular/3rdparty/vs-repeat.js b/src/maasserver/static/js/angular/3rdparty/vs-repeat.js
221deleted file mode 100644
222index b42a6e0..0000000
223--- a/src/maasserver/static/js/angular/3rdparty/vs-repeat.js
224+++ /dev/null
225@@ -1,631 +0,0 @@
226-/*!
227- * Angular Virtual Scroll Repeat v1.1.11
228- * https://github.com/kamilkp/angular-vs-repeat/
229- *
230- * Copyright Kamil Pękala
231- * http://github.com/kamilkp
232- *
233- * Released under the MIT License
234- * https://opensource.org/licenses/MIT
235- *
236- * Date: 2018/03/09
237- *
238- */
239-
240-(function(window, angular) {
241- 'use strict';
242- /* jshint eqnull:true */
243- /* jshint -W038 */
244-
245- // DESCRIPTION:
246- // vsRepeat directive stands for Virtual Scroll Repeat. It turns a standard ngRepeated set of elements in a scrollable container
247- // into a component, where the user thinks he has all the elements rendered and all he needs to do is scroll (without any kind of
248- // pagination - which most users loath) and at the same time the browser isn't overloaded by that many elements/angular bindings etc.
249- // The directive renders only so many elements that can fit into current container's clientHeight/clientWidth.
250-
251- // LIMITATIONS:
252- // - current version only supports an Array as a right-hand-side object for ngRepeat
253- // - all rendered elements must have the same height/width or the sizes of the elements must be known up front
254-
255- // USAGE:
256- // In order to use the vsRepeat directive you need to place a vs-repeat attribute on a direct parent of an element with ng-repeat
257- // example:
258- // <div vs-repeat>
259- // <div ng-repeat="item in someArray">
260- // <!-- content -->
261- // </div>
262- // </div>
263- //
264- // or:
265- // <div vs-repeat>
266- // <div ng-repeat-start="item in someArray">
267- // <!-- content -->
268- // </div>
269- // <div>
270- // <!-- something in the middle -->
271- // </div>
272- // <div ng-repeat-end>
273- // <!-- content -->
274- // </div>
275- // </div>
276- //
277- // You can also measure the single element's height/width (including all paddings and margins), and then speficy it as a value
278- // of the attribute 'vs-repeat'. This can be used if one wants to override the automatically computed element size.
279- // example:
280- // <div vs-repeat="50"> <!-- the specified element height is 50px -->
281- // <div ng-repeat="item in someArray">
282- // <!-- content -->
283- // </div>
284- // </div>
285- //
286- // IMPORTANT!
287- //
288- // - the vsRepeat directive must be applied to a direct parent of an element with ngRepeat
289- // - the value of vsRepeat attribute is the single element's height/width measured in pixels. If none provided, the directive
290- // will compute it automatically
291-
292- // OPTIONAL PARAMETERS (attributes):
293- // vs-repeat-container="selector" - selector for element containing ng-repeat. (defaults to the current element)
294- // vs-scroll-parent="selector" - selector to the scrollable container. The directive will look for a closest parent matching
295- // the given selector (defaults to the current element)
296- // vs-horizontal - stack repeated elements horizontally instead of vertically
297- // vs-offset-before="value" - top/left offset in pixels (defaults to 0)
298- // vs-offset-after="value" - bottom/right offset in pixels (defaults to 0)
299- // vs-excess="value" - an integer number representing the number of elements to be rendered outside of the current container's viewport
300- // (defaults to 2)
301- // vs-size - a property name of the items in collection that is a number denoting the element size (in pixels)
302- // vs-autoresize - use this attribute without vs-size and without specifying element's size. The automatically computed element style will
303- // readjust upon window resize if the size is dependable on the viewport size
304- // vs-scrolled-to-end="callback" - callback will be called when the last item of the list is rendered
305- // vs-scrolled-to-end-offset="integer" - set this number to trigger the scrolledToEnd callback n items before the last gets rendered
306- // vs-scrolled-to-beginning="callback" - callback will be called when the first item of the list is rendered
307- // vs-scrolled-to-beginning-offset="integer" - set this number to trigger the scrolledToBeginning callback n items before the first gets rendered
308-
309- // EVENTS:
310- // - 'vsRepeatTrigger' - an event the directive listens for to manually trigger reinitialization
311- // - 'vsRepeatReinitialized' - an event the directive emits upon reinitialization done
312-
313- var dde = document.documentElement,
314- matchingFunction = dde.matches ? 'matches' :
315- dde.matchesSelector ? 'matchesSelector' :
316- dde.webkitMatches ? 'webkitMatches' :
317- dde.webkitMatchesSelector ? 'webkitMatchesSelector' :
318- dde.msMatches ? 'msMatches' :
319- dde.msMatchesSelector ? 'msMatchesSelector' :
320- dde.mozMatches ? 'mozMatches' :
321- dde.mozMatchesSelector ? 'mozMatchesSelector' : null;
322-
323- var closestElement = angular.element.prototype.closest || function (selector) {
324- var el = this[0].parentNode;
325- while (el !== document.documentElement && el != null && !el[matchingFunction](selector)) {
326- el = el.parentNode;
327- }
328-
329- if (el && el[matchingFunction](selector)) {
330- return angular.element(el);
331- }
332- else {
333- return angular.element();
334- }
335- };
336-
337- function getWindowScroll() {
338- if ('pageYOffset' in window) {
339- return {
340- scrollTop: pageYOffset,
341- scrollLeft: pageXOffset
342- };
343- }
344- else {
345- var sx, sy, d = document, r = d.documentElement, b = d.body;
346- sx = r.scrollLeft || b.scrollLeft || 0;
347- sy = r.scrollTop || b.scrollTop || 0;
348- return {
349- scrollTop: sy,
350- scrollLeft: sx
351- };
352- }
353- }
354-
355- function getClientSize(element, sizeProp) {
356- if (element === window) {
357- return sizeProp === 'clientWidth' ? window.innerWidth : window.innerHeight;
358- }
359- else {
360- return element[sizeProp];
361- }
362- }
363-
364- function getScrollPos(element, scrollProp) {
365- return element === window ? getWindowScroll()[scrollProp] : element[scrollProp];
366- }
367-
368- function getScrollOffset(vsElement, scrollElement, isHorizontal) {
369- var vsPos = vsElement.getBoundingClientRect()[isHorizontal ? 'left' : 'top'];
370- var scrollPos = scrollElement === window ? 0 : scrollElement.getBoundingClientRect()[isHorizontal ? 'left' : 'top'];
371- var correction = vsPos - scrollPos +
372- (scrollElement === window ? getWindowScroll() : scrollElement)[isHorizontal ? 'scrollLeft' : 'scrollTop'];
373-
374- return correction;
375- }
376-
377- var vsRepeatModule = angular.module('vs-repeat', []).directive('vsRepeat', ['$compile', '$parse', function($compile, $parse) {
378- return {
379- restrict: 'A',
380- scope: true,
381- compile: function($element, $attrs) {
382- var repeatContainer = angular.isDefined($attrs.vsRepeatContainer) ? angular.element($element[0].querySelector($attrs.vsRepeatContainer)) : $element,
383- ngRepeatChild = repeatContainer.children().eq(0),
384- ngRepeatExpression,
385- childCloneHtml = ngRepeatChild[0].outerHTML,
386- expressionMatches,
387- lhs,
388- rhs,
389- rhsSuffix,
390- originalNgRepeatAttr,
391- collectionName = '$vs_collection',
392- isNgRepeatStart = false,
393- attributesDictionary = {
394- 'vsRepeat': 'elementSize',
395- 'vsOffsetBefore': 'offsetBefore',
396- 'vsOffsetAfter': 'offsetAfter',
397- 'vsScrolledToEndOffset': 'scrolledToEndOffset',
398- 'vsScrolledToBeginningOffset': 'scrolledToBeginningOffset',
399- 'vsExcess': 'excess',
400- 'vsScrollMargin': 'scrollMargin'
401- };
402-
403- if (ngRepeatChild.attr('ng-repeat')) {
404- originalNgRepeatAttr = 'ng-repeat';
405- ngRepeatExpression = ngRepeatChild.attr('ng-repeat');
406- }
407- else if (ngRepeatChild.attr('data-ng-repeat')) {
408- originalNgRepeatAttr = 'data-ng-repeat';
409- ngRepeatExpression = ngRepeatChild.attr('data-ng-repeat');
410- }
411- else if (ngRepeatChild.attr('ng-repeat-start')) {
412- isNgRepeatStart = true;
413- originalNgRepeatAttr = 'ng-repeat-start';
414- ngRepeatExpression = ngRepeatChild.attr('ng-repeat-start');
415- }
416- else if (ngRepeatChild.attr('data-ng-repeat-start')) {
417- isNgRepeatStart = true;
418- originalNgRepeatAttr = 'data-ng-repeat-start';
419- ngRepeatExpression = ngRepeatChild.attr('data-ng-repeat-start');
420- }
421- else {
422- throw new Error('angular-vs-repeat: no ng-repeat directive on a child element');
423- }
424-
425- expressionMatches = /^\s*(\S+)\s+in\s+([\S\s]+?)(track\s+by\s+\S+)?$/.exec(ngRepeatExpression);
426- lhs = expressionMatches[1];
427- rhs = expressionMatches[2];
428- rhsSuffix = expressionMatches[3];
429-
430- if (isNgRepeatStart) {
431- var index = 0;
432- var repeaterElement = repeatContainer.children().eq(0);
433- while(repeaterElement.attr('ng-repeat-end') == null && repeaterElement.attr('data-ng-repeat-end') == null) {
434- index++;
435- repeaterElement = repeatContainer.children().eq(index);
436- childCloneHtml += repeaterElement[0].outerHTML;
437- }
438- }
439-
440- repeatContainer.empty();
441- return {
442- pre: function($scope, $element, $attrs) {
443- var repeatContainer = angular.isDefined($attrs.vsRepeatContainer) ? angular.element($element[0].querySelector($attrs.vsRepeatContainer)) : $element,
444- childClone = angular.element(childCloneHtml),
445- childTagName = childClone[0].tagName.toLowerCase(),
446- originalCollection = [],
447- originalLength,
448- $$horizontal = typeof $attrs.vsHorizontal !== 'undefined',
449- $beforeContent = angular.element('<' + childTagName + ' class="vs-repeat-before-content"></' + childTagName + '>'),
450- $afterContent = angular.element('<' + childTagName + ' class="vs-repeat-after-content"></' + childTagName + '>'),
451- autoSize = !$attrs.vsRepeat,
452- sizesPropertyExists = !!$attrs.vsSize || !!$attrs.vsSizeProperty,
453- $scrollParent = $attrs.vsScrollParent ?
454- $attrs.vsScrollParent === 'window' ? angular.element(window) :
455- closestElement.call(repeatContainer, $attrs.vsScrollParent) : repeatContainer,
456- $$options = 'vsOptions' in $attrs ? $scope.$eval($attrs.vsOptions) : {},
457- clientSize = $$horizontal ? 'clientWidth' : 'clientHeight',
458- offsetSize = $$horizontal ? 'offsetWidth' : 'offsetHeight',
459- scrollPos = $$horizontal ? 'scrollLeft' : 'scrollTop';
460-
461- $scope.totalSize = 0;
462- if (!('vsSize' in $attrs) && 'vsSizeProperty' in $attrs) {
463- console.warn('vs-size-property attribute is deprecated. Please use vs-size attribute which also accepts angular expressions.');
464- }
465-
466- if ($scrollParent.length === 0) {
467- throw 'Specified scroll parent selector did not match any element';
468- }
469- $scope.$scrollParent = $scrollParent;
470-
471- if (sizesPropertyExists) {
472- $scope.sizesCumulative = [];
473- }
474-
475- //initial defaults
476- $scope.elementSize = (+$attrs.vsRepeat) || getClientSize($scrollParent[0], clientSize) || 50;
477- $scope.offsetBefore = 0;
478- $scope.offsetAfter = 0;
479- $scope.scrollMargin = 0;
480- $scope.excess = 2;
481-
482- if ($$horizontal) {
483- $beforeContent.css('height', '100%');
484- $afterContent.css('height', '100%');
485- }
486- else {
487- $beforeContent.css('width', '100%');
488- $afterContent.css('width', '100%');
489- }
490-
491- Object.keys(attributesDictionary).forEach(function(key) {
492- if ($attrs[key]) {
493- $attrs.$observe(key, function(value) {
494- // '+' serves for getting a number from the string as the attributes are always strings
495- $scope[attributesDictionary[key]] = +value;
496- reinitialize();
497- });
498- }
499- });
500-
501-
502- $scope.$watchCollection(rhs, function(coll) {
503- originalCollection = coll || [];
504- refresh();
505- });
506-
507- function refresh() {
508- if (!originalCollection || originalCollection.length < 1) {
509- $scope[collectionName] = [];
510- originalLength = 0;
511- $scope.sizesCumulative = [0];
512- }
513- else {
514- originalLength = originalCollection.length;
515- if (sizesPropertyExists) {
516- $scope.sizes = originalCollection.map(function(item) {
517- var s = $scope.$new(false);
518- angular.extend(s, item);
519- s[lhs] = item;
520- var size = ($attrs.vsSize || $attrs.vsSizeProperty) ?
521- s.$eval($attrs.vsSize || $attrs.vsSizeProperty) :
522- $scope.elementSize;
523- s.$destroy();
524- return size;
525- });
526- var sum = 0;
527- $scope.sizesCumulative = $scope.sizes.map(function(size) {
528- var res = sum;
529- sum += size;
530- return res;
531- });
532- $scope.sizesCumulative.push(sum);
533- }
534- else {
535- setAutoSize();
536- }
537- }
538-
539- reinitialize();
540- }
541-
542- function setAutoSize() {
543- if (autoSize) {
544- $scope.$$postDigest(function() {
545- if (repeatContainer[0].offsetHeight || repeatContainer[0].offsetWidth) { // element is visible
546- var children = repeatContainer.children(),
547- i = 0,
548- gotSomething = false,
549- insideStartEndSequence = false;
550-
551- while (i < children.length) {
552- if (children[i].attributes[originalNgRepeatAttr] != null || insideStartEndSequence) {
553- if (!gotSomething) {
554- $scope.elementSize = 0;
555- }
556-
557- gotSomething = true;
558- if (children[i][offsetSize]) {
559- $scope.elementSize += children[i][offsetSize];
560- }
561-
562- if (isNgRepeatStart) {
563- if (children[i].attributes['ng-repeat-end'] != null || children[i].attributes['data-ng-repeat-end'] != null) {
564- break;
565- }
566- else {
567- insideStartEndSequence = true;
568- }
569- }
570- else {
571- break;
572- }
573- }
574- i++;
575- }
576-
577- if (gotSomething) {
578- reinitialize();
579- autoSize = false;
580- if ($scope.$root && !$scope.$root.$$phase) {
581- $scope.$apply();
582- }
583- }
584- }
585- else {
586- var dereg = $scope.$watch(function() {
587- if (repeatContainer[0].offsetHeight || repeatContainer[0].offsetWidth) {
588- dereg();
589- setAutoSize();
590- }
591- });
592- }
593- });
594- }
595- }
596-
597- function getLayoutProp() {
598- var layoutPropPrefix = childTagName === 'tr' ? '' : 'min-';
599- var layoutProp = $$horizontal ? layoutPropPrefix + 'width' : layoutPropPrefix + 'height';
600- return layoutProp;
601- }
602-
603- childClone.eq(0).attr(originalNgRepeatAttr, lhs + ' in ' + collectionName + (rhsSuffix ? ' ' + rhsSuffix : ''));
604- childClone.addClass('vs-repeat-repeated-element');
605-
606- repeatContainer.append($beforeContent);
607- repeatContainer.append(childClone);
608- $compile(childClone)($scope);
609- repeatContainer.append($afterContent);
610-
611- $scope.startIndex = 0;
612- $scope.endIndex = 0;
613-
614- function scrollHandler() {
615- if (updateInnerCollection()) {
616- $scope.$digest();
617-
618- var expectedSize = sizesPropertyExists ?
619- $scope.sizesCumulative[originalLength] :
620- $scope.elementSize * originalLength;
621-
622- if (expectedSize !== $element[0].clientHeight) {
623- console.warn('vsRepeat: size mismatch. Expected size ' + expectedSize + 'px whereas actual size is ' + $element[0].clientHeight + 'px. Fix vsSize on element:', $element[0]);
624- }
625- }
626- }
627-
628- $scrollParent.on('scroll', scrollHandler);
629-
630- function onWindowResize() {
631- if (typeof $attrs.vsAutoresize !== 'undefined') {
632- autoSize = true;
633- setAutoSize();
634- if ($scope.$root && !$scope.$root.$$phase) {
635- $scope.$apply();
636- }
637- }
638- if (updateInnerCollection()) {
639- $scope.$apply();
640- }
641- }
642-
643- angular.element(window).on('resize', onWindowResize);
644- $scope.$on('$destroy', function() {
645- angular.element(window).off('resize', onWindowResize);
646- $scrollParent.off('scroll', scrollHandler);
647- });
648-
649- $scope.$on('vsRepeatTrigger', refresh);
650-
651- $scope.$on('vsRepeatResize', function() {
652- autoSize = true;
653- setAutoSize();
654- });
655-
656- var _prevStartIndex,
657- _prevEndIndex,
658- _minStartIndex,
659- _maxEndIndex;
660-
661- $scope.$on('vsRenderAll', function() {//e , quantum) {
662- if($$options.latch) {
663- setTimeout(function() {
664- // var __endIndex = Math.min($scope.endIndex + (quantum || 1), originalLength);
665- var __endIndex = originalLength;
666- _maxEndIndex = Math.max(__endIndex, _maxEndIndex);
667- $scope.endIndex = $$options.latch ? _maxEndIndex : __endIndex;
668- $scope[collectionName] = originalCollection.slice($scope.startIndex, $scope.endIndex);
669- _prevEndIndex = $scope.endIndex;
670-
671- $scope.$$postDigest(function() {
672- $beforeContent.css(getLayoutProp(), 0);
673- $afterContent.css(getLayoutProp(), 0);
674- });
675-
676- $scope.$apply(function() {
677- $scope.$emit('vsRenderAllDone');
678- });
679- });
680- }
681- });
682-
683- function reinitialize() {
684- _prevStartIndex = void 0;
685- _prevEndIndex = void 0;
686- _minStartIndex = originalLength;
687- _maxEndIndex = 0;
688- updateTotalSize(sizesPropertyExists ?
689- $scope.sizesCumulative[originalLength] :
690- $scope.elementSize * originalLength
691- );
692- updateInnerCollection();
693-
694- $scope.$emit('vsRepeatReinitialized', $scope.startIndex, $scope.endIndex);
695- }
696-
697- function updateTotalSize(size) {
698- $scope.totalSize = $scope.offsetBefore + size + $scope.offsetAfter;
699- }
700-
701- var _prevClientSize;
702- function reinitOnClientHeightChange() {
703- var ch = getClientSize($scrollParent[0], clientSize);
704- if (ch !== _prevClientSize) {
705- reinitialize();
706- if ($scope.$root && !$scope.$root.$$phase) {
707- $scope.$apply();
708- }
709- }
710- _prevClientSize = ch;
711- }
712-
713- $scope.$watch(function() {
714- if (typeof window.requestAnimationFrame === 'function') {
715- window.requestAnimationFrame(reinitOnClientHeightChange);
716- }
717- else {
718- reinitOnClientHeightChange();
719- }
720- });
721-
722- function updateInnerCollection() {
723- var $scrollPosition = getScrollPos($scrollParent[0], scrollPos);
724- var $clientSize = getClientSize($scrollParent[0], clientSize);
725-
726- var scrollOffset = repeatContainer[0] === $scrollParent[0] ? 0 : getScrollOffset(
727- repeatContainer[0],
728- $scrollParent[0],
729- $$horizontal
730- );
731-
732- var __startIndex = $scope.startIndex;
733- var __endIndex = $scope.endIndex;
734-
735- if (sizesPropertyExists) {
736- __startIndex = 0;
737- while ($scope.sizesCumulative[__startIndex] < $scrollPosition - $scope.offsetBefore - scrollOffset - $scope.scrollMargin) {
738- __startIndex++;
739- }
740- if (__startIndex > 0) { __startIndex--; }
741-
742- // Adjust the start index according to the excess
743- __startIndex = Math.max(
744- Math.floor(__startIndex - $scope.excess / 2),
745- 0
746- );
747-
748- __endIndex = __startIndex;
749- while ($scope.sizesCumulative[__endIndex] < $scrollPosition - $scope.offsetBefore - scrollOffset + $scope.scrollMargin + $clientSize) {
750- __endIndex++;
751- }
752-
753- // Adjust the end index according to the excess
754- __endIndex = Math.min(
755- Math.ceil(__endIndex + $scope.excess / 2),
756- originalLength
757- );
758- }
759- else {
760- __startIndex = Math.max(
761- Math.floor(
762- ($scrollPosition - $scope.offsetBefore - scrollOffset) / $scope.elementSize
763- ) - $scope.excess / 2,
764- 0
765- );
766-
767- __endIndex = Math.min(
768- __startIndex + Math.ceil(
769- $clientSize / $scope.elementSize
770- ) + $scope.excess,
771- originalLength
772- );
773- }
774-
775- _minStartIndex = Math.min(__startIndex, _minStartIndex);
776- _maxEndIndex = Math.max(__endIndex, _maxEndIndex);
777-
778- $scope.startIndex = $$options.latch ? _minStartIndex : __startIndex;
779- $scope.endIndex = $$options.latch ? _maxEndIndex : __endIndex;
780-
781- // Move to the end of the collection if we are now past it
782- if (_maxEndIndex < $scope.startIndex)
783- $scope.startIndex = _maxEndIndex;
784-
785- var digestRequired = false;
786- if (_prevStartIndex == null) {
787- digestRequired = true;
788- }
789- else if (_prevEndIndex == null) {
790- digestRequired = true;
791- }
792-
793- if (!digestRequired) {
794- if ($$options.hunked) {
795- if (Math.abs($scope.startIndex - _prevStartIndex) >= $scope.excess / 2 ||
796- ($scope.startIndex === 0 && _prevStartIndex !== 0)) {
797- digestRequired = true;
798- }
799- else if (Math.abs($scope.endIndex - _prevEndIndex) >= $scope.excess / 2 ||
800- ($scope.endIndex === originalLength && _prevEndIndex !== originalLength)) {
801- digestRequired = true;
802- }
803- }
804- else {
805- digestRequired = $scope.startIndex !== _prevStartIndex ||
806- $scope.endIndex !== _prevEndIndex;
807- }
808- }
809-
810- if (digestRequired) {
811- $scope[collectionName] = originalCollection.slice($scope.startIndex, $scope.endIndex);
812-
813- // Emit the event
814- $scope.$emit('vsRepeatInnerCollectionUpdated', $scope.startIndex, $scope.endIndex, _prevStartIndex, _prevEndIndex);
815- var triggerIndex;
816- if ($attrs.vsScrolledToEnd) {
817- triggerIndex = originalCollection.length - ($scope.scrolledToEndOffset || 0);
818- if (($scope.endIndex >= triggerIndex && _prevEndIndex < triggerIndex) || (originalCollection.length && $scope.endIndex === originalCollection.length)) {
819- $scope.$eval($attrs.vsScrolledToEnd);
820- }
821- }
822- if ($attrs.vsScrolledToBeginning) {
823- triggerIndex = $scope.scrolledToBeginningOffset || 0;
824- if (($scope.startIndex <= triggerIndex && _prevStartIndex > $scope.startIndex)) {
825- $scope.$eval($attrs.vsScrolledToBeginning);
826- }
827- }
828-
829- _prevStartIndex = $scope.startIndex;
830- _prevEndIndex = $scope.endIndex;
831-
832- var offsetCalculationString = sizesPropertyExists ?
833- '(sizesCumulative[$index + startIndex] + offsetBefore)' :
834- '(($index + startIndex) * elementSize + offsetBefore)';
835-
836- var parsed = $parse(offsetCalculationString);
837- var o1 = parsed($scope, {$index: 0});
838- var o2 = parsed($scope, {$index: $scope[collectionName].length});
839- var total = $scope.totalSize;
840-
841- $beforeContent.css(getLayoutProp(), o1 + 'px');
842- $afterContent.css(getLayoutProp(), (total - o2) + 'px');
843- }
844-
845- return digestRequired;
846- }
847- }
848- };
849- }
850- };
851- }]);
852-
853- if (typeof module !== 'undefined' && module.exports) {
854- module.exports = vsRepeatModule.name;
855- }
856-})(window, window.angular);
857diff --git a/src/maasserver/static/js/angular/controllers/pods_list.js b/src/maasserver/static/js/angular/controllers/pods_list.js
858index 46ab962..5d51582 100644
859--- a/src/maasserver/static/js/angular/controllers/pods_list.js
860+++ b/src/maasserver/static/js/angular/controllers/pods_list.js
861@@ -181,6 +181,7 @@ function PodsListController(
862 // Calculate the available cores with overcommit applied
863 $scope.availableWithOvercommit = PodsManager.availableWithOvercommit;
864
865+<<<<<<< src/maasserver/static/js/angular/controllers/pods_list.js
866 // Perform the action on selected pods
867 $scope.performAction = (pod, operation) => {
868 operation(pod)
869@@ -205,6 +206,10 @@ function PodsListController(
870 podToAction = $scope.podToAction;
871 }
872
873+=======
874+ // Perform the action on all pods.
875+ $scope.actionGo = function() {
876+>>>>>>> src/maasserver/static/js/angular/controllers/pods_list.js
877 // Setup actionProgress.
878 resetActionProgress();
879 $scope.action.progress.total = $scope.selectedItems.length;
880diff --git a/src/maasserver/static/js/angular/controllers/settings.js b/src/maasserver/static/js/angular/controllers/settings.js
881index 1c19a1f..72026c0 100644
882--- a/src/maasserver/static/js/angular/controllers/settings.js
883+++ b/src/maasserver/static/js/angular/controllers/settings.js
884@@ -125,6 +125,120 @@ function SettingsController(
885 $scope.newRepository = null;
886 };
887
888+<<<<<<< src/maasserver/static/js/angular/controllers/settings.js
889+=======
890+ // Return the node from either the machines, devices, or controllers
891+ // manager.
892+ function getNode(system_id) {
893+ var node = MachinesManager.getItemFromList(system_id);
894+ if (angular.isObject(node)) {
895+ return node;
896+ }
897+ node = DevicesManager.getItemFromList(system_id);
898+ if (angular.isObject(node)) {
899+ return node;
900+ }
901+ node = ControllersManager.getItemFromList(system_id);
902+ if (angular.isObject(node)) {
903+ return node;
904+ }
905+ }
906+
907+ // Return the name of the subnet.
908+ $scope.getSubnetName = function(subnet) {
909+ return SubnetsManager.getName(subnet);
910+ };
911+
912+ // Return the text for the type of snippet.
913+ $scope.getSnippetTypeText = function(snippet) {
914+ if (angular.isString(snippet.node)) {
915+ return "Node";
916+ } else if (angular.isNumber(snippet.subnet)) {
917+ return "Subnet";
918+ } else {
919+ return "Global";
920+ }
921+ };
922+
923+ // Return the object the snippet applies to.
924+ $scope.getSnippetAppliesToObject = function(snippet) {
925+ if (angular.isString(snippet.node)) {
926+ return getNode(snippet.node);
927+ } else if (angular.isNumber(snippet.subnet)) {
928+ return SubnetsManager.getItemFromList(snippet.subnet);
929+ }
930+ };
931+
932+ // Return the applies to text that is disabled in none edit mode.
933+ $scope.getSnippetAppliesToText = function(snippet) {
934+ var obj = $scope.getSnippetAppliesToObject(snippet);
935+ if (angular.isString(snippet.node) && angular.isObject(obj)) {
936+ return obj.fqdn;
937+ } else if (angular.isNumber(snippet.subnet) && angular.isObject(obj)) {
938+ return SubnetsManager.getName(obj);
939+ } else {
940+ return "";
941+ }
942+ };
943+
944+ // Called to enter remove mode for a DHCP snippet.
945+ $scope.snippetEnterRemove = function(snippet) {
946+ $scope.newSnippet = null;
947+ $scope.editSnippet = null;
948+ $scope.deleteSnippet = snippet;
949+ };
950+
951+ // Called to exit remove mode for a DHCP snippet.
952+ $scope.snippetExitRemove = function() {
953+ $scope.deleteSnippet = null;
954+ };
955+
956+ // Called to confirm the removal of a snippet.
957+ $scope.snippetConfirmRemove = function() {
958+ DHCPSnippetsManager.deleteItem($scope.deleteSnippet).then(function() {
959+ $scope.snippetExitRemove();
960+ });
961+ };
962+
963+ // Called to enter edit mode for a DHCP snippet.
964+ $scope.snippetEnterEdit = function(snippet) {
965+ $scope.newSnippet = null;
966+ $scope.deleteSnippet = null;
967+ $scope.editSnippet = snippet;
968+ $scope.editSnippet.type = $scope.getSnippetTypeText(snippet);
969+ };
970+
971+ // Called to exit edit mode for a DHCP snippet.
972+ $scope.snippetExitEdit = function() {
973+ $scope.editSnippet = null;
974+ };
975+
976+ // Called when the active toggle is changed.
977+ $scope.snippetToggle = function(snippet) {
978+ DHCPSnippetsManager.updateItem(snippet).then(null, function(error) {
979+ // Revert state change and clear toggling.
980+ snippet.enabled = !snippet.enabled;
981+ console.log(error); // eslint-disable-line no-console
982+ });
983+ };
984+
985+ // Called to start adding a new snippet.
986+ $scope.snippetAdd = function() {
987+ $scope.editSnippet = null;
988+ $scope.deleteSnippet = null;
989+ $scope.newSnippet = {
990+ name: "",
991+ type: "Global",
992+ enabled: true
993+ };
994+ };
995+
996+ // Called to cancel addind a new snippet.
997+ $scope.snippetAddCancel = function() {
998+ $scope.newSnippet = null;
999+ };
1000+
1001+>>>>>>> src/maasserver/static/js/angular/controllers/settings.js
1002 // Setup page variables based on section.
1003 if ($routeParams.section === "dhcp") {
1004 $rootScope.title = "DHCP snippets";
1005diff --git a/src/maasserver/static/js/angular/controllers/tests/test_pods_list.js b/src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
1006index 627c76b..d1903a1 100644
1007--- a/src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
1008+++ b/src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
1009@@ -376,8 +376,13 @@ describe("PodsListController", function() {
1010 let pod = makePod();
1011 spyOn($scope, "hasActionsFailed").and.returnValue(false);
1012 spyOn($scope, "hasActionsInProgress").and.returnValue(false);
1013+<<<<<<< src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
1014 let defer = $q.defer();
1015 let refresh = jasmine.createSpy("refresh").and.returnValue(defer.promise);
1016+=======
1017+ var defer = $q.defer();
1018+ var refresh = jasmine.createSpy("refresh").and.returnValue(defer.promise);
1019+>>>>>>> src/maasserver/static/js/angular/controllers/tests/test_pods_list.js
1020 $scope.action.option = { name: "refresh", operation: refresh };
1021 $scope.selectedItems = [pod];
1022 $scope.actionGo();
1023diff --git a/src/maasserver/static/js/angular/controllers/tests/test_settings.js b/src/maasserver/static/js/angular/controllers/tests/test_settings.js
1024index ed4136e..5c5fc5a 100644
1025--- a/src/maasserver/static/js/angular/controllers/tests/test_settings.js
1026+++ b/src/maasserver/static/js/angular/controllers/tests/test_settings.js
1027@@ -4,7 +4,11 @@
1028 * Unit tests for SettingsController.
1029 */
1030
1031+<<<<<<< src/maasserver/static/js/angular/controllers/tests/test_settings.js
1032 import { makeName } from "testing/utils";
1033+=======
1034+import { makeInteger, makeName } from "testing/utils";
1035+>>>>>>> src/maasserver/static/js/angular/controllers/tests/test_settings.js
1036 import MockWebSocket from "testing/websocket";
1037
1038 describe("SettingsController", function() {
1039@@ -335,4 +339,264 @@ describe("SettingsController", function() {
1040 expect($scope.newRepository).toBeNull();
1041 });
1042 });
1043+<<<<<<< src/maasserver/static/js/angular/controllers/tests/test_settings.js
1044+=======
1045+
1046+ describe("getSubnetName", function() {
1047+ it("calls SubnetsManager.getName", function() {
1048+ makeController();
1049+ var subnet = {};
1050+ var subnetsName = {};
1051+ spyOn(SubnetsManager, "getName").and.returnValue(subnetsName);
1052+ expect($scope.getSubnetName(subnet)).toBe(subnetsName);
1053+ expect(SubnetsManager.getName).toHaveBeenCalledWith(subnet);
1054+ });
1055+ });
1056+
1057+ describe("getSnippetTypeText", function() {
1058+ it("returns 'Node'", function() {
1059+ makeController();
1060+ var snippet = makeSnippet();
1061+ snippet.node = makeName("system_id");
1062+ expect($scope.getSnippetTypeText(snippet)).toBe("Node");
1063+ });
1064+
1065+ it("returns 'Subnet'", function() {
1066+ makeController();
1067+ var snippet = makeSnippet();
1068+ snippet.subnet = makeInteger();
1069+ expect($scope.getSnippetTypeText(snippet)).toBe("Subnet");
1070+ });
1071+
1072+ it("returns 'Global'", function() {
1073+ makeController();
1074+ var snippet = makeSnippet();
1075+ expect($scope.getSnippetTypeText(snippet)).toBe("Global");
1076+ });
1077+ });
1078+
1079+ describe("getSnippetAppliesToObject", function() {
1080+ it("returns node from MachinesManager", function() {
1081+ makeController();
1082+ var system_id = makeName("system_id");
1083+ var node = {
1084+ system_id: system_id
1085+ };
1086+ var snippet = makeSnippet();
1087+ snippet.node = system_id;
1088+ MachinesManager._items = [node];
1089+ expect($scope.getSnippetAppliesToObject(snippet)).toBe(node);
1090+ });
1091+
1092+ it("returns device from DevicesManager", function() {
1093+ makeController();
1094+ var system_id = makeName("system_id");
1095+ var device = {
1096+ system_id: system_id
1097+ };
1098+ var snippet = makeSnippet();
1099+ snippet.node = system_id;
1100+ DevicesManager._items = [device];
1101+ expect($scope.getSnippetAppliesToObject(snippet)).toBe(device);
1102+ });
1103+
1104+ it("returns controller from ControllersManager", function() {
1105+ makeController();
1106+ var system_id = makeName("system_id");
1107+ var controller = {
1108+ system_id: system_id
1109+ };
1110+ var snippet = makeSnippet();
1111+ snippet.node = system_id;
1112+ ControllersManager._items = [controller];
1113+ expect($scope.getSnippetAppliesToObject(snippet)).toBe(controller);
1114+ });
1115+
1116+ it("returns subnet from SubnetsManager", function() {
1117+ makeController();
1118+ var subnet_id = makeInteger(0, 100);
1119+ var subnet = {
1120+ id: subnet_id
1121+ };
1122+ var snippet = makeSnippet();
1123+ snippet.subnet = subnet_id;
1124+ SubnetsManager._items = [subnet];
1125+ expect($scope.getSnippetAppliesToObject(snippet)).toBe(subnet);
1126+ });
1127+ });
1128+
1129+ describe("getSnippetAppliesToText", function() {
1130+ it("returns node.fqdn from MachinesManager", function() {
1131+ makeController();
1132+ var system_id = makeName("system_id");
1133+ var fqdn = makeName("fqdn");
1134+ var node = {
1135+ system_id: system_id,
1136+ fqdn: fqdn
1137+ };
1138+ var snippet = makeSnippet();
1139+ snippet.node = system_id;
1140+ MachinesManager._items = [node];
1141+ expect($scope.getSnippetAppliesToText(snippet)).toBe(fqdn);
1142+ });
1143+
1144+ it("returns device.fqdn from DevicesManager", function() {
1145+ makeController();
1146+ var system_id = makeName("system_id");
1147+ var fqdn = makeName("fqdn");
1148+ var device = {
1149+ system_id: system_id,
1150+ fqdn: fqdn
1151+ };
1152+ var snippet = makeSnippet();
1153+ snippet.node = system_id;
1154+ DevicesManager._items = [device];
1155+ expect($scope.getSnippetAppliesToText(snippet)).toBe(fqdn);
1156+ });
1157+
1158+ it("returns controller.fqdn from ControllersManager", function() {
1159+ makeController();
1160+ var system_id = makeName("system_id");
1161+ var fqdn = makeName("fqdn");
1162+ var controller = {
1163+ system_id: system_id,
1164+ fqdn: fqdn
1165+ };
1166+ var snippet = makeSnippet();
1167+ snippet.node = system_id;
1168+ ControllersManager._items = [controller];
1169+ expect($scope.getSnippetAppliesToText(snippet)).toBe(fqdn);
1170+ });
1171+
1172+ it("returns subnet from SubnetsManager", function() {
1173+ makeController();
1174+ var subnet_id = makeInteger(0, 100);
1175+ var cidr = makeName("cidr");
1176+ var subnet = {
1177+ id: subnet_id,
1178+ cidr: cidr
1179+ };
1180+ var snippet = makeSnippet();
1181+ snippet.subnet = subnet_id;
1182+ SubnetsManager._items = [subnet];
1183+ expect($scope.getSnippetAppliesToText(snippet)).toBe(cidr);
1184+ });
1185+ });
1186+
1187+ describe("snippetEnterRemove", function() {
1188+ it("clears new and edit and sets delete", function() {
1189+ makeController();
1190+ var snippet = makeSnippet();
1191+ $scope.newSnippet = {};
1192+ $scope.editSnippet = {};
1193+ $scope.snippetEnterRemove(snippet);
1194+ expect($scope.deleteSnippet).toBe(snippet);
1195+ expect($scope.newSnippet).toBeNull();
1196+ expect($scope.editSnippet).toBeNull();
1197+ });
1198+ });
1199+
1200+ describe("snippetExitRemove", function() {
1201+ it("sets delete to null", function() {
1202+ makeController();
1203+ $scope.deleteSnippet = {};
1204+ $scope.snippetExitRemove();
1205+ expect($scope.deleteSnippet).toBeNull();
1206+ });
1207+ });
1208+
1209+ describe("snippetConfirmRemove", function() {
1210+ it("calls deleteItem and then snippetExitRemove", function() {
1211+ makeController();
1212+ var snippet = makeSnippet();
1213+ var defer = $q.defer();
1214+ spyOn(DHCPSnippetsManager, "deleteItem").and.returnValue(defer.promise);
1215+ spyOn($scope, "snippetExitRemove");
1216+ $scope.deleteSnippet = snippet;
1217+ $scope.snippetConfirmRemove(snippet);
1218+ expect(DHCPSnippetsManager.deleteItem).toHaveBeenCalledWith(snippet);
1219+ defer.resolve();
1220+ $scope.$digest();
1221+ expect($scope.snippetExitRemove).toHaveBeenCalled();
1222+ });
1223+ });
1224+
1225+ describe("snippetEnterEdit", function() {
1226+ it("clears new and delete and sets edit", function() {
1227+ $q.defer();
1228+ makeController();
1229+ var snippet = makeSnippet();
1230+
1231+ $scope.newSnippet = {};
1232+ $scope.deleteSnippet = {};
1233+ $scope.snippetEnterEdit(snippet);
1234+ expect($scope.editSnippet).toBe(snippet);
1235+ expect($scope.editSnippet.type).toBe($scope.getSnippetTypeText(snippet));
1236+ expect($scope.newSnippet).toBeNull();
1237+ expect($scope.deleteSnippet).toBeNull();
1238+ });
1239+ });
1240+
1241+ describe("snippetExitEdit", function() {
1242+ it("clears editSnippet", function() {
1243+ makeController();
1244+ $scope.editSnippet = {};
1245+
1246+ $scope.snippetExitEdit();
1247+ expect($scope.editSnippet).toBeNull();
1248+ });
1249+ });
1250+
1251+ describe("snippetToggle", function() {
1252+ it("calls updateItem", function() {
1253+ makeController();
1254+ var snippet = makeSnippet();
1255+ spyOn(DHCPSnippetsManager, "updateItem").and.returnValue(
1256+ $q.defer().promise
1257+ );
1258+ $scope.snippetToggle(snippet);
1259+ expect(DHCPSnippetsManager.updateItem).toHaveBeenCalledWith(snippet);
1260+ });
1261+
1262+ it("updateItem reject resets enabled", function() {
1263+ makeController();
1264+ var snippet = makeSnippet();
1265+ let defer = $q.defer();
1266+ spyOn(DHCPSnippetsManager, "updateItem").and.returnValue(defer.promise);
1267+ spyOn(console, "log");
1268+ $scope.snippetToggle(snippet);
1269+ var errorMsg = makeName("error");
1270+ defer.reject(errorMsg);
1271+ $scope.$digest();
1272+ expect(snippet.enabled).toBe(false);
1273+ // eslint-disable-next-line no-console
1274+ expect(console.log).toHaveBeenCalledWith(errorMsg);
1275+ });
1276+ });
1277+
1278+ describe("snippetAdd", function() {
1279+ it("sets newSnippet", function() {
1280+ makeController();
1281+ $scope.editSnippet = {};
1282+ $scope.deleteSnippet = {};
1283+ $scope.snippetAdd();
1284+ expect($scope.newSnippet).toEqual({
1285+ name: "",
1286+ type: "Global",
1287+ enabled: true
1288+ });
1289+ expect($scope.editSnippet).toBeNull();
1290+ expect($scope.deleteSnippet).toBeNull();
1291+ });
1292+ });
1293+
1294+ describe("snippetAddCancel", function() {
1295+ it("newSnippet gets cleared", function() {
1296+ makeController();
1297+ $scope.newSnippet = {};
1298+ $scope.snippetAddCancel();
1299+ expect($scope.newSnippet).toBeNull();
1300+ });
1301+ });
1302+>>>>>>> src/maasserver/static/js/angular/controllers/tests/test_settings.js
1303 });
1304diff --git a/src/maasserver/static/js/angular/controllers/tests/test_zones_list.js b/src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
1305index eb7abe8..14b8e45 100644
1306--- a/src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
1307+++ b/src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
1308@@ -22,7 +22,11 @@ describe("ZonesListController", function() {
1309
1310 // Load the managers and services.
1311 var ZonesManager, UsersManager;
1312+<<<<<<< src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
1313 var ManagerHelperService, RegionConnection, webSocket;
1314+=======
1315+ var ManagerHelperService;
1316+>>>>>>> src/maasserver/static/js/angular/controllers/tests/test_zones_list.js
1317 beforeEach(inject(function($injector) {
1318 ZonesManager = $injector.get("ZonesManager");
1319 UsersManager = $injector.get("UsersManager");
1320diff --git a/src/maasserver/static/js/angular/directives/machines_table.js b/src/maasserver/static/js/angular/directives/machines_table.js
1321index 834a5b1..e51976d 100644
1322--- a/src/maasserver/static/js/angular/directives/machines_table.js
1323+++ b/src/maasserver/static/js/angular/directives/machines_table.js
1324@@ -74,15 +74,6 @@ function maasMachinesTable(
1325 NodeStatus.EXITING_RESCUE_MODE,
1326 NodeStatus.TESTING
1327 ];
1328-
1329- // This is an performance optimisation to unblock initial rendering,
1330- // otherwise when there are many machines, due to numerous nested
1331- // ng-repeats the initial digest cycle is slow and the UI is
1332- // blocked on first navigation.
1333- if (angular.isDefined($scope.loading)) {
1334- MachinesManager.clear();
1335- $scope.metadata = MachinesManager.getMetadata();
1336- }
1337 const machines = MachinesManager.getItems();
1338
1339 // Scope variables.
1340@@ -97,6 +88,29 @@ function maasMachinesTable(
1341 machineActions: GeneralManager.getData("machine_actions")
1342 };
1343
1344+ $scope.DISPLAY_LIMIT = 5;
1345+ $scope.displayLimits = {};
1346+ const groupLabels = [
1347+ "Failed",
1348+ "New",
1349+ "Commissioning",
1350+ "Testing",
1351+ "Ready",
1352+ "Allocated",
1353+ "Deploying",
1354+ "Deployed",
1355+ "Rescue mode",
1356+ "Releasing",
1357+ "Broken",
1358+ "Other"
1359+ ];
1360+
1361+ $scope.getLimit = group => $scope.displayLimits[group.label];
1362+
1363+ $scope.loadAll = selectedGroup => {
1364+ $scope.displayLimits[selectedGroup.label] = undefined;
1365+ };
1366+
1367 $scope.statusMenuActions = [
1368 "commission",
1369 "acquire",
1370@@ -480,6 +494,9 @@ function maasMachinesTable(
1371 ]
1372 }
1373 ];
1374+ groupLabels.forEach(label => {
1375+ $scope.displayLimits[label] = $scope.DISPLAY_LIMIT;
1376+ });
1377 return;
1378 }
1379
1380@@ -500,6 +517,9 @@ function maasMachinesTable(
1381 });
1382
1383 $scope.groupedMachines = groupedByOwner;
1384+ groupedByOwner.forEach(owner => {
1385+ $scope.displayLimits[owner.label] = $scope.DISPLAY_LIMIT;
1386+ });
1387 return;
1388 }
1389
1390@@ -509,6 +529,7 @@ function maasMachinesTable(
1391 machines: $scope.table.filteredMachines
1392 }
1393 ];
1394+ $scope.displayLimits["none"] = $scope.DISPLAY_LIMIT;
1395 return;
1396 };
1397
1398@@ -517,6 +538,7 @@ function maasMachinesTable(
1399 $scope.table.machines,
1400 $scope.search
1401 );
1402+ $scope.displayLimits["none"] = $scope.DISPLAY_LIMIT;
1403 };
1404
1405 // When the list of filtered machines change update the all checkbox.
1406diff --git a/src/maasserver/static/js/angular/directives/script_status.js b/src/maasserver/static/js/angular/directives/script_status.js
1407index 3e4fb55..2a96831 100644
1408--- a/src/maasserver/static/js/angular/directives/script_status.js
1409+++ b/src/maasserver/static/js/angular/directives/script_status.js
1410@@ -51,8 +51,11 @@ export function maasScriptStatus() {
1411 case 5: // eslint-disable-line no-fallthrough
1412 // SCRIPT_STATUS.DEGRADED
1413 case 6: // eslint-disable-line no-fallthrough
1414+<<<<<<< src/maasserver/static/js/angular/directives/script_status.js
1415 // SCRIPT_STATUS.FAILED_APPLYING_NETCONF
1416 case 11: // eslint-disable-line no-fallthrough
1417+=======
1418+>>>>>>> src/maasserver/static/js/angular/directives/script_status.js
1419 // SCRIPT_STATUS.FAILED_INSTALLING
1420 case 8: // eslint-disable-line no-fallthrough
1421 $scope.icon = "p-icon--error";
1422diff --git a/src/maasserver/static/js/angular/directives/tests/test_machines_table.js b/src/maasserver/static/js/angular/directives/tests/test_machines_table.js
1423index df35a3a..013b76f 100644
1424--- a/src/maasserver/static/js/angular/directives/tests/test_machines_table.js
1425+++ b/src/maasserver/static/js/angular/directives/tests/test_machines_table.js
1426@@ -1083,4 +1083,34 @@ barbaz`); // Has to be formatted this way for tooltip
1427 expect(scope.getArchitectureText("i386/generic")).toBe("i386");
1428 });
1429 });
1430+
1431+ describe("display limits", () => {
1432+ it("returns the default display limit for the group", () => {
1433+ const directive = compileDirective();
1434+ const scope = directive.isolateScope();
1435+
1436+ scope.groupByLabel = "status";
1437+ const group = {
1438+ label: "Allocated",
1439+ machines: []
1440+ };
1441+ scope.$digest();
1442+
1443+ expect(scope.getLimit(group)).toEqual(scope.DISPLAY_LIMIT);
1444+ });
1445+
1446+ it("sets the groups display limit to undefined", () => {
1447+ const directive = compileDirective();
1448+ const scope = directive.isolateScope();
1449+
1450+ scope.groupByLabel = "status";
1451+ const group = {
1452+ label: "New",
1453+ machines: []
1454+ };
1455+ scope.loadAll(group);
1456+
1457+ expect(scope.getLimit(group)).toEqual(undefined);
1458+ });
1459+ });
1460 });
1461diff --git a/src/maasserver/static/js/angular/entry.js b/src/maasserver/static/js/angular/entry.js
1462index e0324a2..224db2d 100644
1463--- a/src/maasserver/static/js/angular/entry.js
1464+++ b/src/maasserver/static/js/angular/entry.js
1465@@ -495,13 +495,7 @@ function unhideRSDLinks() {
1466 }
1467
1468 angular
1469- .module("MAAS", [
1470- "ngRoute",
1471- "ngCookies",
1472- "ngSanitize",
1473- "ngTagsInput",
1474- "vs-repeat"
1475- ])
1476+ .module("MAAS", ["ngRoute", "ngCookies", "ngSanitize", "ngTagsInput"])
1477 .config(configureMaas)
1478 .run(introRedirect)
1479 .run(setupGA)
1480diff --git a/src/maasserver/static/js/bundle/maas-min.js b/src/maasserver/static/js/bundle/maas-min.js
1481index da22908..a43e47e 100644
1482--- a/src/maasserver/static/js/bundle/maas-min.js
1483+++ b/src/maasserver/static/js/bundle/maas-min.js
1484@@ -1,3 +1,4 @@
1485+<<<<<<< src/maasserver/static/js/bundle/maas-min.js
1486 /******/ (function(modules) { // webpackBootstrap
1487 /******/ // The module cache
1488 /******/ var installedModules = {};
1489@@ -63742,4 +63743,7 @@ exports.default = _default;
1490
1491 /***/ })
1492 /******/ ]);
1493+=======
1494+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=623)}([function(e,t,n){var r=n(3),i=n(34),a=n(18),o=n(17),s=n(27),c=function(e,t,n){var u,l,f,d,h=e&c.F,p=e&c.G,g=e&c.S,m=e&c.P,b=e&c.B,v=p?r:g?r[t]||(r[t]={}):(r[t]||{}).prototype,y=p?i:i[t]||(i[t]={}),_=y.prototype||(y.prototype={});for(u in p&&(n=t),n)f=((l=!h&&v&&void 0!==v[u])?v:n)[u],d=b&&l?s(f,r):m&&"function"==typeof f?s(Function.call,f):f,v&&o(v,u,f,e&c.U),y[u]!=f&&a(y,u,d),m&&_[u]!=f&&(_[u]=f)};r.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){var r=n(6);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var r=n(7),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t,n){"use strict";(function(e){var r=n(417),i=n(416),a=n(161);function o(){return c.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()<t)throw new RangeError("Invalid typed array length");return c.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=c.prototype:(null===e&&(e=new c(t)),e.length=t),e}function c(e,t,n){if(!(c.TYPED_ARRAY_SUPPORT||this instanceof c))return new c(e,t,n);if("number"==typeof e){if("string"==typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return u(this,e,t,n)}function u(e,t,n,r){if("number"==typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError("'offset' is out of bounds");if(t.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r);c.TYPED_ARRAY_SUPPORT?(e=t).__proto__=c.prototype:e=d(e,t);return e}(e,t,n,r):"string"==typeof t?function(e,t,n){"string"==typeof n&&""!==n||(n="utf8");if(!c.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(t,n),i=(e=s(e,r)).write(t,n);i!==r&&(e=e.slice(0,i));return e}(e,t,n):function(e,t){if(c.isBuffer(t)){var n=0|h(t.length);return 0===(e=s(e,n)).length?e:(t.copy(e,0,0,n),e)}if(t){if("undefined"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!=typeof t.length||(r=t.length)!=r?s(e,0):d(e,t);if("Buffer"===t.type&&a(t.data))return d(e,t.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function l(e){if("number"!=typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t){if(l(t),e=s(e,t<0?0:0|h(t)),!c.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t){var n=t.length<0?0:0|h(t.length);e=s(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function h(e){if(e>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function p(e,t){if(c.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return U(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return U(e).length;t=(""+t).toLowerCase(),r=!0}}function g(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function m(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=c.from(t,r)),c.isBuffer(t))return 0===t.length?-1:b(e,t,n,r,i);if("number"==typeof t)return t&=255,c.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):b(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(e,t,n,r,i){var a,o=1,s=e.length,c=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,c/=2,n/=2}function u(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var l=-1;for(a=n;a<s;a++)if(u(e,a)===u(t,-1===l?0:a-l)){if(-1===l&&(l=a),a-l+1===c)return l*o}else-1!==l&&(a-=a-l),l=-1}else for(n+c>s&&(n=s-c),a=n;a>=0;a--){for(var f=!0,d=0;d<c;d++)if(u(e,a+d)!==u(t,d)){f=!1;break}if(f)return a}return-1}function v(e,t,n,r){n=Number(n)||0;var i=e.length-n;r?(r=Number(r))>i&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o<r;++o){var s=parseInt(t.substr(2*o,2),16);if(isNaN(s))return o;e[n+o]=s}return o}function y(e,t,n,r){return z(U(t,e.length-n),e,n,r)}function _(e,t,n,r){return z(function(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}(t),e,n,r)}function w(e,t,n,r){return _(e,t,n,r)}function S(e,t,n,r){return z(F(t),e,n,r)}function M(e,t,n,r){return z(function(e,t){for(var n,r,i,a=[],o=0;o<e.length&&!((t-=2)<0);++o)n=e.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function E(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function A(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i<n;){var a,o,s,c,u=e[i],l=null,f=u>239?4:u>223?3:u>191?2:1;if(i+f<=n)switch(f){case 1:u<128&&(l=u);break;case 2:128==(192&(a=e[i+1]))&&(c=(31&u)<<6|63&a)>127&&(l=c);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(c=(15&u)<<12|(63&a)<<6|63&o)>2047&&(c<55296||c>57343)&&(l=c);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(c=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&c<1114112&&(l=c)}null===l?(l=65533,f=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=f}return function(e){var t=e.length;if(t<=I)return String.fromCharCode.apply(String,e);var n="",r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=I));return n}(r)}t.Buffer=c,t.SlowBuffer=function(e){+e!=e&&(e=0);return c.alloc(+e)},t.INSPECT_MAX_BYTES=50,c.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=o(),c.poolSize=8192,c._augment=function(e){return e.__proto__=c.prototype,e},c.from=function(e,t,n){return u(null,e,t,n)},c.TYPED_ARRAY_SUPPORT&&(c.prototype.__proto__=Uint8Array.prototype,c.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&c[Symbol.species]===c&&Object.defineProperty(c,Symbol.species,{value:null,configurable:!0})),c.alloc=function(e,t,n){return function(e,t,n,r){return l(t),t<=0?s(e,t):void 0!==n?"string"==typeof r?s(e,t).fill(n,r):s(e,t).fill(n):s(e,t)}(null,e,t,n)},c.allocUnsafe=function(e){return f(null,e)},c.allocUnsafeSlow=function(e){return f(null,e)},c.isBuffer=function(e){return!(null==e||!e._isBuffer)},c.compare=function(e,t){if(!c.isBuffer(e)||!c.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},c.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(e,t){if(!a(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return c.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=c.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var o=e[n];if(!c.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},c.byteLength=p,c.prototype._isBuffer=!0,c.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)g(this,t,t+1);return this},c.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},c.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},c.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?A(this,0,e):function(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return x(this,t,n);case"utf8":case"utf-8":return A(this,t,n);case"ascii":return k(this,t,n);case"latin1":case"binary":return O(this,t,n);case"base64":return E(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return P(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},c.prototype.equals=function(e){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===c.compare(this,e)},c.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},c.prototype.compare=function(e,t,n,r,i){if(!c.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,o=n-t,s=Math.min(a,o),u=this.slice(r,i),l=e.slice(t,n),f=0;f<s;++f)if(u[f]!==l[f]){a=u[f],o=l[f];break}return a<o?-1:o<a?1:0},c.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},c.prototype.indexOf=function(e,t,n){return m(this,e,t,n,!0)},c.prototype.lastIndexOf=function(e,t,n){return m(this,e,t,n,!1)},c.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return y(this,e,t,n);case"ascii":return _(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function k(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(127&e[i]);return r}function O(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function x(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var i="",a=t;a<n;++a)i+=$(e[a]);return i}function P(e,t,n){for(var r=e.slice(t,n),i="",a=0;a<r.length;a+=2)i+=String.fromCharCode(r[a]+256*r[a+1]);return i}function C(e,t,n){if(e%1!=0||e<0)throw new RangeError("offset is not uint");if(e+t>n)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,a){if(!c.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<a)throw new RangeError('"value" argument is out of bounds');if(n+r>e.length)throw new RangeError("Index out of range")}function j(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i<a;++i)e[n+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i<a;++i)e[n+i]=t>>>8*(r?i:3-i)&255}function R(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function T(e,t,n,r,a){return a||R(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function B(e,t,n,r,a){return a||R(e,0,n,8),i.write(e,t,n,r,52,8),n+8}c.prototype.slice=function(e,t){var n,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),c.TYPED_ARRAY_SUPPORT)(n=this.subarray(e,t)).__proto__=c.prototype;else{var i=t-e;n=new c(i,void 0);for(var a=0;a<i;++a)n[a]=this[a+e]}return n},c.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||C(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return r},c.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||C(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},c.prototype.readUInt8=function(e,t){return t||C(e,1,this.length),this[e]},c.prototype.readUInt16LE=function(e,t){return t||C(e,2,this.length),this[e]|this[e+1]<<8},c.prototype.readUInt16BE=function(e,t){return t||C(e,2,this.length),this[e]<<8|this[e+1]},c.prototype.readUInt32LE=function(e,t){return t||C(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},c.prototype.readUInt32BE=function(e,t){return t||C(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},c.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||C(e,t,this.length);for(var r=this[e],i=1,a=0;++a<t&&(i*=256);)r+=this[e+a]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},c.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||C(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},c.prototype.readInt8=function(e,t){return t||C(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},c.prototype.readInt16LE=function(e,t){t||C(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(e,t){t||C(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(e,t){return t||C(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},c.prototype.readInt32BE=function(e,t){return t||C(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},c.prototype.readFloatLE=function(e,t){return t||C(e,4,this.length),i.read(this,e,!0,23,4)},c.prototype.readFloatBE=function(e,t){return t||C(e,4,this.length),i.read(this,e,!1,23,4)},c.prototype.readDoubleLE=function(e,t){return t||C(e,8,this.length),i.read(this,e,!0,52,8)},c.prototype.readDoubleBE=function(e,t){return t||C(e,8,this.length),i.read(this,e,!1,52,8)},c.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},c.prototype.writeUIntBE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=n-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},c.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},c.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},c.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},c.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a<n&&(o*=256);)e<0&&0===s&&0!==this[t+a-1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},c.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},c.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),c.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},c.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},c.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},c.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),c.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},c.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),c.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},c.prototype.writeFloatLE=function(e,t,n){return T(this,e,t,!0,n)},c.prototype.writeFloatBE=function(e,t,n){return T(this,e,t,!1,n)},c.prototype.writeDoubleLE=function(e,t,n){return B(this,e,t,!0,n)},c.prototype.writeDoubleBE=function(e,t,n){return B(this,e,t,!1,n)},c.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var i,a=r-n;if(this===e&&n<t&&t<r)for(i=a-1;i>=0;--i)e[i+t]=this[i+n];else if(a<1e3||!c.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+t]=this[i+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+a),t);return a},c.prototype.fill=function(e,t,n,r){if("string"==typeof e){if("string"==typeof t?(r=t,t=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!c.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError("Out of range index");if(n<=t)return this;var a;if(t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a<n;++a)this[a]=e;else{var o=c.isBuffer(e)?e:U(new c(e,r).toString()),s=o.length;for(a=0;a<n-t;++a)this[a+t]=o[a%s]}return this};var L=/[^+\/0-9A-Za-z-_]/g;function $(e){return e<16?"0"+e.toString(16):e.toString(16)}function U(e,t){var n;t=t||1/0;for(var r=e.length,i=null,a=[],o=0;o<r;++o){if((n=e.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(L,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function z(e,t,n,r){for(var i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(24))},function(e,t,n){var r=n(88)("wks"),i=n(51),a=n(3).Symbol,o="function"==typeof a;(e.exports=function(e){return r[e]||(r[e]=o&&a[e]||(o?a:i)("Symbol."+e))}).store=r},function(e,t,n){var r=n(31),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){var r=n(2),i=n(196),a=n(33),o=Object.defineProperty;t.f=n(11)?Object.defineProperty:function(e,t,n){if(r(e),t=a(t,!0),r(n),i)try{return o(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(4)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,t,n){(function(e){!function(e,t){"use strict";function r(e,t){if(!e)throw new Error(t||"Assertion failed")}function i(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}function a(e,t,n){if(a.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&("le"!==t&&"be"!==t||(n=t,t=10),this._init(e||0,t||10,n||"be"))}var o;"object"==typeof e?e.exports=a:t.BN=a,a.BN=a,a.wordSize=26;try{o=n(374).Buffer}catch(e){}function s(e,t,n){for(var r=0,i=Math.min(e.length,n),a=t;a<i;a++){var o=e.charCodeAt(a)-48;r<<=4,r|=o>=49&&o<=54?o-49+10:o>=17&&o<=22?o-17+10:15&o}return r}function c(e,t,n,r){for(var i=0,a=Math.min(e.length,n),o=t;o<a;o++){var s=e.charCodeAt(o)-48;i*=r,i+=s>=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(e){return e instanceof a||null!==e&&"object"==typeof e&&e.constructor.wordSize===a.wordSize&&Array.isArray(e.words)},a.max=function(e,t){return e.cmp(t)>0?e:t},a.min=function(e,t){return e.cmp(t)<0?e:t},a.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},a.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},a.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var a,o,s=0;if("be"===n)for(i=e.length-1,a=0;i>=0;i-=3)o=e[i]|e[i-1]<<8|e[i-2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===n)for(i=0,a=0;i<e.length;i+=3)o=e[i]|e[i+1]<<8|e[i+2]<<16,this.words[a]|=o<<s&67108863,this.words[a+1]=o>>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var r,i,a=0;for(n=e.length-6,r=0;n>=t;n-=6)i=s(e,n,n+6),this.words[r]|=i<<a&67108863,this.words[r+1]|=i>>>26-a&4194303,(a+=24)>=26&&(a-=26,r++);n+6!==t&&(i=s(e,t,n+6),this.words[r]|=i<<a&67108863,this.words[r+1]|=i>>>26-a&4194303),this.strip()},a.prototype._parseBase=function(e,t,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=t)r++;r--,i=i/t|0;for(var a=e.length-n,o=a%r,s=Math.min(a,a-o)+n,u=0,l=n;l<s;l+=r)u=c(e,l,l+r,t),this.imuln(i),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==o){var f=1;for(u=c(e,l,e.length,t),l=0;l<o;l++)f*=t;this.imuln(f),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}},a.prototype.copy=function(e){e.words=new Array(this.length);for(var t=0;t<this.length;t++)e.words[t]=this.words[t];e.length=this.length,e.negative=this.negative,e.red=this.red},a.prototype.clone=function(){var e=new a(null);return this.copy(e),e},a.prototype._expand=function(e){for(;this.length<e;)this.words[this.length++]=0;return this},a.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],l=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function d(e,t,n){n.negative=t.negative^e.negative;var r=e.length+t.length|0;n.length=r,r=r-1|0;var i=0|e.words[0],a=0|t.words[0],o=i*a,s=67108863&o,c=o/67108864|0;n.words[0]=s;for(var u=1;u<r;u++){for(var l=c>>>26,f=67108863&c,d=Math.min(u,t.length-1),h=Math.max(0,u-e.length+1);h<=d;h++){var p=u-h|0;l+=(o=(i=0|e.words[p])*(a=0|t.words[h])+f)/67108864|0,f=67108863&o}n.words[u]=0|f,c=0|l}return 0!==c?n.words[u]=0|c:n.length--,n.strip()}a.prototype.toString=function(e,t){var n;if(e=e||10,t=0|t||1,16===e||"hex"===e){n="";for(var i=0,a=0,o=0;o<this.length;o++){var s=this.words[o],c=(16777215&(s<<i|a)).toString(16);n=0!==(a=s>>>24-i&16777215)||o!==this.length-1?u[6-c.length]+c+n:c+n,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(n=a.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var d=l[e],h=f[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var g=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?g+n:u[d-g.length]+g+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(e,t){return r(void 0!==o),this.toArrayLike(o,e,t)},a.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},a.prototype.toArrayLike=function(e,t,n){var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,"byte array longer than desired length"),r(a>0,"Requested array length <= 0"),this.strip();var o,s,c="le"===t,u=new e(a),l=this.clone();if(c){for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),u[s]=o;for(;s<a;s++)u[s]=0}else{for(s=0;s<a-i;s++)u[s]=0;for(s=0;!l.isZero();s++)o=l.andln(255),l.iushrn(8),u[a-s-1]=o}return u},Math.clz32?a.prototype._countBits=function(e){return 32-Math.clz32(e)}:a.prototype._countBits=function(e){var t=e,n=0;return t>=4096&&(n+=13,t>>>=13),t>=64&&(n+=7,t>>>=7),t>=8&&(n+=4,t>>>=4),t>=2&&(n+=2,t>>>=2),n+t},a.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,n=0;return 0==(8191&t)&&(n+=13,t>>>=13),0==(127&t)&&(n+=7,t>>>=7),0==(15&t)&&(n+=4,t>>>=4),0==(3&t)&&(n+=2,t>>>=2),0==(1&t)&&n++,n},a.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return 26*(this.length-1)+t},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;t<this.length;t++){var n=this._zeroBits(this.words[t]);if(e+=n,26!==n)break}return e},a.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},a.prototype.toTwos=function(e){return 0!==this.negative?this.abs().inotn(e).iaddn(1):this.clone()},a.prototype.fromTwos=function(e){return this.testn(e-1)?this.notn(e).iaddn(1).ineg():this.clone()},a.prototype.isNeg=function(){return 0!==this.negative},a.prototype.neg=function(){return this.clone().ineg()},a.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},a.prototype.iuor=function(e){for(;this.length<e.length;)this.words[this.length++]=0;for(var t=0;t<e.length;t++)this.words[t]=this.words[t]|e.words[t];return this.strip()},a.prototype.ior=function(e){return r(0==(this.negative|e.negative)),this.iuor(e)},a.prototype.or=function(e){return this.length>e.length?this.clone().ior(e):e.clone().ior(this)},a.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},a.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var n=0;n<t.length;n++)this.words[n]=this.words[n]&e.words[n];return this.length=t.length,this.strip()},a.prototype.iand=function(e){return r(0==(this.negative|e.negative)),this.iuand(e)},a.prototype.and=function(e){return this.length>e.length?this.clone().iand(e):e.clone().iand(this)},a.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},a.prototype.iuxor=function(e){var t,n;this.length>e.length?(t=this,n=e):(t=e,n=this);for(var r=0;r<n.length;r++)this.words[r]=t.words[r]^n.words[r];if(this!==t)for(;r<t.length;r++)this.words[r]=t.words[r];return this.length=t.length,this.strip()},a.prototype.ixor=function(e){return r(0==(this.negative|e.negative)),this.iuxor(e)},a.prototype.xor=function(e){return this.length>e.length?this.clone().ixor(e):e.clone().ixor(this)},a.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},a.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i<t;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},a.prototype.notn=function(e){return this.clone().inotn(e)},a.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),this.words[n]=t?this.words[n]|1<<i:this.words[n]&~(1<<i),this.strip()},a.prototype.iadd=function(e){var t,n,r;if(0!==this.negative&&0===e.negative)return this.negative=0,t=this.isub(e),this.negative^=1,this._normSign();if(0===this.negative&&0!==e.negative)return e.negative=0,t=this.isub(e),e.negative=1,t._normSign();this.length>e.length?(n=this,r=e):(n=e,r=this);for(var i=0,a=0;a<r.length;a++)t=(0|n.words[a])+(0|r.words[a])+i,this.words[a]=67108863&t,i=t>>>26;for(;0!==i&&a<n.length;a++)t=(0|n.words[a])+i,this.words[a]=67108863&t,i=t>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;a<n.length;a++)this.words[a]=n.words[a];return this},a.prototype.add=function(e){var t;return 0!==e.negative&&0===this.negative?(e.negative=0,t=this.sub(e),e.negative^=1,t):0===e.negative&&0!==this.negative?(this.negative=0,t=e.sub(this),this.negative=1,t):this.length>e.length?this.clone().iadd(e):e.clone().iadd(this)},a.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t=this.iadd(e);return e.negative=1,t._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var n,r,i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=e):(n=e,r=this);for(var a=0,o=0;o<r.length;o++)a=(t=(0|n.words[o])-(0|r.words[o])+a)>>26,this.words[o]=67108863&t;for(;0!==a&&o<n.length;o++)a=(t=(0|n.words[o])+a)>>26,this.words[o]=67108863&t;if(0===a&&o<n.length&&n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this.length=Math.max(this.length,o),n!==this&&(this.negative=1),this.strip()},a.prototype.sub=function(e){return this.clone().isub(e)};var h=function(e,t,n){var r,i,a,o=e.words,s=t.words,c=n.words,u=0,l=0|o[0],f=8191&l,d=l>>>13,h=0|o[1],p=8191&h,g=h>>>13,m=0|o[2],b=8191&m,v=m>>>13,y=0|o[3],_=8191&y,w=y>>>13,S=0|o[4],M=8191&S,E=S>>>13,A=0|o[5],I=8191&A,k=A>>>13,O=0|o[6],x=8191&O,P=O>>>13,C=0|o[7],D=8191&C,j=C>>>13,N=0|o[8],R=8191&N,T=N>>>13,B=0|o[9],L=8191&B,$=B>>>13,U=0|s[0],F=8191&U,z=U>>>13,q=0|s[1],V=8191&q,H=q>>>13,G=0|s[2],K=8191&G,W=G>>>13,Y=0|s[3],J=8191&Y,X=Y>>>13,Z=0|s[4],Q=8191&Z,ee=Z>>>13,te=0|s[5],ne=8191&te,re=te>>>13,ie=0|s[6],ae=8191&ie,oe=ie>>>13,se=0|s[7],ce=8191&se,ue=se>>>13,le=0|s[8],fe=8191&le,de=le>>>13,he=0|s[9],pe=8191&he,ge=he>>>13;n.negative=e.negative^t.negative,n.length=19;var me=(u+(r=Math.imul(f,F))|0)+((8191&(i=(i=Math.imul(f,z))+Math.imul(d,F)|0))<<13)|0;u=((a=Math.imul(d,z))+(i>>>13)|0)+(me>>>26)|0,me&=67108863,r=Math.imul(p,F),i=(i=Math.imul(p,z))+Math.imul(g,F)|0,a=Math.imul(g,z);var be=(u+(r=r+Math.imul(f,V)|0)|0)+((8191&(i=(i=i+Math.imul(f,H)|0)+Math.imul(d,V)|0))<<13)|0;u=((a=a+Math.imul(d,H)|0)+(i>>>13)|0)+(be>>>26)|0,be&=67108863,r=Math.imul(b,F),i=(i=Math.imul(b,z))+Math.imul(v,F)|0,a=Math.imul(v,z),r=r+Math.imul(p,V)|0,i=(i=i+Math.imul(p,H)|0)+Math.imul(g,V)|0,a=a+Math.imul(g,H)|0;var ve=(u+(r=r+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,W)|0)+Math.imul(d,K)|0))<<13)|0;u=((a=a+Math.imul(d,W)|0)+(i>>>13)|0)+(ve>>>26)|0,ve&=67108863,r=Math.imul(_,F),i=(i=Math.imul(_,z))+Math.imul(w,F)|0,a=Math.imul(w,z),r=r+Math.imul(b,V)|0,i=(i=i+Math.imul(b,H)|0)+Math.imul(v,V)|0,a=a+Math.imul(v,H)|0,r=r+Math.imul(p,K)|0,i=(i=i+Math.imul(p,W)|0)+Math.imul(g,K)|0,a=a+Math.imul(g,W)|0;var ye=(u+(r=r+Math.imul(f,J)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(d,J)|0))<<13)|0;u=((a=a+Math.imul(d,X)|0)+(i>>>13)|0)+(ye>>>26)|0,ye&=67108863,r=Math.imul(M,F),i=(i=Math.imul(M,z))+Math.imul(E,F)|0,a=Math.imul(E,z),r=r+Math.imul(_,V)|0,i=(i=i+Math.imul(_,H)|0)+Math.imul(w,V)|0,a=a+Math.imul(w,H)|0,r=r+Math.imul(b,K)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,W)|0,r=r+Math.imul(p,J)|0,i=(i=i+Math.imul(p,X)|0)+Math.imul(g,J)|0,a=a+Math.imul(g,X)|0;var _e=(u+(r=r+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,ee)|0)+Math.imul(d,Q)|0))<<13)|0;u=((a=a+Math.imul(d,ee)|0)+(i>>>13)|0)+(_e>>>26)|0,_e&=67108863,r=Math.imul(I,F),i=(i=Math.imul(I,z))+Math.imul(k,F)|0,a=Math.imul(k,z),r=r+Math.imul(M,V)|0,i=(i=i+Math.imul(M,H)|0)+Math.imul(E,V)|0,a=a+Math.imul(E,H)|0,r=r+Math.imul(_,K)|0,i=(i=i+Math.imul(_,W)|0)+Math.imul(w,K)|0,a=a+Math.imul(w,W)|0,r=r+Math.imul(b,J)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(v,J)|0,a=a+Math.imul(v,X)|0,r=r+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0;var we=(u+(r=r+Math.imul(f,ne)|0)|0)+((8191&(i=(i=i+Math.imul(f,re)|0)+Math.imul(d,ne)|0))<<13)|0;u=((a=a+Math.imul(d,re)|0)+(i>>>13)|0)+(we>>>26)|0,we&=67108863,r=Math.imul(x,F),i=(i=Math.imul(x,z))+Math.imul(P,F)|0,a=Math.imul(P,z),r=r+Math.imul(I,V)|0,i=(i=i+Math.imul(I,H)|0)+Math.imul(k,V)|0,a=a+Math.imul(k,H)|0,r=r+Math.imul(M,K)|0,i=(i=i+Math.imul(M,W)|0)+Math.imul(E,K)|0,a=a+Math.imul(E,W)|0,r=r+Math.imul(_,J)|0,i=(i=i+Math.imul(_,X)|0)+Math.imul(w,J)|0,a=a+Math.imul(w,X)|0,r=r+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,ee)|0,r=r+Math.imul(p,ne)|0,i=(i=i+Math.imul(p,re)|0)+Math.imul(g,ne)|0,a=a+Math.imul(g,re)|0;var Se=(u+(r=r+Math.imul(f,ae)|0)|0)+((8191&(i=(i=i+Math.imul(f,oe)|0)+Math.imul(d,ae)|0))<<13)|0;u=((a=a+Math.imul(d,oe)|0)+(i>>>13)|0)+(Se>>>26)|0,Se&=67108863,r=Math.imul(D,F),i=(i=Math.imul(D,z))+Math.imul(j,F)|0,a=Math.imul(j,z),r=r+Math.imul(x,V)|0,i=(i=i+Math.imul(x,H)|0)+Math.imul(P,V)|0,a=a+Math.imul(P,H)|0,r=r+Math.imul(I,K)|0,i=(i=i+Math.imul(I,W)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,W)|0,r=r+Math.imul(M,J)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(E,J)|0,a=a+Math.imul(E,X)|0,r=r+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,ee)|0)+Math.imul(w,Q)|0,a=a+Math.imul(w,ee)|0,r=r+Math.imul(b,ne)|0,i=(i=i+Math.imul(b,re)|0)+Math.imul(v,ne)|0,a=a+Math.imul(v,re)|0,r=r+Math.imul(p,ae)|0,i=(i=i+Math.imul(p,oe)|0)+Math.imul(g,ae)|0,a=a+Math.imul(g,oe)|0;var Me=(u+(r=r+Math.imul(f,ce)|0)|0)+((8191&(i=(i=i+Math.imul(f,ue)|0)+Math.imul(d,ce)|0))<<13)|0;u=((a=a+Math.imul(d,ue)|0)+(i>>>13)|0)+(Me>>>26)|0,Me&=67108863,r=Math.imul(R,F),i=(i=Math.imul(R,z))+Math.imul(T,F)|0,a=Math.imul(T,z),r=r+Math.imul(D,V)|0,i=(i=i+Math.imul(D,H)|0)+Math.imul(j,V)|0,a=a+Math.imul(j,H)|0,r=r+Math.imul(x,K)|0,i=(i=i+Math.imul(x,W)|0)+Math.imul(P,K)|0,a=a+Math.imul(P,W)|0,r=r+Math.imul(I,J)|0,i=(i=i+Math.imul(I,X)|0)+Math.imul(k,J)|0,a=a+Math.imul(k,X)|0,r=r+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,ee)|0)+Math.imul(E,Q)|0,a=a+Math.imul(E,ee)|0,r=r+Math.imul(_,ne)|0,i=(i=i+Math.imul(_,re)|0)+Math.imul(w,ne)|0,a=a+Math.imul(w,re)|0,r=r+Math.imul(b,ae)|0,i=(i=i+Math.imul(b,oe)|0)+Math.imul(v,ae)|0,a=a+Math.imul(v,oe)|0,r=r+Math.imul(p,ce)|0,i=(i=i+Math.imul(p,ue)|0)+Math.imul(g,ce)|0,a=a+Math.imul(g,ue)|0;var Ee=(u+(r=r+Math.imul(f,fe)|0)|0)+((8191&(i=(i=i+Math.imul(f,de)|0)+Math.imul(d,fe)|0))<<13)|0;u=((a=a+Math.imul(d,de)|0)+(i>>>13)|0)+(Ee>>>26)|0,Ee&=67108863,r=Math.imul(L,F),i=(i=Math.imul(L,z))+Math.imul($,F)|0,a=Math.imul($,z),r=r+Math.imul(R,V)|0,i=(i=i+Math.imul(R,H)|0)+Math.imul(T,V)|0,a=a+Math.imul(T,H)|0,r=r+Math.imul(D,K)|0,i=(i=i+Math.imul(D,W)|0)+Math.imul(j,K)|0,a=a+Math.imul(j,W)|0,r=r+Math.imul(x,J)|0,i=(i=i+Math.imul(x,X)|0)+Math.imul(P,J)|0,a=a+Math.imul(P,X)|0,r=r+Math.imul(I,Q)|0,i=(i=i+Math.imul(I,ee)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,ee)|0,r=r+Math.imul(M,ne)|0,i=(i=i+Math.imul(M,re)|0)+Math.imul(E,ne)|0,a=a+Math.imul(E,re)|0,r=r+Math.imul(_,ae)|0,i=(i=i+Math.imul(_,oe)|0)+Math.imul(w,ae)|0,a=a+Math.imul(w,oe)|0,r=r+Math.imul(b,ce)|0,i=(i=i+Math.imul(b,ue)|0)+Math.imul(v,ce)|0,a=a+Math.imul(v,ue)|0,r=r+Math.imul(p,fe)|0,i=(i=i+Math.imul(p,de)|0)+Math.imul(g,fe)|0,a=a+Math.imul(g,de)|0;var Ae=(u+(r=r+Math.imul(f,pe)|0)|0)+((8191&(i=(i=i+Math.imul(f,ge)|0)+Math.imul(d,pe)|0))<<13)|0;u=((a=a+Math.imul(d,ge)|0)+(i>>>13)|0)+(Ae>>>26)|0,Ae&=67108863,r=Math.imul(L,V),i=(i=Math.imul(L,H))+Math.imul($,V)|0,a=Math.imul($,H),r=r+Math.imul(R,K)|0,i=(i=i+Math.imul(R,W)|0)+Math.imul(T,K)|0,a=a+Math.imul(T,W)|0,r=r+Math.imul(D,J)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(j,J)|0,a=a+Math.imul(j,X)|0,r=r+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,ee)|0,r=r+Math.imul(I,ne)|0,i=(i=i+Math.imul(I,re)|0)+Math.imul(k,ne)|0,a=a+Math.imul(k,re)|0,r=r+Math.imul(M,ae)|0,i=(i=i+Math.imul(M,oe)|0)+Math.imul(E,ae)|0,a=a+Math.imul(E,oe)|0,r=r+Math.imul(_,ce)|0,i=(i=i+Math.imul(_,ue)|0)+Math.imul(w,ce)|0,a=a+Math.imul(w,ue)|0,r=r+Math.imul(b,fe)|0,i=(i=i+Math.imul(b,de)|0)+Math.imul(v,fe)|0,a=a+Math.imul(v,de)|0;var Ie=(u+(r=r+Math.imul(p,pe)|0)|0)+((8191&(i=(i=i+Math.imul(p,ge)|0)+Math.imul(g,pe)|0))<<13)|0;u=((a=a+Math.imul(g,ge)|0)+(i>>>13)|0)+(Ie>>>26)|0,Ie&=67108863,r=Math.imul(L,K),i=(i=Math.imul(L,W))+Math.imul($,K)|0,a=Math.imul($,W),r=r+Math.imul(R,J)|0,i=(i=i+Math.imul(R,X)|0)+Math.imul(T,J)|0,a=a+Math.imul(T,X)|0,r=r+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(j,Q)|0,a=a+Math.imul(j,ee)|0,r=r+Math.imul(x,ne)|0,i=(i=i+Math.imul(x,re)|0)+Math.imul(P,ne)|0,a=a+Math.imul(P,re)|0,r=r+Math.imul(I,ae)|0,i=(i=i+Math.imul(I,oe)|0)+Math.imul(k,ae)|0,a=a+Math.imul(k,oe)|0,r=r+Math.imul(M,ce)|0,i=(i=i+Math.imul(M,ue)|0)+Math.imul(E,ce)|0,a=a+Math.imul(E,ue)|0,r=r+Math.imul(_,fe)|0,i=(i=i+Math.imul(_,de)|0)+Math.imul(w,fe)|0,a=a+Math.imul(w,de)|0;var ke=(u+(r=r+Math.imul(b,pe)|0)|0)+((8191&(i=(i=i+Math.imul(b,ge)|0)+Math.imul(v,pe)|0))<<13)|0;u=((a=a+Math.imul(v,ge)|0)+(i>>>13)|0)+(ke>>>26)|0,ke&=67108863,r=Math.imul(L,J),i=(i=Math.imul(L,X))+Math.imul($,J)|0,a=Math.imul($,X),r=r+Math.imul(R,Q)|0,i=(i=i+Math.imul(R,ee)|0)+Math.imul(T,Q)|0,a=a+Math.imul(T,ee)|0,r=r+Math.imul(D,ne)|0,i=(i=i+Math.imul(D,re)|0)+Math.imul(j,ne)|0,a=a+Math.imul(j,re)|0,r=r+Math.imul(x,ae)|0,i=(i=i+Math.imul(x,oe)|0)+Math.imul(P,ae)|0,a=a+Math.imul(P,oe)|0,r=r+Math.imul(I,ce)|0,i=(i=i+Math.imul(I,ue)|0)+Math.imul(k,ce)|0,a=a+Math.imul(k,ue)|0,r=r+Math.imul(M,fe)|0,i=(i=i+Math.imul(M,de)|0)+Math.imul(E,fe)|0,a=a+Math.imul(E,de)|0;var Oe=(u+(r=r+Math.imul(_,pe)|0)|0)+((8191&(i=(i=i+Math.imul(_,ge)|0)+Math.imul(w,pe)|0))<<13)|0;u=((a=a+Math.imul(w,ge)|0)+(i>>>13)|0)+(Oe>>>26)|0,Oe&=67108863,r=Math.imul(L,Q),i=(i=Math.imul(L,ee))+Math.imul($,Q)|0,a=Math.imul($,ee),r=r+Math.imul(R,ne)|0,i=(i=i+Math.imul(R,re)|0)+Math.imul(T,ne)|0,a=a+Math.imul(T,re)|0,r=r+Math.imul(D,ae)|0,i=(i=i+Math.imul(D,oe)|0)+Math.imul(j,ae)|0,a=a+Math.imul(j,oe)|0,r=r+Math.imul(x,ce)|0,i=(i=i+Math.imul(x,ue)|0)+Math.imul(P,ce)|0,a=a+Math.imul(P,ue)|0,r=r+Math.imul(I,fe)|0,i=(i=i+Math.imul(I,de)|0)+Math.imul(k,fe)|0,a=a+Math.imul(k,de)|0;var xe=(u+(r=r+Math.imul(M,pe)|0)|0)+((8191&(i=(i=i+Math.imul(M,ge)|0)+Math.imul(E,pe)|0))<<13)|0;u=((a=a+Math.imul(E,ge)|0)+(i>>>13)|0)+(xe>>>26)|0,xe&=67108863,r=Math.imul(L,ne),i=(i=Math.imul(L,re))+Math.imul($,ne)|0,a=Math.imul($,re),r=r+Math.imul(R,ae)|0,i=(i=i+Math.imul(R,oe)|0)+Math.imul(T,ae)|0,a=a+Math.imul(T,oe)|0,r=r+Math.imul(D,ce)|0,i=(i=i+Math.imul(D,ue)|0)+Math.imul(j,ce)|0,a=a+Math.imul(j,ue)|0,r=r+Math.imul(x,fe)|0,i=(i=i+Math.imul(x,de)|0)+Math.imul(P,fe)|0,a=a+Math.imul(P,de)|0;var Pe=(u+(r=r+Math.imul(I,pe)|0)|0)+((8191&(i=(i=i+Math.imul(I,ge)|0)+Math.imul(k,pe)|0))<<13)|0;u=((a=a+Math.imul(k,ge)|0)+(i>>>13)|0)+(Pe>>>26)|0,Pe&=67108863,r=Math.imul(L,ae),i=(i=Math.imul(L,oe))+Math.imul($,ae)|0,a=Math.imul($,oe),r=r+Math.imul(R,ce)|0,i=(i=i+Math.imul(R,ue)|0)+Math.imul(T,ce)|0,a=a+Math.imul(T,ue)|0,r=r+Math.imul(D,fe)|0,i=(i=i+Math.imul(D,de)|0)+Math.imul(j,fe)|0,a=a+Math.imul(j,de)|0;var Ce=(u+(r=r+Math.imul(x,pe)|0)|0)+((8191&(i=(i=i+Math.imul(x,ge)|0)+Math.imul(P,pe)|0))<<13)|0;u=((a=a+Math.imul(P,ge)|0)+(i>>>13)|0)+(Ce>>>26)|0,Ce&=67108863,r=Math.imul(L,ce),i=(i=Math.imul(L,ue))+Math.imul($,ce)|0,a=Math.imul($,ue),r=r+Math.imul(R,fe)|0,i=(i=i+Math.imul(R,de)|0)+Math.imul(T,fe)|0,a=a+Math.imul(T,de)|0;var De=(u+(r=r+Math.imul(D,pe)|0)|0)+((8191&(i=(i=i+Math.imul(D,ge)|0)+Math.imul(j,pe)|0))<<13)|0;u=((a=a+Math.imul(j,ge)|0)+(i>>>13)|0)+(De>>>26)|0,De&=67108863,r=Math.imul(L,fe),i=(i=Math.imul(L,de))+Math.imul($,fe)|0,a=Math.imul($,de);var je=(u+(r=r+Math.imul(R,pe)|0)|0)+((8191&(i=(i=i+Math.imul(R,ge)|0)+Math.imul(T,pe)|0))<<13)|0;u=((a=a+Math.imul(T,ge)|0)+(i>>>13)|0)+(je>>>26)|0,je&=67108863;var Ne=(u+(r=Math.imul(L,pe))|0)+((8191&(i=(i=Math.imul(L,ge))+Math.imul($,pe)|0))<<13)|0;return u=((a=Math.imul($,ge))+(i>>>13)|0)+(Ne>>>26)|0,Ne&=67108863,c[0]=me,c[1]=be,c[2]=ve,c[3]=ye,c[4]=_e,c[5]=we,c[6]=Se,c[7]=Me,c[8]=Ee,c[9]=Ae,c[10]=Ie,c[11]=ke,c[12]=Oe,c[13]=xe,c[14]=Pe,c[15]=Ce,c[16]=De,c[17]=je,c[18]=Ne,0!==u&&(c[19]=u,n.length++),n};function p(e,t,n){return(new g).mulp(e,t,n)}function g(e,t){this.x=e,this.y=t}Math.imul||(h=d),a.prototype.mulTo=function(e,t){var n=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):n<63?d(this,e,t):n<1024?function(e,t,n){n.negative=t.negative^e.negative,n.length=e.length+t.length;for(var r=0,i=0,a=0;a<n.length-1;a++){var o=i;i=0;for(var s=67108863&r,c=Math.min(a,t.length-1),u=Math.max(0,a-e.length+1);u<=c;u++){var l=a-u,f=(0|e.words[l])*(0|t.words[u]),d=67108863&f;s=67108863&(d=d+s|0),i+=(o=(o=o+(f/67108864|0)|0)+(d>>>26)|0)>>>26,o&=67108863}n.words[a]=s,r=o,o=i}return 0!==r?n.words[a]=r:n.length--,n.strip()}(this,e,t):p(this,e,t)},g.prototype.makeRBT=function(e){for(var t=new Array(e),n=a.prototype._countBits(e)-1,r=0;r<e;r++)t[r]=this.revBin(r,n,e);return t},g.prototype.revBin=function(e,t,n){if(0===e||e===n-1)return e;for(var r=0,i=0;i<t;i++)r|=(1&e)<<t-i-1,e>>=1;return r},g.prototype.permute=function(e,t,n,r,i,a){for(var o=0;o<a;o++)r[o]=t[e[o]],i[o]=n[e[o]]},g.prototype.transform=function(e,t,n,r,i,a){this.permute(a,e,t,n,r,i);for(var o=1;o<i;o<<=1)for(var s=o<<1,c=Math.cos(2*Math.PI/s),u=Math.sin(2*Math.PI/s),l=0;l<i;l+=s)for(var f=c,d=u,h=0;h<o;h++){var p=n[l+h],g=r[l+h],m=n[l+h+o],b=r[l+h+o],v=f*m-d*b;b=f*b+d*m,m=v,n[l+h]=p+m,r[l+h]=g+b,n[l+h+o]=p-m,r[l+h+o]=g-b,h!==s&&(v=c*f-u*d,d=c*d+u*f,f=v)}},g.prototype.guessLen13b=function(e,t){var n=1|Math.max(t,e),r=1&n,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},g.prototype.conjugate=function(e,t,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=e[r];e[r]=e[n-r-1],e[n-r-1]=i,i=t[r],t[r]=-t[n-r-1],t[n-r-1]=-i}},g.prototype.normalize13b=function(e,t){for(var n=0,r=0;r<t/2;r++){var i=8192*Math.round(e[2*r+1]/t)+Math.round(e[2*r]/t)+n;e[r]=67108863&i,n=i<67108864?0:i/67108864|0}return e},g.prototype.convert13b=function(e,t,n,i){for(var a=0,o=0;o<t;o++)a+=0|e[o],n[2*o]=8191&a,a>>>=13,n[2*o+1]=8191&a,a>>>=13;for(o=2*t;o<i;++o)n[o]=0;r(0===a),r(0==(-8192&a))},g.prototype.stub=function(e){for(var t=new Array(e),n=0;n<e;n++)t[n]=0;return t},g.prototype.mulp=function(e,t,n){var r=2*this.guessLen13b(e.length,t.length),i=this.makeRBT(r),a=this.stub(r),o=new Array(r),s=new Array(r),c=new Array(r),u=new Array(r),l=new Array(r),f=new Array(r),d=n.words;d.length=r,this.convert13b(e.words,e.length,o,r),this.convert13b(t.words,t.length,u,r),this.transform(o,a,s,c,r,i),this.transform(u,a,l,f,r,i);for(var h=0;h<r;h++){var p=s[h]*l[h]-c[h]*f[h];c[h]=s[h]*f[h]+c[h]*l[h],s[h]=p}return this.conjugate(s,c,r),this.transform(s,c,d,a,r,i),this.conjugate(d,a,r),this.normalize13b(d,r),n.negative=e.negative^t.negative,n.length=e.length+t.length,n.strip()},a.prototype.mul=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),this.mulTo(e,t)},a.prototype.mulf=function(e){var t=new a(null);return t.words=new Array(this.length+e.length),p(this,e,t)},a.prototype.imul=function(e){return this.clone().mulTo(e,this)},a.prototype.imuln=function(e){r("number"==typeof e),r(e<67108864);for(var t=0,n=0;n<this.length;n++){var i=(0|this.words[n])*e,a=(67108863&i)+(67108863&t);t>>=26,t+=i/67108864|0,t+=a>>>26,this.words[n]=67108863&a}return 0!==t&&(this.words[n]=t,this.length++),this},a.prototype.muln=function(e){return this.clone().imuln(e)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(e){var t=function(e){for(var t=new Array(e.bitLength()),n=0;n<t.length;n++){var r=n/26|0,i=n%26;t[n]=(e.words[r]&1<<i)>>>i}return t}(e);if(0===t.length)return new a(1);for(var n=this,r=0;r<t.length&&0===t[r];r++,n=n.sqr());if(++r<t.length)for(var i=n.sqr();r<t.length;r++,i=i.sqr())0!==t[r]&&(n=n.mul(i));return n},a.prototype.iushln=function(e){r("number"==typeof e&&e>=0);var t,n=e%26,i=(e-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var o=0;for(t=0;t<this.length;t++){var s=this.words[t]&a,c=(0|this.words[t])-s<<n;this.words[t]=c|o,o=s>>>26-n}o&&(this.words[t]=o,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t<i;t++)this.words[t]=0;this.length+=i}return this.strip()},a.prototype.ishln=function(e){return r(0===this.negative),this.iushln(e)},a.prototype.iushrn=function(e,t,n){var i;r("number"==typeof e&&e>=0),i=t?(t-t%26)/26:0;var a=e%26,o=Math.min((e-a)/26,this.length),s=67108863^67108863>>>a<<a,c=n;if(i-=o,i=Math.max(0,i),c){for(var u=0;u<o;u++)c.words[u]=this.words[u];c.length=o}if(0===o);else if(this.length>o)for(this.length-=o,u=0;u<this.length;u++)this.words[u]=this.words[u+o];else this.words[0]=0,this.length=1;var l=0;for(u=this.length-1;u>=0&&(0!==l||u>=i);u--){var f=0|this.words[u];this.words[u]=l<<26-a|f>>>a,l=f&s}return c&&0!==l&&(c.words[c.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},a.prototype.shln=function(e){return this.clone().ishln(e)},a.prototype.ushln=function(e){return this.clone().iushln(e)},a.prototype.shrn=function(e){return this.clone().ishrn(e)},a.prototype.ushrn=function(e){return this.clone().iushrn(e)},a.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26,i=1<<t;return!(this.length<=n)&&!!(this.words[n]&i)},a.prototype.imaskn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==t&&n++,this.length=Math.min(n,this.length),0!==t){var i=67108863^67108863>>>t<<t;this.words[this.length-1]&=i}return this.strip()},a.prototype.maskn=function(e){return this.clone().imaskn(e)},a.prototype.iaddn=function(e){return r("number"==typeof e),r(e<67108864),e<0?this.isubn(-e):0!==this.negative?1===this.length&&(0|this.words[0])<e?(this.words[0]=e-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(e),this.negative=1,this):this._iaddn(e)},a.prototype._iaddn=function(e){this.words[0]+=e;for(var t=0;t<this.length&&this.words[t]>=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},a.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t<this.length&&this.words[t]<0;t++)this.words[t]+=67108864,this.words[t+1]-=1;return this.strip()},a.prototype.addn=function(e){return this.clone().iaddn(e)},a.prototype.subn=function(e){return this.clone().isubn(e)},a.prototype.iabs=function(){return this.negative=0,this},a.prototype.abs=function(){return this.clone().iabs()},a.prototype._ishlnsubmul=function(e,t,n){var i,a,o=e.length+n;this._expand(o);var s=0;for(i=0;i<e.length;i++){a=(0|this.words[i+n])+s;var c=(0|e.words[i])*t;s=((a-=67108863&c)>>26)-(c/67108864|0),this.words[i+n]=67108863&a}for(;i<this.length-n;i++)s=(a=(0|this.words[i+n])+s)>>26,this.words[i+n]=67108863&a;if(0===s)return this.strip();for(r(-1===s),s=0,i=0;i<this.length;i++)s=(a=-(0|this.words[i])+s)>>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(e,t){var n=(this.length,e.length),r=this.clone(),i=e,o=0|i.words[i.length-1];0!==(n=26-this._countBits(o))&&(i=i.ushln(n),r.iushln(n),o=0|i.words[i.length-1]);var s,c=r.length-i.length;if("mod"!==t){(s=new a(null)).length=c+1,s.words=new Array(s.length);for(var u=0;u<s.length;u++)s.words[u]=0}var l=r.clone()._ishlnsubmul(i,1,c);0===l.negative&&(r=l,s&&(s.words[c]=1));for(var f=c-1;f>=0;f--){var d=67108864*(0|r.words[i.length+f])+(0|r.words[i.length+f-1]);for(d=Math.min(d/o|0,67108863),r._ishlnsubmul(i,d,f);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,f),r.isZero()||(r.negative^=1);s&&(s.words[f]=d)}return s&&s.strip(),r.strip(),"div"!==t&&0!==n&&r.iushrn(n),{div:s||null,mod:r}},a.prototype.divmod=function(e,t,n){return r(!e.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===e.negative?(s=this.neg().divmod(e,t),"mod"!==t&&(i=s.div.neg()),"div"!==t&&(o=s.mod.neg(),n&&0!==o.negative&&o.iadd(e)),{div:i,mod:o}):0===this.negative&&0!==e.negative?(s=this.divmod(e.neg(),t),"mod"!==t&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&e.negative)?(s=this.neg().divmod(e.neg(),t),"div"!==t&&(o=s.mod.neg(),n&&0!==o.negative&&o.isub(e)),{div:s.div,mod:o}):e.length>this.length||this.cmp(e)<0?{div:new a(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new a(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new a(this.modn(e.words[0]))}:this._wordDiv(e,t);var i,o,s},a.prototype.div=function(e){return this.divmod(e,"div",!1).div},a.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},a.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},a.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var n=0!==t.div.negative?t.mod.isub(e):t.mod,r=e.ushrn(1),i=e.andln(1),a=n.cmp(r);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},a.prototype.modn=function(e){r(e<=67108863);for(var t=(1<<26)%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},a.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},a.prototype.divn=function(e){return this.clone().idivn(e)},a.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i=new a(1),o=new a(0),s=new a(0),c=new a(1),u=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++u;for(var l=n.clone(),f=t.clone();!t.isZero();){for(var d=0,h=1;0==(t.words[0]&h)&&d<26;++d,h<<=1);if(d>0)for(t.iushrn(d);d-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(l),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var p=0,g=1;0==(n.words[0]&g)&&p<26;++p,g<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(s.isOdd()||c.isOdd())&&(s.iadd(l),c.isub(f)),s.iushrn(1),c.iushrn(1);t.cmp(n)>=0?(t.isub(n),i.isub(s),o.isub(c)):(n.isub(t),s.isub(i),c.isub(o))}return{a:s,b:c,gcd:n.iushln(u)}},a.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var i,o=new a(1),s=new a(0),c=n.clone();t.cmpn(1)>0&&n.cmpn(1)>0;){for(var u=0,l=1;0==(t.words[0]&l)&&u<26;++u,l<<=1);if(u>0)for(t.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(c),o.iushrn(1);for(var f=0,d=1;0==(n.words[0]&d)&&f<26;++f,d<<=1);if(f>0)for(n.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);t.cmp(n)>=0?(t.isub(n),o.isub(s)):(n.isub(t),s.isub(o))}return(i=0===t.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(e),i},a.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),n=e.clone();t.negative=0,n.negative=0;for(var r=0;t.isEven()&&n.isEven();r++)t.iushrn(1),n.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=t.cmp(n);if(i<0){var a=t;t=n,n=a}else if(0===i||0===n.cmpn(1))break;t.isub(n)}return n.iushln(r)},a.prototype.invm=function(e){return this.egcd(e).a.umod(e)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(e){return this.words[0]&e},a.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<<t;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var a=i,o=n;0!==a&&o<this.length;o++){var s=0|this.words[o];a=(s+=a)>>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:i<e?-1:1}return 0!==this.negative?0|-t:t},a.prototype.cmp=function(e){if(0!==this.negative&&0===e.negative)return-1;if(0===this.negative&&0!==e.negative)return 1;var t=this.ucmp(e);return 0!==this.negative?0|-t:t},a.prototype.ucmp=function(e){if(this.length>e.length)return 1;if(this.length<e.length)return-1;for(var t=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|e.words[n];if(r!==i){r<i?t=-1:r>i&&(t=1);break}}return t},a.prototype.gtn=function(e){return 1===this.cmpn(e)},a.prototype.gt=function(e){return 1===this.cmp(e)},a.prototype.gten=function(e){return this.cmpn(e)>=0},a.prototype.gte=function(e){return this.cmp(e)>=0},a.prototype.ltn=function(e){return-1===this.cmpn(e)},a.prototype.lt=function(e){return-1===this.cmp(e)},a.prototype.lten=function(e){return this.cmpn(e)<=0},a.prototype.lte=function(e){return this.cmp(e)<=0},a.prototype.eqn=function(e){return 0===this.cmpn(e)},a.prototype.eq=function(e){return 0===this.cmp(e)},a.red=function(e){return new S(e)},a.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},a.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(e){return this.red=e,this},a.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},a.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},a.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},a.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},a.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},a.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},a.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},a.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},a.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new a(t,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function y(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function S(e){if("string"==typeof e){var t=a._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function M(e){S.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var e=new a(null);return e.words=new Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,n=e;do{this.split(n,this.tmp),t=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(t>this.n);var r=t<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):n.strip(),n},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},i(v,b),v.prototype.split=function(e,t){for(var n=Math.min(e.length,9),r=0;r<n;r++)t.words[r]=e.words[r];if(t.length=n,e.length<=9)return e.words[0]=0,void(e.length=1);var i=e.words[9];for(t.words[t.length++]=4194303&i,r=10;r<e.length;r++){var a=0|e.words[r];e.words[r-10]=(4194303&a)<<4|i>>>22,i=a}i>>>=22,e.words[r-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,n=0;n<e.length;n++){var r=0|e.words[n];t+=977*r,e.words[n]=67108863&t,t=64*r+(t/67108864|0)}return 0===e.words[e.length-1]&&(e.length--,0===e.words[e.length-1]&&e.length--),e},i(y,b),i(_,b),i(w,b),w.prototype.imulK=function(e){for(var t=0,n=0;n<e.length;n++){var r=19*(0|e.words[n])+t,i=67108863&r;r>>>=26,e.words[n]=i,t=r}return 0!==t&&(e.words[e.length++]=t),e},a._prime=function(e){if(m[e])return m[e];var t;if("k256"===e)t=new v;else if("p224"===e)t=new y;else if("p192"===e)t=new _;else{if("p25519"!==e)throw new Error("Unknown prime "+e);t=new w}return m[e]=t,t},S.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},S.prototype._verify2=function(e,t){r(0==(e.negative|t.negative),"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},S.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},S.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},S.prototype.add=function(e,t){this._verify2(e,t);var n=e.add(t);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},S.prototype.iadd=function(e,t){this._verify2(e,t);var n=e.iadd(t);return n.cmp(this.m)>=0&&n.isub(this.m),n},S.prototype.sub=function(e,t){this._verify2(e,t);var n=e.sub(t);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},S.prototype.isub=function(e,t){this._verify2(e,t);var n=e.isub(t);return n.cmpn(0)<0&&n.iadd(this.m),n},S.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},S.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},S.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},S.prototype.isqr=function(e){return this.imul(e,e.clone())},S.prototype.sqr=function(e){return this.mul(e,e)},S.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new a(1)).iushrn(2);return this.pow(e,n)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);r(!i.isZero());var s=new a(1).toRed(this),c=s.redNeg(),u=this.m.subn(1).iushrn(1),l=this.m.bitLength();for(l=new a(2*l*l).toRed(this);0!==this.pow(l,u).cmp(c);)l.redIAdd(c);for(var f=this.pow(l,i),d=this.pow(e,i.addn(1).iushrn(1)),h=this.pow(e,i),p=o;0!==h.cmp(s);){for(var g=h,m=0;0!==g.cmp(s);m++)g=g.redSqr();r(m<p);var b=this.pow(f,new a(1).iushln(p-m-1));d=d.redMul(b),f=b.redSqr(),h=h.redMul(f),p=m}return d},S.prototype.invm=function(e){var t=e._invmp(this.m);return 0!==t.negative?(t.negative=0,this.imod(t).redNeg()):this.imod(t)},S.prototype.pow=function(e,t){if(t.isZero())return new a(1).toRed(this);if(0===t.cmpn(1))return e.clone();var n=new Array(16);n[0]=new a(1).toRed(this),n[1]=e;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],e);var i=n[0],o=0,s=0,c=t.bitLength()%26;for(0===c&&(c=26),r=t.length-1;r>=0;r--){for(var u=t.words[r],l=c-1;l>=0;l--){var f=u>>l&1;i!==n[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4===++s||0===r&&0===l)&&(i=this.mul(i,n[o]),s=0,o=0)):s=0}c=26}return i},S.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},S.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},a.mont=function(e){return new M(e)},i(M,S),M.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},M.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},M.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var n=e.imul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},M.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new a(0)._forceRed(this);var n=e.mul(t),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(void 0===e||e,this)}).call(this,n(375)(e))},function(e,t,n){var r=n(32);e.exports=function(e){return Object(r(e))}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},function(e,t,n){"use strict";var r=t;r.version=n(368).version,r.utils=n(367),r.rand=n(141),r.curve=n(70),r.curves=n(362),r.ec=n(354),r.eddsa=n(350)},function(e,t,n){var r=n(0),i=n(4),a=n(32),o=/"/g,s=function(e,t,n,r){var i=String(a(e)),s="<"+t;return""!==n&&(s+=" "+n+'="'+String(r).replace(o,"&quot;")+'"'),s+">"+i+"</"+t+">"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},function(e,t,n){var r=n(3),i=n(18),a=n(19),o=n(51)("src"),s=Function.toString,c=(""+s).split("toString");n(34).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var u="function"==typeof n;u&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(u&&(a(n,o)||i(n,o,e[t]?""+e[t]:c.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(10),i=n(52);e.exports=n(11)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t){function n(e,t){if(!e)throw new Error(t||"Assertion failed")}e.exports=n,n.equal=function(e,t,n){if(e!=t)throw new Error(n||"Assertion failed: "+e+" != "+t)}},function(e,t,n){var r=n(19),i=n(13),a=n(125)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,a)?e[a]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,t,n){var r=n(66),i=n(52),a=n(23),o=n(33),s=n(19),c=n(196),u=Object.getOwnPropertyDescriptor;t.f=n(11)?u:function(e,t){if(e=a(e),t=o(t,!0),c)try{return u(e,t)}catch(e){}if(s(e,t))return i(!r.f.call(e,t),e[t])}},function(e,t,n){var r=n(67),i=n(32);e.exports=function(e){return r(i(e))}},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";var r=n(4);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(14);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){"use strict";var r=n(20),i=n(1);function a(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function o(e){return 1===e.length?"0"+e:e}function s(e){return 7===e.length?"0"+e:6===e.length?"00"+e:5===e.length?"000"+e:4===e.length?"0000"+e:3===e.length?"00000"+e:2===e.length?"000000"+e:1===e.length?"0000000"+e:e}t.inherits=i,t.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"==typeof e)if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16))}else for(var r=0;r<e.length;r++){var i=e.charCodeAt(r),a=i>>8,o=255&i;a?n.push(a,o):n.push(o)}else for(r=0;r<e.length;r++)n[r]=0|e[r];return n},t.toHex=function(e){for(var t="",n=0;n<e.length;n++)t+=o(e[n].toString(16));return t},t.htonl=a,t.toHex32=function(e,t){for(var n="",r=0;r<e.length;r++){var i=e[r];"little"===t&&(i=a(i)),n+=s(i.toString(16))}return n},t.zero2=o,t.zero8=s,t.join32=function(e,t,n,i){var a=n-t;r(a%4==0);for(var o=new Array(a/4),s=0,c=t;s<o.length;s++,c+=4){var u;u="big"===i?e[c]<<24|e[c+1]<<16|e[c+2]<<8|e[c+3]:e[c+3]<<24|e[c+2]<<16|e[c+1]<<8|e[c],o[s]=u>>>0}return o},t.split32=function(e,t){for(var n=new Array(4*e.length),r=0,i=0;r<e.length;r++,i+=4){var a=e[r];"big"===t?(n[i]=a>>>24,n[i+1]=a>>>16&255,n[i+2]=a>>>8&255,n[i+3]=255&a):(n[i+3]=a>>>24,n[i+2]=a>>>16&255,n[i+1]=a>>>8&255,n[i]=255&a)}return n},t.rotr32=function(e,t){return e>>>t|e<<32-t},t.rotl32=function(e,t){return e<<t|e>>>32-t},t.sum32=function(e,t){return e+t>>>0},t.sum32_3=function(e,t,n){return e+t+n>>>0},t.sum32_4=function(e,t,n,r){return e+t+n+r>>>0},t.sum32_5=function(e,t,n,r,i){return e+t+n+r+i>>>0},t.sum64=function(e,t,n,r){var i=e[t],a=r+e[t+1]>>>0,o=(a<r?1:0)+n+i;e[t]=o>>>0,e[t+1]=a},t.sum64_hi=function(e,t,n,r){return(t+r>>>0<t?1:0)+e+n>>>0},t.sum64_lo=function(e,t,n,r){return t+r>>>0},t.sum64_4_hi=function(e,t,n,r,i,a,o,s){var c=0,u=t;return c+=(u=u+r>>>0)<t?1:0,c+=(u=u+a>>>0)<a?1:0,e+n+i+o+(c+=(u=u+s>>>0)<s?1:0)>>>0},t.sum64_4_lo=function(e,t,n,r,i,a,o,s){return t+r+a+s>>>0},t.sum64_5_hi=function(e,t,n,r,i,a,o,s,c,u){var l=0,f=t;return l+=(f=f+r>>>0)<t?1:0,l+=(f=f+a>>>0)<a?1:0,l+=(f=f+s>>>0)<s?1:0,e+n+i+o+c+(l+=(f=f+u>>>0)<u?1:0)>>>0},t.sum64_5_lo=function(e,t,n,r,i,a,o,s,c,u){return t+r+a+s+u>>>0},t.rotr64_hi=function(e,t,n){return(t<<32-n|e>>>n)>>>0},t.rotr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0},t.shr64_hi=function(e,t,n){return e>>>n},t.shr64_lo=function(e,t,n){return(e<<32-n|t>>>n)>>>0}},function(e,t,n){var r=n(27),i=n(67),a=n(13),o=n(9),s=n(108);e.exports=function(e,t){var n=1==e,c=2==e,u=3==e,l=4==e,f=6==e,d=5==e||f,h=t||s;return function(t,s,p){for(var g,m,b=a(t),v=i(b),y=r(s,p,3),_=o(v.length),w=0,S=n?h(t,_):c?h(t,0):void 0;_>w;w++)if((d||w in v)&&(m=y(g=v[w],w,b),e))if(n)S[w]=m;else if(m)switch(e){case 3:return!0;case 5:return g;case 6:return w;case 2:S.push(g)}else if(l)return!1;return f?-1:u||l?l:S}}},function(e,t,n){var r=n(0),i=n(34),a=n(4);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(6);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){var n=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(e,t){var n,r,i=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var c,u=[],l=!1,f=-1;function d(){l&&c&&(l=!1,c.length?u=c.concat(u):f=-1,u.length&&h())}function h(){if(!l){var e=s(d);l=!0;for(var t=u.length;t;){for(c=u,u=[];++f<t;)c&&c[f].run();f=-1,t=u.length}c=null,l=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function g(){}i.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];u.push(new p(e,t)),1!==u.length||l||s(h)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(e){return[]},i.binding=function(e){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(e){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(e,t,n){var r=n(175),i=n(0),a=n(88)("metadata"),o=a.store||(a.store=new(n(172))),s=function(e,t,n){var i=o.get(e);if(!i){if(!n)return;o.set(e,i=new r)}var a=i.get(t);if(!a){if(!n)return;i.set(t,a=new r)}return a};e.exports={store:o,map:s,has:function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},get:function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},set:function(e,t,n,r){s(n,r,!0).set(e,t)},keys:function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},key:function(e){return void 0===e||"symbol"==typeof e?e:String(e)},exp:function(e){i(i.S,"Reflect",e)}}},function(e,t,n){"use strict";if(n(11)){var r=n(50),i=n(3),a=n(4),o=n(0),s=n(78),c=n(102),u=n(27),l=n(44),f=n(52),d=n(18),h=n(42),p=n(31),g=n(9),m=n(170),b=n(48),v=n(33),y=n(19),_=n(65),w=n(6),S=n(13),M=n(111),E=n(47),A=n(21),I=n(46).f,k=n(109),O=n(51),x=n(8),P=n(29),C=n(87),D=n(80),j=n(106),N=n(56),R=n(83),T=n(45),B=n(107),L=n(180),$=n(10),U=n(22),F=$.f,z=U.f,q=i.RangeError,V=i.TypeError,H=i.Uint8Array,G=Array.prototype,K=c.ArrayBuffer,W=c.DataView,Y=P(0),J=P(2),X=P(3),Z=P(4),Q=P(5),ee=P(6),te=C(!0),ne=C(!1),re=j.values,ie=j.keys,ae=j.entries,oe=G.lastIndexOf,se=G.reduce,ce=G.reduceRight,ue=G.join,le=G.sort,fe=G.slice,de=G.toString,he=G.toLocaleString,pe=x("iterator"),ge=x("toStringTag"),me=O("typed_constructor"),be=O("def_constructor"),ve=s.CONSTR,ye=s.TYPED,_e=s.VIEW,we=P(1,function(e,t){return Ie(D(e,e[be]),t)}),Se=a(function(){return 1===new H(new Uint16Array([1]).buffer)[0]}),Me=!!H&&!!H.prototype.set&&a(function(){new H(1).set({})}),Ee=function(e,t){var n=p(e);if(n<0||n%t)throw q("Wrong offset!");return n},Ae=function(e){if(w(e)&&ye in e)return e;throw V(e+" is not a typed array!")},Ie=function(e,t){if(!(w(e)&&me in e))throw V("It is not a typed array constructor!");return new e(t)},ke=function(e,t){return Oe(D(e,e[be]),t)},Oe=function(e,t){for(var n=0,r=t.length,i=Ie(e,r);r>n;)i[n]=t[n++];return i},xe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Pe=function(e){var t,n,r,i,a,o,s=S(e),c=arguments.length,l=c>1?arguments[1]:void 0,f=void 0!==l,d=k(s);if(void 0!=d&&!M(d)){for(o=d.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(f&&c>2&&(l=u(l,arguments[2],2)),t=0,n=g(s.length),i=Ie(this,n);n>t;t++)i[t]=f?l(s[t],t):s[t];return i},Ce=function(){for(var e=0,t=arguments.length,n=Ie(this,t);t>e;)n[e]=arguments[e++];return n},De=!!H&&a(function(){he.call(new H(1))}),je=function(){return he.apply(De?fe.call(Ae(this)):Ae(this),arguments)},Ne={copyWithin:function(e,t){return L.call(Ae(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return Z(Ae(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return B.apply(Ae(this),arguments)},filter:function(e){return ke(this,J(Ae(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return Q(Ae(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ae(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){Y(Ae(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ae(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ae(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ue.apply(Ae(this),arguments)},lastIndexOf:function(e){return oe.apply(Ae(this),arguments)},map:function(e){return we(Ae(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ae(this),arguments)},reduceRight:function(e){return ce.apply(Ae(this),arguments)},reverse:function(){for(var e,t=Ae(this).length,n=Math.floor(t/2),r=0;r<n;)e=this[r],this[r++]=this[--t],this[t]=e;return this},some:function(e){return X(Ae(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return le.call(Ae(this),e)},subarray:function(e,t){var n=Ae(this),r=n.length,i=b(e,r);return new(D(n,n[be]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,g((void 0===t?r:b(t,r))-i))}},Re=function(e,t){return ke(this,fe.call(Ae(this),e,t))},Te=function(e){Ae(this);var t=Ee(arguments[1],1),n=this.length,r=S(e),i=g(r.length),a=0;if(i+t>n)throw q("Wrong length!");for(;a<i;)this[t+a]=r[a++]},Be={entries:function(){return ae.call(Ae(this))},keys:function(){return ie.call(Ae(this))},values:function(){return re.call(Ae(this))}},Le=function(e,t){return w(e)&&e[ye]&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},$e=function(e,t){return Le(e,t=v(t,!0))?f(2,e[t]):z(e,t)},Ue=function(e,t,n){return!(Le(e,t=v(t,!0))&&w(n)&&y(n,"value"))||y(n,"get")||y(n,"set")||n.configurable||y(n,"writable")&&!n.writable||y(n,"enumerable")&&!n.enumerable?F(e,t,n):(e[t]=n.value,e)};ve||(U.f=$e,$.f=Ue),o(o.S+o.F*!ve,"Object",{getOwnPropertyDescriptor:$e,defineProperty:Ue}),a(function(){de.call({})})&&(de=he=function(){return ue.call(this)});var Fe=h({},Ne);h(Fe,Be),d(Fe,pe,Be.values),h(Fe,{slice:Re,set:Te,constructor:function(){},toString:de,toLocaleString:je}),xe(Fe,"buffer","b"),xe(Fe,"byteOffset","o"),xe(Fe,"byteLength","l"),xe(Fe,"length","e"),F(Fe,ge,{get:function(){return this[ye]}}),e.exports=function(e,t,n,c){var u=e+((c=!!c)?"Clamped":"")+"Array",f="get"+e,h="set"+e,p=i[u],b=p||{},v=p&&A(p),y=!p||!s.ABV,S={},M=p&&p.prototype,k=function(e,n){F(e,n,{get:function(){return function(e,n){var r=e._d;return r.v[f](n*t+r.o,Se)}(this,n)},set:function(e){return function(e,n,r){var i=e._d;c&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[h](n*t+i.o,r,Se)}(this,n,e)},enumerable:!0})};y?(p=n(function(e,n,r,i){l(e,p,u,"_d");var a,o,s,c,f=0,h=0;if(w(n)){if(!(n instanceof K||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return ye in n?Oe(p,n):Pe.call(p,n);a=n,h=Ee(r,t);var b=n.byteLength;if(void 0===i){if(b%t)throw q("Wrong length!");if((o=b-h)<0)throw q("Wrong length!")}else if((o=g(i)*t)+h>b)throw q("Wrong length!");s=o/t}else s=m(n),a=new K(o=s*t);for(d(e,"_d",{b:a,o:h,l:o,e:s,v:new W(a)});f<s;)k(e,f++)}),M=p.prototype=E(Fe),d(M,"constructor",p)):a(function(){p(1)})&&a(function(){new p(-1)})&&R(function(e){new p,new p(null),new p(1.5),new p(e)},!0)||(p=n(function(e,n,r,i){var a;return l(e,p,u),w(n)?n instanceof K||"ArrayBuffer"==(a=_(n))||"SharedArrayBuffer"==a?void 0!==i?new b(n,Ee(r,t),i):void 0!==r?new b(n,Ee(r,t)):new b(n):ye in n?Oe(p,n):Pe.call(p,n):new b(m(n))}),Y(v!==Function.prototype?I(b).concat(I(v)):I(b),function(e){e in p||d(p,e,b[e])}),p.prototype=M,r||(M.constructor=p));var O=M[pe],x=!!O&&("values"==O.name||void 0==O.name),P=Be.values;d(p,me,!0),d(M,ye,u),d(M,_e,!0),d(M,be,p),(c?new p(1)[ge]==u:ge in M)||F(M,ge,{get:function(){return u}}),S[u]=p,o(o.G+o.W+o.F*(p!=b),S),o(o.S,u,{BYTES_PER_ELEMENT:t}),o(o.S+o.F*a(function(){b.of.call(p,1)}),u,{from:Pe,of:Ce}),"BYTES_PER_ELEMENT"in M||d(M,"BYTES_PER_ELEMENT",t),o(o.P,u,Ne),T(u),o(o.P+o.F*Me,u,{set:Te}),o(o.P+o.F*!x,u,Be),r||M.toString==de||(M.toString=de),o(o.P+o.F*a(function(){new p(1).slice()}),u,{slice:Re}),o(o.P+o.F*(a(function(){return[1,2].toLocaleString()!=new p([1,2]).toLocaleString()})||!a(function(){M.toLocaleString.call([1,2])})),u,{toLocaleString:je}),N[u]=x?O:P,r||x||d(M,pe,P)}}else e.exports=function(){}},function(e,t,n){var r=n(5).Buffer,i=n(74).Transform,a=n(95).StringDecoder;function o(e){i.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}n(1)(o,i),o.prototype.update=function(e,t,n){"string"==typeof e&&(e=r.from(e,t));var i=this._update(e);return this.hashMode?this:(n&&(i=this._toString(i,n)),i)},o.prototype.setAutoPadding=function(){},o.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},o.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},o.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},o.prototype._transform=function(e,t,n){var r;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){r=e}finally{n(r)}},o.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},o.prototype._finalOrDigest=function(e){var t=this.__final()||r.alloc(0);return e&&(t=this._toString(t,e,!0)),t},o.prototype._toString=function(e,t,n){if(this._decoder||(this._decoder=new a(t),this._encoding=t),this._encoding!==t)throw new Error("can't switch encodings");var r=this._decoder.write(e);return n&&(r+=this._decoder.end()),r},e.exports=o},function(e,t,n){var r=n(8)("unscopables"),i=Array.prototype;void 0==i[r]&&n(18)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){var r=n(51)("meta"),i=n(6),a=n(19),o=n(10).f,s=0,c=Object.isExtensible||function(){return!0},u=!n(4)(function(){return c(Object.preventExtensions({}))}),l=function(e){o(e,r,{value:{i:"O"+ ++s,w:{}}})},f=e.exports={KEY:r,NEED:!1,fastKey:function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!a(e,r)){if(!c(e))return"F";if(!t)return"E";l(e)}return e[r].i},getWeak:function(e,t){if(!a(e,r)){if(!c(e))return!0;if(!t)return!1;l(e)}return e[r].w},onFreeze:function(e){return u&&f.NEED&&c(e)&&!a(e,r)&&l(e),e}}},function(e,t,n){"use strict";var r=n(73),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=f;var a=n(63);a.inherits=n(1);var o=n(160),s=n(96);a.inherits(f,o);for(var c=i(s.prototype),u=0;u<c.length;u++){var l=c[u];f.prototype[l]||(f.prototype[l]=s.prototype[l])}function f(e){if(!(this instanceof f))return new f(e);o.call(this,e),s.call(this,e),e&&!1===e.readable&&(this.readable=!1),e&&!1===e.writable&&(this.writable=!1),this.allowHalfOpen=!0,e&&!1===e.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",d)}function d(){this.allowHalfOpen||this._writableState.ended||r.nextTick(h,this)}function h(e){e.end()}Object.defineProperty(f.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(e){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=e,this._writableState.destroyed=e)}}),f.prototype._destroy=function(e,t){this.push(null),this.end(),r.nextTick(t,e)}},function(e,t,n){var r=n(17);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},function(e,t,n){var r=n(27),i=n(182),a=n(111),o=n(2),s=n(9),c=n(109),u={},l={};(t=e.exports=function(e,t,n,f,d){var h,p,g,m,b=d?function(){return e}:c(e),v=r(n,f,t?2:1),y=0;if("function"!=typeof b)throw TypeError(e+" is not iterable!");if(a(b)){for(h=s(e.length);h>y;y++)if((m=t?v(o(p=e[y])[0],p[1]):v(e[y]))===u||m===l)return m}else for(g=b.call(e);!(p=g.next()).done;)if((m=i(g,v,p.value,t))===u||m===l)return m}).BREAK=u,t.RETURN=l},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){"use strict";var r=n(3),i=n(10),a=n(11),o=n(8)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t,n){var r=n(194),i=n(124).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},function(e,t,n){var r=n(2),i=n(193),a=n(124),o=n(125)("IE_PROTO"),s=function(){},c=function(){var e,t=n(127)("iframe"),r=a.length;for(t.style.display="none",n(123).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write("<script>document.F=Object<\/script>"),e.close(),c=e.F;r--;)delete c.prototype[a[r]];return c()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=c(),void 0===t?n:i(n,t)}},function(e,t,n){var r=n(31),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(194),i=n(124);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t){e.exports=!1},function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(5).Buffer;function i(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}i.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,i=this._blockSize,a=e.length,o=this._len,s=0;s<a;){for(var c=o%i,u=Math.min(a-s,i-c),l=0;l<u;l++)n[c+l]=e[s+l];s+=u,(o+=u)%i==0&&this._update(n)}return this._len+=a,this},i.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,i=(n-r)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},i.prototype._update=function(){throw new Error("_update must be implemented by subclass")},e.exports=i},function(e,t,n){"use strict";(function(t,r){var i=n(5).Buffer,a=t.crypto||t.msCrypto;a&&a.getRandomValues?e.exports=function(e,n){if(e>65536)throw new Error("requested too many random bytes");var o=new t.Uint8Array(e);e>0&&a.getRandomValues(o);var s=i.from(o.buffer);if("function"==typeof n)return r.nextTick(function(){n(null,s)});return s}:e.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}}).call(this,n(24),n(35))},function(e,t,n){var r=n(6);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){e.exports={}},function(e,t,n){var r=n(0),i=n(32),a=n(4),o=n(121),s="["+o+"]",c=RegExp("^"+s+s+"*"),u=RegExp(s+s+"*$"),l=function(e,t,n){var i={},s=a(function(){return!!o[e]()||"​
1495"!="​
1496"[e]()}),c=i[e]=s?t(f):o[e];n&&(i[n]=c),r(r.P+r.F*s,"String",i)},f=l.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(c,"")),2&t&&(e=e.replace(u,"")),e};e.exports=l},function(e,t,n){var r=n(10).f,i=n(19),a=n(8)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t,n){var r=t;r.Reporter=n(343).Reporter,r.DecoderBuffer=n(136).DecoderBuffer,r.EncoderBuffer=n(136).EncoderBuffer,r.Node=n(342)},function(e,t,n){var r=t;r.bignum=n(12),r.define=n(346).define,r.base=n(59),r.constants=n(135),r.decoders=n(340),r.encoders=n(338)},function(e,t,n){"use strict";var r=n(28),i=n(20);function a(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}t.BlockHash=a,a.prototype.update=function(e,t){if(e=r.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var n=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-n,e.length),0===this.pending.length&&(this.pending=null),e=r.join32(e,0,e.length-n,this.endian);for(var i=0;i<e.length;i+=this._delta32)this._update(e,i,i+this._delta32)}return this},a.prototype.digest=function(e){return this.update(this._pad()),i(null===this.pending),this._digest(e)},a.prototype._pad=function(){var e=this.pendingTotal,t=this._delta8,n=t-(e+this.padLength)%t,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(e<<=3,"big"===this.endian){for(var a=8;a<this.padLength;a++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=e>>>24&255,r[i++]=e>>>16&255,r[i++]=e>>>8&255,r[i++]=255&e}else for(r[i++]=255&e,r[i++]=e>>>8&255,r[i++]=e>>>16&255,r[i++]=e>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,a=8;a<this.padLength;a++)r[i++]=0;return r}},function(e,t,n){(function(t){e.exports=function(e,n){for(var r=Math.min(e.length,n.length),i=new t(r),a=0;a<r;++a)i[a]=e[a]^n[a];return i}}).call(this,n(7).Buffer)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(7).Buffer)},function(e,t,n){"use strict";(function(t){var r=n(1),i=n(100),a=n(99),o=n(94),s=n(38);function c(e){s.call(this,"digest"),this._hash=e,this.buffers=[]}function u(e){s.call(this,"digest"),this._hash=e}r(c,s),c.prototype._update=function(e){this.buffers.push(e)},c.prototype._final=function(){var e=t.concat(this.buffers),n=this._hash(e);return this.buffers=null,n},r(u,s),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new c(i):new u("rmd160"===e||"ripemd160"===e?new a:o(e))}}).call(this,n(7).Buffer)},function(e,t,n){var r=n(26),i=n(8)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var r=n(26);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HardwareType=t.NodeTypes=t.ScriptStatus=t.NodeStatus=void 0;t.NodeStatus={NEW:0,COMMISSIONING:1,FAILED_COMMISSIONING:2,MISSING:3,READY:4,RESERVED:5,DEPLOYED:6,RETIRED:7,BROKEN:8,DEPLOYING:9,ALLOCATED:10,FAILED_DEPLOYMENT:11,RELEASING:12,FAILED_RELEASING:13,DISK_ERASING:14,FAILED_DISK_ERASING:15,RESCUE_MODE:16,ENTERING_RESCUE_MODE:17,FAILED_ENTERING_RESCUE_MODE:18,EXITING_RESCUE_MODE:19,FAILED_EXITING_RESCUE_MODE:20,TESTING:21,FAILED_TESTING:22};t.ScriptStatus={PENDING:0,RUNNING:1,PASSED:2,FAILED:3,TIMEDOUT:4,ABORTED:5,DEGRADED:6,INSTALLING:7,FAILED_INSTALLING:8,SKIPPED:9};t.NodeTypes={REGION_CONTROLLER:3};t.HardwareType={NODE:0,CPU:1,MEMORY:2,STORAGE:3}},function(e,t,n){(function(t){var r=n(347),i=n(335),a=n(334),o=n(93),s=n(152);function c(e){var n;"object"!=typeof e||t.isBuffer(e)||(n=e.passphrase,e=e.key),"string"==typeof e&&(e=new t(e));var c,u,l=a(e,n),f=l.tag,d=l.data;switch(f){case"CERTIFICATE":u=r.certificate.decode(d,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(u||(u=r.PublicKey.decode(d,"der")),c=u.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return r.RSAPublicKey.decode(u.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return u.subjectPrivateKey=u.subjectPublicKey,{type:"ec",data:u};case"1.2.840.10040.4.1":return u.algorithm.params.pub_key=r.DSAparam.decode(u.subjectPublicKey.data,"der"),{type:"dsa",data:u.algorithm.params};default:throw new Error("unknown key id "+c)}throw new Error("unknown key type "+f);case"ENCRYPTED PRIVATE KEY":d=function(e,n){var r=e.algorithm.decrypt.kde.kdeparams.salt,a=parseInt(e.algorithm.decrypt.kde.kdeparams.iters.toString(),10),c=i[e.algorithm.decrypt.cipher.algo.join(".")],u=e.algorithm.decrypt.cipher.iv,l=e.subjectPrivateKey,f=parseInt(c.split("-")[1],10)/8,d=s.pbkdf2Sync(n,r,a,f),h=o.createDecipheriv(c,d,u),p=[];return p.push(h.update(l)),p.push(h.final()),t.concat(p)}(d=r.EncryptedPrivateKey.decode(d,"der"),n);case"PRIVATE KEY":switch(c=(u=r.PrivateKey.decode(d,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return r.RSAPrivateKey.decode(u.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:u.algorithm.curve,privateKey:r.ECPrivateKey.decode(u.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return u.algorithm.params.priv_key=r.DSAparam.decode(u.subjectPrivateKey,"der"),{type:"dsa",params:u.algorithm.params};default:throw new Error("unknown key id "+c)}throw new Error("unknown key type "+f);case"RSA PUBLIC KEY":return r.RSAPublicKey.decode(d,"der");case"RSA PRIVATE KEY":return r.RSAPrivateKey.decode(d,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:r.DSAPrivateKey.decode(d,"der")};case"EC PRIVATE KEY":return{curve:(d=r.ECPrivateKey.decode(d,"der")).parameters.value,privateKey:d.privateKey};default:throw new Error("unknown key type "+f)}}e.exports=c,c.signature=r.signature}).call(this,n(7).Buffer)},function(e,t,n){"use strict";var r=t;r.base=n(366),r.short=n(365),r.mont=n(364),r.edwards=n(363)},function(e,t,n){var r=n(5).Buffer;function i(e){r.isBuffer(e)||(e=r.from(e));for(var t=e.length/4|0,n=new Array(t),i=0;i<t;i++)n[i]=e.readUInt32BE(4*i);return n}function a(e){for(;0<e.length;e++)e[0]=0}function o(e,t,n,r,i){for(var a,o,s,c,u=n[0],l=n[1],f=n[2],d=n[3],h=e[0]^t[0],p=e[1]^t[1],g=e[2]^t[2],m=e[3]^t[3],b=4,v=1;v<i;v++)a=u[h>>>24]^l[p>>>16&255]^f[g>>>8&255]^d[255&m]^t[b++],o=u[p>>>24]^l[g>>>16&255]^f[m>>>8&255]^d[255&h]^t[b++],s=u[g>>>24]^l[m>>>16&255]^f[h>>>8&255]^d[255&p]^t[b++],c=u[m>>>24]^l[h>>>16&255]^f[p>>>8&255]^d[255&g]^t[b++],h=a,p=o,g=s,m=c;return a=(r[h>>>24]<<24|r[p>>>16&255]<<16|r[g>>>8&255]<<8|r[255&m])^t[b++],o=(r[p>>>24]<<24|r[g>>>16&255]<<16|r[m>>>8&255]<<8|r[255&h])^t[b++],s=(r[g>>>24]<<24|r[m>>>16&255]<<16|r[h>>>8&255]<<8|r[255&p])^t[b++],c=(r[m>>>24]<<24|r[h>>>16&255]<<16|r[p>>>8&255]<<8|r[255&g])^t[b++],[a>>>=0,o>>>=0,s>>>=0,c>>>=0]}var s=[0,1,2,4,8,16,32,64,128,27,54],c=function(){for(var e=new Array(256),t=0;t<256;t++)e[t]=t<128?t<<1:t<<1^283;for(var n=[],r=[],i=[[],[],[],[]],a=[[],[],[],[]],o=0,s=0,c=0;c<256;++c){var u=s^s<<1^s<<2^s<<3^s<<4;u=u>>>8^255&u^99,n[o]=u,r[u]=o;var l=e[o],f=e[l],d=e[f],h=257*e[u]^16843008*u;i[0][o]=h<<24|h>>>8,i[1][o]=h<<16|h>>>16,i[2][o]=h<<8|h>>>24,i[3][o]=h,h=16843009*d^65537*f^257*l^16843008*o,a[0][u]=h<<24|h>>>8,a[1][u]=h<<16|h>>>16,a[2][u]=h<<8|h>>>24,a[3][u]=h,0===o?o=s=1:(o=l^e[e[e[d^l]]],s^=e[e[s]])}return{SBOX:n,INV_SBOX:r,SUB_MIX:i,INV_SUB_MIX:a}}();function u(e){this._key=i(e),this._reset()}u.blockSize=16,u.keySize=32,u.prototype.blockSize=u.blockSize,u.prototype.keySize=u.keySize,u.prototype._reset=function(){for(var e=this._key,t=e.length,n=t+6,r=4*(n+1),i=[],a=0;a<t;a++)i[a]=e[a];for(a=t;a<r;a++){var o=i[a-1];a%t==0?(o=o<<8|o>>>24,o=c.SBOX[o>>>24]<<24|c.SBOX[o>>>16&255]<<16|c.SBOX[o>>>8&255]<<8|c.SBOX[255&o],o^=s[a/t|0]<<24):t>6&&a%t==4&&(o=c.SBOX[o>>>24]<<24|c.SBOX[o>>>16&255]<<16|c.SBOX[o>>>8&255]<<8|c.SBOX[255&o]),i[a]=i[a-t]^o}for(var u=[],l=0;l<r;l++){var f=r-l,d=i[f-(l%4?0:4)];u[l]=l<4||f<=4?d:c.INV_SUB_MIX[0][c.SBOX[d>>>24]]^c.INV_SUB_MIX[1][c.SBOX[d>>>16&255]]^c.INV_SUB_MIX[2][c.SBOX[d>>>8&255]]^c.INV_SUB_MIX[3][c.SBOX[255&d]]}this._nRounds=n,this._keySchedule=i,this._invKeySchedule=u},u.prototype.encryptBlockRaw=function(e){return o(e=i(e),this._keySchedule,c.SUB_MIX,c.SBOX,this._nRounds)},u.prototype.encryptBlock=function(e){var t=this.encryptBlockRaw(e),n=r.allocUnsafe(16);return n.writeUInt32BE(t[0],0),n.writeUInt32BE(t[1],4),n.writeUInt32BE(t[2],8),n.writeUInt32BE(t[3],12),n},u.prototype.decryptBlock=function(e){var t=(e=i(e))[1];e[1]=e[3],e[3]=t;var n=o(e,this._invKeySchedule,c.INV_SUB_MIX,c.INV_SBOX,this._nRounds),a=r.allocUnsafe(16);return a.writeUInt32BE(n[0],0),a.writeUInt32BE(n[3],4),a.writeUInt32BE(n[2],8),a.writeUInt32BE(n[1],12),a},u.prototype.scrub=function(){a(this._keySchedule),a(this._invKeySchedule),a(this._key)},e.exports.AES=u},function(e,t,n){var r=n(5).Buffer,i=n(394);e.exports=function(e,t,n,a){if(r.isBuffer(e)||(e=r.from(e,"binary")),t&&(r.isBuffer(t)||(t=r.from(t,"binary")),8!==t.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var o=n/8,s=r.alloc(o),c=r.alloc(a||0),u=r.alloc(0);o>0||a>0;){var l=new i;l.update(u),l.update(e),t&&l.update(t),u=l.digest();var f=0;if(o>0){var d=s.length-o;f=Math.min(o,u.length),u.copy(s,d,0,f),o-=f}if(f<u.length&&a>0){var h=c.length-a,p=Math.min(a,u.length-f);u.copy(c,h,f,f+p),a-=p}}return u.fill(0),{key:s,iv:c}}},function(e,t,n){"use strict";(function(t){!t.version||0===t.version.indexOf("v0.")||0===t.version.indexOf("v1.")&&0!==t.version.indexOf("v1.8.")?e.exports={nextTick:function(e,n,r,i){if("function"!=typeof e)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return t.nextTick(e);case 2:return t.nextTick(function(){e.call(null,n)});case 3:return t.nextTick(function(){e.call(null,n,r)});case 4:return t.nextTick(function(){e.call(null,n,r,i)});default:for(a=new Array(s-1),o=0;o<a.length;)a[o++]=arguments[o];return t.nextTick(function(){e.apply(null,a)})}}}:e.exports=t}).call(this,n(35))},function(e,t,n){e.exports=i;var r=n(98).EventEmitter;function i(){r.call(this)}n(1)(i,r),i.Readable=n(97),i.Writable=n(406),i.Duplex=n(405),i.Transform=n(404),i.PassThrough=n(403),i.Stream=i,i.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(n.on("end",s),n.on("close",c));var o=!1;function s(){o||(o=!0,e.end())}function c(){o||(o=!0,"function"==typeof e.destroy&&e.destroy())}function u(e){if(l(),0===r.listenerCount(this,"error"))throw e}function l(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",c),n.removeListener("error",u),e.removeListener("error",u),n.removeListener("end",l),n.removeListener("close",l),e.removeListener("close",l)}return n.on("error",u),e.on("error",u),n.on("end",l),n.on("close",l),e.on("close",l),e.emit("pipe",n),e}},function(e,t,n){"use strict";var r=n(0),i=n(14),a=n(27),o=n(43);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,c=arguments[1];return i(this),(t=void 0!==c)&&i(c),void 0==e?new this:(n=[],t?(r=0,s=a(c,arguments[2],2),o(e,!1,function(e){n.push(s(e,r++))})):o(e,!1,n.push,n),new this(n))}})}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},function(e,t,n){"use strict";e.exports=n(50)||!n(4)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete n(3)[e]})},function(e,t,n){for(var r,i=n(3),a=n(18),o=n(51),s=o("typed_array"),c=o("view"),u=!(!i.ArrayBuffer||!i.DataView),l=u,f=0,d="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");f<9;)(r=i[d[f++]])?(a(r.prototype,s,!0),a(r.prototype,c,!0)):l=!1;e.exports={ABV:u,CONSTR:l,TYPED:s,VIEW:c}},function(e,t,n){"use strict";var r=n(3),i=n(0),a=n(17),o=n(42),s=n(40),c=n(43),u=n(44),l=n(6),f=n(4),d=n(83),h=n(58),p=n(120);e.exports=function(e,t,n,g,m,b){var v=r[e],y=v,_=m?"set":"add",w=y&&y.prototype,S={},M=function(e){var t=w[e];a(w,e,"delete"==e?function(e){return!(b&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(b&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return b&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof y&&(b||w.forEach&&!f(function(){(new y).entries().next()}))){var E=new y,A=E[_](b?{}:-0,1)!=E,I=f(function(){E.has(1)}),k=d(function(e){new y(e)}),O=!b&&f(function(){for(var e=new y,t=5;t--;)e[_](t,t);return!e.has(-0)});k||((y=t(function(t,n){u(t,y,e);var r=p(new v,t,y);return void 0!=n&&c(n,m,r[_],r),r})).prototype=w,w.constructor=y),(I||O)&&(M("delete"),M("has"),m&&M("get")),(O||A)&&M(_),b&&w.clear&&delete w.clear}else y=g.getConstructor(t,e,m,_),o(y.prototype,n),s.NEED=!0;return h(y,e),S[e]=y,i(i.G+i.W+i.F*(y!=v),S),b||g.setStrong(y,e,m),y}},function(e,t,n){var r=n(2),i=n(14),a=n(8)("species");e.exports=function(e,t){var n,o=r(e).constructor;return void 0===o||void 0==(n=r(o)[a])?t:i(n)}},function(e,t,n){"use strict";var r=n(18),i=n(17),a=n(4),o=n(32),s=n(8);e.exports=function(e,t,n){var c=s(e),u=n(o,c,""[e]),l=u[0],f=u[1];a(function(){var t={};return t[c]=function(){return 7},7!=""[e](t)})&&(i(String.prototype,e,l),r(RegExp.prototype,c,2==t?function(e,t){return f.call(e,this,t)}:function(e){return f.call(e,this)}))}},function(e,t,n){"use strict";var r=n(2);e.exports=function(){var e=r(this),t="";return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},function(e,t,n){var r=n(8)("iterator"),i=!1;try{var a=[7][r]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var a=[7],o=a[r]();o.next=function(){return{done:n=!0}},a[r]=function(){return o},e(a)}catch(e){}return n}},function(e,t,n){var r=n(6),i=n(26),a=n(8)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},function(e,t,n){var r=n(26);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(23),i=n(9),a=n(48);e.exports=function(e){return function(t,n,o){var s,c=r(t),u=i(c.length),l=a(o,u);if(e&&n!=n){for(;u>l;)if((s=c[l++])!=s)return!0}else for(;u>l;l++)if((e||l in c)&&c[l]===n)return e||l||0;return!e&&-1}}},function(e,t,n){var r=n(3),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={});e.exports=function(e){return i[e]||(i[e]={})}},function(e,t,n){var r=t;r.utils=n(28),r.common=n(61),r.sha=n(361),r.ripemd=n(357),r.hmac=n(356),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},function(e,t,n){(function(t){var r=n(12),i=n(54);function a(e,n){var i=function(e){var t=o(e);return{blinder:t.toRed(r.mont(e.modulus)).redPow(new r(e.publicExponent)).fromRed(),unblinder:t.invm(e.modulus)}}(n),a=n.modulus.byteLength(),s=(r.mont(n.modulus),new r(e).mul(i.blinder).umod(n.modulus)),c=s.toRed(r.mont(n.prime1)),u=s.toRed(r.mont(n.prime2)),l=n.coefficient,f=n.prime1,d=n.prime2,h=c.redPow(n.exponent1),p=u.redPow(n.exponent2);h=h.fromRed(),p=p.fromRed();var g=h.isub(p).imul(l).umod(f);return g.imul(d),p.iadd(g),new t(p.imul(i.unblinder).umod(n.modulus).toArray(!1,a))}function o(e){for(var t=e.modulus.byteLength(),n=new r(i(t));n.cmp(e.modulus)>=0||!n.umod(e.prime1)||!n.umod(e.prime2);)n=new r(i(t));return n}e.exports=a,a.getr=o}).call(this,n(7).Buffer)},function(e,t,n){"use strict";t.utils=n(382),t.Cipher=n(381),t.DES=n(380),t.CBC=n(379),t.EDE=n(378)},function(e,t,n){var r={ECB:n(391),CBC:n(390),CFB:n(389),CFB8:n(388),CFB1:n(387),OFB:n(386),CTR:n(148),GCM:n(148)},i=n(146);for(var a in i)i[a].module=r[i[a].mode];e.exports=i},function(e,t,n){var r=n(392),i=n(384),a=n(146);t.createCipher=t.Cipher=r.createCipher,t.createCipheriv=t.Cipheriv=r.createCipheriv,t.createDecipher=t.Decipher=i.createDecipher,t.createDecipheriv=t.Decipheriv=i.createDecipheriv,t.listCiphers=t.getCiphers=function(){return Object.keys(a)}},function(e,t,n){(t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+" is not supported (we accept pull requests)");return new n}).sha=n(402),t.sha1=n(401),t.sha224=n(400),t.sha256=n(156),t.sha384=n(399),t.sha512=n(155)},function(e,t,n){"use strict";var r=n(5).Buffer,i=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===i||!i(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=u,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=l,this.end=f,t=3;break;default:return this.write=d,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function c(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function u(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function l(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function f(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function d(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=a,a.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<e.length?t?t+this.text(e,n):this.text(e,n):t||""},a.prototype.end=function(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t},a.prototype.text=function(e,t){var n=function(e,t,n){var r=t.length-1;if(r<n)return 0;var i=o(t[r]);if(i>=0)return i>0&&(e.lastNeed=i-1),i;if(--r<n||-2===i)return 0;if((i=o(t[r]))>=0)return i>0&&(e.lastNeed=i-2),i;if(--r<n||-2===i)return 0;if((i=o(t[r]))>=0)return i>0&&(2===i?i=0:e.lastNeed=i-3),i;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},a.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";(function(t,r,i){var a=n(73);function o(e){var t=this;this.next=null,this.entry=null,this.finish=function(){!function(e,t,n){var r=e.entry;e.entry=null;for(;r;){var i=r.callback;t.pendingcb--,i(n),r=r.next}t.corkedRequestsFree?t.corkedRequestsFree.next=e:t.corkedRequestsFree=e}(t,e)}}e.exports=v;var s,c=!t.browser&&["v0.10","v0.9."].indexOf(t.version.slice(0,5))>-1?r:a.nextTick;v.WritableState=b;var u=n(63);u.inherits=n(1);var l={deprecate:n(408)},f=n(159),d=n(5).Buffer,h=i.Uint8Array||function(){};var p,g=n(158);function m(){}function b(e,t){s=s||n(41),e=e||{};var r=t instanceof s;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode);var i=e.highWaterMark,u=e.writableHighWaterMark,l=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(u||0===u)?u:l,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var f=!1===e.decodeStrings;this.decodeStrings=!f,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(e){!function(e,t){var n=e._writableState,r=n.sync,i=n.writecb;if(function(e){e.writing=!1,e.writecb=null,e.length-=e.writelen,e.writelen=0}(n),t)!function(e,t,n,r,i){--t.pendingcb,n?(a.nextTick(i,r),a.nextTick(E,e,t),e._writableState.errorEmitted=!0,e.emit("error",r)):(i(r),e._writableState.errorEmitted=!0,e.emit("error",r),E(e,t))}(e,n,r,t,i);else{var o=S(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||w(e,n),r?c(_,e,n,o,i):_(e,n,o,i)}}(t,e)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function v(e){if(s=s||n(41),!(p.call(v,this)||this instanceof s))return new v(e);this._writableState=new b(e,this),this.writable=!0,e&&("function"==typeof e.write&&(this._write=e.write),"function"==typeof e.writev&&(this._writev=e.writev),"function"==typeof e.destroy&&(this._destroy=e.destroy),"function"==typeof e.final&&(this._final=e.final)),f.call(this)}function y(e,t,n,r,i,a,o){t.writelen=r,t.writecb=o,t.writing=!0,t.sync=!0,n?e._writev(i,t.onwrite):e._write(i,a,t.onwrite),t.sync=!1}function _(e,t,n,r){n||function(e,t){0===t.length&&t.needDrain&&(t.needDrain=!1,e.emit("drain"))}(e,t),t.pendingcb--,r(),E(e,t)}function w(e,t){t.bufferProcessing=!0;var n=t.bufferedRequest;if(e._writev&&n&&n.next){var r=t.bufferedRequestCount,i=new Array(r),a=t.corkedRequestsFree;a.entry=n;for(var s=0,c=!0;n;)i[s]=n,n.isBuf||(c=!1),n=n.next,s+=1;i.allBuffers=c,y(e,t,!0,t.length,i,"",a.finish),t.pendingcb++,t.lastBufferedRequest=null,a.next?(t.corkedRequestsFree=a.next,a.next=null):t.corkedRequestsFree=new o(t),t.bufferedRequestCount=0}else{for(;n;){var u=n.chunk,l=n.encoding,f=n.callback;if(y(e,t,!1,t.objectMode?1:u.length,u,l,f),n=n.next,t.bufferedRequestCount--,t.writing)break}null===n&&(t.lastBufferedRequest=null)}t.bufferedRequest=n,t.bufferProcessing=!1}function S(e){return e.ending&&0===e.length&&null===e.bufferedRequest&&!e.finished&&!e.writing}function M(e,t){e._final(function(n){t.pendingcb--,n&&e.emit("error",n),t.prefinished=!0,e.emit("prefinish"),E(e,t)})}function E(e,t){var n=S(t);return n&&(!function(e,t){t.prefinished||t.finalCalled||("function"==typeof e._final?(t.pendingcb++,t.finalCalled=!0,a.nextTick(M,e,t)):(t.prefinished=!0,e.emit("prefinish")))}(e,t),0===t.pendingcb&&(t.finished=!0,e.emit("finish"))),n}u.inherits(v,f),b.prototype.getBuffer=function(){for(var e=this.bufferedRequest,t=[];e;)t.push(e),e=e.next;return t},function(){try{Object.defineProperty(b.prototype,"buffer",{get:l.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(e){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(v,Symbol.hasInstance,{value:function(e){return!!p.call(this,e)||this===v&&(e&&e._writableState instanceof b)}})):p=function(e){return e instanceof this},v.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},v.prototype.write=function(e,t,n){var r,i=this._writableState,o=!1,s=!i.objectMode&&(r=e,d.isBuffer(r)||r instanceof h);return s&&!d.isBuffer(e)&&(e=function(e){return d.from(e)}(e)),"function"==typeof t&&(n=t,t=null),s?t="buffer":t||(t=i.defaultEncoding),"function"!=typeof n&&(n=m),i.ended?function(e,t){var n=new Error("write after end");e.emit("error",n),a.nextTick(t,n)}(this,n):(s||function(e,t,n,r){var i=!0,o=!1;return null===n?o=new TypeError("May not write null values to stream"):"string"==typeof n||void 0===n||t.objectMode||(o=new TypeError("Invalid non-string/buffer chunk")),o&&(e.emit("error",o),a.nextTick(r,o),i=!1),i}(this,i,e,n))&&(i.pendingcb++,o=function(e,t,n,r,i,a){if(!n){var o=function(e,t,n){e.objectMode||!1===e.decodeStrings||"string"!=typeof t||(t=d.from(t,n));return t}(t,r,i);r!==o&&(n=!0,i="buffer",r=o)}var s=t.objectMode?1:r.length;t.length+=s;var c=t.length<t.highWaterMark;c||(t.needDrain=!0);if(t.writing||t.corked){var u=t.lastBufferedRequest;t.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:a,next:null},u?u.next=t.lastBufferedRequest:t.bufferedRequest=t.lastBufferedRequest,t.bufferedRequestCount+=1}else y(e,t,!1,s,r,i,a);return c}(this,i,s,e,t,n)),o},v.prototype.cork=function(){this._writableState.corked++},v.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,e.writing||e.corked||e.finished||e.bufferProcessing||!e.bufferedRequest||w(this,e))},v.prototype.setDefaultEncoding=function(e){if("string"==typeof e&&(e=e.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);return this._writableState.defaultEncoding=e,this},v.prototype._write=function(e,t,n){n(new Error("_write() is not implemented"))},v.prototype._writev=null,v.prototype.end=function(e,t,n){var r=this._writableState;"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!==e&&void 0!==e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(e,t,n){t.ending=!0,E(e,t),n&&(t.finished?a.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n)},Object.defineProperty(v.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),v.prototype.destroy=g.destroy,v.prototype._undestroy=g.undestroy,v.prototype._destroy=function(e,t){this.end(),t(e)}}).call(this,n(35),n(410).setImmediate,n(24))},function(e,t,n){(t=e.exports=n(160)).Stream=t,t.Readable=t,t.Writable=n(96),t.Duplex=n(41),t.Transform=n(157),t.PassThrough=n(407)},function(e,t){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return"function"==typeof e}function i(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}e.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,n,o,s,c,u;if(this._events||(this._events={}),"error"===e&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}if(a(n=this._events[e]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(i(n))for(s=Array.prototype.slice.call(arguments,1),o=(u=n.slice()).length,c=0;c<o;c++)u[c].apply(this,s);return!0},n.prototype.addListener=function(e,t){var o;if(!r(t))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,r(t.listener)?t.listener:t),this._events[e]?i(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,i(this._events[e])&&!this._events[e].warned&&(o=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[e].length>o&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace()),this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){if(!r(t))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(e,i),n||(n=!0,t.apply(this,arguments))}return i.listener=t,this.on(e,i),this},n.prototype.removeListener=function(e,t){var n,a,o,s;if(!r(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(o=(n=this._events[e]).length,a=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(i(n)){for(s=o;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=s;break}if(a<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(a,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[e]))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},n.listenerCount=function(e,t){return e.listenerCount(t)}},function(e,t,n){"use strict";(function(t){var r=n(1),i=n(414);function a(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function o(e,t){return e<<t|e>>>32-t}function s(e,t,n,r,i,a,s,c){return o(e+(t^n^r)+a+s|0,c)+i|0}function c(e,t,n,r,i,a,s,c){return o(e+(t&n|~t&r)+a+s|0,c)+i|0}function u(e,t,n,r,i,a,s,c){return o(e+((t|~n)^r)+a+s|0,c)+i|0}function l(e,t,n,r,i,a,s,c){return o(e+(t&r|n&~r)+a+s|0,c)+i|0}function f(e,t,n,r,i,a,s,c){return o(e+(t^(n|~r))+a+s|0,c)+i|0}r(a,i),a.prototype._update=function(){for(var e=new Array(16),t=0;t<16;++t)e[t]=this._block.readInt32LE(4*t);var n=this._a,r=this._b,i=this._c,a=this._d,d=this._e;d=s(d,n=s(n,r,i,a,d,e[0],0,11),r,i=o(i,10),a,e[1],0,14),r=s(r=o(r,10),i=s(i,a=s(a,d,n,r,i,e[2],0,15),d,n=o(n,10),r,e[3],0,12),a,d=o(d,10),n,e[4],0,5),a=s(a=o(a,10),d=s(d,n=s(n,r,i,a,d,e[5],0,8),r,i=o(i,10),a,e[6],0,7),n,r=o(r,10),i,e[7],0,9),n=s(n=o(n,10),r=s(r,i=s(i,a,d,n,r,e[8],0,11),a,d=o(d,10),n,e[9],0,13),i,a=o(a,10),d,e[10],0,14),i=s(i=o(i,10),a=s(a,d=s(d,n,r,i,a,e[11],0,15),n,r=o(r,10),i,e[12],0,6),d,n=o(n,10),r,e[13],0,7),d=c(d=o(d,10),n=s(n,r=s(r,i,a,d,n,e[14],0,9),i,a=o(a,10),d,e[15],0,8),r,i=o(i,10),a,e[7],1518500249,7),r=c(r=o(r,10),i=c(i,a=c(a,d,n,r,i,e[4],1518500249,6),d,n=o(n,10),r,e[13],1518500249,8),a,d=o(d,10),n,e[1],1518500249,13),a=c(a=o(a,10),d=c(d,n=c(n,r,i,a,d,e[10],1518500249,11),r,i=o(i,10),a,e[6],1518500249,9),n,r=o(r,10),i,e[15],1518500249,7),n=c(n=o(n,10),r=c(r,i=c(i,a,d,n,r,e[3],1518500249,15),a,d=o(d,10),n,e[12],1518500249,7),i,a=o(a,10),d,e[0],1518500249,12),i=c(i=o(i,10),a=c(a,d=c(d,n,r,i,a,e[9],1518500249,15),n,r=o(r,10),i,e[5],1518500249,9),d,n=o(n,10),r,e[2],1518500249,11),d=c(d=o(d,10),n=c(n,r=c(r,i,a,d,n,e[14],1518500249,7),i,a=o(a,10),d,e[11],1518500249,13),r,i=o(i,10),a,e[8],1518500249,12),r=u(r=o(r,10),i=u(i,a=u(a,d,n,r,i,e[3],1859775393,11),d,n=o(n,10),r,e[10],1859775393,13),a,d=o(d,10),n,e[14],1859775393,6),a=u(a=o(a,10),d=u(d,n=u(n,r,i,a,d,e[4],1859775393,7),r,i=o(i,10),a,e[9],1859775393,14),n,r=o(r,10),i,e[15],1859775393,9),n=u(n=o(n,10),r=u(r,i=u(i,a,d,n,r,e[8],1859775393,13),a,d=o(d,10),n,e[1],1859775393,15),i,a=o(a,10),d,e[2],1859775393,14),i=u(i=o(i,10),a=u(a,d=u(d,n,r,i,a,e[7],1859775393,8),n,r=o(r,10),i,e[0],1859775393,13),d,n=o(n,10),r,e[6],1859775393,6),d=u(d=o(d,10),n=u(n,r=u(r,i,a,d,n,e[13],1859775393,5),i,a=o(a,10),d,e[11],1859775393,12),r,i=o(i,10),a,e[5],1859775393,7),r=l(r=o(r,10),i=l(i,a=u(a,d,n,r,i,e[12],1859775393,5),d,n=o(n,10),r,e[1],2400959708,11),a,d=o(d,10),n,e[9],2400959708,12),a=l(a=o(a,10),d=l(d,n=l(n,r,i,a,d,e[11],2400959708,14),r,i=o(i,10),a,e[10],2400959708,15),n,r=o(r,10),i,e[0],2400959708,14),n=l(n=o(n,10),r=l(r,i=l(i,a,d,n,r,e[8],2400959708,15),a,d=o(d,10),n,e[12],2400959708,9),i,a=o(a,10),d,e[4],2400959708,8),i=l(i=o(i,10),a=l(a,d=l(d,n,r,i,a,e[13],2400959708,9),n,r=o(r,10),i,e[3],2400959708,14),d,n=o(n,10),r,e[7],2400959708,5),d=l(d=o(d,10),n=l(n,r=l(r,i,a,d,n,e[15],2400959708,6),i,a=o(a,10),d,e[14],2400959708,8),r,i=o(i,10),a,e[5],2400959708,6),r=f(r=o(r,10),i=l(i,a=l(a,d,n,r,i,e[6],2400959708,5),d,n=o(n,10),r,e[2],2400959708,12),a,d=o(d,10),n,e[4],2840853838,9),a=f(a=o(a,10),d=f(d,n=f(n,r,i,a,d,e[0],2840853838,15),r,i=o(i,10),a,e[5],2840853838,5),n,r=o(r,10),i,e[9],2840853838,11),n=f(n=o(n,10),r=f(r,i=f(i,a,d,n,r,e[7],2840853838,6),a,d=o(d,10),n,e[12],2840853838,8),i,a=o(a,10),d,e[2],2840853838,13),i=f(i=o(i,10),a=f(a,d=f(d,n,r,i,a,e[10],2840853838,12),n,r=o(r,10),i,e[14],2840853838,5),d,n=o(n,10),r,e[1],2840853838,12),d=f(d=o(d,10),n=f(n,r=f(r,i,a,d,n,e[3],2840853838,13),i,a=o(a,10),d,e[8],2840853838,14),r,i=o(i,10),a,e[11],2840853838,11),r=f(r=o(r,10),i=f(i,a=f(a,d,n,r,i,e[6],2840853838,8),d,n=o(n,10),r,e[15],2840853838,5),a,d=o(d,10),n,e[13],2840853838,6),a=o(a,10);var h=this._a,p=this._b,g=this._c,m=this._d,b=this._e;b=f(b,h=f(h,p,g,m,b,e[5],1352829926,8),p,g=o(g,10),m,e[14],1352829926,9),p=f(p=o(p,10),g=f(g,m=f(m,b,h,p,g,e[7],1352829926,9),b,h=o(h,10),p,e[0],1352829926,11),m,b=o(b,10),h,e[9],1352829926,13),m=f(m=o(m,10),b=f(b,h=f(h,p,g,m,b,e[2],1352829926,15),p,g=o(g,10),m,e[11],1352829926,15),h,p=o(p,10),g,e[4],1352829926,5),h=f(h=o(h,10),p=f(p,g=f(g,m,b,h,p,e[13],1352829926,7),m,b=o(b,10),h,e[6],1352829926,7),g,m=o(m,10),b,e[15],1352829926,8),g=f(g=o(g,10),m=f(m,b=f(b,h,p,g,m,e[8],1352829926,11),h,p=o(p,10),g,e[1],1352829926,14),b,h=o(h,10),p,e[10],1352829926,14),b=l(b=o(b,10),h=f(h,p=f(p,g,m,b,h,e[3],1352829926,12),g,m=o(m,10),b,e[12],1352829926,6),p,g=o(g,10),m,e[6],1548603684,9),p=l(p=o(p,10),g=l(g,m=l(m,b,h,p,g,e[11],1548603684,13),b,h=o(h,10),p,e[3],1548603684,15),m,b=o(b,10),h,e[7],1548603684,7),m=l(m=o(m,10),b=l(b,h=l(h,p,g,m,b,e[0],1548603684,12),p,g=o(g,10),m,e[13],1548603684,8),h,p=o(p,10),g,e[5],1548603684,9),h=l(h=o(h,10),p=l(p,g=l(g,m,b,h,p,e[10],1548603684,11),m,b=o(b,10),h,e[14],1548603684,7),g,m=o(m,10),b,e[15],1548603684,7),g=l(g=o(g,10),m=l(m,b=l(b,h,p,g,m,e[8],1548603684,12),h,p=o(p,10),g,e[12],1548603684,7),b,h=o(h,10),p,e[4],1548603684,6),b=l(b=o(b,10),h=l(h,p=l(p,g,m,b,h,e[9],1548603684,15),g,m=o(m,10),b,e[1],1548603684,13),p,g=o(g,10),m,e[2],1548603684,11),p=u(p=o(p,10),g=u(g,m=u(m,b,h,p,g,e[15],1836072691,9),b,h=o(h,10),p,e[5],1836072691,7),m,b=o(b,10),h,e[1],1836072691,15),m=u(m=o(m,10),b=u(b,h=u(h,p,g,m,b,e[3],1836072691,11),p,g=o(g,10),m,e[7],1836072691,8),h,p=o(p,10),g,e[14],1836072691,6),h=u(h=o(h,10),p=u(p,g=u(g,m,b,h,p,e[6],1836072691,6),m,b=o(b,10),h,e[9],1836072691,14),g,m=o(m,10),b,e[11],1836072691,12),g=u(g=o(g,10),m=u(m,b=u(b,h,p,g,m,e[8],1836072691,13),h,p=o(p,10),g,e[12],1836072691,5),b,h=o(h,10),p,e[2],1836072691,14),b=u(b=o(b,10),h=u(h,p=u(p,g,m,b,h,e[10],1836072691,13),g,m=o(m,10),b,e[0],1836072691,13),p,g=o(g,10),m,e[4],1836072691,7),p=c(p=o(p,10),g=c(g,m=u(m,b,h,p,g,e[13],1836072691,5),b,h=o(h,10),p,e[8],2053994217,15),m,b=o(b,10),h,e[6],2053994217,5),m=c(m=o(m,10),b=c(b,h=c(h,p,g,m,b,e[4],2053994217,8),p,g=o(g,10),m,e[1],2053994217,11),h,p=o(p,10),g,e[3],2053994217,14),h=c(h=o(h,10),p=c(p,g=c(g,m,b,h,p,e[11],2053994217,14),m,b=o(b,10),h,e[15],2053994217,6),g,m=o(m,10),b,e[0],2053994217,14),g=c(g=o(g,10),m=c(m,b=c(b,h,p,g,m,e[5],2053994217,6),h,p=o(p,10),g,e[12],2053994217,9),b,h=o(h,10),p,e[2],2053994217,12),b=c(b=o(b,10),h=c(h,p=c(p,g,m,b,h,e[13],2053994217,9),g,m=o(m,10),b,e[9],2053994217,12),p,g=o(g,10),m,e[7],2053994217,5),p=s(p=o(p,10),g=c(g,m=c(m,b,h,p,g,e[10],2053994217,15),b,h=o(h,10),p,e[14],2053994217,8),m,b=o(b,10),h,e[12],0,8),m=s(m=o(m,10),b=s(b,h=s(h,p,g,m,b,e[15],0,5),p,g=o(g,10),m,e[10],0,12),h,p=o(p,10),g,e[4],0,9),h=s(h=o(h,10),p=s(p,g=s(g,m,b,h,p,e[1],0,12),m,b=o(b,10),h,e[5],0,5),g,m=o(m,10),b,e[8],0,14),g=s(g=o(g,10),m=s(m,b=s(b,h,p,g,m,e[7],0,6),h,p=o(p,10),g,e[6],0,8),b,h=o(h,10),p,e[2],0,13),b=s(b=o(b,10),h=s(h,p=s(p,g,m,b,h,e[13],0,6),g,m=o(m,10),b,e[14],0,5),p,g=o(g,10),m,e[0],0,15),p=s(p=o(p,10),g=s(g,m=s(m,b,h,p,g,e[3],0,13),b,h=o(h,10),p,e[9],0,11),m,b=o(b,10),h,e[11],0,11),m=o(m,10);var v=this._b+i+m|0;this._b=this._c+a+b|0,this._c=this._d+d+h|0,this._d=this._e+n+p|0,this._e=this._a+r+g|0,this._a=v},a.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=new t(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=a}).call(this,n(7).Buffer)},function(e,t,n){"use strict";var r=n(415);function i(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var n=1732584193,r=-271733879,i=-1732584194,a=271733878,f=0;f<e.length;f+=16){var d=n,h=r,p=i,g=a;r=u(r=u(r=u(r=u(r=c(r=c(r=c(r=c(r=s(r=s(r=s(r=s(r=o(r=o(r=o(r=o(r,i=o(i,a=o(a,n=o(n,r,i,a,e[f+0],7,-680876936),r,i,e[f+1],12,-389564586),n,r,e[f+2],17,606105819),a,n,e[f+3],22,-1044525330),i=o(i,a=o(a,n=o(n,r,i,a,e[f+4],7,-176418897),r,i,e[f+5],12,1200080426),n,r,e[f+6],17,-1473231341),a,n,e[f+7],22,-45705983),i=o(i,a=o(a,n=o(n,r,i,a,e[f+8],7,1770035416),r,i,e[f+9],12,-1958414417),n,r,e[f+10],17,-42063),a,n,e[f+11],22,-1990404162),i=o(i,a=o(a,n=o(n,r,i,a,e[f+12],7,1804603682),r,i,e[f+13],12,-40341101),n,r,e[f+14],17,-1502002290),a,n,e[f+15],22,1236535329),i=s(i,a=s(a,n=s(n,r,i,a,e[f+1],5,-165796510),r,i,e[f+6],9,-1069501632),n,r,e[f+11],14,643717713),a,n,e[f+0],20,-373897302),i=s(i,a=s(a,n=s(n,r,i,a,e[f+5],5,-701558691),r,i,e[f+10],9,38016083),n,r,e[f+15],14,-660478335),a,n,e[f+4],20,-405537848),i=s(i,a=s(a,n=s(n,r,i,a,e[f+9],5,568446438),r,i,e[f+14],9,-1019803690),n,r,e[f+3],14,-187363961),a,n,e[f+8],20,1163531501),i=s(i,a=s(a,n=s(n,r,i,a,e[f+13],5,-1444681467),r,i,e[f+2],9,-51403784),n,r,e[f+7],14,1735328473),a,n,e[f+12],20,-1926607734),i=c(i,a=c(a,n=c(n,r,i,a,e[f+5],4,-378558),r,i,e[f+8],11,-2022574463),n,r,e[f+11],16,1839030562),a,n,e[f+14],23,-35309556),i=c(i,a=c(a,n=c(n,r,i,a,e[f+1],4,-1530992060),r,i,e[f+4],11,1272893353),n,r,e[f+7],16,-155497632),a,n,e[f+10],23,-1094730640),i=c(i,a=c(a,n=c(n,r,i,a,e[f+13],4,681279174),r,i,e[f+0],11,-358537222),n,r,e[f+3],16,-722521979),a,n,e[f+6],23,76029189),i=c(i,a=c(a,n=c(n,r,i,a,e[f+9],4,-640364487),r,i,e[f+12],11,-421815835),n,r,e[f+15],16,530742520),a,n,e[f+2],23,-995338651),i=u(i,a=u(a,n=u(n,r,i,a,e[f+0],6,-198630844),r,i,e[f+7],10,1126891415),n,r,e[f+14],15,-1416354905),a,n,e[f+5],21,-57434055),i=u(i,a=u(a,n=u(n,r,i,a,e[f+12],6,1700485571),r,i,e[f+3],10,-1894986606),n,r,e[f+10],15,-1051523),a,n,e[f+1],21,-2054922799),i=u(i,a=u(a,n=u(n,r,i,a,e[f+8],6,1873313359),r,i,e[f+15],10,-30611744),n,r,e[f+6],15,-1560198380),a,n,e[f+13],21,1309151649),i=u(i,a=u(a,n=u(n,r,i,a,e[f+4],6,-145523070),r,i,e[f+11],10,-1120210379),n,r,e[f+2],15,718787259),a,n,e[f+9],21,-343485551),n=l(n,d),r=l(r,h),i=l(i,p),a=l(a,g)}return[n,r,i,a]}function a(e,t,n,r,i,a){return l((o=l(l(t,e),l(r,a)))<<(s=i)|o>>>32-s,n);var o,s}function o(e,t,n,r,i,o,s){return a(t&n|~t&r,e,t,i,o,s)}function s(e,t,n,r,i,o,s){return a(t&r|n&~r,e,t,i,o,s)}function c(e,t,n,r,i,o,s){return a(t^n^r,e,t,i,o,s)}function u(e,t,n,r,i,o,s){return a(n^(t|~r),e,t,i,o,s)}function l(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}e.exports=function(e){return r(e,i)}},function(e,t,n){var r=n(3).navigator;e.exports=r&&r.userAgent||""},function(e,t,n){"use strict";var r=n(3),i=n(11),a=n(50),o=n(78),s=n(18),c=n(42),u=n(4),l=n(44),f=n(31),d=n(9),h=n(170),p=n(46).f,g=n(10).f,m=n(107),b=n(58),v="prototype",y="Wrong index!",_=r.ArrayBuffer,w=r.DataView,S=r.Math,M=r.RangeError,E=r.Infinity,A=_,I=S.abs,k=S.pow,O=S.floor,x=S.log,P=S.LN2,C=i?"_b":"buffer",D=i?"_l":"byteLength",j=i?"_o":"byteOffset";function N(e,t,n){var r,i,a,o=new Array(n),s=8*n-t-1,c=(1<<s)-1,u=c>>1,l=23===t?k(2,-24)-k(2,-77):0,f=0,d=e<0||0===e&&1/e<0?1:0;for((e=I(e))!=e||e===E?(i=e!=e?1:0,r=c):(r=O(x(e)/P),e*(a=k(2,-r))<1&&(r--,a*=2),(e+=r+u>=1?l/a:l*k(2,1-u))*a>=2&&(r++,a/=2),r+u>=c?(i=0,r=c):r+u>=1?(i=(e*a-1)*k(2,t),r+=u):(i=e*k(2,u-1)*k(2,t),r=0));t>=8;o[f++]=255&i,i/=256,t-=8);for(r=r<<t|i,s+=t;s>0;o[f++]=255&r,r/=256,s-=8);return o[--f]|=128*d,o}function R(e,t,n){var r,i=8*n-t-1,a=(1<<i)-1,o=a>>1,s=i-7,c=n-1,u=e[c--],l=127&u;for(u>>=7;s>0;l=256*l+e[c],c--,s-=8);for(r=l&(1<<-s)-1,l>>=-s,s+=t;s>0;r=256*r+e[c],c--,s-=8);if(0===l)l=1-o;else{if(l===a)return r?NaN:u?-E:E;r+=k(2,t),l-=o}return(u?-1:1)*r*k(2,l-t)}function T(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function B(e){return[255&e]}function L(e){return[255&e,e>>8&255]}function $(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function U(e){return N(e,52,8)}function F(e){return N(e,23,4)}function z(e,t,n){g(e[v],t,{get:function(){return this[n]}})}function q(e,t,n,r){var i=h(+n);if(i+t>e[D])throw M(y);var a=e[C]._b,o=i+e[j],s=a.slice(o,o+t);return r?s:s.reverse()}function V(e,t,n,r,i,a){var o=h(+n);if(o+t>e[D])throw M(y);for(var s=e[C]._b,c=o+e[j],u=r(+i),l=0;l<t;l++)s[c+l]=u[a?l:t-l-1]}if(o.ABV){if(!u(function(){_(1)})||!u(function(){new _(-1)})||u(function(){return new _,new _(1.5),new _(NaN),"ArrayBuffer"!=_.name})){for(var H,G=(_=function(e){return l(this,_),new A(h(e))})[v]=A[v],K=p(A),W=0;K.length>W;)(H=K[W++])in _||s(_,H,A[H]);a||(G.constructor=_)}var Y=new w(new _(2)),J=w[v].setInt8;Y.setInt8(0,2147483648),Y.setInt8(1,2147483649),!Y.getInt8(0)&&Y.getInt8(1)||c(w[v],{setInt8:function(e,t){J.call(this,e,t<<24>>24)},setUint8:function(e,t){J.call(this,e,t<<24>>24)}},!0)}else _=function(e){l(this,_,"ArrayBuffer");var t=h(e);this._b=m.call(new Array(t),0),this[D]=t},w=function(e,t,n){l(this,w,"DataView"),l(e,_,"DataView");var r=e[D],i=f(t);if(i<0||i>r)throw M("Wrong offset!");if(i+(n=void 0===n?r-i:d(n))>r)throw M("Wrong length!");this[C]=e,this[j]=i,this[D]=n},i&&(z(_,"byteLength","_l"),z(w,"buffer","_b"),z(w,"byteLength","_l"),z(w,"byteOffset","_o")),c(w[v],{getInt8:function(e){return q(this,1,e)[0]<<24>>24},getUint8:function(e){return q(this,1,e)[0]},getInt16:function(e){var t=q(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=q(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return T(q(this,4,e,arguments[1]))},getUint32:function(e){return T(q(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return R(q(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return R(q(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){V(this,1,e,B,t)},setUint8:function(e,t){V(this,1,e,B,t)},setInt16:function(e,t){V(this,2,e,L,t,arguments[2])},setUint16:function(e,t){V(this,2,e,L,t,arguments[2])},setInt32:function(e,t){V(this,4,e,$,t,arguments[2])},setUint32:function(e,t){V(this,4,e,$,t,arguments[2])},setFloat32:function(e,t){V(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){V(this,8,e,U,t,arguments[2])}});b(_,"ArrayBuffer"),b(w,"DataView"),s(w[v],o.VIEW,!0),t.ArrayBuffer=_,t.DataView=w},function(e,t,n){"use strict";var r=n(14);e.exports.f=function(e){return new function(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}(e)}},function(e,t,n){var r=n(3),i=n(105).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,c="process"==n(26)(o);e.exports=function(){var e,t,n,u=function(){var r,i;for(c&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(c)n=function(){o.nextTick(u)};else if(!a||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var l=s.resolve();n=function(){l.then(u)}}else n=function(){i.call(r,u)};else{var f=!0,d=document.createTextNode("");new a(u).observe(d,{characterData:!0}),n=function(){d.data=f=!f}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){var r,i,a,o=n(27),s=n(189),c=n(123),u=n(127),l=n(3),f=l.process,d=l.setImmediate,h=l.clearImmediate,p=l.MessageChannel,g=l.Dispatch,m=0,b={},v=function(){var e=+this;if(b.hasOwnProperty(e)){var t=b[e];delete b[e],t()}},y=function(e){v.call(e.data)};d&&h||(d=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return b[++m]=function(){s("function"==typeof e?e:Function(e),t)},r(m),m},h=function(e){delete b[e]},"process"==n(26)(f)?r=function(e){f.nextTick(o(v,e,1))}:g&&g.now?r=function(e){g.now(o(v,e,1))}:p?(a=(i=new p).port2,i.port1.onmessage=y,r=o(a.postMessage,a,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",y,!1)):r="onreadystatechange"in u("script")?function(e){c.appendChild(u("script")).onreadystatechange=function(){c.removeChild(this),v.call(e)}}:function(e){setTimeout(o(v,e,1),0)}),e.exports={set:d,clear:h}},function(e,t,n){"use strict";var r=n(39),i=n(179),a=n(56),o=n(23);e.exports=n(115)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t,n){"use strict";var r=n(13),i=n(48),a=n(9);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),c=o>2?arguments[2]:void 0,u=void 0===c?n:i(c,n);u>s;)t[s++]=e;return t}},function(e,t,n){var r=n(530);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(65),i=n(8)("iterator"),a=n(56);e.exports=n(34).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||a[r(e)]}},function(e,t,n){"use strict";var r=n(10),i=n(52);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(56),i=n(8)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},function(e,t,n){var r=n(8)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},function(e,t,n){var r=n(84),i=n(32);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){"use strict";var r=n(47),i=n(52),a=n(58),o={};n(18)(o,n(8)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},function(e,t,n){"use strict";var r=n(50),i=n(0),a=n(17),o=n(18),s=n(19),c=n(56),u=n(114),l=n(58),f=n(21),d=n(8)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,g,m,b,v){u(n,t,g);var y,_,w,S=function(e){if(!h&&e in I)return I[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},M=t+" Iterator",E="values"==m,A=!1,I=e.prototype,k=I[d]||I["@@iterator"]||m&&I[m],O=!h&&k||S(m),x=m?E?S("entries"):O:void 0,P="Array"==t&&I.entries||k;if(P&&(w=f(P.call(new e)))!==Object.prototype&&w.next&&(l(w,M,!0),r||s(w,d)||o(w,d,p)),E&&k&&"values"!==k.name&&(A=!0,O=function(){return k.call(this)}),r&&!v||!h&&!A&&I[d]||o(I,d,O),c[t]=O,c[M]=p,m)if(y={values:E?O:S("values"),keys:b?O:S("keys"),entries:x},v)for(_ in y)_ in I||a(I,_,y[_]);else i(i.P+i.F*(h||A),t,y);return y}},function(e,t,n){var r=n(31),i=n(32);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),c=r(n),u=s.length;return c<0||c>=u?e?"":void 0:(a=s.charCodeAt(c))<55296||a>56319||c+1===u||(o=s.charCodeAt(c+1))<56320||o>57343?e?s.charAt(c):a:e?s.slice(c,c+2):o-56320+(a-55296<<10)+65536}}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){"use strict";var r=n(31),i=n(32);e.exports=function(e){var t=String(i(this)),n="",a=r(e);if(a<0||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){var r=n(6),i=n(122).set;e.exports=function(e,t,n){var a,o=t.constructor;return o!==n&&"function"==typeof o&&(a=o.prototype)!==n.prototype&&r(a)&&i&&i(e,a),e}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(6),i=n(2),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(27)(Function.call,n(22).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t,n){var r=n(3).document;e.exports=r&&r.documentElement},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(88)("keys"),i=n(51);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t,n){var r=n(3),i=n(34),a=n(50),o=n(195),s=n(10).f;e.exports=function(e){var t=i.Symbol||(i.Symbol=a?{}:r.Symbol||{});"_"==e.charAt(0)||e in t||s(t,e,{value:o.f(e)})}},function(e,t,n){var r=n(6),i=n(3).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){(function(e,r){var i=/%[sdj%]/g;t.format=function(e){if(!b(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,a=r.length,o=String(e).replace(i,function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),c=r[n];n<a;c=r[++n])g(c)||!_(c)?o+=" "+c:o+=" "+s(c);return o},t.deprecate=function(n,i){if(v(e.process))return function(){return t.deprecate(n,i).apply(this,arguments)};if(!0===r.noDeprecation)return n;var a=!1;return function(){if(!a){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation?console.trace(i):console.error(i),a=!0}return n.apply(this,arguments)}};var a,o={};function s(e,n){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&t._extend(r,n),v(r.showHidden)&&(r.showHidden=!1),v(r.depth)&&(r.depth=2),v(r.colors)&&(r.colors=!1),v(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=c),l(r,e,r.depth)}function c(e,t){var n=s.styles[t];return n?"["+s.colors[n][0]+"m"+e+"["+s.colors[n][1]+"m":e}function u(e,t){return e}function l(e,n,r){if(e.customInspect&&n&&M(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,e);return b(i)||(i=l(e,i,r)),i}var a=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(b(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(m(t))return e.stylize(""+t,"number");if(p(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,n);if(a)return a;var o=Object.keys(n),s=function(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}(o);if(e.showHidden&&(o=Object.getOwnPropertyNames(n)),S(n)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return f(n);if(0===o.length){if(M(n)){var c=n.name?": "+n.name:"";return e.stylize("[Function"+c+"]","special")}if(y(n))return e.stylize(RegExp.prototype.toString.call(n),"regexp");if(w(n))return e.stylize(Date.prototype.toString.call(n),"date");if(S(n))return f(n)}var u,_="",E=!1,A=["{","}"];(h(n)&&(E=!0,A=["[","]"]),M(n))&&(_=" [Function"+(n.name?": "+n.name:"")+"]");return y(n)&&(_=" "+RegExp.prototype.toString.call(n)),w(n)&&(_=" "+Date.prototype.toUTCString.call(n)),S(n)&&(_=" "+f(n)),0!==o.length||E&&0!=n.length?r<0?y(n)?e.stylize(RegExp.prototype.toString.call(n),"regexp"):e.stylize("[Object]","special"):(e.seen.push(n),u=E?function(e,t,n,r,i){for(var a=[],o=0,s=t.length;o<s;++o)k(t,String(o))?a.push(d(e,t,n,r,String(o),!0)):a.push("");return i.forEach(function(i){i.match(/^\d+$/)||a.push(d(e,t,n,r,i,!0))}),a}(e,n,r,s,o):o.map(function(t){return d(e,n,r,s,t,E)}),e.seen.pop(),function(e,t,n){if(e.reduce(function(e,t){return 0,t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(u,_,A)):A[0]+_+A[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function d(e,t,n,r,i,a){var o,s,c;if((c=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?s=c.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):c.set&&(s=e.stylize("[Setter]","special")),k(r,i)||(o="["+i+"]"),s||(e.seen.indexOf(c.value)<0?(s=g(n)?l(e,c.value,null):l(e,c.value,n-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+s.split("\n").map(function(e){return" "+e}).join("\n")):s=e.stylize("[Circular]","special")),v(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=e.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=e.stylize(o,"string"))}return o+": "+s}function h(e){return Array.isArray(e)}function p(e){return"boolean"==typeof e}function g(e){return null===e}function m(e){return"number"==typeof e}function b(e){return"string"==typeof e}function v(e){return void 0===e}function y(e){return _(e)&&"[object RegExp]"===E(e)}function _(e){return"object"==typeof e&&null!==e}function w(e){return _(e)&&"[object Date]"===E(e)}function S(e){return _(e)&&("[object Error]"===E(e)||e instanceof Error)}function M(e){return"function"==typeof e}function E(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(e){if(v(a)&&(a=r.env.NODE_DEBUG||""),e=e.toUpperCase(),!o[e])if(new RegExp("\\b"+e+"\\b","i").test(a)){var n=r.pid;o[e]=function(){var r=t.format.apply(t,arguments);console.error("%s %d: %s",e,n,r)}}else o[e]=function(){};return o[e]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=h,t.isBoolean=p,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=m,t.isString=b,t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=v,t.isRegExp=y,t.isObject=_,t.isDate=w,t.isError=S,t.isFunction=M,t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=n(324);var I=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function k(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){var e,n;console.log("%s - %s",(e=new Date,n=[A(e.getHours()),A(e.getMinutes()),A(e.getSeconds())].join(":"),[e.getDate(),I[e.getMonth()],n].join(" ")),t.format.apply(t,arguments))},t.inherits=n(323),t._extend=function(e,t){if(!t||!_(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(this,n(24),n(35))},function(e,t,n){(function(t){var r=n(12);e.exports=function(e,n){return new t(e.toRed(r.mont(n.modulus)).redPow(new r(n.publicExponent)).fromRed().toArray())}}).call(this,n(7).Buffer)},function(e,t){e.exports=function(e,t){for(var n=e.length,r=-1;++r<n;)e[r]^=t[r];return e}},function(e,t,n){(function(t){var r=n(64);function i(e){var n=new t(4);return n.writeUInt32BE(e,0),n}e.exports=function(e,n){for(var a,o=new t(""),s=0;o.length<n;)a=i(s++),o=t.concat([o,r("sha1").update(e).update(a).digest()]);return o.slice(0,n)}}).call(this,n(7).Buffer)},function(e){e.exports={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"}},function(e,t,n){var r=n(1),i=n(7).Buffer,a=n(60),o=a.base,s=a.constants.der;function c(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){o.Node.call(this,"der",e)}function l(e){return e<10?"0"+e:e}e.exports=c,c.prototype.encode=function(e,t){return this.tree._encode(e,t).join()},r(u,o.Node),u.prototype._encodeComposite=function(e,t,n,r){var a,o=function(e,t,n,r){var i;"seqof"===e?e="seq":"setof"===e&&(e="set");if(s.tagByName.hasOwnProperty(e))i=s.tagByName[e];else{if("number"!=typeof e||(0|e)!==e)return r.error("Unknown tag: "+e);i=e}if(i>=31)return r.error("Multi-octet tag encoding unsupported");t||(i|=32);return i|=s.tagClassByName[n||"universal"]<<6}(e,t,n,this.reporter);if(r.length<128)return(a=new i(2))[0]=o,a[1]=r.length,this._createEncoderBuffer([a,r]);for(var c=1,u=r.length;u>=256;u>>=8)c++;(a=new i(2+c))[0]=o,a[1]=128|c;u=1+c;for(var l=r.length;l>0;u--,l>>=8)a[u]=255&l;return this._createEncoderBuffer([a,r])},u.prototype._encodeStr=function(e,t){if("bitstr"===t)return this._createEncoderBuffer([0|e.unused,e.data]);if("bmpstr"===t){for(var n=new i(2*e.length),r=0;r<e.length;r++)n.writeUInt16BE(e.charCodeAt(r),2*r);return this._createEncoderBuffer(n)}return"numstr"===t?this._isNumstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===t?this._isPrintstr(e)?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(t)?this._createEncoderBuffer(e):"objDesc"===t?this._createEncoderBuffer(e):this.reporter.error("Encoding of string type: "+t+" unsupported")},u.prototype._encodeObjid=function(e,t,n){if("string"==typeof e){if(!t)return this.reporter.error("string objid given, but no values map found");if(!t.hasOwnProperty(e))return this.reporter.error("objid not found in values map");e=t[e].split(/[\s\.]+/g);for(var r=0;r<e.length;r++)e[r]|=0}else if(Array.isArray(e)){e=e.slice();for(r=0;r<e.length;r++)e[r]|=0}if(!Array.isArray(e))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(e));if(!n){if(e[1]>=40)return this.reporter.error("Second objid identifier OOB");e.splice(0,2,40*e[0]+e[1])}var a=0;for(r=0;r<e.length;r++){var o=e[r];for(a++;o>=128;o>>=7)a++}var s=new i(a),c=s.length-1;for(r=e.length-1;r>=0;r--){o=e[r];for(s[c--]=127&o;(o>>=7)>0;)s[c--]=128|127&o}return this._createEncoderBuffer(s)},u.prototype._encodeTime=function(e,t){var n,r=new Date(e);return"gentime"===t?n=[l(r.getFullYear()),l(r.getUTCMonth()+1),l(r.getUTCDate()),l(r.getUTCHours()),l(r.getUTCMinutes()),l(r.getUTCSeconds()),"Z"].join(""):"utctime"===t?n=[l(r.getFullYear()%100),l(r.getUTCMonth()+1),l(r.getUTCDate()),l(r.getUTCHours()),l(r.getUTCMinutes()),l(r.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+t+" time is not supported yet"),this._encodeStr(n,"octstr")},u.prototype._encodeNull=function(){return this._createEncoderBuffer("")},u.prototype._encodeInt=function(e,t){if("string"==typeof e){if(!t)return this.reporter.error("String int or enum given, but no values map");if(!t.hasOwnProperty(e))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(e));e=t[e]}if("number"!=typeof e&&!i.isBuffer(e)){var n=e.toArray();!e.sign&&128&n[0]&&n.unshift(0),e=new i(n)}if(i.isBuffer(e)){var r=e.length;0===e.length&&r++;var a=new i(r);return e.copy(a),0===e.length&&(a[0]=0),this._createEncoderBuffer(a)}if(e<128)return this._createEncoderBuffer(e);if(e<256)return this._createEncoderBuffer([0,e]);r=1;for(var o=e;o>=256;o>>=8)r++;for(o=(a=new Array(r)).length-1;o>=0;o--)a[o]=255&e,e>>=8;return 128&a[0]&&a.unshift(0),this._createEncoderBuffer(new i(a))},u.prototype._encodeBool=function(e){return this._createEncoderBuffer(e?255:0)},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getEncoder("der").tree},u.prototype._skipDefault=function(e,t,n){var r,i=this._baseState;if(null===i.default)return!1;var a=e.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,t,n).join()),a.length!==i.defaultBuffer.length)return!1;for(r=0;r<a.length;r++)if(a[r]!==i.defaultBuffer[r])return!1;return!0}},function(e,t,n){var r=n(1),i=n(60),a=i.base,o=i.bignum,s=i.constants.der;function c(e){this.enc="der",this.name=e.name,this.entity=e,this.tree=new u,this.tree._init(e.body)}function u(e){a.Node.call(this,"der",e)}function l(e,t){var n=e.readUInt8(t);if(e.isError(n))return n;var r=s.tagClass[n>>6],i=0==(32&n);if(31==(31&n)){var a=n;for(n=0;128==(128&a);){if(a=e.readUInt8(t),e.isError(a))return a;n<<=7,n|=127&a}}else n&=31;return{cls:r,primitive:i,tag:n,tagStr:s.tag[n]}}function f(e,t,n){var r=e.readUInt8(n);if(e.isError(r))return r;if(!t&&128===r)return null;if(0==(128&r))return r;var i=127&r;if(i>4)return e.error("length octect is too long");r=0;for(var a=0;a<i;a++){r<<=8;var o=e.readUInt8(n);if(e.isError(o))return o;r|=o}return r}e.exports=c,c.prototype.decode=function(e,t){return e instanceof a.DecoderBuffer||(e=new a.DecoderBuffer(e,t)),this.tree._decode(e,t)},r(u,a.Node),u.prototype._peekTag=function(e,t,n){if(e.isEmpty())return!1;var r=e.save(),i=l(e,'Failed to peek tag: "'+t+'"');return e.isError(i)?i:(e.restore(r),i.tag===t||i.tagStr===t||i.tagStr+"of"===t||n)},u.prototype._decodeTag=function(e,t,n){var r=l(e,'Failed to decode tag of "'+t+'"');if(e.isError(r))return r;var i=f(e,r.primitive,'Failed to get length of "'+t+'"');if(e.isError(i))return i;if(!n&&r.tag!==t&&r.tagStr!==t&&r.tagStr+"of"!==t)return e.error('Failed to match tag: "'+t+'"');if(r.primitive||null!==i)return e.skip(i,'Failed to match body of: "'+t+'"');var a=e.save(),o=this._skipUntilEnd(e,'Failed to skip indefinite length body: "'+this.tag+'"');return e.isError(o)?o:(i=e.offset-a.offset,e.restore(a),e.skip(i,'Failed to match body of: "'+t+'"'))},u.prototype._skipUntilEnd=function(e,t){for(;;){var n=l(e,t);if(e.isError(n))return n;var r,i=f(e,n.primitive,t);if(e.isError(i))return i;if(r=n.primitive||null!==i?e.skip(i):this._skipUntilEnd(e,t),e.isError(r))return r;if("end"===n.tagStr)break}},u.prototype._decodeList=function(e,t,n,r){for(var i=[];!e.isEmpty();){var a=this._peekTag(e,"end");if(e.isError(a))return a;var o=n.decode(e,"der",r);if(e.isError(o)&&a)break;i.push(o)}return i},u.prototype._decodeStr=function(e,t){if("bitstr"===t){var n=e.readUInt8();return e.isError(n)?n:{unused:n,data:e.raw()}}if("bmpstr"===t){var r=e.raw();if(r.length%2==1)return e.error("Decoding of string type: bmpstr length mismatch");for(var i="",a=0;a<r.length/2;a++)i+=String.fromCharCode(r.readUInt16BE(2*a));return i}if("numstr"===t){var o=e.raw().toString("ascii");return this._isNumstr(o)?o:e.error("Decoding of string type: numstr unsupported characters")}if("octstr"===t)return e.raw();if("objDesc"===t)return e.raw();if("printstr"===t){var s=e.raw().toString("ascii");return this._isPrintstr(s)?s:e.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(t)?e.raw().toString():e.error("Decoding of string type: "+t+" unsupported")},u.prototype._decodeObjid=function(e,t,n){for(var r,i=[],a=0;!e.isEmpty();){var o=e.readUInt8();a<<=7,a|=127&o,0==(128&o)&&(i.push(a),a=0)}128&o&&i.push(a);var s=i[0]/40|0,c=i[0]%40;if(r=n?i:[s,c].concat(i.slice(1)),t){var u=t[r.join(" ")];void 0===u&&(u=t[r.join(".")]),void 0!==u&&(r=u)}return r},u.prototype._decodeTime=function(e,t){var n=e.raw().toString();if("gentime"===t)var r=0|n.slice(0,4),i=0|n.slice(4,6),a=0|n.slice(6,8),o=0|n.slice(8,10),s=0|n.slice(10,12),c=0|n.slice(12,14);else{if("utctime"!==t)return e.error("Decoding "+t+" time is not supported yet");r=0|n.slice(0,2),i=0|n.slice(2,4),a=0|n.slice(4,6),o=0|n.slice(6,8),s=0|n.slice(8,10),c=0|n.slice(10,12);r=r<70?2e3+r:1900+r}return Date.UTC(r,i-1,a,o,s,c,0)},u.prototype._decodeNull=function(e){return null},u.prototype._decodeBool=function(e){var t=e.readUInt8();return e.isError(t)?t:0!==t},u.prototype._decodeInt=function(e,t){var n=e.raw(),r=new o(n);return t&&(r=t[r.toString(10)]||r),r},u.prototype._use=function(e,t){return"function"==typeof e&&(e=e(t)),e._getDecoder("der").tree}},function(e,t,n){var r=t;r._reverse=function(e){var t={};return Object.keys(e).forEach(function(n){(0|n)==n&&(n|=0);var r=e[n];t[r]=n}),t},r.der=n(341)},function(e,t,n){var r=n(1),i=n(59).Reporter,a=n(7).Buffer;function o(e,t){i.call(this,t),a.isBuffer(e)?(this.base=e,this.offset=0,this.length=e.length):this.error("Input not Buffer")}function s(e,t){if(Array.isArray(e))this.length=0,this.value=e.map(function(e){return e instanceof s||(e=new s(e,t)),this.length+=e.length,e},this);else if("number"==typeof e){if(!(0<=e&&e<=255))return t.error("non-byte EncoderBuffer value");this.value=e,this.length=1}else if("string"==typeof e)this.value=e,this.length=a.byteLength(e);else{if(!a.isBuffer(e))return t.error("Unsupported type: "+typeof e);this.value=e,this.length=e.length}}r(o,i),t.DecoderBuffer=o,o.prototype.save=function(){return{offset:this.offset,reporter:i.prototype.save.call(this)}},o.prototype.restore=function(e){var t=new o(this.base);return t.offset=e.offset,t.length=this.offset,this.offset=e.offset,i.prototype.restore.call(this,e.reporter),t},o.prototype.isEmpty=function(){return this.offset===this.length},o.prototype.readUInt8=function(e){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(e||"DecoderBuffer overrun")},o.prototype.skip=function(e,t){if(!(this.offset+e<=this.length))return this.error(t||"DecoderBuffer overrun");var n=new o(this.base);return n._reporterState=this._reporterState,n.offset=this.offset,n.length=this.offset+e,this.offset+=e,n},o.prototype.raw=function(e){return this.base.slice(e?e.offset:this.offset,this.length)},t.EncoderBuffer=s,s.prototype.join=function(e,t){return e||(e=new a(this.length)),t||(t=0),0===this.length?e:(Array.isArray(this.value)?this.value.forEach(function(n){n.join(e,t),t+=n.length}):("number"==typeof this.value?e[t]=this.value:"string"==typeof this.value?e.write(this.value,t):a.isBuffer(this.value)&&this.value.copy(e,t),t+=this.length),e)}},function(e,t,n){"use strict";var r=n(28),i=n(61),a=n(20),o=r.rotr64_hi,s=r.rotr64_lo,c=r.shr64_hi,u=r.shr64_lo,l=r.sum64,f=r.sum64_hi,d=r.sum64_lo,h=r.sum64_4_hi,p=r.sum64_4_lo,g=r.sum64_5_hi,m=r.sum64_5_lo,b=i.BlockHash,v=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function y(){if(!(this instanceof y))return new y;b.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=v,this.W=new Array(160)}function _(e,t,n,r,i){var a=e&n^~e&i;return a<0&&(a+=4294967296),a}function w(e,t,n,r,i,a){var o=t&r^~t&a;return o<0&&(o+=4294967296),o}function S(e,t,n,r,i){var a=e&n^e&i^n&i;return a<0&&(a+=4294967296),a}function M(e,t,n,r,i,a){var o=t&r^t&a^r&a;return o<0&&(o+=4294967296),o}function E(e,t){var n=o(e,t,28)^o(t,e,2)^o(t,e,7);return n<0&&(n+=4294967296),n}function A(e,t){var n=s(e,t,28)^s(t,e,2)^s(t,e,7);return n<0&&(n+=4294967296),n}function I(e,t){var n=o(e,t,14)^o(e,t,18)^o(t,e,9);return n<0&&(n+=4294967296),n}function k(e,t){var n=s(e,t,14)^s(e,t,18)^s(t,e,9);return n<0&&(n+=4294967296),n}function O(e,t){var n=o(e,t,1)^o(e,t,8)^c(e,t,7);return n<0&&(n+=4294967296),n}function x(e,t){var n=s(e,t,1)^s(e,t,8)^u(e,t,7);return n<0&&(n+=4294967296),n}function P(e,t){var n=o(e,t,19)^o(t,e,29)^c(e,t,6);return n<0&&(n+=4294967296),n}function C(e,t){var n=s(e,t,19)^s(t,e,29)^u(e,t,6);return n<0&&(n+=4294967296),n}r.inherits(y,b),e.exports=y,y.blockSize=1024,y.outSize=512,y.hmacStrength=192,y.padLength=128,y.prototype._prepareBlock=function(e,t){for(var n=this.W,r=0;r<32;r++)n[r]=e[t+r];for(;r<n.length;r+=2){var i=P(n[r-4],n[r-3]),a=C(n[r-4],n[r-3]),o=n[r-14],s=n[r-13],c=O(n[r-30],n[r-29]),u=x(n[r-30],n[r-29]),l=n[r-32],f=n[r-31];n[r]=h(i,a,o,s,c,u,l,f),n[r+1]=p(i,a,o,s,c,u,l,f)}},y.prototype._update=function(e,t){this._prepareBlock(e,t);var n=this.W,r=this.h[0],i=this.h[1],o=this.h[2],s=this.h[3],c=this.h[4],u=this.h[5],h=this.h[6],p=this.h[7],b=this.h[8],v=this.h[9],y=this.h[10],O=this.h[11],x=this.h[12],P=this.h[13],C=this.h[14],D=this.h[15];a(this.k.length===n.length);for(var j=0;j<n.length;j+=2){var N=C,R=D,T=I(b,v),B=k(b,v),L=_(b,v,y,O,x),$=w(b,v,y,O,x,P),U=this.k[j],F=this.k[j+1],z=n[j],q=n[j+1],V=g(N,R,T,B,L,$,U,F,z,q),H=m(N,R,T,B,L,$,U,F,z,q);N=E(r,i),R=A(r,i),T=S(r,i,o,s,c),B=M(r,i,o,s,c,u);var G=f(N,R,T,B),K=d(N,R,T,B);C=x,D=P,x=y,P=O,y=b,O=v,b=f(h,p,V,H),v=d(p,p,V,H),h=c,p=u,c=o,u=s,o=r,s=i,r=f(V,H,G,K),i=d(V,H,G,K)}l(this.h,0,r,i),l(this.h,2,o,s),l(this.h,4,c,u),l(this.h,6,h,p),l(this.h,8,b,v),l(this.h,10,y,O),l(this.h,12,x,P),l(this.h,14,C,D)},y.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,n){"use strict";var r=n(28),i=n(61),a=n(139),o=n(20),s=r.sum32,c=r.sum32_4,u=r.sum32_5,l=a.ch32,f=a.maj32,d=a.s0_256,h=a.s1_256,p=a.g0_256,g=a.g1_256,m=i.BlockHash,b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function v(){if(!(this instanceof v))return new v;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=b,this.W=new Array(64)}r.inherits(v,m),e.exports=v,v.blockSize=512,v.outSize=256,v.hmacStrength=192,v.padLength=64,v.prototype._update=function(e,t){for(var n=this.W,r=0;r<16;r++)n[r]=e[t+r];for(;r<n.length;r++)n[r]=c(g(n[r-2]),n[r-7],p(n[r-15]),n[r-16]);var i=this.h[0],a=this.h[1],m=this.h[2],b=this.h[3],v=this.h[4],y=this.h[5],_=this.h[6],w=this.h[7];for(o(this.k.length===n.length),r=0;r<n.length;r++){var S=u(w,h(v),l(v,y,_),this.k[r],n[r]),M=s(d(i),f(i,a,m));w=_,_=y,y=v,v=s(b,S),b=m,m=a,a=i,i=s(S,M)}this.h[0]=s(this.h[0],i),this.h[1]=s(this.h[1],a),this.h[2]=s(this.h[2],m),this.h[3]=s(this.h[3],b),this.h[4]=s(this.h[4],v),this.h[5]=s(this.h[5],y),this.h[6]=s(this.h[6],_),this.h[7]=s(this.h[7],w)},v.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},function(e,t,n){"use strict";var r=n(28).rotr32;function i(e,t,n){return e&t^~e&n}function a(e,t,n){return e&t^e&n^t&n}function o(e,t,n){return e^t^n}t.ft_1=function(e,t,n,r){return 0===e?i(t,n,r):1===e||3===e?o(t,n,r):2===e?a(t,n,r):void 0},t.ch32=i,t.maj32=a,t.p32=o,t.s0_256=function(e){return r(e,2)^r(e,13)^r(e,22)},t.s1_256=function(e){return r(e,6)^r(e,11)^r(e,25)},t.g0_256=function(e){return r(e,7)^r(e,18)^e>>>3},t.g1_256=function(e){return r(e,17)^r(e,19)^e>>>10}},function(e,t,n){"use strict";var r=t;function i(e){return 1===e.length?"0"+e:e}function a(e){for(var t="",n=0;n<e.length;n++)t+=i(e[n].toString(16));return t}r.toArray=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var n=[];if("string"!=typeof e){for(var r=0;r<e.length;r++)n[r]=0|e[r];return n}if("hex"===t)for((e=e.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(e="0"+e),r=0;r<e.length;r+=2)n.push(parseInt(e[r]+e[r+1],16));else for(r=0;r<e.length;r++){var i=e.charCodeAt(r),a=i>>8,o=255&i;a?n.push(a,o):n.push(o)}return n},r.zero2=i,r.toHex=a,r.encode=function(e,t){return"hex"===t?a(e):e}},function(e,t,n){var r;function i(e){this.rand=e}if(e.exports=function(e){return r||(r=new i(null)),r.generate(e)},e.exports.Rand=i,i.prototype.generate=function(e){return this._rand(e)},i.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),n=0;n<t.length;n++)t[n]=this.rand.getByte();return t},"object"==typeof self)self.crypto&&self.crypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.crypto.getRandomValues(t),t}:self.msCrypto&&self.msCrypto.getRandomValues?i.prototype._rand=function(e){var t=new Uint8Array(e);return self.msCrypto.getRandomValues(t),t}:"object"==typeof window&&(i.prototype._rand=function(){throw new Error("Not implemented yet")});else try{var a=n(373);if("function"!=typeof a.randomBytes)throw new Error("Not supported");i.prototype._rand=function(e){return a.randomBytes(e)}}catch(e){}},function(e,t,n){var r=n(12),i=n(141);function a(e){this.rand=e||new i.Rand}e.exports=a,a.create=function(e){return new a(e)},a.prototype._randbelow=function(e){var t=e.bitLength(),n=Math.ceil(t/8);do{var i=new r(this.rand.generate(n))}while(i.cmp(e)>=0);return i},a.prototype._randrange=function(e,t){var n=t.sub(e);return e.add(this._randbelow(n))},a.prototype.test=function(e,t,n){var i=e.bitLength(),a=r.mont(e),o=new r(1).toRed(a);t||(t=Math.max(1,i/48|0));for(var s=e.subn(1),c=0;!s.testn(c);c++);for(var u=e.shrn(c),l=s.toRed(a);t>0;t--){var f=this._randrange(new r(2),s);n&&n(f);var d=f.toRed(a).redPow(u);if(0!==d.cmp(o)&&0!==d.cmp(l)){for(var h=1;h<c;h++){if(0===(d=d.redSqr()).cmp(o))return!1;if(0===d.cmp(l))break}if(h===c)return!1}}return!0},a.prototype.getDivisor=function(e,t){var n=e.bitLength(),i=r.mont(e),a=new r(1).toRed(i);t||(t=Math.max(1,n/48|0));for(var o=e.subn(1),s=0;!o.testn(s);s++);for(var c=e.shrn(s),u=o.toRed(i);t>0;t--){var l=this._randrange(new r(2),o),f=e.gcd(l);if(0!==f.cmpn(1))return f;var d=l.toRed(i).redPow(c);if(0!==d.cmp(a)&&0!==d.cmp(u)){for(var h=1;h<s;h++){if(0===(d=d.redSqr()).cmp(a))return d.fromRed().subn(1).gcd(e);if(0===d.cmp(u))break}if(h===s)return(d=d.redSqr()).fromRed().subn(1).gcd(e)}}return!1}},function(e,t,n){var r=n(54);e.exports=v,v.simpleSieve=m,v.fermatTest=b;var i=n(12),a=new i(24),o=new(n(142)),s=new i(1),c=new i(2),u=new i(5),l=(new i(16),new i(8),new i(10)),f=new i(3),d=(new i(7),new i(11)),h=new i(4),p=(new i(12),null);function g(){if(null!==p)return p;var e=[];e[0]=2;for(var t=1,n=3;n<1048576;n+=2){for(var r=Math.ceil(Math.sqrt(n)),i=0;i<t&&e[i]<=r&&n%e[i]!=0;i++);t!==i&&e[i]<=r||(e[t++]=n)}return p=e,e}function m(e){for(var t=g(),n=0;n<t.length;n++)if(0===e.modn(t[n]))return 0===e.cmpn(t[n]);return!0}function b(e){var t=i.mont(e);return 0===c.toRed(t).redPow(e.subn(1)).fromRed().cmpn(1)}function v(e,t){if(e<16)return new i(2===t||5===t?[140,123]:[140,39]);var n,p;for(t=new i(t);;){for(n=new i(r(Math.ceil(e/8)));n.bitLength()>e;)n.ishrn(1);if(n.isEven()&&n.iadd(s),n.testn(1)||n.iadd(c),t.cmp(c)){if(!t.cmp(u))for(;n.mod(l).cmp(f);)n.iadd(h)}else for(;n.mod(a).cmp(d);)n.iadd(h);if(m(p=n.shrn(1))&&m(n)&&b(p)&&b(n)&&o.test(p)&&o.test(n))return n}}},function(e,t,n){var r=n(71),i=n(5).Buffer,a=n(38);function o(e,t,n,o){a.call(this),this._cipher=new r.AES(t),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=o,this._mode=e}n(1)(o,a),o.prototype._update=function(e){return this._mode.encrypt(this,e,this._decrypt)},o.prototype._final=function(){this._cipher.scrub()},e.exports=o},function(e,t,n){var r=n(71),i=n(5).Buffer,a=n(38),o=n(1),s=n(385),c=n(62),u=n(147);function l(e,t,n,o){a.call(this);var c=i.alloc(4,0);this._cipher=new r.AES(t);var l=this._cipher.encryptBlock(c);this._ghash=new s(l),n=function(e,t,n){if(12===t.length)return e._finID=i.concat([t,i.from([0,0,0,1])]),i.concat([t,i.from([0,0,0,2])]);var r=new s(n),a=t.length,o=a%16;r.update(t),o&&(o=16-o,r.update(i.alloc(o,0))),r.update(i.alloc(8,0));var c=8*a,l=i.alloc(8);l.writeUIntBE(c,0,8),r.update(l),e._finID=r.state;var f=i.from(e._finID);return u(f),f}(this,n,l),this._prev=i.from(n),this._cache=i.allocUnsafe(0),this._secCache=i.allocUnsafe(0),this._decrypt=o,this._alen=0,this._len=0,this._mode=e,this._authTag=null,this._called=!1}o(l,a),l.prototype._update=function(e){if(!this._called&&this._alen){var t=16-this._alen%16;t<16&&(t=i.alloc(t,0),this._ghash.update(t))}this._called=!0;var n=this._mode.encrypt(this,e);return this._decrypt?this._ghash.update(e):this._ghash.update(n),this._len+=e.length,n},l.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var e=c(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(e,t){var n=0;e.length!==t.length&&n++;for(var r=Math.min(e.length,t.length),i=0;i<r;++i)n+=e[i]^t[i];return n}(e,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=e,this._cipher.scrub()},l.prototype.getAuthTag=function(){if(this._decrypt||!i.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},l.prototype.setAuthTag=function(e){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=e},l.prototype.setAAD=function(e){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(e),this._alen+=e.length},e.exports=l},function(e){e.exports={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}}},function(e,t){e.exports=function(e){for(var t,n=e.length;n--;){if(255!==(t=e.readUInt8(n))){t++,e.writeUInt8(t,n);break}e.writeUInt8(0,n)}}},function(e,t,n){var r=n(62),i=n(5).Buffer,a=n(147);function o(e){var t=e._cipher.encryptBlockRaw(e._prev);return a(e._prev),t}t.encrypt=function(e,t){var n=Math.ceil(t.length/16),a=e._cache.length;e._cache=i.concat([e._cache,i.allocUnsafe(16*n)]);for(var s=0;s<n;s++){var c=o(e),u=a+16*s;e._cache.writeUInt32BE(c[0],u+0),e._cache.writeUInt32BE(c[1],u+4),e._cache.writeUInt32BE(c[2],u+8),e._cache.writeUInt32BE(c[3],u+12)}var l=e._cache.slice(0,t.length);return e._cache=e._cache.slice(t.length),r(t,l)}},function(e,t,n){var r=n(100),i=n(99),a=n(94),o=n(151),s=n(150),c=n(5).Buffer,u=c.alloc(128),l={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function f(e,t,n){var o=function(e){return"rmd160"===e||"ripemd160"===e?i:"md5"===e?r:function(t){return a(e).update(t).digest()}}(e),s="sha512"===e||"sha384"===e?128:64;t.length>s?t=o(t):t.length<s&&(t=c.concat([t,u],s));for(var f=c.allocUnsafe(s+l[e]),d=c.allocUnsafe(s+l[e]),h=0;h<s;h++)f[h]=54^t[h],d[h]=92^t[h];var p=c.allocUnsafe(s+n+4);f.copy(p,0,0,s),this.ipad1=p,this.ipad2=f,this.opad=d,this.alg=e,this.blocksize=s,this.hash=o,this.size=l[e]}f.prototype.run=function(e,t){return e.copy(t,this.blocksize),this.hash(t).copy(this.opad,this.blocksize),this.hash(this.opad)},e.exports=function(e,t,n,r,i){c.isBuffer(e)||(e=c.from(e,s)),c.isBuffer(t)||(t=c.from(t,s)),o(n,r);var a=new f(i=i||"sha1",e,t.length),u=c.allocUnsafe(r),d=c.allocUnsafe(t.length+4);t.copy(d,0,0,t.length);for(var h=0,p=l[i],g=Math.ceil(r/p),m=1;m<=g;m++){d.writeUInt32BE(m,t.length);for(var b=a.run(d,a.ipad1),v=b,y=1;y<n;y++){v=a.run(v,a.ipad2);for(var _=0;_<p;_++)b[_]^=v[_]}b.copy(u,h),h+=p}return u}},function(e,t,n){(function(t){var n;t.browser?n="utf-8":n=parseInt(t.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary";e.exports=n}).call(this,n(35))},function(e,t){var n=Math.pow(2,30)-1;e.exports=function(e,t){if("number"!=typeof e)throw new TypeError("Iterations not a number");if(e<0)throw new TypeError("Bad iterations");if("number"!=typeof t)throw new TypeError("Key length not a number");if(t<0||t>n||t!=t)throw new TypeError("Bad key length")}},function(e,t,n){t.pbkdf2=n(396),t.pbkdf2Sync=n(149)},function(e){e.exports={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}}},function(e,t,n){"use strict";var r=n(1),i=n(398),a=n(38),o=n(5).Buffer,s=n(100),c=n(99),u=n(94),l=o.alloc(128);function f(e,t){a.call(this,"digest"),"string"==typeof t&&(t=o.from(t));var n="sha512"===e||"sha384"===e?128:64;(this._alg=e,this._key=t,t.length>n)?t=("rmd160"===e?new c:u(e)).update(t).digest():t.length<n&&(t=o.concat([t,l],n));for(var r=this._ipad=o.allocUnsafe(n),i=this._opad=o.allocUnsafe(n),s=0;s<n;s++)r[s]=54^t[s],i[s]=92^t[s];this._hash="rmd160"===e?new c:u(e),this._hash.update(r)}r(f,a),f.prototype._update=function(e){this._hash.update(e)},f.prototype._final=function(){var e=this._hash.digest();return("rmd160"===this._alg?new c:u(this._alg)).update(this._opad).update(e).digest()},e.exports=function(e,t){return"rmd160"===(e=e.toLowerCase())||"ripemd160"===e?new f("rmd160",t):"md5"===e?new i(s,t):new f(e,t)}},function(e,t,n){var r=n(1),i=n(53),a=n(5).Buffer,o=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],s=new Array(160);function c(){this.init(),this._w=s,i.call(this,128,112)}function u(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function f(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function d(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function h(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function p(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function g(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function m(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function b(e,t){return e>>>0<t>>>0?1:0}r(c,i),c.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},c.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,i=0|this._ch,a=0|this._dh,s=0|this._eh,c=0|this._fh,v=0|this._gh,y=0|this._hh,_=0|this._al,w=0|this._bl,S=0|this._cl,M=0|this._dl,E=0|this._el,A=0|this._fl,I=0|this._gl,k=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var x=t[O-30],P=t[O-30+1],C=h(x,P),D=p(P,x),j=g(x=t[O-4],P=t[O-4+1]),N=m(P,x),R=t[O-14],T=t[O-14+1],B=t[O-32],L=t[O-32+1],$=D+T|0,U=C+R+b($,D)|0;U=(U=U+j+b($=$+N|0,N)|0)+B+b($=$+L|0,L)|0,t[O]=U,t[O+1]=$}for(var F=0;F<160;F+=2){U=t[F],$=t[F+1];var z=l(n,r,i),q=l(_,w,S),V=f(n,_),H=f(_,n),G=d(s,E),K=d(E,s),W=o[F],Y=o[F+1],J=u(s,c,v),X=u(E,A,I),Z=k+K|0,Q=y+G+b(Z,k)|0;Q=(Q=(Q=Q+J+b(Z=Z+X|0,X)|0)+W+b(Z=Z+Y|0,Y)|0)+U+b(Z=Z+$|0,$)|0;var ee=H+q|0,te=V+z+b(ee,H)|0;y=v,k=I,v=c,I=A,c=s,A=E,s=a+Q+b(E=M+Z|0,M)|0,a=i,M=S,i=r,S=w,r=n,w=_,n=Q+te+b(_=Z+ee|0,Z)|0}this._al=this._al+_|0,this._bl=this._bl+w|0,this._cl=this._cl+S|0,this._dl=this._dl+M|0,this._el=this._el+E|0,this._fl=this._fl+A|0,this._gl=this._gl+I|0,this._hl=this._hl+k|0,this._ah=this._ah+n+b(this._al,_)|0,this._bh=this._bh+r+b(this._bl,w)|0,this._ch=this._ch+i+b(this._cl,S)|0,this._dh=this._dh+a+b(this._dl,M)|0,this._eh=this._eh+s+b(this._el,E)|0,this._fh=this._fh+c+b(this._fl,A)|0,this._gh=this._gh+v+b(this._gl,I)|0,this._hh=this._hh+y+b(this._hl,k)|0},c.prototype._hash=function(){var e=a.allocUnsafe(64);function t(t,n,r){e.writeInt32BE(t,r),e.writeInt32BE(n,r+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=c},function(e,t,n){var r=n(1),i=n(53),a=n(5).Buffer,o=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],s=new Array(64);function c(){this.init(),this._w=s,i.call(this,64,56)}function u(e,t,n){return n^e&(t^n)}function l(e,t,n){return e&t|n&(e|t)}function f(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function d(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function h(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}r(c,i),c.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},c.prototype._update=function(e){for(var t,n=this._w,r=0|this._a,i=0|this._b,a=0|this._c,s=0|this._d,c=0|this._e,p=0|this._f,g=0|this._g,m=0|this._h,b=0;b<16;++b)n[b]=e.readInt32BE(4*b);for(;b<64;++b)n[b]=0|(((t=n[b-2])>>>17|t<<15)^(t>>>19|t<<13)^t>>>10)+n[b-7]+h(n[b-15])+n[b-16];for(var v=0;v<64;++v){var y=m+d(c)+u(c,p,g)+o[v]+n[v]|0,_=f(r)+l(r,i,a)|0;m=g,g=p,p=c,c=s+y|0,s=a,a=i,i=r,r=y+_|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=a+this._c|0,this._d=s+this._d|0,this._e=c+this._e|0,this._f=p+this._f|0,this._g=g+this._g|0,this._h=m+this._h|0},c.prototype._hash=function(){var e=a.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=c},function(e,t,n){"use strict";e.exports=a;var r=n(41),i=n(63);function a(e){if(!(this instanceof a))return new a(e);r.call(this,e),this._transformState={afterTransform:function(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,e&&("function"==typeof e.transform&&(this._transform=e.transform),"function"==typeof e.flush&&(this._flush=e.flush)),this.on("prefinish",o)}function o(){var e=this;"function"==typeof this._flush?this._flush(function(t,n){s(e,t,n)}):s(this,null,null)}function s(e,t,n){if(t)return e.emit("error",t);if(null!=n&&e.push(n),e._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(e._transformState.transforming)throw new Error("Calling transform done when still transforming");return e.push(null)}i.inherits=n(1),i.inherits(a,r),a.prototype.push=function(e,t){return this._transformState.needTransform=!1,r.prototype.push.call(this,e,t)},a.prototype._transform=function(e,t,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(e,t,n){var r=this._transformState;if(r.writecb=n,r.writechunk=e,r.writeencoding=t,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},a.prototype._read=function(e){var t=this._transformState;null!==t.writechunk&&t.writecb&&!t.transforming?(t.transforming=!0,this._transform(t.writechunk,t.writeencoding,t.afterTransform)):t.needTransform=!0},a.prototype._destroy=function(e,t){var n=this;r.prototype._destroy.call(this,e,function(e){t(e),n.emit("close")})}},function(e,t,n){"use strict";var r=n(73);function i(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var n=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(t?t(e):!e||this._writableState&&this._writableState.errorEmitted||r.nextTick(i,this,e),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?(r.nextTick(i,n,e),n._writableState&&(n._writableState.errorEmitted=!0)):t&&t(e)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(e,t,n){e.exports=n(98).EventEmitter},function(e,t,n){"use strict";(function(t,r){var i=n(73);e.exports=y;var a,o=n(161);y.ReadableState=v;n(98).EventEmitter;var s=function(e,t){return e.listeners(t).length},c=n(159),u=n(5).Buffer,l=t.Uint8Array||function(){};var f=n(63);f.inherits=n(1);var d=n(413),h=void 0;h=d&&d.debuglog?d.debuglog("stream"):function(){};var p,g=n(412),m=n(158);f.inherits(y,c);var b=["error","close","destroy","pause","resume"];function v(e,t){a=a||n(41),e=e||{};var r=t instanceof a;this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode);var i=e.highWaterMark,o=e.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(p||(p=n(95).StringDecoder),this.decoder=new p(e.encoding),this.encoding=e.encoding)}function y(e){if(a=a||n(41),!(this instanceof y))return new y(e);this._readableState=new v(e,this),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),c.call(this)}function _(e,t,n,r,i){var a,o=e._readableState;null===t?(o.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,E(e)}(e,o)):(i||(a=function(e,t){var n;r=t,u.isBuffer(r)||r instanceof l||"string"==typeof t||void 0===t||e.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(o,t)),a?e.emit("error",a):o.objectMode||t&&t.length>0?("string"==typeof t||o.objectMode||Object.getPrototypeOf(t)===u.prototype||(t=function(e){return u.from(e)}(t)),r?o.endEmitted?e.emit("error",new Error("stream.unshift() after end event")):w(e,o,t,!0):o.ended?e.emit("error",new Error("stream.push() after EOF")):(o.reading=!1,o.decoder&&!n?(t=o.decoder.write(t),o.objectMode||0!==t.length?w(e,o,t,!1):I(e,o)):w(e,o,t,!1))):r||(o.reading=!1));return function(e){return!e.ended&&(e.needReadable||e.length<e.highWaterMark||0===e.length)}(o)}function w(e,t,n,r){t.flowing&&0===t.length&&!t.sync?(e.emit("data",n),e.read(0)):(t.length+=t.objectMode?1:n.length,r?t.buffer.unshift(n):t.buffer.push(n),t.needReadable&&E(e)),I(e,t)}Object.defineProperty(y.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(e){this._readableState&&(this._readableState.destroyed=e)}}),y.prototype.destroy=m.destroy,y.prototype._undestroy=m.undestroy,y.prototype._destroy=function(e,t){this.push(null),t(e)},y.prototype.push=function(e,t){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof e&&((t=t||r.defaultEncoding)!==r.encoding&&(e=u.from(e,t),t=""),n=!0),_(this,e,t,!1,n)},y.prototype.unshift=function(e){return _(this,e,null,!0,!1)},y.prototype.isPaused=function(){return!1===this._readableState.flowing},y.prototype.setEncoding=function(e){return p||(p=n(95).StringDecoder),this._readableState.decoder=new p(e),this._readableState.encoding=e,this};var S=8388608;function M(e,t){return e<=0||0===t.length&&t.ended?0:t.objectMode?1:e!=e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=function(e){return e>=S?e=S:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function E(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(h("emitReadable",t.flowing),t.emittedReadable=!0,t.sync?i.nextTick(A,e):A(e))}function A(e){h("emit readable"),e.emit("readable"),P(e)}function I(e,t){t.readingMore||(t.readingMore=!0,i.nextTick(k,e,t))}function k(e,t){for(var n=t.length;!t.reading&&!t.flowing&&!t.ended&&t.length<t.highWaterMark&&(h("maybeReadMore read 0"),e.read(0),n!==t.length);)n=t.length;t.readingMore=!1}function O(e){h("readable nexttick read 0"),e.read(0)}function x(e,t){t.reading||(h("resume read 0"),e.read(0)),t.resumeScheduled=!1,t.awaitDrain=0,e.emit("resume"),P(e),t.flowing&&!t.reading&&e.read(0)}function P(e){var t=e._readableState;for(h("flow",t.flowing);t.flowing&&null!==e.read(););}function C(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.head.data:t.buffer.concat(t.length),t.buffer.clear()):n=function(e,t,n){var r;e<t.head.data.length?(r=t.head.data.slice(0,e),t.head.data=t.head.data.slice(e)):r=e===t.head.data.length?t.shift():n?function(e,t){var n=t.head,r=1,i=n.data;e-=i.length;for(;n=n.next;){var a=n.data,o=e>a.length?a.length:e;if(o===a.length?i+=a:i+=a.slice(0,e),0===(e-=o)){o===a.length?(++r,n.next?t.head=n.next:t.head=t.tail=null):(t.head=n,n.data=a.slice(o));break}++r}return t.length-=r,i}(e,t):function(e,t){var n=u.allocUnsafe(e),r=t.head,i=1;r.data.copy(n),e-=r.data.length;for(;r=r.next;){var a=r.data,o=e>a.length?a.length:e;if(a.copy(n,n.length-e,0,o),0===(e-=o)){o===a.length?(++i,r.next?t.head=r.next:t.head=t.tail=null):(t.head=r,r.data=a.slice(o));break}++i}return t.length-=i,n}(e,t);return r}(e,t.buffer,t.decoder),n);var n}function D(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');t.endEmitted||(t.ended=!0,i.nextTick(j,t,e))}function j(e,t){e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function N(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}y.prototype.read=function(e){h("read",e),e=parseInt(e,10);var t=this._readableState,n=e;if(0!==e&&(t.emittedReadable=!1),0===e&&t.needReadable&&(t.length>=t.highWaterMark||t.ended))return h("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?D(this):E(this),null;if(0===(e=M(e,t))&&t.ended)return 0===t.length&&D(this),null;var r,i=t.needReadable;return h("need readable",i),(0===t.length||t.length-e<t.highWaterMark)&&h("length less than watermark",i=!0),t.ended||t.reading?h("reading or ended",i=!1):i&&(h("do read"),t.reading=!0,t.sync=!0,0===t.length&&(t.needReadable=!0),this._read(t.highWaterMark),t.sync=!1,t.reading||(e=M(n,t))),null===(r=e>0?C(e,t):null)?(t.needReadable=!0,e=0):t.length-=e,0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&D(this)),null!==r&&this.emit("data",r),r},y.prototype._read=function(e){this.emit("error",new Error("_read() is not implemented"))},y.prototype.pipe=function(e,t){var n=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=e;break;case 1:a.pipes=[a.pipes,e];break;default:a.pipes.push(e)}a.pipesCount+=1,h("pipe count=%d opts=%j",a.pipesCount,t);var c=(!t||!1!==t.end)&&e!==r.stdout&&e!==r.stderr?l:y;function u(t,r){h("onunpipe"),t===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,h("cleanup"),e.removeListener("close",b),e.removeListener("finish",v),e.removeListener("drain",f),e.removeListener("error",m),e.removeListener("unpipe",u),n.removeListener("end",l),n.removeListener("end",y),n.removeListener("data",g),d=!0,!a.awaitDrain||e._writableState&&!e._writableState.needDrain||f())}function l(){h("onend"),e.end()}a.endEmitted?i.nextTick(c):n.once("end",c),e.on("unpipe",u);var f=function(e){return function(){var t=e._readableState;h("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(e,"data")&&(t.flowing=!0,P(e))}}(n);e.on("drain",f);var d=!1;var p=!1;function g(t){h("ondata"),p=!1,!1!==e.write(t)||p||((1===a.pipesCount&&a.pipes===e||a.pipesCount>1&&-1!==N(a.pipes,e))&&!d&&(h("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,p=!0),n.pause())}function m(t){h("onerror",t),y(),e.removeListener("error",m),0===s(e,"error")&&e.emit("error",t)}function b(){e.removeListener("finish",v),y()}function v(){h("onfinish"),e.removeListener("close",b),y()}function y(){h("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?o(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",m),e.once("close",b),e.once("finish",v),e.emit("pipe",n),a.flowing||(h("pipe resume"),n.resume()),e},y.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,n);return this}var o=N(t.pipes,e);return-1===o?this:(t.pipes.splice(o,1),t.pipesCount-=1,1===t.pipesCount&&(t.pipes=t.pipes[0]),e.emit("unpipe",this,n),this)},y.prototype.on=function(e,t){var n=c.prototype.on.call(this,e,t);if("data"===e)!1!==this._readableState.flowing&&this.resume();else if("readable"===e){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&E(this):i.nextTick(O,this))}return n},y.prototype.addListener=y.prototype.on,y.prototype.resume=function(){var e=this._readableState;return e.flowing||(h("resume"),e.flowing=!0,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,i.nextTick(x,e,t))}(this,e)),this},y.prototype.pause=function(){return h("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(h("pause"),this._readableState.flowing=!1,this.emit("pause")),this},y.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var i in e.on("end",function(){if(h("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(i){(h("wrapped data"),n.decoder&&(i=n.decoder.write(i)),!n.objectMode||null!==i&&void 0!==i)&&((n.objectMode||i&&i.length)&&(t.push(i)||(r=!0,e.pause())))}),e)void 0===this[i]&&"function"==typeof e[i]&&(this[i]=function(t){return function(){return e[t].apply(e,arguments)}}(i));for(var a=0;a<b.length;a++)e.on(b[a],this.emit.bind(this,b[a]));return this._read=function(t){h("wrapped _read",t),r&&(r=!1,e.resume())},this},y._fromList=C}).call(this,n(24),n(35))},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==n.call(e)}},function(e,t,n){"use strict";const r=n(420);let i;if("undefined"==typeof window){const e=n(128);i=e.TextDecoder}else i=window.TextDecoder;const a=e=>btoa(JSON.stringify(e)),o=class{constructor(e,t={}){this._store=e,this._services=t.services||{},this._charmstoreCookieSetter=t.charmstoreCookieSetter||null;const n=t.initial||{};Object.keys(n).forEach(e=>{const t=n[e];t&&this.set(e,t)})}get(e){return e=this._getKey(e),this._store.getItem(e)}set(e,t,n){if(e=this._getKey(e),this._store.setItem(e,t),"charmstore"===e&&this._charmstoreCookieSetter){const e=(e=>JSON.parse(atob(e)))(t);this._charmstoreCookieSetter(e,(e,t)=>{e&&console.error("cannot set charm store cookie:",e),n()})}else n()}clear(){this._store.clear()}_getKey(e){for(const t in this._services){const n=this._services[t];if(0===e.indexOf(n))return t}return"/discharge"===e.slice(-"/discharge".length)?e.slice(0,-"/discharge".length):e}};class s{constructor(){this._items={}}getItem(e){return this._items[e]}setItem(e,t){this._items[e]=t}clear(){this._items={}}}function c(e,t,n,r,i,a){const o=new XMLHttpRequest({}),s=e=>{a&&a(e),o.removeEventListener("error",s),o.removeEventListener("load",s)};return o.addEventListener("error",s,!1),o.addEventListener("load",s,!1),o.open(t,e,!0),Object.keys(n||{}).forEach(e=>{o.setRequestHeader(e,n[e])}),i&&(o.withCredentials=i),o.send(r||void 0),o}e.exports={Bakery:class{constructor(e={}){this._onSuccess=e.onSuccess||(()=>{}),this._sendRequest=e.sendRequest||c,this.storage=e.storage||new o(new s),this._visitPage=e.visitPage||(e=>{window.open(e.Info.VisitURL,"Login")}),this._dischargeDisabled=!1}sendRequest(e,t,n,r,i){t=t.toLowerCase();const a=this._wrapCallback(e,t,n,r,i),o={"Bakery-Protocol-Version":1},s=this.storage.get(e);s&&(o.Macaroons=s),Object.keys(n||{}).forEach(e=>{const t=n[e];o[e]=t});let c=!1;return"put"===t&&-1!==e.indexOf("/set-auth-cookie")&&(c=!0),this._sendRequest(e,t,o,r,c,a)}get(e,t,n){return this.sendRequest(e,"get",t,null,n)}delete(e,t,n,r){return this.sendRequest(e,"delete",t,n,r)}post(e,t,n,r){return this.sendRequest(e,"post",t,n,r)}put(e,t,n,r){return this.sendRequest(e,"put",t,n,r)}patch(e,t,n,r){return this.sendRequest(e,"patch",t,n,r)}discharge(e,t,n){try{r.dischargeMacaroon(r.importMacaroons(e)[0],this._getThirdPartyDischarge.bind(this),e=>{t(e.map(e=>e._exportAsJSONObjectV1()))},n)}catch(e){n(`discharge failed: ${e.message}`)}}_wrapCallback(e,t,n,r,i){return o=>{const s=e=>{i(null,e),this._onSuccess()},c=this._getError(o.target);if(!c)return void s(o);let u;const l=e=>{i(e,null)};switch(c.Code){case"interaction required":u=(t=>{const n=JSON.parse(t.target.responseText),r=a(n.Macaroon);this.storage.set(e,r,()=>{if(n.DischargeToken){const r=a(n.DischargeToken);this.storage.set(e,r,()=>{this.storage.set("identity",r,()=>{s(t)})})}else s(t)})}),this._interact(c,u,l);break;case"macaroon discharge required":if(this._dischargeDisabled)return void i("discharge required but disabled",o);u=(o=>{this.storage.set(e,a(o),()=>{this.sendRequest(e,t,n,r,i)})}),this.discharge(c.Info.Macaroon,u,l);break;default:i(this._getErrorMessage(c),null)}}}_getThirdPartyDischarge(e,t,n,a,o){const s=t+"/discharge",c={"Content-Type":"application/x-www-form-urlencoded"},u=new i("utf-8").decode(n),l=`id=${encodeURIComponent(u)}&location=${encodeURIComponent(e)}`;this.post(s,c,l,(e,t)=>{if(e)return void o(e);const n=JSON.parse(t.target.responseText),i=r.importMacaroons(n.Macaroon)[0];a(i)})}_interact(e,t,n){this._visitPage(e);const r=t=>{const n={"Content-Type":"application/json"};return this._sendRequest(e.Info.WaitURL,"get",n,void 0,!1,t)};let i=0;const a=e=>{const o=e.target;if(0===o.status&&""===o.response&&""===o.responseText&&i<5)return i+=1,void r(a);const s=this._getError(o);s?n("cannot interact: "+this._getErrorMessage(s)):t(e)};r(a)}_getError(e){if(401!==e.status&&407!==e.status)return null;if("application/json"!==e.getResponseHeader("Content-Type"))return null;let t;try{t=JSON.parse(e.responseText)}catch(e){return"cannot parse error response"}return t}_getErrorMessage(e){return e.Message||e.message||e.Error||e.error||"unexpected error: "+JSON.stringify(e)}},BakeryStorage:o,InMemoryStore:s}},function(e,t){e.exports=Math.scale||function(e,t,n,r,i){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||i!=i?NaN:e===1/0||e===-1/0?e:(e-t)*(i-r)/(n-t)+r}},function(e,t,n){var r=n(43);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r=n(65),i=n(164);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic");return i(this)}}},function(e,t,n){var r=n(49),i=n(23),a=n(66).f;e.exports=function(e){return function(t){for(var n,o=i(t),s=r(o),c=s.length,u=0,l=[];c>u;)a.call(o,n=s[u++])&&l.push(e?[n,o[n]]:o[n]);return l}}},function(e,t,n){var r=n(9),i=n(119),a=n(32);e.exports=function(e,t,n,o){var s=String(a(e)),c=s.length,u=void 0===n?" ":String(n),l=r(t);if(l<=c||""==u)return s;var f=l-c,d=i.call(u,Math.ceil(f/u.length));return d.length>f&&(d=d.slice(0,f)),o?d+s:s+d}},function(e,t,n){"use strict";var r=n(85),i=n(6),a=n(9),o=n(27),s=n(8)("isConcatSpreadable");e.exports=function e(t,n,c,u,l,f,d,h){for(var p,g,m=l,b=0,v=!!d&&o(d,h,3);b<u;){if(b in c){if(p=v?v(c[b],b,n):c[b],g=!1,i(p)&&(g=void 0!==(g=p[s])?!!g:r(p)),g&&f>0)m=e(t,n,p,a(p.length),m,f-1)-1;else{if(m>=9007199254740991)throw TypeError();t[m]=p}m++}b++}return m}},function(e,t,n){var r=n(46),i=n(86),a=n(2),o=n(3).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},function(e,t,n){var r=n(31),i=n(9);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){"use strict";var r=n(42),i=n(40).getWeak,a=n(2),o=n(6),s=n(44),c=n(43),u=n(29),l=n(19),f=n(55),d=u(5),h=u(6),p=0,g=function(e){return e._l||(e._l=new m)},m=function(){this.a=[]},b=function(e,t){return d(e.a,function(e){return e[0]===t})};m.prototype={get:function(e){var t=b(this,e);if(t)return t[1]},has:function(e){return!!b(this,e)},set:function(e,t){var n=b(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,a){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=p++,e._l=void 0,void 0!=r&&c(r,n,e[a],e)});return r(u.prototype,{delete:function(e){if(!o(e))return!1;var n=i(e);return!0===n?g(f(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=i(e);return!0===n?g(f(this,t)).has(e):n&&l(n,this._i)}}),u},def:function(e,t,n){var r=i(a(t),!0);return!0===r?g(e).set(t,n):r[e._i]=n,e},ufstore:g}},function(e,t,n){"use strict";var r,i=n(29)(0),a=n(17),o=n(40),s=n(191),c=n(171),u=n(6),l=n(4),f=n(55),d=o.getWeak,h=Object.isExtensible,p=c.ufstore,g={},m=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},b={get:function(e){if(u(e)){var t=d(e);return!0===t?p(f(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return c.def(f(this,"WeakMap"),e,t)}},v=e.exports=n(79)("WeakMap",m,b,c,!0,!0);l(function(){return 7!=(new v).set((Object.freeze||Object)(g),7).get(g)})&&(s((r=c.getConstructor(m,"WeakMap")).prototype,b),o.NEED=!0,i(["delete","has","get","set"],function(e){var t=v.prototype,n=t[e];a(t,e,function(t,i){if(u(t)&&!h(t)){this._f||(this._f=new r);var a=this._f[e](t,i);return"set"==e?this:a}return n.call(this,t,i)})}))},function(e,t,n){"use strict";var r=n(174),i=n(55);e.exports=n(79)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r=n(10).f,i=n(47),a=n(42),o=n(27),s=n(44),c=n(43),u=n(115),l=n(179),f=n(45),d=n(11),h=n(40).fastKey,p=n(55),g=d?"_s":"size",m=function(e,t){var n,r=h(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,u){var l=e(function(e,r){s(e,l,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[g]=0,void 0!=r&&c(r,n,e[u],e)});return a(l.prototype,{clear:function(){for(var e=p(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[g]=0},delete:function(e){var n=p(this,t),r=m(n,e);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[g]--}return!!r},forEach:function(e){p(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!m(p(this,t),e)}}),d&&r(l.prototype,"size",{get:function(){return p(this,t)[g]}}),l},def:function(e,t,n){var r,i,a=m(e,t);return a?a.v=n:(e._l=a={i:i=h(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=a),r&&(r.n=a),e[g]++,"F"!==i&&(e._i[i]=a)),e},getEntry:m,setStrong:function(e,t,n){u(e,t,function(e,n){this._t=p(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?l(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,l(1))},n?"entries":"values",!n,!0),f(t)}}},function(e,t,n){"use strict";var r=n(174),i=n(55);e.exports=n(79)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){var r=n(2),i=n(6),a=n(103);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){n(11)&&"g"!=/./g.flags&&n(10).f(RegExp.prototype,"flags",{configurable:!0,get:n(82)})},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){"use strict";var r=n(13),i=n(48),a=n(9);e.exports=[].copyWithin||function(e,t){var n=r(this),o=a(n.length),s=i(e,o),c=i(t,o),u=arguments.length>2?arguments[2]:void 0,l=Math.min((void 0===u?o:i(u,o))-c,o-s),f=1;for(c<s&&s<c+l&&(f=-1,c+=l-1,s+=l-1);l-- >0;)c in n?n[s]=n[c]:delete n[s],s+=f,c+=f;return n}},function(e,t,n){var r=n(14),i=n(13),a=n(67),o=n(9);e.exports=function(e,t,n,s,c){r(t);var u=i(e),l=a(u),f=o(u.length),d=c?f-1:0,h=c?-1:1;if(n<2)for(;;){if(d in l){s=l[d],d+=h;break}if(d+=h,c?d<0:f<=d)throw TypeError("Reduce of empty array with no initial value")}for(;c?d>=0:f>d;d+=h)d in l&&(s=t(s,l[d],d,u));return s}},function(e,t,n){var r=n(2);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var a=e.return;throw void 0!==a&&r(a.call(e)),t}}},function(e,t,n){var r=n(118),i=Math.pow,a=i(2,-52),o=i(2,-23),s=i(2,127)*(2-o),c=i(2,-126);e.exports=Math.fround||function(e){var t,n,i=Math.abs(e),u=r(e);return i<c?u*(i/c/o+1/a-1/a)*c*o:(n=(t=(1+o/a)*i)-(t-i))>s||n!=n?u*(1/0):u*n}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(6),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},function(e,t,n){var r=n(26);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(3).parseFloat,i=n(57).trim;e.exports=1/r(n(121)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(3).parseInt,i=n(57).trim,a=n(121),o=/^[-+]?0[xX]/;e.exports=8!==r(a+"08")||22!==r(a+"0x16")?function(e,t){var n=i(String(e),3);return r(n,t>>>0||(o.test(n)?16:10))}:r},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(14),i=n(6),a=n(189),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),c=function(){var r=n.concat(o.call(arguments));return this instanceof c?function(e,t,n){if(!(t in s)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]";s[t]=Function("F,a","return new F("+r.join(",")+")")}return s[t](e,n)}(t,r.length,r):a(t,r,e)};return i(t.prototype)&&(c.prototype=t.prototype),c}},function(e,t,n){"use strict";var r=n(49),i=n(86),a=n(66),o=n(13),s=n(67),c=Object.assign;e.exports=!c||n(4)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=c({},e)[n]||Object.keys(c({},t)).join("")!=r})?function(e,t){for(var n=o(e),c=arguments.length,u=1,l=i.f,f=a.f;c>u;)for(var d,h=s(arguments[u++]),p=l?r(h).concat(l(h)):r(h),g=p.length,m=0;g>m;)f.call(h,d=p[m++])&&(n[d]=h[d]);return n}:c},function(e,t,n){var r=n(23),i=n(46).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?function(e){try{return i(e)}catch(e){return o.slice()}}(e):i(r(e))}},function(e,t,n){var r=n(10),i=n(2),a=n(49);e.exports=n(11)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,c=0;s>c;)r.f(e,n=o[c++],t[n]);return e}},function(e,t,n){var r=n(19),i=n(23),a=n(87)(!1),o=n(125)("IE_PROTO");e.exports=function(e,t){var n,s=i(e),c=0,u=[];for(n in s)n!=o&&r(s,n)&&u.push(n);for(;t.length>c;)r(s,n=t[c++])&&(~a(u,n)||u.push(n));return u}},function(e,t,n){t.f=n(8)},function(e,t,n){e.exports=!n(11)&&!n(4)(function(){return 7!=Object.defineProperty(n(127)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){"use strict";function r(e){return{restrict:"A",link:function(t,n,r){function i(){t.windowWidth!==e.innerWidth&&(t.windowWidth=e.innerWidth,t.$apply(function(){t.message="Timeout called!"}))}t.windowWidth=e.innerWidth,angular.element(e).on("resize",i),t.$on("$destroy",function(){angular.element(e).off("resize",i)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$window"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){return i.$inject=["$scope"],{restrict:"A",controller:i};function i(i){i.version=t.getData("version"),i.reloadPage=function(){e.location.reload(!0)},n.loadManager(i,t).then(function(){t.enableAutoReload(!0),r.info('Version reloader: Monitoring MAAS "'+i.site+'"; version',i.version.text,"via",e.location.href),i.$watch("version.text",function(e,t){e!==t&&(r.info("MAAS version changed from '"+t+"' to '"+e+"'; forcing reload."),i.reloadPage())})})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$window","GeneralManager","ManagerHelperService","LogService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",scope:{ngType:"="},link:function(e,t){e.$watch("ngType",function(){if(-1===["button","checkbox","color","date ","datetime ","datetime-local ","email ","file","hidden","image","month ","number ","password","radio","range ","reset","search","submit","tel","text","time ","url","week"].indexOf(e.ngType))throw new Error("Invalid input type: "+e.ngType);t[0].type=e.ngType})}}};t.default=r},function(e,t,n){"use strict";function r(e){return{restrict:"A",link:function(t,n,r){t.isToggled=!1,t.toggleMenu=function(){t.isToggled=!t.isToggled};var i=function(e){n.find(e.target).length>0||t.$apply(function(){t.isToggled=!1})};e.on("click",i),t.$on("$destroy",function(){e.off("click",i)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$document"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){return{restrict:"E",scope:{search:"=",ngDisabled:"&",switchHasError:"&",hideCheckboxes:"=?",onListingChange:"&",onCheckAll:"&",onCheck:"&"},templateUrl:"static/partials/switches-table.html?v="+MAAS_config.files_version,link:function(n,r,i){var a=[1,9,12,14,17,19,21];n.table={column:"fqdn",predicate:"fqdn",reverse:!1,allViewableChecked:!1,switches:e.getItems(),filteredSwitches:[],osinfo:t.getData("osinfo")},n.updateAllChecked=function(){if(0!==n.table.filteredSwitches.length){var e;for(e=0;e<n.table.filteredSwitches.length;e++)if(!n.table.filteredSwitches[e].$selected)return void(n.table.allViewableChecked=!1);n.table.allViewableChecked=!0}else n.table.allViewableChecked=!1},n.toggleCheckAll=function(){n.table.allViewableChecked?angular.forEach(n.table.filteredSwitches,function(t){e.unselectItem(t.system_id)}):angular.forEach(n.table.filteredSwitches,function(t){e.selectItem(t.system_id)}),n.updateAllChecked(),n.onCheckAll()},n.toggleChecked=function(t){e.isSelected(t.system_id)?e.unselectItem(t.system_id):e.selectItem(t.system_id),n.updateAllChecked(),n.onCheck({$switch_:t})},n.sortTable=function(e){n.table.predicate=e,n.table.reverse=!n.table.reverse},n.selectColumnOrSort=function(e){n.table.column!==e?n.table.column=e:n.sortTable(e)},n.showSpinner=function(e){return a.indexOf(e.status_code)>-1},n.getReleaseTitle=function(e){if(angular.isArray(n.table.osinfo.releases))for(var t=0;t<n.table.osinfo.releases.length;t++){var r=n.table.osinfo.releases[t];if(r[0]===e)return r[1]}return e},n.getStatusText=function(e){if(-1===["Deploying","Deployed"].indexOf(e.status))return e.status;var t=n.getReleaseTitle(e.osystem+"/"+e.distro_series);return"ubuntu"===e.osystem&&(t=t.split('"')[0].trim()),"Deployed"===e.status?t:"Deploying"===e.status?e.status+" "+t:void 0},n.$watchCollection("table.filteredSwitches",function(){n.updateAllChecked(),n.onListingChange({$switches:n.table.filteredSwitches})})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["SwitchesManager","GeneralManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){return i.$inject=["$scope"],{restrict:"E",scope:{},templateUrl:"static/partials/ssh-keys.html?v="+MAAS_config.files_version,controller:i};function i(i){i.loading=!0,i.keys=t.getItems(),i.groupedKeys=[],i.add={source:"lp",authId:"",key:"",error:null,saving:!1},i.sourceTitles={lp:"Launchpad",gh:"Github",upload:"Upload"},i.openRow=null,i.rowMode=null,i.trustAsHtml=e.trustAsHtml,i.open=function(e,t){i.openRow=e.id,i.rowMode=t},i.close=function(){i.openRow=null},i.canImportKeys=function(){return!i.add.saving&&("lp"===i.add.source||"gh"===i.add.source?i.add.authId.length>0:i.add.key.length>0)},i.importKeys=function(){i.canImportKeys()&&(i.add.error=null,i.add.saving=!0,"lp"===i.add.source||"gh"===i.add.source?t.importKeys({protocol:i.add.source,auth_id:i.add.authId}).then(function(){i.open({id:"".concat(i.add.source,"/").concat(i.add.authId)},"view"),i.add.saving=!1,i.add.source="lp",i.add.authId="",i.add.key=""},function(e){i.add.saving=!1;var t=r.tryParse(e);angular.isObject(t)&&angular.isArray(t.__all__)?i.add.error=t.__all__[0]:i.add.error=e}):t.createItem({key:i.add.key}).then(function(){i.add.saving=!1,i.add.source="lp",i.add.authId="",i.add.key=""},function(e){i.add.saving=!1;var t=r.tryParse(e);angular.isObject(t)?angular.isArray(t.key)?i.add.error=t.key[0]:angular.isArray(t.__all__)?i.add.error=t.__all__[0]:i.add.error=e:i.add.error=e}))},i.confirmDelete=function(e){angular.forEach(e.keys,function(e){t.deleteItem(e)})},i.$watchCollection("keys",function(){i.groupedKeys=[];var e={};angular.forEach(i.keys,function(t){var n,r=t.keysource;if(angular.isObject(r)){var a=r.protocol+"/"+r.auth_id;n=e[a],angular.isObject(n)?n.keys.push(t):(n={id:a,source:r.protocol,authId:r.auth_id,keys:[t]},e[a]=n,i.groupedKeys.push(n))}else n={id:"upload/"+t.id,source:"upload",authId:"",keys:[t]},i.groupedKeys.push(n)})}),n.loadManager(i,t).then(function(){i.loading=!1})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$sce","SSHKeysManager","ManagerHelperService","JSONService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{templateUrl:"static/partials/script-results-list.html?v="+MAAS_config.files_version}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"C",link:function(e,t,n){var r=t.find(".p-script-expander__trigger"),i=t.find(".p-script-expander__content");i.addClass("u-hide"),r.on("click",function(e){e.preventDefault(),i.toggleClass("u-hide")})}}};t.default=r},function(e,t,n){"use strict";function r(e){return{restrict:"A",scope:{releaseName:"=maasReleaseName"},link:function(t,n,r){t.osinfo=e.getData("osinfo");var i=function(){n.text(function(){if(angular.isArray(t.osinfo.releases))for(var e=0;e<t.osinfo.releases.length;e++){var n=t.osinfo.releases[e];if(n[0]===t.releaseName)return n[1]}return t.releaseName}())};t.$watch("releaseName",function(){i()}),t.$watchCollection("osinfo.releases",function(){i()})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["GeneralManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){return n.$inject=["$scope"],{restrict:"E",scope:{},templateUrl:"static/partials/proxy-settings.html",controller:n};function n(n){n.loading=!0,t.loadManager(n,e).then(function(){n.loading=!1,n.httpProxy=e.getItemFromList("http_proxy"),n.enableHttpProxy=e.getItemFromList("enable_http_proxy"),n.usePeerProxy=e.getItemFromList("use_peer_proxy"),n.enableHttpProxy.value?n.httpProxy.value?n.usePeerProxy.value?n.proxy_type="peer-proxy":n.proxy_type="external-proxy":n.proxy_type="builtin-proxy":n.proxy_type="no-proxy"})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["ConfigsManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){return{restrict:"A",controller:function(){var r=this;r.addKey=function(){var i=e.defer();return t.defaultConnect().then(function(){n.createAuthorisationToken().then(function(e){r.injector&&r.injector(e),i.resolve(e)})}),i.promise},r.deleteKey=function(e){t.defaultConnect().then(function(){n.deleteAuthorisationToken(e)})}}}}function i(e,t){return{restrict:"A",require:"^maasPrefKeys",scope:{template:"@maasPrefKeysInject"},link:function(n,r,i,a){var o=t.get(n.template);if(!o)throw new Error("Unable to load template: "+n.template);a.injector=function(t){var i=n.$new();i.token=t;var a=angular.element(o);r.append(a),e(a)(i)}}}}Object.defineProperty(t,"__esModule",{value:!0}),t.maasPrefKeys=r,t.maasPrefKeysInject=i,t.maasPrefKeysAdd=function(){return{restrict:"A",require:"^maasPrefKeys",link:function(e,t,n,r){t.on("click",function(n){n.preventDefault();var i=angular.element('<i class="p-icon--spinner u-animation--spin"></i>');t.prepend(i),e.$apply(function(){r.addKey().then(function(){i.remove()})})})}}},t.maasPrefKey=function(){return e.$inject=["$scope","$element"],{restrict:"A",require:"^maasPrefKeys",scope:{key:"@maasPrefKey"},controller:e,link:function(e,t,n,r){e.prefsController=r}};function e(e,t){this.deleteKey=function(){e.prefsController.deleteKey(e.key),e.$destroy(),t.remove()}}},t.maasPrefKeyDelete=function(){return{restrict:"A",require:"^maasPrefKey",link:function(e,t,n,r){t.on("click",function(t){t.preventDefault(),e.$apply(function(){r.deleteKey()})})}}},i.$inject=["$compile","$templateCache"],r.$inject=["$q","RegionConnection","UsersManager"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",scope:{ngPlaceholder:"="},link:function(e,t){e.$watch("ngPlaceholder",function(){t[0].placeholder=e.ngPlaceholder})}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",link:function(e,t,n){t.on("click",function(e){e.stopPropagation(),t.parent().parent().find("#mobile-nav-menu").toggleClass("u-show")})}}};t.default=r},function(e,t,n){"use strict";function r(e){return{restrict:"A",link:function(t,n,r){n.on("click",function(e){e.stopPropagation(),n.parent().find(".p-dropdown__menu").toggleClass("u-hide")}),e.on("click",function(){n.parent().find(".p-dropdown__menu").addClass("u-hide")})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$document"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",require:"ngModel",link:function(e,t,n,r){if(r){var i=function(e){if(e){var t=e.replace(/:/g,"");return e.length%3==0?t.replace(/([0-9A-Za-z]{2})/g,"$1:"):void 0}};r.$parsers.push(function(e){return e.toUpperCase()}),r.$formatters.push(i),t.on("input",function(){var n=i(t.val());angular.isDefined(n)&&(r.$setViewValue(n),r.$render()),e.$apply()})}}}};t.default=r},function(e,t,n){"use strict";function r(e){function t(e){"ngInject";this.obj=e.obj,this.manager=e.manager,this.fields={},this.scope=e,this.scope.saving=!1,this.scope.savingKeys=[],angular.isObject(this.scope.obj)&&(this.scope.obj.$maasForm=this),this.managerMethod=e.managerMethod,angular.isUndefined(this.managerMethod)&&(this.managerMethod="updateItem");var t=this;e.$watch("obj",function(){t.obj=e.obj,angular.isObject(t.obj)&&(t.obj.$maasForm=t)}),e.$on("$destroy",function(){angular.isObject(t.obj)&&delete t.obj.$maasForm})}return t.$inject=["$scope"],t.prototype.getValue=function(e){var t=this.fields[e];if(angular.isObject(t)&&angular.isObject(t.scope))return t.scope.getValue()},t.prototype.updateValue=function(e,t){var n=this.fields[e];if(angular.isObject(n)&&angular.isObject(n.scope))return n.scope.updateValue(t)},t.prototype.cloneObject=function(){if(angular.isObject(this.obj)){delete this.obj.$maasForm;var e=angular.copy(this.obj);return this.obj.$maasForm=this,e}return this.obj},t.prototype.isTableForm=function(){return!angular.isUndefined(this.scope.tableForm)&&this.scope.tableForm},t.prototype.saveOnBlur=function(){return!!angular.isUndefined(this.scope.saveOnBlur)||this.scope.saveOnBlur},t.prototype.isSaving=function(e){return this.scope.saving&&this.scope.savingKeys.indexOf(e)>=0},t.prototype.showInputSaving=function(e){return this.saveOnBlur()&&this.isSaving(e)},t.prototype.hasErrors=function(){var e=!1;return angular.forEach(this.fields,function(t){t.scope.hasErrors()&&(e=!0)}),angular.isDefined(this.errorScope)&&this.errorScope.hasErrors()&&(e=!0),e},t.prototype.registerField=function(e,t){this.fields[e]={editing:!1,scope:t};var n=this;return this.scope.$watch("obj."+e,function(){angular.isObject(n.obj)&&!n.fields[e].editing&&n.fields[e].scope.updateValue(n.obj[e])}),angular.isObject(this.obj)?this.obj[e]:null},t.prototype.unregisterField=function(e){delete this.fields[e]},t.prototype.startEditingField=function(e){this.fields[e].editing=!0},t.prototype.stopEditingField=function(e,t){var n=this.fields[e];if(this.saveOnBlur()){n.scope.clearErrors();var r=this.cloneObject();r[e]=t,r[e]!==this.obj[e]?(this.scope.saving=!0,this.scope.savingKeys=[e],this.updateItem(r,[e])):n.editing=!1}else n.editing=!1},t.prototype.updateItem=function(t,n){var r=n[0],i=this.fields[r],a=this;return angular.isFunction(this.scope.preProcess)&&(t=this.scope.preProcess(t,n)),this.manager[this.managerMethod](t).then(function(e){return i.editing=!1,i.scope.updateValue(e[r]),a.scope.saving=!1,a.scope.savingKeys=[],angular.isFunction(a.scope.afterSave)&&a.scope.afterSave(e),e},function(t){var n=e.tryParse(t);return angular.isObject(n)?angular.forEach(n,function(e,t){var n=a.fields[t];angular.isArray(e)||(e=[e]),angular.isObject(n)?n.scope.setErrors(e):("__all__"!==t&&(e=e.map(function(e){return t+": "+e})),i.scope.setErrors(e))}):i.scope.setErrors([t]),a.scope.saving=!1,a.scope.savingKeys=[],t})},t.prototype.saveForm=function(){var t=[],n=this.cloneObject();angular.forEach(this.fields,function(e,r){e.scope.clearErrors();var i=e.scope.getValue();angular.isDefined(i)&&n[r]!==i&&(n[r]=i,t.push(r))}),angular.isFunction(this.scope.preProcess)&&(n=this.scope.preProcess(n,t)),angular.isDefined(this.errorScope)&&this.errorScope.clearErrors();var r=this;return this.scope.saving=!0,this.scope.savingKeys=t,this.manager[this.managerMethod](n).then(function(e){return r.scope.saving=!1,r.scope.savingKeys=[],angular.isFunction(r.scope.afterSave)&&r.scope.afterSave(e),e},function(t){var n=e.tryParse(t);return angular.isObject(n)?angular.forEach(n,function(e,t){var n=r.fields[t];angular.isArray(e)||(e=[e]),angular.isObject(n)?n.scope.setErrors(e):("__all__"!==t&&(e=e.map(function(e){return t+": "+e})),angular.isDefined(r.errorScope)?r.errorScope.setErrors(e):console.log(e))}):angular.isDefined(r.errorScope)?r.errorScope.setErrors([t]):console.log(t),r.scope.saving=!1,r.scope.savingKeys=[],t})},{restrict:"E",scope:{obj:"=",manager:"=",managerMethod:"@",preProcess:"=",afterSave:"=",tableForm:"=",saveOnBlur:"=",inline:"=",ngDisabled:"&"},transclude:!0,template:"<form class=\"p-form\" data-ng-class=\"{saving: saving, 'p-form--inline': inline, 'p-form--stacked': tableForm}\" ng-transclude></form>",controller:t}}function i(e){return{restrict:"E",require:["^^maasObjForm","?^^maasObjFieldGroup"],scope:{onChange:"=",subtleText:"@"},transclude:!0,template:"<div data-ng-transclude></div>",link:function(t,n,r,i){var a=i[1];angular.isObject(a)||(a=i[0]),t.ngDisabled=a.scope.ngDisabled,n.addClass("p-form__group"),"false"!==r.subtle&&n.addClass("form__group--subtle");var o=[];if(angular.isString(r.type)&&0!==r.type.length||o.push("type"),angular.isString(r.key)&&0!==r.key.length||o.push("key"),o.length>0)throw new Error(o.join(", ")+" are required on maas-obj-field.");angular.isString(r.disabled)&&(t.ngDisabled=function(){return!0}),n.find("div").remove();var s=r.label||r.key;if("true"!==r.disableLabel&&"hidden"!==r.type){var c=angular.element("<label/>");if(c.attr("for",r.key),c.text(s),c.addClass("p-form__label"),r.labelWidth&&(c.addClass("col-"+r.labelWidth),r.labelWidthMobile&&c.addClass("mobile-col-"+r.labelWidthMobile),r.labelWidthTablet&&c.addClass("tablet-col-"+r.labelWidthTablet)),"true"===r.labelLeft&&(c.addClass("u-padding--left"),c.addClass("u-position--relative")),n.append(c),angular.isString(r.labelInfo)&&r.labelInfo.length>0){var u=angular.element("<span>&nbsp;</span>");u.addClass("p-tooltip p-tooltip--btm-right");var l=angular.element("<i/>");r.labelInfoIcon?l.addClass("p-icon--"+r.labelInfoIcon):l.addClass("p-icon--information"),l.attr("aria-describedby",r.key+"-tooptip");var f=angular.element("<p></p>");f.addClass("p-tooltip__message"),f.text(r.labelInfo),f.attr("id",r.key+"-tooptip"),u.append(l),u.append(f),c.append(u),l.bind("click",function(e){e.preventDefault()})}}var d=angular.element("<div></div>");d.addClass("p-form__control"),r.inputWidthMobile&&d.addClass("mobile-col-"+r.inputWidthMobile),r.inputWidthTablet&&d.addClass("tablet-col-"+r.inputWidthTablet),r.inputWidth&&d.addClass("col-"+r.inputWidth);var h=r.placeholder||s,p=null;if("text"===r.type||"textarea"===r.type||"password"===r.type){"text"===r.type?p=e('<input type="text" id="'+r.key+'" placeholder="'+h+'"data-ng-disabled="ngDisabled()">')(t):"textarea"===r.type?p=e('<textarea id="'+r.key+'" placeholder="'+h+'"data-ng-disabled="ngDisabled()"></textarea>')(t):"password"===r.type&&(p=e('<input type="password" id="'+r.key+'" placeholder="'+h+'"data-ng-disabled="ngDisabled()">')(t)),r.blurOnEnter&&p.bind("keydown keypress",function(e){13===e.which&&(p.blur(),e.preventDefault())}),p.bind("keydown keypress",function(e){27===e.which&&(p.val(a.scope.obj[r.key]),p.blur(),e.preventDefault())}),r.value&&t.$applyAsync(function(){p.val(r.value)});var g=a.registerField(r.key,t);p.val(g),p.on("focus",function(){t.$apply(function(){a.startEditingField(r.key)})}),p.on("blur",function(){t.$apply(function(){a.stopEditingField(r.key,p.val())})}),t.updateValue=function(e){p.val(e)},t.getValue=function(){return p.val()}}else if("options"===r.type){var m=r.options;if(!angular.isString(m)||0===m.length)throw new Error("options attribute is required on type 'options' on maas-obj-field.");var b="disabled";"true"===r.placeholderEnabled&&(b="");var v=t.$parent.$new();v._ngDisabled=t.ngDisabled,v._selectValue=a.registerField(r.key,t),v._selectNgChange=function(){t._change(),a.stopEditingField(r.key,v._selectValue)},p=e('<select id="'+r.key+'" data-ng-model="_selectValue" data-ng-options="'+m+'"data-ng-change="_selectNgChange()"data-ng-disabled="_ngDisabled()"><option value="" '+b+">"+h+"</option></select>")(v),t.updateValue=function(e){v._selectValue=e},t.getValue=function(){return v._selectValue}}else if("checkboxes"===r.type){var y=r.values;if(!angular.isString(y)||0===y.length)throw new Error("values attribute is required on type 'checkboxes' on maas-obj-field.");var _=t.$parent.$new();_._selectedValues=a.registerField(r.key,t),_._checked=function(e){return _._selectedValues.indexOf(e)>-1},_._toggleChecked=function(e){var t=_._selectedValues.indexOf(e);t>-1?_._selectedValues.splice(t,1):_._selectedValues.push(e)},p=angular.element(['<div class="p-form__group" ','style="padding-top: .2rem;" ','data-ng-repeat="val in '+y+'">','<input id="'+r.key+"_{$ val $}",'" type="checkbox" value="{$ val $}" ','class="checkbox" ','data-ng-checked="_checked(val)" ','data-ng-click="_toggleChecked(val)">','<label for="'+r.key+"_",'{$ val $}" ','class="checkbox-label">{$ val $}</label>',"</div>"].join("")),p=e(p)(_),t.updateValue=function(e){_._selectedValues=e},t.getValue=function(){return _._selectedValues}}else if("tags"===r.type){var w=t.$new(),S=a.registerField(r.key,t);w._tags=S.map(function(e){return{text:e}}),p=angular.element(['<span data-ng-if="ngDisabled()" ','data-ng-repeat="tag in _tags">',"{$ tag.text $} </span>",'<tags-input id="'+r.key+'" ','data-ng-model="_tags" ','data-ng-if="!ngDisabled()" ','placeholder="'+h+'" ','data-ng-change="_change()" ','allow-tags-pattern="[\\w-]+"></tags-input>'].join("")),p=e(p)(w),t.updateValue=function(e){w._tags=e.map(function(e){return{text:e}})},t.getValue=function(){return w._tags.map(function(e){return e.text})}}else if("hidden"===r.type){var M=t.$new();M._toggle=a.registerField(r.key,t),p=angular.element(['<input type="hidden" name="'+r.key+'" ','id="'+r.key+'" ','value="'+r.value+'">',"</input>"].join("")),p=e(p)(M),t.getValue=function(){return r.value},t.updateValue=function(){return null}}else if("onoffswitch"===r.type){var E=t.$new();E._toggle=a.registerField(r.key,t),E._changed=function(){t._change(),a.startEditingField(r.key),a.stopEditingField(r.key,E.getValue())},p=angular.element(['<div class="maas-p-switch">','<input type="checkbox" name="'+r.key+'" ','class="maas-p-switch--input" ','id="'+r.key+'" ','data-ng-model="_toggle" ','data-ng-change="_changed()">','<div class="maas-p-switch--mask"></div>',"</div>"].join("")),p=e(p)(E),t.updateValue=function(e){r.onValue&&r.onValue===e?E._toggle=!0:r.offValue&&r.offValue===e?E._toggle=!1:E._toggle=e},t.getValue=function(){return E._toggle?!r.onValue||r.onValue:!!r.offValue&&r.offValue}}else{if("slider"!=r.type)throw new Error("Unknown type on maas-obj-field: "+r.type);var A=t.$new();A._slider=a.registerField(r.key,t),A._ngDisabled=t.ngDisabled,p=angular.element(['<div class="p-slider__wrapper">','<input class="p-slider" type="range"','min="'+r.min+'" max="'+r.max+'" ','value="1" step="'+r.step+'" ','id="'+r.key+'" ','data-ng-model="_slider" data-ng-disabled="','_ngDisabled()">','<input class="p-slider__input" type="text" ','maxlength="3" id="'+r.key+'-input" ','data-ng-model="_slider" disabled="disabled" ',"></div>"].join("")),p=e(p)(A),t.updateValue=function(e){A._slider=e},t.getValue=function(){return A._slider}}t._change=function(){angular.isFunction(t.onChange)&&t.onChange(r.key,a.getValue(r.key),a)},r.inputClass&&p.addClass(r.inputClass),d.append(p);var I=angular.element('<ul class="p-list u-no-margin--top"></ul>');if(a.isTableForm()||I.addClass("form__error"),d.append(I),r.helpText){var k=angular.element("<p>"+r.helpText+"</p>");k.addClass("p-form-help-text"),d.append(k)}if(t.clearErrors=function(){p.removeClass("ng-dirty"),p.removeClass("p-form-validation__input"),d.removeClass("p-form-validation"),d.removeClass("is-error"),d.removeClass("u-no-margin--top"),I.empty()},t.setErrors=function(e){e.length>0&&(d.addClass("p-form-validation"),d.addClass("is-error"),d.addClass("u-no-margin--top"),p.addClass("ng-dirty"),p.addClass("p-form-validation__input"),angular.forEach(e,function(e){I.append('<li class="p-form-validation__message"><strong>Error:</strong> '+e+"</li>")}),setTimeout(function(){p.focus()},1))},t.hasErrors=function(){return d.hasClass("is-error")},r.subtleText){var O=e(angular.element('<span class="p-form-help-text" data-ng-bind="subtleText"></span>'))(t);d.append(O)}n.append(d),t.$watch(function(){return a.showInputSaving(r.key)},function(e){e?(d.children(":first").addClass("u-border--information"),c.prepend('<i class="obj-saving icon p-icon--spinner u-animation--spin"></i>'),d.addClass("p-tooltip"),d.addClass("p-tooltip--bottom"),d.addClass("u-no-margin--top"),d.attr("aria-label","Saving")):(d.children(":first").removeClass("u-border--information"),c&&c.find("i.obj-saving").remove(),d.removeClass("p-tooltip"),d.removeClass("p-tooltip--right"),d.addClass("u-no-margin--top"),d.removeAttr("aria-label"))}),t.$on("$destroy",function(){a.unregisterField(r.key)})}}}function a(e){return{restrict:"E",require:["^^maasObjForm"],scope:{},template:'<ul class="p-list u-no-margin--top"></ul>',link:function(t,n,r,i){i[0].errorScope=t;var a=n.find("ul");t.clearErrors=function(){a.empty()},t.setErrors=function(n){if(n.length>0){t.errors=n;for(var r=0;r<t.errors.length;r++)a.append(e('<li class="p-list__item"><i class="p-icon--error"></i> <span ng-bind="errors['+r+']"></span></li>')(t))}},t.hasErrors=function(){return a.children().length>0}}}}Object.defineProperty(t,"__esModule",{value:!0}),t.maasObjForm=r,t.maasObjFieldGroup=function(){function e(e,t){"ngInject";this.fields={},this.scope=e,this.scope.saving=!1,this.scope.savingKeys=[],this.timeout=t;var n=this;this.scope.isEditing=function(){var e=!1;return angular.forEach(n.fields,function(t){e||(e=t.editing)}),e}}return e.$inject=["$scope","$timeout"],e.prototype.isTableForm=function(){return this.formController.isTableForm()},e.prototype.saveOnBlur=function(){return this.formController.saveOnBlur()},e.prototype.isSaving=function(e){return this.scope.saving&&this.scope.savingKeys.indexOf(e)>=0},e.prototype.showInputSaving=function(e){return this.saveOnBlur()&&this.scope.saving},e.prototype.registerField=function(e,t){return this.fields[e]={editing:!1,scope:t},this.formController.registerField(e,t)},e.prototype.unregisterField=function(e){delete this.fields[e],this.formController.unregisterField(e)},e.prototype.startEditingField=function(e){this.fields[e].editing=!0;var t=this;angular.forEach(this.fields,function(e,n){t.formController.startEditingField(n)})},e.prototype.stopEditingField=function(e,t){if(this.fields[e].editing=!1,this.saveOnBlur()){var n=this;this.timeout(function(){var t=!1;if(angular.forEach(n.fields,function(e){t||(t=e.editing)}),!t){var r=[],i=!1,a=n.formController.cloneObject();if(angular.forEach(n.fields,function(e,t){e.scope.clearErrors();var n=e.scope.getValue();angular.isDefined(n)&&a[t]!==n&&(r.push(t),a[t]=n,i=!0)}),i){var o=r.indexOf(e);-1!==o&&(r.splice(o,1),r.splice(0,0,e)),n.scope.saving=!0,n.scope.savingKeys=r,n.formController.updateItem(a,r).then(function(e){return n.scope.saving=!1,n.scope.savingKeys=[],e},function(e){return n.scope.saving=!1,n.scope.savingKeys=[],e})}}},10)}},{restrict:"E",require:["^^maasObjForm","maasObjFieldGroup"],scope:{},transclude:!0,template:'<div class="form__siblings" data-ng-class="{\'is-active\': isEditing()}" data-ng-transclude></div>',controller:e,link:{pre:function(e,t,n,r){r[1].formController=r[0],e.ngDisabled=r[0].scope.ngDisabled,r[0].scope.$watch("obj",function(t){e.obj=t})}}}},t.maasObjField=i,t.maasObjSave=function(){return{restrict:"A",require:["^^maasObjForm"],scope:{},link:function(e,t,n,r){var i=r[0];if(i.saveOnBlur())throw new Error("maas-obj-save is only allowed when save-on-blur is set to false.");t.on("click",function(){e.$apply(function(){i.saveForm()})})}}},t.maasObjErrors=a,t.maasObjSaving=function(){return{restrict:"E",require:"^^maasObjForm",scope:{},transclude:!0,template:['<span data-ng-if="saving">','<i class="p-icon--loading u-animation--spin"></i>',"<span data-ng-transclude></span>","</span>"].join(""),link:function(e,t,n,r){e.saving=!1,e.$watch(function(){return r.scope.saving},function(t){e.saving=t})}}},t.maasObjShowSaving=function(){return{restrict:"A",require:"^^maasObjForm",link:function(e,t,n,r){e.$watch(function(){return r.scope.saving},function(e){e?t.removeClass("ng-hide"):t.addClass("ng-hide")})}}},t.maasObjHideSaving=function(){return{restrict:"A",require:"^^maasObjForm",link:function(e,t,n,r){e.$watch(function(){return r.scope.saving},function(e){e?t.addClass("ng-hide"):t.removeClass("ng-hide")})}}},a.$inject=["$compile"],i.$inject=["$compile"],r.$inject=["JSONService"]},function(e,t,n){"use strict";function r(e,t,n,r){return i.$inject=["$scope"],{restrict:"E",scope:{subnet:"=",vlan:"="},templateUrl:"static/partials/ipranges.html?v="+MAAS_config.files_version,controller:i};function i(i){i.loading=!0,i.ipranges=e.getItems(),i.iprangeManager=e,i.newRange=null,i.editIPRange=null,i.deleteIPRange=null,i.MAAS_VERSION_NUMBER=e.formatMAASVersionNumber(),i.RESERVE_RANGE={name:"reserve_range",title:"Reserve range",selectedTitle:"Reserve range",objectName:"reserveRange"},i.RESERVE_DYNAMIC_RANGE={name:"reserve_dynamic_range",title:"Reserve dynamic range",selectedTitle:"Reserve dynamic range",objectName:"reserveDynamicRange"},i.actionOptions=[i.RESERVE_RANGE,i.RESERVE_DYNAMIC_RANGE],i.actionChanged=function(){var e=i.actionOption?i.actionOption.name:null;"reserve_range"===e&&i.addRange("reserved"),"reserve_dynamic_range"===e&&i.addRange("dynamic")},i.isSuperUser=function(){return t.isSuperUser()},i.addRange=function(e){i.newRange={type:e,start_ip:"",end_ip:"",comment:""},angular.isObject(i.subnet)&&(i.newRange.subnet=i.subnet.id),angular.isObject(i.vlan)&&(i.newRange.vlan=i.vlan.id),"dynamic"===e&&(i.newRange.comment="Dynamic")},i.cancelAddRange=function(){i.newRange=null,i.actionOption=null},i.ipRangeCanBeModified=function(e){return!!i.isSuperUser()||"reserved"===e.type&&e.user===t.getAuthUser().id},i.isIPRangeInEditMode=function(e){return i.editIPRange===e},i.ipRangeToggleEditMode=function(e){i.deleteIPRange=null,i.isIPRangeInEditMode(e)?i.editIPRange=null:i.editIPRange=e},i.ipRangeClearEditMode=function(){i.editIPRange=null},i.isIPRangeInDeleteMode=function(e){return i.deleteIPRange===e},i.ipRangeEnterDeleteMode=function(e){i.editIPRange=null,i.deleteIPRange=e},i.ipRangeCancelDelete=function(){i.deleteIPRange=null},i.ipRangeConfirmDelete=function(){e.deleteItem(i.deleteIPRange).then(function(){i.deleteIPRange=null})},i.ipRangeSort=function(e){return-1!==e.start_ip.indexOf(":")?r.ipv6Expand(e.start_ip):r.ipv4ToInteger(e.start_ip)},n.loadManagers(i,[e,t]).then(function(){i.loading=!1})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["IPRangesManager","UsersManager","ManagerHelperService","ConverterService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){return{restrict:"A",link:function(r,i,a){var o,s=function(){angular.isDefined(o)&&(e.cancel(o),o=void 0)},c=function(){var r=t.isConnected(),a=n._error;r&&!angular.isString(a)?(s(),i.removeClass("ng-hide")):angular.isString(a)?(s(),i.addClass("ng-hide")):r||(s(),o=e(function(){i.addClass("ng-hide")},500))};r.$watch(function(){return t.isConnected()},c),r.$watch(function(){return n._error},c),r.$on("$destroy",function(){s()})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$timeout","RegionConnection","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",link:function(e,t,n){t.bind("keydown keypress",function(t){13===t.which&&(e.$apply(function(){e.$eval(n.maasEnter)}),t.preventDefault())})}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",link:function(e,t,n){t.bind("keydown keypress",function(e){13===e.which&&(t.blur(),e.preventDefault())})}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",scope:{osInput:"@maasDefaultOsSelect",seriesInput:"@maasDefaultSeriesSelect"},link:function(e,t){var n=angular.element(t.find(e.osInput)),r=angular.element(t.find(e.seriesInput));if(!n||!r)throw new Error("Unable to find os or series elements");var i=function(e,t){var n=r.find("option"),i=!1;angular.forEach(n,function(n){var r=function(e,t,n){var r=!1,i=e.val(),a=i.split("/");return""===t?""===i?(e.removeClass("u-hide"),e.attr("selected","selected")):e.addClass("u-hide"):a[0]===t?(e.removeClass("u-hide"),""!==a[1]||n||(r=!0,e.attr("selected","selected"))):e.addClass("u-hide"),r}(angular.element(n),e,t);!1===i&&(i=r)}),t||i||function(e){var t=null;angular.forEach(e,function(e){(e=angular.element(e)).hasClass("u-hide")||null===t&&(t=e)}),null!==t&&r.val(t.val())}(n)};n.on("change",function(){i(n.val(),!1)}),i(n.val(),!0)}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",require:"ngModel",scope:{ngDisabled:"&",maasEditing:"&"},link:function(e,t,n,r){var i=function(){e.ngDisabled()?t.blur():e.$apply(e.maasEditing())};t.bind("focus",i);var a=function(){e.$apply(r.$setViewValue(t.text()))};t.bind("blur keyup change",a),r.$render=function(){t.html(r.$viewValue||"")},r.$viewChangeListeners.push(function(){e.$eval(n.ngChange)}),e.$on("$destroy",function(){t.unbind("blur keyup change",a),t.unbind("focus",i)})}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"A",scope:{maasCodeLines:"&"},link:function(e,t){e.$watch(e.maasCodeLines,function(){t.empty(),t.text(e.maasCodeLines);var n=t.html().split("\n"),r="<code>";angular.forEach(n,function(e){r+='<span class="code-line">'+e+"</span>"}),r+="</code>",t.html(r)})}}};t.default=r},function(e,t,n){"use strict";function r(e){return{restrict:"A",link:function(t,n,r){var i="<ng-include src=\"'"+("static/partials/cards/"+r.maasCardLoader+".html?v="+MAAS_config.files_version)+"'\"></ng-include>";n.html(i),e(n.contents())(t)}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$compile"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e){return t.$inject=["$scope"],{restrict:"E",scope:{},template:['<p class="page-header__status" ','data-ng-if="data.region_import_running">','<span class="u-text--loading">','<i class="p-icon--loading u-animation--spin"></i>',"Step 1/2: Region controller importing","</span>","</p>",'<p class="page-header__status" ','data-ng-if="!data.region_import_running && ','data.rack_import_running">','<span class="u-text--loading">','<i class="p-icon--loading u-animation--spin"></i>',"Step 2/2: Rack controller(s) importing","</span>","</p>"].join(""),controller:t};function t(t){t.data=e.getData()}}function i(e,t,n,r){return i.$inject=["$scope"],{restrict:"E",scope:{design:"=?"},templateUrl:"static/partials/boot-images.html?v="+MAAS_config.files_version,controller:i};function i(i){i.loading=!0,i.saving=!1,i.saved=!1,i.stopping=!1,i.design=i.design||"page",i.bootResources=t.getData(),i.ubuntuImages=[],i.source={isNew:!1,tooMany:!1,showingAdvanced:!1,connecting:!1,errorMessage:"",source_type:"maas.io",url:"",keyring_filename:"",keyring_data:"",releases:[],arches:[],selections:{changed:!1,releases:[],arches:[]}},i.ubuntuCoreImages=[],i.ubuntu_core={changed:!1,images:[]},i.otherImages=[],i.other={changed:!1,images:[]},i.generatedImages=[],i.customImages=[],i.ubuntuDeleteId=null,i.removingImage=null,i.isSuperUser=function(){return n.isSuperUser()},i.getTitleIcon=function(){return 0===i.bootResources.resources.length?"p-icon--success-muted":"p-icon--success"},i.showMirrorPath=function(){return"custom"===i.source.source_type},i.isShowingAdvancedOptions=function(){return i.source.showingAdvanced},i.toggleAdvancedOptions=function(){i.source.showingAdvanced=!i.source.showingAdvanced},i.bothKeyringOptionsSet=function(){return i.source.keyring_filename.length>0&&i.source.keyring_data.length>0},i.showConnectButton=function(){return i.source.isNew},i.sourceChanged=function(){var e=i.bootResources.ubuntu.sources;if(0===e.length)i.source.isNew=!0;else{var t=i.source.isNew;i.source.isNew=i.source.source_type!==e[0].source_type,"custom"===i.source.source_type&&(i.source.isNew=i.source.isNew||i.source.url!==e[0].url),t&&!i.source.isNew&&(i.source.url=e[0].url,i.source.keyring_filename=e[0].keyring_filename,i.source.keyring_data=e[0].keyring_data),i.source.releases=[],i.source.arches=[],i.source.selections={changed:!1,releases:[],arches:[]}}i.updateSource(),i.regenerateUbuntuImages(),i.source.isNew&&"maas.io"===i.source.source_type&&i.connect()},i.isConnectButtonDisabled=function(){return"maas.io"!==i.source.source_type&&(i.bothKeyringOptionsSet()||0===i.source.url.length||i.source.connecting)},i.getSourceParams=function(){return"maas.io"===i.source.source_type?{source_type:"maas.io"}:{source_type:i.source.source_type,url:i.source.url,keyring_filename:i.source.keyring_filename,keyring_data:i.source.keyring_data}},i.selectDefaults=function(){angular.forEach(i.source.releases,function(e){"bionic"===e.name&&i.source.selections.releases.push(e)}),angular.forEach(i.source.arches,function(e){"amd64"===e.name&&i.source.selections.arches.push(e)})},i.connect=function(){if(!i.isConnectButtonDisabled()){var e=i.getSourceParams();i.source.connecting=!0,i.source.releases=[],i.source.arches=[],i.source.selections.changed=!0,i.source.selections.releases=[],i.source.selections.arches=[],i.regenerateUbuntuImages(),t.fetch(e).then(function(e){i.source.connecting=!1,e=angular.fromJson(e),i.source.releases=e.releases,i.source.arches=e.arches,i.selectDefaults(),i.regenerateUbuntuImages()},function(e){i.source.connecting=!1,i.source.errorMessage=e})}},i.showConnectBlock=function(){return i.source.tooMany||i.source.isNew&&!i.showSelections()},i.showSelections=function(){return i.source.releases.length>0&&i.source.arches.length>0},i.getUbuntuLTSReleases=function(){var e=i.bootResources.ubuntu.releases;i.source.isNew&&(e=i.source.releases);var t=[];return angular.forEach(e,function(e){e.deleted||-1===e.title.indexOf("LTS")||t.push(e)}),t},i.getUbuntuNonLTSReleases=function(){var e=i.bootResources.ubuntu.releases;i.source.isNew&&(e=i.source.releases);var t=[];return angular.forEach(e,function(e){e.deleted||-1!==e.title.indexOf("LTS")||t.push(e)}),t},i.getArchitectures=function(){var e=i.bootResources.ubuntu.arches;i.source.isNew&&(e=i.source.arches);var t=[];return angular.forEach(e,function(e){e.deleted||t.push(e)}),t},i.isSelected=function(e,t){return i.source.selections[e].indexOf(t)>=0},i.toggleSelection=function(e,t){var n=i.source.selections[e].indexOf(t);-1===n?i.source.selections[e].push(t):i.source.selections[e].splice(n,1),i.source.selections.changed=!0,i.regenerateUbuntuImages()},i.showImagesTable=function(){return i.ubuntuImages.length>0||i.source.arches.length>0&&i.source.releases.length>0},i.regenerateUbuntuImages=function(){var e=function(){return null},t=i.bootResources.resources.filter(function(e){var t=e.name.split("/")[0];return 0===e.rtype&&"ubuntu"===t});i.source.isNew||(e=function(e,n){var r;for(r=0;r<t.length;r++){var i=t[r];if(i.name.split("/")[1]===e&&i.arch===n)return t.splice(r,1),i}return null}),i.ubuntuImages.length=0,angular.forEach(i.source.selections.releases,function(t){angular.forEach(i.source.selections.arches,function(n){var r={icon:"p-icon--status-queued",title:t.title,arch:n.title,size:"-",status:"Selected for download",beingDeleted:!1,name:t.name},a=e(t.name,n.name);angular.isObject(a)&&(r.resourceId=a.id,r.icon="p-icon--status-"+a.icon,r.size=a.size,r.status=a.status,a.downloading&&(r.icon+=" u-animation--pulse")),i.ubuntuImages.push(r)})}),i.source.isNew||angular.forEach(t,function(e){var t=e.name.split("/"),n={icon:"p-icon--status-failed",title:e.title,arch:e.arch,size:e.size,status:"Will be deleted",beingDeleted:!0,name:t[1]};i.ubuntuImages.push(n)})},i.regenerateUbuntuCoreImages=function(){var e=i.bootResources.resources.filter(function(e){var t=e.name.split("/")[0];return 0===e.rtype&&"ubuntu-core"===t});i.ubuntuCoreImages.length=0,angular.forEach(i.ubuntu_core.images,function(t){if(t.checked){var n=t.name.split("/"),r={icon:"p-icon--status-queued",title:t.title,arch:n[1],size:"-",status:"Selected for download",beingDeleted:!1},a=function(t,n){var r;for(r=0;r<e.length;r++){var i=e[r];if(i.name.split("/")[1]===t&&i.arch===n)return e.splice(r,1),i}return null}(n[3],n[1]);angular.isObject(a)&&(r.icon="p-icon--status-"+a.icon,r.size=a.size,r.status=a.status,a.downloading&&(r.icon+=" u-animation--pulse")),i.ubuntuCoreImages.push(r)}}),angular.forEach(e,function(e){var t={icon:"p-icon--status-failed",title:e.title,arch:e.arch,size:e.size,status:"Will be deleted",beingDeleted:!0};i.ubuntuCoreImages.push(t)})},i.regenerateOtherImages=function(){var e=i.bootResources.resources.filter(function(e){var t=e.name.split("/")[0];return 0===e.rtype&&"ubuntu"!==t&&"ubuntu-core"!==t&&"custom"!==t});i.otherImages.length=0,angular.forEach(i.other.images,function(t){if(t.checked){var n=t.name.split("/"),r={icon:"p-icon--status-queued",title:t.title,arch:n[1],size:"-",status:"Selected for download",beingDeleted:!1},a=function(t,n){var r;for(r=0;r<e.length;r++){var i=e[r];if(i.name.split("/")[1]===t&&i.arch===n)return e.splice(r,1),i}return null}(n[3],n[1]);angular.isObject(a)&&(r.icon="p-icon--status-"+a.icon,r.size=a.size,r.status=a.status,a.downloading&&(r.icon+=" u-animation--pulse")),i.otherImages.push(r)}}),angular.forEach(e,function(e){var t={icon:"p-icon--status-failed",title:e.title,arch:e.arch,size:e.size,status:"Will be deleted",beingDeleted:!0};i.otherImages.push(t)})},i._regenerateImages=function(e,t){t.length=0,angular.forEach(i.bootResources.resources,function(n){if(n.rtype===e){var r={icon:"p-icon--status-"+n.icon,title:n.title,arch:n.arch,image_id:n.id,size:n.size,status:n.status};n.downloading&&(r.icon+=" u-animation--pulse"),t.push(r)}})},i.regenerateGeneratedImages=function(){i._regenerateImages(1,i.generatedImages)},i.regenerateCustomImages=function(){i._regenerateImages(2,i.customImages)},i.ltsIsSelected=function(){var e;for(e=0;e<i.ubuntuImages.length;e++){if(!i.ubuntuImages[e].beingDeleted&&i.ubuntuImages[e].title.indexOf("LTS")>=0)if(parseInt(i.ubuntuImages[e].title.split(".")[0],10)>=14)return!0}return!1},i.commissioningSeriesSelected=function(){var e;for(e=0;e<i.ubuntuImages.length;e++)if(!i.ubuntuImages[e].beingDeleted&&i.ubuntuImages[e].name===i.bootResources.ubuntu.commissioning_series)return!0;return!1},i.isShowingDeleteConfirm=function(e){return e===i.removingImage},i.quickRemove=function(e){i.removingImage=e},i.cancelRemove=function(){i.removingImage=null},i.confirmRemove=function(e){e===i.removingImage&&t.deleteImage({id:e.image_id}),i.cancelRemove()},i.showStopImportButton=function(){return i.bootResources.region_import_running},i.showSaveSelection=function(){return i.showImagesTable()},i.canSaveSelection=function(){var e,t=!1,n=0;for(e=0;e<i.ubuntuImages.length;e++)i.ubuntuImages[e].name===i.bootResources.ubuntu.commissioning_series&&n++;for(e=0;e<i.ubuntuImages.length;e++)if(i.ubuntuImages[e].beingDeleted&&i.ubuntuImages[e].name===i.bootResources.ubuntu.commissioning_series&&1===n){t=!0;break}return!t&&!i.saving&&!i.stopping&&i.ltsIsSelected()},i.getSaveSelectionText=function(){return i.saving?"Saving...":i.saved?"Selection updated":"Update selection"},i.canStopImport=function(){return!i.saving&&!i.stopping},i.getStopImportText=function(){return i.stopping?"Stopping...":"Stop import"},i.stopImport=function(){i.canStopImport()&&(i.stopping=!0,t.stopImport().then(function(){i.stopping=!1}))},i.saveSelection=function(){if(i.canSaveSelection()){var e=i.getSourceParams();e.releases=i.source.selections.releases.map(function(e){return e.name}),e.arches=i.source.selections.arches.map(function(e){return e.name}),i.saving=!0,t.saveUbuntu(e).then(function(){i.saving=!1,i.source.isNew=!1,i.source.selections.changed=!1,i.savedTimeout(),i.updateSource()})}},i.savedTimeout=function(){i.saved=!0,e(function(){return i.saved=!1},3e3)},i.getNewSelections=function(e,t){var n=[];return angular.forEach(e,function(e){angular.forEach(t,function(t){e.name===t.name&&n.push(e)})}),n},i.updateSource=function(){if(!i.source.isNew){var e=i.bootResources.ubuntu.sources.length;if(0===e)i.source.isNew=!0,i.source.source_type="custom",i.source.errorMessage="Currently no source exists.";else if(1===e){var t=i.bootResources.ubuntu.sources[0];i.source.source_type=t.source_type,"maas.io"===t.source_type?(i.source.url="",i.source.keyring_filename="",i.source.keyring_data=""):(i.source.url=t.url,i.source.keyring_filename=t.keyring_filename,i.source.keyring_data=t.keyring_data),i.source.releases=i.bootResources.ubuntu.releases,i.source.arches=i.bootResources.ubuntu.arches,i.source.selections.changed?(i.source.selections.releases=i.getNewSelections(i.source.releases,i.source.selections.releases),i.source.selections.arches=i.getNewSelections(i.source.arches,i.source.selections.arches)):(i.source.selections.releases=i.source.releases.filter(function(e){return e.checked}),i.source.selections.arches=i.source.arches.filter(function(e){return e.checked})),i.regenerateUbuntuImages()}else i.source.tooMany=!0,i.source.releases=i.bootResources.ubuntu.releases,i.source.arches=i.bootResources.ubuntu.arches,i.source.selections.releases=i.source.releases.filter(function(e){return e.checked}),i.source.selections.arches=i.source.arches.filter(function(e){return e.checked}),i.source.errorMessage="More than one image source exists. UI does not support modification of sources when more than one has been defined. Used the API to adjust your sources.",i.regenerateUbuntuImages()}},i.toggleUbuntuCoreSelection=function(e){i.ubuntu_core.changed=!0,e.checked=!e.checked,i.regenerateUbuntuCoreImages()},i.saveUbuntuCoreSelection=function(){var e={images:i.ubuntu_core.images.filter(function(e){return e.checked}).map(function(e){return e.name})};i.saving=!0,t.saveUbuntuCore(e).then(function(){i.saving=!1})},i.toggleOtherSelection=function(e){i.other.changed=!0,e.checked=!e.checked,i.regenerateOtherImages()},i.saveOtherSelection=function(){var e={images:i.other.images.filter(function(e){return e.checked}).map(function(e){return e.name})};i.saving=!0,t.saveOther(e).then(function(){i.saving=!1})},i.canBeRemoved=function(e){if(!angular.isNumber(e.resourceId))return!1;var t,n=i.bootResources.ubuntu.releases,r=i.bootResources.ubuntu.arches;for(t=0;t<n.length;t++){var a=n[t];if(a.deleted&&e.title===a.title)return!0}for(t=0;t<r.length;t++){var o=r[t];if(o.deleted&&e.arch===o.name)return!0}return!1},i.deleteImage=function(e){angular.isObject(e)?i.ubuntuDeleteId=e.resourceId:i.ubuntuDeleteId=null},i.confirmDeleteImage=function(){t.deleteImage({id:i.ubuntuDeleteId}),i.ubuntuDeleteId=null};var a=2;t.startPolling().then(function(){0===(a-=1)&&(i.loading=!1)}),r.loadManager(i,n).then(function(){0===(a-=1)&&(i.loading=!1)}),i.$watch("bootResources.ubuntu",function(){angular.isObject(i.bootResources.ubuntu)&&i.updateSource()}),i.$watch("bootResources.resources",function(){angular.isArray(i.bootResources.resources)&&(i.regenerateUbuntuImages(),i.regenerateUbuntuCoreImages(),i.regenerateOtherImages(),i.regenerateGeneratedImages(),i.regenerateCustomImages())}),i.$watch("bootResources.ubuntu_core_images",function(){var e=i.bootResources.ubuntu_core_images;angular.isArray(e)&&(i.ubuntu_core.changed||(i.ubuntu_core.images=e),i.regenerateUbuntuCoreImages())}),i.$watch("bootResources.other_images",function(){angular.isArray(i.bootResources.other_images)&&(i.other.changed||(i.other.images=i.bootResources.other_images),i.regenerateOtherImages())}),i.$on("$destroy",function(){t.stopPolling()})}}Object.defineProperty(t,"__esModule",{value:!0}),t.maasBootImagesStatus=r,t.maasBootImages=i,i.$inject=["$timeout","BootResourcesManager","UsersManager","ManagerHelperService"],r.$inject=["BootResourcesManager"]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"C",link:function(e,t){var n=function(e){var t=e.data.tab;angular.element(t).toggleClass("is-selected")},r=t.find(".maas-accordion-tab");angular.forEach(r,function(e){(e=angular.element(e)).on("click",{tab:e},n)}),e.$on("$destroy",function(){angular.forEach(r,function(e){angular.element(e).off("click",n)})})}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"E",scope:!0,templateUrl:"".concat("static/partials/nodelist/add-machine.html","?v=").concat(MAAS_config.files_version)}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(68);function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done)&&(n.push(o.value),!t||n.length!==t);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function o(e,t,n,o,s,c,u,l){return f.$inject=["$scope"],{restrict:"E",scope:{loading:"<",search:"=",groupByLabel:"=",actionOption:"=",ngDisabled:"&",machineHasError:"&",hideActions:"=?",onListingChange:"&",onCheckAll:"&",onCheck:"=",pools:"=",zones:"=",hideFailedTests:"<",metadata:"="},templateUrl:"static/partials/machines-table.html?v="+u.MAAS_config.files_version,link:function(e){e.clickHandler=function(t){var n=t.target.classList||[],r=t.target.parentNode.classList||[];n.contains("p-table-menu__toggle")||n.contains("p-double-row__icon-container")||r.contains("p-table-menu__dropdown")||r.contains("p-double-row__icon-container")||e.$apply(e.closeMenu)},c.on("click",e.clickHandler),e.$on("$destroy",function(){return c.off("click",e.clickHandler)})},controller:f};function f(c){var u=[r.NodeStatus.COMMISSIONING,r.NodeStatus.DEPLOYING,r.NodeStatus.RELEASING,r.NodeStatus.DISK_ERASING,r.NodeStatus.ENTERING_RESCUE_MODE,r.NodeStatus.EXITING_RESCUE_MODE,r.NodeStatus.TESTING],f=e.getItems();c.table={column:"fqdn",predicate:"fqdn",reverse:!1,allViewableChecked:!1,machines:f,filteredMachines:f,osinfo:o.getData("osinfo"),machineActions:o.getData("machine_actions")},c.DISPLAY_LIMIT=5,c.displayLimits={};var d=["Failed","New","Commissioning","Testing","Ready","Allocated","Deploying","Deployed","Rescue mode","Releasing","Broken","Other"];c.getLimit=function(e){return c.displayLimits[e.label]},c.loadAll=function(e){c.displayLimits[e.label]=void 0},c.statusMenuActions=["commission","acquire","deploy","release","abort","test","rescue-mode","exit-rescue-mode","mark-broken","mark-fixed","override-failed-testing","lock","unlock"],c.openMenu="",c.closedGroups=[],c.groupBy=function(e,t){var n=new Map;return e.forEach(function(e){var r=t(e),i=n.get(r);i?i.push(e):n.set(r,[e])}),n},c.getActionSentence=function(e,t){var n="machine";switch(t&&t.hostname&&(n=t.hostname),e){case"abort":return"abort current action of ".concat(n);case"acquire":return"acquire ".concat(n);case"check":return"check power state of ".concat(n);case"commission":return"commission ".concat(n);case"deploy":return"deploy ".concat(n);case"exit-rescue-mode":return"exit rescue mode of ".concat(n);case"lock":return"lock ".concat(n);case"mark-broken":return"mark ".concat(n," as broken");case"mark-fixed":return"mark ".concat(n," as fixed");case"off":return"power off ".concat(n);case"on":return"power on ".concat(n);case"override-failed-testing":return"override failed testing of ".concat(n);case"release":return"release ".concat(n);case"rescue-mode":return"enter rescue mode of ".concat(n);case"set-pool":return"set pool of ".concat(n);case"set-zone":return"set zone of ".concat(n);case"test":return"test ".concat(n);case"unlock":return"unlock ".concat(n);default:return"perform action"}},c.updateAllChecked=function(){if(c.table.filteredMachines&&0===c.table.filteredMachines.length)c.table.allViewableChecked=!1;else{var e;for(e=0;e<c.table.filteredMachines.length;e++)if(!c.table.filteredMachines[e].$selected)return void(c.table.allViewableChecked=!1);c.table.allViewableChecked=!0}},c.toggleCheckAll=function(){c.table.allViewableChecked?angular.forEach(c.table.filteredMachines,function(t){e.unselectItem(t.system_id)}):angular.forEach(c.table.filteredMachines,function(t){e.selectItem(t.system_id)}),c.updateFilteredMachines(),c.updateAllChecked(),c.onCheckAll()},c.toggleChecked=function(t){e.isSelected(t.system_id)?e.unselectItem(t.system_id):e.selectItem(t.system_id),c.updateFilteredMachines(),c.updateAllChecked()},c.toggleCheckGroup=function(t){var n=c.groupedMachines.find(function(e){return e.label===t});c.getGroupSelectedState(t)?n.machines.forEach(function(t){e.unselectItem(t.system_id)}):n.machines.forEach(function(t){e.selectItem(t.system_id)}),c.updateFilteredMachines(),c.updateAllChecked()},c.toggleOpenGroup=function(e){c.closedGroups.includes(e)?c.closedGroups=c.closedGroups.filter(function(t){return t!==e}):c.closedGroups=[].concat(a(c.closedGroups),[e])},c.sortTable=function(e){c.table.predicate=e,c.table.reverse=!c.table.reverse},c.selectColumnOrSort=function(e){c.table.column!==e?c.table.column=e:c.sortTable(e)},c.showSpinner=function(e){return u.indexOf(e.status_code)>-1},c.showFailedTestWarning=function(e){if(c.showSpinner(e))return!1;switch(e.status_code){case r.NodeStatus.NEW:case r.NodeStatus.COMMISSIONING:case r.NodeStatus.FAILED_COMMISSIONING:case r.NodeStatus.TESTING:case r.NodeStatus.FAILED_TESTING:return!1}switch(e.testing_status){case-1:case 2:return!1}return!0},c.showNodeStatus=function(e){return!c.showSpinner(e)&&!c.showFailedTestWarning(e)&&-1!==e.other_test_status&&2!==e.other_test_status},c.getReleaseTitle=function(e){if(angular.isArray(c.table.osinfo.releases))for(var t=0;t<c.table.osinfo.releases.length;t++){var n=c.table.osinfo.releases[t];if(n[0]===e)return n[1]}return e},c.getStatusText=function(e){if(-1===["Deploying","Deployed"].indexOf(e.status))return e.status;var t=c.getReleaseTitle(e.osystem+"/"+e.distro_series);return"ubuntu"===e.osystem&&(t=t.split('"')[0].trim()),"Deployed"===e.status?t:"Deploying"===e.status?e.status+" "+t:void 0},c.getStatusMessage=function(e){return[1,9,12,14,17,19,21].indexOf(e.status_code)>=0?e.status_message:""},c.getSpacesTooltipMessage=function(e){var t="";return e.length>1&&e.forEach(function(n,r){t+=n,r!==e.length-1&&(t+="\n")}),t},c.getGroupSelectedState=function(e){return!c.groupedMachines.find(function(t){return t.label===e}).machines.some(function(e){return!e.$selected})},c.getGroupCountString=function(e){var t=c.groupedMachines.find(function(t){return t.label===e}),n=t.machines.length,r=t.machines.filter(function(e){return e.$selected}).length,i="".concat(n," ").concat(1===n?"machine":"machines");return r&&r===n?"".concat(i," selected"):"".concat(i).concat(r?", ".concat(r," selected"):"")},c.updateGroupedMachines=function(e){if("status"===e){var t=c.groupBy(c.table.filteredMachines,function(e){return e.status_code});return c.groupedMachines=[{label:"Failed",machines:[].concat(a(t.get(r.NodeStatus.FAILED_COMMISSIONING)||[]),a(t.get(r.NodeStatus.FAILED_DEPLOYMENT)||[]),a(t.get(r.NodeStatus.FAILED_RELEASING)||[]),a(t.get(r.NodeStatus.FAILED_DISK_ERASING)||[]),a(t.get(r.NodeStatus.FAILED_ENTERING_RESCUE_MODE)||[]),a(t.get(r.NodeStatus.FAILED_EXITING_RESCUE_MODE)||[]),a(t.get(r.NodeStatus.FAILED_TESTING)||[]))},{label:"New",machines:a(t.get(r.NodeStatus.NEW)||[])},{label:"Commissioning",machines:a(t.get(r.NodeStatus.COMMISSIONING)||[])},{label:"Testing",machines:a(t.get(r.NodeStatus.TESTING)||[])},{label:"Ready",machines:a(t.get(r.NodeStatus.READY)||[])},{label:"Allocated",machines:a(t.get(r.NodeStatus.ALLOCATED)||[])},{label:"Deploying",machines:a(t.get(r.NodeStatus.DEPLOYING)||[])},{label:"Deployed",machines:a(t.get(r.NodeStatus.DEPLOYED)||[])},{label:"Rescue mode",machines:[].concat(a(t.get(r.NodeStatus.RESCUE_MODE)||[]),a(t.get(r.NodeStatus.ENTERING_RESCUE_MODE)||[]),a(t.get(r.NodeStatus.EXITING_RESCUE_MODE)||[]))},{label:"Releasing",machines:[].concat(a(t.get(r.NodeStatus.RELEASING)||[]),a(t.get(r.NodeStatus.DISK_ERASING)||[]))},{label:"Broken",machines:a(t.get(r.NodeStatus.BROKEN)||[])},{label:"Other",machines:[].concat(a(t.get(r.NodeStatus.RETIRED)||[]),a(t.get(r.NodeStatus.MISSING)||[]),a(t.get(r.NodeStatus.RESERVED)||[]))}],void d.forEach(function(e){c.displayLimits[e]=c.DISPLAY_LIMIT})}if("owner"===e){var n=c.groupBy(c.table.filteredMachines,function(e){return e.owner}),o=Array.from(n).map(function(e){var t=i(e,2),n=t[0],r=t[1];return""==n&&(n="No owner"),{label:n,machines:r}});return c.groupedMachines=o,void o.forEach(function(e){c.displayLimits[e.label]=c.DISPLAY_LIMIT})}c.groupedMachines=[{label:"none",machines:c.table.filteredMachines}],c.displayLimits.none=c.DISPLAY_LIMIT},c.updateFilteredMachines=function(){c.table.filteredMachines=s("nodesFilter")(c.table.machines,c.search),c.displayLimits.none=c.DISPLAY_LIMIT},c.$watchCollection("table.filteredMachines",function(){c.updateAllChecked(),c.onListingChange({$machines:c.table.filteredMachines}),c.updateGroupedMachines(c.groupByLabel)}),c.$watch("groupByLabel",function(){c.updateGroupedMachines(c.groupByLabel)}),c.$watch("search",c.updateFilteredMachines),c.$watch(function(e){return e.table.machines.map(function(e){return{id:e.id,status:e.status,state:e.power_state}})},function(e,t){e.forEach(function(e){var n=t.find(function(t){return t.id===e.id})||{};e.state!==n.state&&(c.table.machines.find(function(t){return t.id===e.id}).powerTransition=void 0),e.status===n.status||"none"===c.groupByLabel||c.loading||c.updateGroupedMachines(c.groupByLabel)})},!0),c.formatMemoryUnit=function(e){return{value:parseFloat(e).toString(),unit:"GiB"}},c.formatStorageUnit=function(e){var t=parseFloat(e);return t<1e3?{value:Number(t.toPrecision(3)).toString(),unit:"GB"}:{value:Number((t/1e3).toPrecision(3)).toString(),unit:"TB"}},c.getCheckboxClass=function(e){return c.actionOption?e.$selected&&e.actions.indexOf(c.actionOption.name)>-1?"actionable":"not-actionable":""},c.getAllCheckboxClass=function(e){if(e&&c.actionOption){for(var t=0;t<e.length;t++)if(-1===e[t].actions.indexOf(c.actionOption.name))return"not-actionable";return"actionable"}return""},c.getBootIp=function(e){for(var t=0;t<e.length;t++)if(e[t].is_boot)return e[t].ip;return!1},c.removeDuplicates=function(e,t){if(angular.isArray(e))return e.filter(function(e,n,r){return r.map(function(e){return e[t]}).indexOf(e[t])===n})},c.changePowerState=function(t,n){c.closeMenu(),t.powerTransition=!0,"check"===n?e.checkPowerState(t).then(function(){t.action_failed=!1,t.powerTransition=void 0},function(e){c.createErrorNotification(t,n,e),t.action_failed=!0,t.powerTransition=void 0}):e.performAction(t,n).then(function(){t.action_failed=!1},function(e){c.createErrorNotification(t,n,e),t.action_failed=!0,t.powerTransition=void 0})},c.performAction=function(t,n,r){c.closeMenu(),t["".concat(n,"-transition")]=!0,angular.isObject(r)||(r={}),e.performAction(t,n,r).then(function(){t.action_failed=!1},function(e){c.createErrorNotification(t,n,e),t.action_failed=!0,t["".concat(n,"-transition")]=void 0})},c.getActionTitle=function(e){var t=c.table,n=t.machineActions,r=t.osinfo;if("deploy"===e&&r){var i=r.osystems,a=r.releases,o=r.default_osystem,s=r.default_release,u=i&&i.find(function(e){return e[0]===o}),l=a&&a.find(function(e){return e[0]==="".concat(o,"/").concat(s)});return u&&l?"Deploy ".concat(u[1]," ").concat(l[1],"..."):"Deploy ".concat(o,"/").concat(s,"...")}if(n.length)return n.find(function(t){return t.name===e}).title},c.getStatusActions=function(e){return c.statusMenuActions.filter(function(t){return e.actions.includes(t)})},c.toggleMenu=function(e){c.openMenu=c.openMenu===e?"":e},c.closeMenu=function(){return c.openMenu=""},c.getArchitectureText=function(e){return e.includes("/generic")?e.split("/")[0]:e},c.createErrorNotification=function(e,r,i){var a=n.getAuthUser();angular.isObject(a)?t.createItem({message:"Unable to ".concat(c.getActionSentence(r,e),": ").concat(i),category:"error",user:a.id}):l.error(i)}}}o.$inject=["MachinesManager","NotificationsManager","UsersManager","GeneralManager","$filter","$document","$window","$log"];var s=o;t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"E",templateUrl:"".concat("static/partials/nodedetails/storage/datastores.html","?v=").concat(MAAS_config.files_version)}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"E",templateUrl:"".concat("static/partials/nodedetails/storage/filesystems.html","?v=").concat(MAAS_config.files_version)}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return{restrict:"E",templateUrl:"".concat("static/partials/nodedetails/storage/disks-partitions.html","?v=").concat(MAAS_config.files_version)}};t.default=r},function(e,t,n){"use strict";function r(e,t,n,r,i){t.title="Zones",t.page="zones",e.zoneManager=n,e.zones=n.getItems(),e.currentpage="zones",e.predicate="name",e.reverse=!1,e.loading=!0,e.action={open:!1,obj:{}},e.addZone=function(){e.action.open=!0},e.closeZone=function(){e.action.open=!1,e.action.obj={}},e.isSuperUser=function(){return r.isSuperUser()},i.loadManagers(e,[n,r]).then(function(){e.loading=!1})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","ZonesManager","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s){function c(n){e.zone=n,e.loaded=!0,t.title=e.zone.name}t.title="Loading...",t.page="zones",e.loaded=!1,e.zone=null,e.zoneManager=i,e.editSummary=!1,e.predicate="name",e.reverse=!1,e.enterEditSummary=function(){e.editSummary=!0},e.exitEditSummary=function(){e.editSummary=!1},e.isSuperUser=function(){return a.isSuperUser()},e.isDefaultZone=function(){return!!angular.isObject(e.zone)&&1===e.zone.id},e.canBeDeleted=function(){return!!angular.isObject(e.zone)&&0!==e.zone.id},e.deleteButton=function(){e.error=null,e.confirmingDelete=!0},e.cancelDeleteButton=function(){e.confirmingDelete=!1},e.deleteConfirmButton=function(){i.deleteItem(e.zone).then(function(){e.confirmingDelete=!1,r.path("/zones")},function(t){e.error=o.parseValidationError(t)})},o.loadManagers(e,[i,a]).then(function(){var e=i.getActiveItem(),t=parseInt(n.zone_id,10);isNaN(t)?s.raiseError("Invalid zone identifier."):angular.isObject(e)&&e.id===t?c(e):i.setActiveItem(t).then(function(e){c(e)},function(e){s.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$location","ZonesManager","UsersManager","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f){function d(n){e.space=n,t.title=e.space.name,e.predicate="[subnet_name, vlan_name]",e.$watch("subnets",h,!0),h(),e.loaded=!0}function h(){var t=[];angular.forEach(r("filter")(e.subnets,{space:e.space.id},!0),function(e){var n=o.getItemFromList(e.vlan),r=c.getItemFromList(n.fabric),i={vlan:n,vlan_name:o.getName(n),subnet:e,subnet_name:s.getName(e),fabric:r,fabric_name:r.name};t.push(i)}),e.rows=t}t.title="Loading...",t.page="networks",e.space=null,e.spaceManager=a,e.subnets=s.getItems(),e.loaded=!1,e.editSummary=!1,e.isSuperUser=function(){return u.isSuperUser()},e.enterEditSummary=function(){e.editSummary=!0},e.exitEditSummary=function(){e.editSummary=!1},e.isDefaultSpace=function(){return!!angular.isObject(e.space)&&0===e.space.id},e.canBeDeleted=function(){return!!angular.isObject(e.space)&&0===e.space.subnet_ids.length},e.deleteButton=function(){e.error=null,e.confirmingDelete=!0},e.cancelDeleteButton=function(){e.confirmingDelete=!1},e.deleteConfirmButton=function(){a.deleteSpace(e.space).then(function(){e.confirmingDelete=!1,i.path("/networks"),i.search("by","space")},function(t){e.error=l.parseValidationError(t)})},l.loadManagers(e,[a,s,o,c,u]).then(function(){var e=a.getActiveItem(),t=parseInt(n.space_id,10);isNaN(t)?f.raiseError("Invalid space identifier."):angular.isObject(e)&&e.id===t?d(e):a.setActiveItem(t).then(function(e){d(e)},function(e){f.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$filter","$location","SpacesManager","VLANsManager","SubnetsManager","FabricsManager","UsersManager","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l){t.title="Loading...",t.page="settings",e.loading=!0,e.snippetsManager=i,e.snippets=i.getItems(),e.subnets=c.getItems(),e.machines=a.getItems(),e.devices=s.getItems(),e.controllers=o.getItems(),e.known_architectures=u.getData("known_architectures"),e.pockets_to_disable=u.getData("pockets_to_disable"),e.components_to_disable=u.getData("components_to_disable"),e.packageRepositoriesManager=r,e.repositories=r.getItems(),e.newSnippet=null,e.editSnippet=null,e.deleteSnippet=null,e.snippetTypes=["Global","Subnet","Node"],e.newRepository=null,e.editRepository=null,e.deleteRepository=null,e.repositoryEnabledToggle=function(e){r.updateItem(e)},e.repositoryEnterRemove=function(t){e.newRepository=null,e.editRepository=null,e.deleteRepository=t},e.repositoryExitRemove=function(){e.deleteRepository=null},e.repositoryConfirmRemove=function(){r.deleteItem(e.deleteRepository).then(function(){e.repositoryExitRemove()})},e.isPPA=function(e){return!!angular.isObject(e)&&(!!angular.isString(e.url)&&(0===e.url.indexOf("ppa:")||e.url.indexOf("ppa.launchpad.net")>-1))},e.isMirror=function(e){return!!angular.isObject(e)&&(!!angular.isString(e.name)&&("main_archive"===e.name||"ports_archive"===e.name))},e.repositoryEnterEdit=function(t){e.newRepository=null,e.deleteRepository=null,e.editRepository=t},e.repositoryExitEdit=function(){e.editRepository=null},e.repositoryAdd=function(t){var n={name:"",enabled:!0,url:"",key:"",arches:["i386","amd64"],distributions:[],components:[]};t&&(n.url="ppa:"),e.newRepository=n},e.repositoryAddCancel=function(){e.newRepository=null},e.getSubnetName=function(e){return c.getName(e)},e.getSnippetTypeText=function(e){return angular.isString(e.node)?"Node":angular.isNumber(e.subnet)?"Subnet":"Global"},e.getSnippetAppliesToObject=function(e){return angular.isString(e.node)?(t=e.node,n=a.getItemFromList(t),angular.isObject(n)?n:(n=s.getItemFromList(t),angular.isObject(n)?n:(n=o.getItemFromList(t),angular.isObject(n)?n:void 0))):angular.isNumber(e.subnet)?c.getItemFromList(e.subnet):void 0;var t,n},e.getSnippetAppliesToText=function(t){var n=e.getSnippetAppliesToObject(t);return angular.isString(t.node)&&angular.isObject(n)?n.fqdn:angular.isNumber(t.subnet)&&angular.isObject(n)?c.getName(n):""},e.snippetEnterRemove=function(t){e.newSnippet=null,e.editSnippet=null,e.deleteSnippet=t},e.snippetExitRemove=function(){e.deleteSnippet=null},e.snippetConfirmRemove=function(){i.deleteItem(e.deleteSnippet).then(function(){e.snippetExitRemove()})},e.snippetEnterEdit=function(t){e.newSnippet=null,e.deleteSnippet=null,e.editSnippet=t,e.editSnippet.type=e.getSnippetTypeText(t)},e.snippetExitEdit=function(){e.editSnippet=null},e.snippetToggle=function(e){i.updateItem(e).then(null,function(t){e.enabled=!e.enabled,console.log(t)})},e.snippetAdd=function(){e.editSnippet=null,e.deleteSnippet=null,e.newSnippet={name:"",type:"Global",enabled:!0}},e.snippetAddCancel=function(){e.newSnippet=null},"dhcp"===n.section?(t.title="DHCP snippets",e.currentpage="dhcp"):"repositories"===n.section&&(t.title="Package repositories",e.currentpage="repositories"),l.loadManagers(e,[r,i,a,s,o,c,u]).then(function(){e.loading=!1})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","PackageRepositoriesManager","DHCPSnippetsManager","MachinesManager","ControllersManager","DevicesManager","SubnetsManager","GeneralManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){e.loading=!0,n.loadManager(e,t).then(function(){e.loading=!1})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s){function c(){if(0!==e.pods.length){var t;for(t=0;t<e.pods.length;t++)if(!e.pods[t].$selected)return void(e.allViewableChecked=!1);e.allViewableChecked=!0}else e.allViewableChecked=!1}function u(){f(),e.action.option=null}function l(){0===e.selectedItems.length&&(u(),e.action.option&&(e.action.option=null))}function f(){var t=e.action.progress;t.completed=t.total=t.errors=0,angular.forEach(e.pods,function(e){delete e.action_failed})}function d(){e.hasActionsFailed()?(angular.forEach(e.pods,function(e){!1===e.action_failed&&n.unselectItem(e.id)}),l()):e.hasActionsInProgress()||u()}t.title="Pods",t.page="pods",e.podManager=n,e.pods=n.getItems(),e.loading=!0,e.filteredItems=[],e.selectedItems=n.getSelectedItems(),e.predicate="name",e.allViewableChecked=!1,e.action={option:null,options:[{name:"refresh",title:"Refresh",sentence:"refresh",operation:angular.bind(n,n.refresh)},{name:"delete",title:"Delete",sentence:"delete",operation:angular.bind(n,n.deleteItem)}],progress:{total:0,completed:0,errors:0}},e.add={open:!1,obj:{cpu_over_commit_ratio:1,memory_over_commit_ratio:1}},e.powerTypes=i.getData("power_types"),e.zones=a.getItems(),e.pools=s.getItems(),e.toggleChecked=function(e){n.isSelected(e.id)?n.unselectItem(e.id):n.selectItem(e.id),c(),l()},e.toggleCheckAll=function(){e.allViewableChecked?angular.forEach(e.pods,function(e){n.unselectItem(e.id)}):angular.forEach(e.pods,function(e){n.selectItem(e.id)}),c(),l()},e.$watchCollection("pods",function(){c()}),e.sortTable=function(t){e.predicate=t,e.reverse=!e.reverse},e.actionCancel=function(){f(),e.action.option=null},e.availableWithOvercommit=n.availableWithOvercommit,e.actionGo=function(){f(),e.action.progress.total=e.selectedItems.length;var t=e.action.option.operation;angular.forEach(e.selectedItems,function(n){t(n).then(function(){e.action.progress.completed+=1,n.action_failed=!1,d()},function(t){e.action.progress.errors+=1,n.action_error=t,n.action_failed=!0,d()})})},e.hasActionsInProgress=function(){var t=e.action.progress;return t.total>0&&t.completed+t.errors!==t.total},e.hasActionsFailed=function(){return e.action.progress.errors>0},e.addPod=function(){e.add.open=!0,e.add.obj.zone=a.getDefaultZone().id,e.add.obj.default_pool=s.getDefaultPool().id,e.add.obj.cpu_over_commit_ratio=1,e.add.obj.memory_over_commit_ratio=1},e.cancelAddPod=function(){e.add.open=!1,e.add.obj={}},e.isRackControllerConnected=function(){return e.powerTypes.length>0},e.canAddPod=function(){return e.isRackControllerConnected()&&r.hasGlobalPermission("pod_create")},e.showActions=function(){for(var t=0;t<e.pods.length;t++)if(e.pods[t].permissions&&e.pods[t].permissions.indexOf("edit")>=0)return!0;return!1},e.getPowerTypeTitle=function(t){var n;for(n=0;n<e.powerTypes.length;n++){var r=e.powerTypes[n];if(r.name===t)return r.description}return t},o.loadManagers(e,[n,r,i,a,s]).then(function(){e.loading=!1})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","PodsManager","UsersManager","GeneralManager","ZonesManager","ManagerHelperService","ResourcePoolsManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f,d,h,p,g,m,b,v,y,_){function w(){e.name.editing||(e.name.value=e.pod.name)}t.title="Loading...",t.page="pods",e.loaded=!1,e.pod=null,e.podManager=a,e.action={option:null,options:[{name:"refresh",title:"Refresh",sentence:"refresh",operation:angular.bind(a,a.refresh)},{name:"delete",title:"Delete",sentence:"delete",operation:angular.bind(a,a.deleteItem)}],inProgress:!1,error:null},e.defaultInterface={name:"default"},e.compose={action:{name:"compose",title:"Compose",sentence:"compose"},obj:{storage:[{type:"local",size:8,tags:[],pool:{},boot:!0}],requests:[],interfaces:[e.defaultInterface]}},e.power_types=o.getData("power_types"),e.domains=c.getItems(),e.zones=u.getItems(),e.pools=h.getItems(),e.section={area:"summary"},e.machinesSearch="pod-id:=invalid",e.editing=!1,e.name={editing:!1,value:""},e.isRackControllerConnected=function(){return e.power_types.length>0},e.canEdit=function(){return!!(e.isRackControllerConnected()&&e.pod&&e.pod.permissions&&-1!==e.pod.permissions.indexOf("edit"))},e.editPodConfiguration=function(){e.canEdit()&&(e.editing=!0)},e.exitEditPodConfiguration=function(){e.editing=!1},e.editName=function(){e.canEdit()&&(e.name.editing||(e.name.editing=!0,e.name.value=e.pod.name))},e.editNameInvalid=function(){if(!e.name.editing)return!1;var t=e.name.value;return 0===t.length||!v.validateHostname(t)},e.cancelEditName=function(){e.name.editing=!1,w()},e.saveEditName=function(){if(!e.editNameInvalid()){e.name.editing=!1;var t=angular.copy(e.pod);t.name=e.name.value,e.updatePod(t)}},e.updatePod=function(t){return e.podManager.updateItem(t).then(function(){w()},function(e){y.error(e),w()})},e.isActionError=function(){return null!==e.action.error},e.actionOptionChanged=function(){e.action.error=null},e.actionCancel=function(){e.action.option=null,e.action.error=null},e.actionGo=function(){e.action.inProgress=!0,e.action.option.operation(e.pod).then(function(){"delete"===e.action.option.name&&n.path("/pods"),e.action.inProgress=!1,e.action.option=null,e.action.error=null},function(t){e.action.inProgress=!1,e.action.error=t})},e.openSubnetOptions=function(t){angular.forEach(e.compose.obj.interfaces,function(e){e.showOptions=!1}),t.showOptions=!0},e.validateMachineCompose=function(){e.compose.obj.requests.length<1&&e.updateRequests();var t=e.compose.obj.requests,n=e.compose.obj.hostname,r=!0;return angular.isDefined(n)&&""!==n&&(r=v.validateHostname(n)),t.forEach(function(e){(e.size>e.available||""===e.size)&&(r=!1)}),r},e.totalStoragePercentage=function(e,t,n){var r=e.used/e.total*100,i=t/e.total*100,a=n/e.total*100,o=r+i;return n&&(o=r+i+a),o},e.updateRequests=function(){var t=[];e.compose.obj.storage.forEach(function(e){var n=t.find(function(t){return t.poolId===e.pool.id});n?n.size+=parseInt(e.size,10):t.push({poolId:e.pool.id,size:e.size,available:Math.round(e.pool.available/1e3/1e3/1e3)})}),e.compose.obj.requests=t},e.getOtherRequests=function(t,n){for(var r=e.compose.obj.requests,i=0,a=0;a<r.length;a++)t.id===r[a].poolId&&(i=r[a].size);return t.id===n.pool.id&&(i-=n.size),i},e.poolOverCapacity=function(t){for(var n=e.pod.storage_pools.find(function(e){return e.id===t.pool.id}),r=e.compose.obj.requests,a=0,o=0;o<r.length;o++)n.id===r[o].poolId&&(a=r[o].size);return i("convertGigabyteToBytes")(a)>n.available},e.numberOnly=function(e){var t=e.which?e.which:event.keyCode;t>31&&(t<48||t>57)&&e.preventDefault()},e.openOptions=function(t){angular.forEach(e.compose.obj.storage,function(e){e.showOptions=!1}),t.showOptions=!0,e.updateRequests()},e.closeOptions=function(e){e.showOptions=!1},e.closeStorageOptions=function(){angular.forEach(e.compose.obj.storage,function(e){e.showOptions=!1})},e.selectStoragePool=function(t,n,r){r||(n.pool=t,e.updateRequests())},e.getPodTypeTitle=function(){var t;for(t=0;t<e.power_types.length;t++){var n=e.power_types[t];if(n.name===e.pod.type)return n.description}return e.pod.type},e.canCompose=function(){return!(!angular.isObject(e.pod)||!angular.isArray(e.pod.permissions))&&(e.pod.permissions.indexOf("compose")>=0&&e.pod.capabilities.indexOf("composable")>=0)},e.composeMachine=function(){e.action.option=e.compose.action,e.updateRequests()},e.availableWithOvercommit=a.availableWithOvercommit,e.stripTrailingZero=function(e){if(e)return e.toString().replace(/[.,]0$/,"")},e.composePreProcess=function(t){(t=angular.copy(t)).id=e.pod.id;var n=e.compose.obj.storage.sort(function(e,t){return e.boot===t.boot?0:e.boot&&!t.boot?-1:1}),r=[];angular.forEach(n,function(t,n){var i=n+":"+t.size,a=t.tags.map(function(e){return e.text});"rsd"===e.pod.type?a.splice(0,0,t.type):"virsh"===e.pod.type&&a.splice(0,0,t.pool.name),i+="("+a.join(",")+")",r.push(i)}),t.storage=r.join(",");var i=[];return angular.forEach(e.compose.obj.interfaces,function(e){var t="";e.ipaddress?t="".concat(e.name,":ip=").concat(e.ipaddress):e.subnet&&(t="".concat(e.name,":subnet_cidr=").concat(e.subnet.cidr)),t&&i.push(t)}),t.interfaces=i.join(";"),t},e.copyToClipboard=function(e){var t=e.currentTarget.previousSibling.previousSibling.value,n=_.createElement("textarea");n.value=t,_.body.appendChild(n),n.select(),_.execCommand("copy"),_.body.removeChild(n)},e.cancelCompose=function(){e.compose.obj={storage:[{type:"local",size:8,tags:[],pool:e.getDefaultStoragePool(),boot:!0}],requests:[],interfaces:[e.defaultInterface]},e.action.option=null},e.hasMultipleRequests=function(e){return e.otherRequests>0},e.composeAddStorage=function(){var t={type:"local",size:8,tags:[],pool:e.getDefaultStoragePool(),boot:!1};e.closeStorageOptions(),e.pod.capabilities.indexOf("iscsi_storage")>=0&&(t.type="iscsi"),e.compose.obj.storage.push(t),e.updateRequests()},e.composeSetBootDisk=function(t){angular.forEach(e.compose.obj.storage,function(e){e.boot=!1}),t.boot=!0},e.getDefaultStoragePool=function(){var t={};return e.pod.storage_pools&&e.pod.default_storage_pool&&(t=e.pod.storage_pools.filter(function(t){return t.id==e.pod.default_storage_pool})[0]),e.selectedPoolId||(e.selectedPoolId=t.id),t},e.composeRemoveDisk=function(t){var n=e.compose.obj.storage.indexOf(t);n>=0&&e.compose.obj.storage.splice(n,1),e.updateRequests()},e.bySpace=function(e){return function(t){return e&&null!==t.space?t.space.name==e:e?void 0:!t.space}},e.hasSpacelessSubnets=function(){return e.availableSubnets.some(function(e){return!e.space})},e.selectSubnet=function(t,n){var r=e.compose.obj.interfaces.indexOf(n),i=e.compose.obj.interfaces[r];return i.subnet=t,i.space=t.space,i.vlan=t.vlan,i.fabric=t.fabric,i.pxe=e.pod.boot_vlans.includes(t.vlan.id),e.closeOptions(n),t},e.resetSubnetList=function(t){var n=e.availableSubnets;t.selectedSpace&&(n=n.filter(function(e){if(e.space)return e.space.name===t.selectedSpace})),n.length>0?t.subnet=e.selectSubnet(n[0],t):t.subnet=void 0},e.selectSubnetByIP=function(t){t.ipaddress&&angular.forEach(e.availableSubnets,function(n){v.validateIPInNetwork(t.ipaddress,n.cidr)&&(t.subnet=e.selectSubnet(n,t))})};e.composeAddInterface=function(){var t=e.compose.obj.interfaces.indexOf(e.defaultInterface);t>=0&&e.compose.obj.interfaces.splice(t,1);var n={name:"eth".concat(e.compose.obj.interfaces.length)};e.compose.obj.interfaces.push(n)},e.composeRemoveInterface=function(t){var n=e.compose.obj.interfaces.indexOf(t);n>=0&&e.compose.obj.interfaces.splice(n,1),0==e.compose.obj.interfaces.length&&e.compose.obj.interfaces.push(e.defaultInterface)},e.startWatching=function(){e.$watch("subnets",function(){angular.forEach(e.subnets,function(t){e.pod.attached_vlans.includes(t.vlan)&&e.availableSubnets.push(function(e){var t=Object.assign({},e);return t.name===t.cidr?t.displayName=t.cidr:t.displayName="".concat(t.cidr," (").concat(t.name,")"),t.vlan=g.getItemFromList(t.vlan),t.vlan&&(t.fabric=m.getItemFromList(t.vlan.fabric)),t.space=b.getItemFromList(t.space),t}(t))})}),e.$watch("pod.name",function(){t.title="Pod "+e.pod.name,w()}),e.$watch("pod.capabilities",function(){var t=e.action.options.indexOf(e.compose.action);e.canCompose()?-1===t&&e.action.options.splice(0,0,e.compose.action):t>=0&&e.action.options.splice(t,1)}),e.$watch("action.option",function(t,n){t&&"compose"===t.name&&(n&&"compose"===n.name||(e.compose.obj.domain=c.getDefaultDomain().id,e.compose.obj.zone=u.getDefaultZone(e.pod).id,e.compose.obj.pool=e.pod.default_pool))})},f.loadManagers(e,[a,o,s,c,u,l,h,p,g,m,b]).then(function(){e.spaces=b.getItems(),e.subnets=p.getItems(),e.availableSubnets=[];var t=a.getActiveItem();angular.isObject(t)&&t.id===parseInt(r.id,10)?(e.pod=t,e.compose.obj.storage[0].pool=e.getDefaultStoragePool(),e.loaded=!0,e.machinesSearch="pod-id:="+e.pod.id,e.startWatching()):a.setActiveItem(parseInt(r.id,10)).then(function(t){e.pod=t,e.compose.obj.storage[0].pool=e.getDefaultStoragePool(),e.loaded=!0,e.machinesSearch="pod-id:="+e.pod.id,e.startWatching()},function(e){d.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$location","$routeParams","$filter","PodsManager","GeneralManager","UsersManager","DomainsManager","ZonesManager","MachinesManager","ManagerHelperService","ErrorService","ResourcePoolsManager","SubnetsManager","VLANsManager","FabricsManager","SpacesManager","ValidationService","$log","$document"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f,d,h,p,g,m,b,v,y,_,w,S){var M={external:"External",dynamic:"Dynamic",static:"Static"};function E(e){var n=t.tabs[e].search.toLowerCase();return"in:(selected)"===n||"in:selected"===n}function A(e){t.tabs[e].previous_search=t.tabs[e].search,t.tabs[e].search="in:(Selected)"}function I(e){t.tabs.machines.suppressFailedTestsChecked=!1,E(e)&&(t.tabs[e].search=t.tabs[e].previous_search,t.updateFilters(e))}function k(e){if(0!==t.tabs[e].filtered_items.length){var n;for(n=0;n<t.tabs[e].filtered_items.length;n++)if(!t.tabs[e].filtered_items[n].$selected)return void(t.tabs[e].allViewableChecked=!1);t.tabs[e].allViewableChecked=!0}else t.tabs[e].allViewableChecked=!1}function O(e){D(e),I(e),t.tabs[e].actionOption=null,t.tabs[e].zoneSelection=null,t.tabs[e].poolSelection=null,t.tabs[e].poolAction="select-pool",t.tabs[e].newPool={},"machines"!==e&&"switches"!==e||(angular.isFunction(t.tabs[e].osSelection.$reset)&&t.tabs[e].osSelection.$reset(),t.tabs[e].commissionOptions.enableSSH=!1,t.tabs[e].commissionOptions.skipBMCConfig=!1,t.tabs[e].commissionOptions.skipNetworking=!1,t.tabs[e].commissionOptions.skipStorage=!1,t.tabs[e].commissionOptions.updateFirmware=!1,t.tabs[e].commissionOptions.configureHBA=!1,t.tabs[e].deployOptions.installKVM=!1),t.tabs[e].commissioningSelection=[],t.tabs[e].testSelection=[]}function x(e){0===t.tabs[e].selectedItems.length&&O(e),t.tabs[e].actionOption&&!E(e)&&(t.tabs[e].actionOption=null)}function P(e){0===t.tabs[e].filtered_items.length&&""!==t.tabs[e].search&&t.tabs[e].search===t.tabs[e].previous_search&&(t.tabs[e].search="",t.updateFilters(e))}function C(e){var n;for(t.tabs[e].actionErrorCount=0,n=0;n<t.tabs[e].selectedItems.length;n++){t.supportsAction(t.tabs[e].selectedItems[n],e)||(t.tabs[e].actionErrorCount+=1),t.tabs[e].selectedItems[n].action_failed=!1}t.updateFailedActionSentence(e)}function D(e){var n=t.tabs[e].actionProgress;n.completed=n.total=0,n.errors={},n.showing_confirmation=!1,n.confirmation_message="",n.confirmation_details=[],n.affected_nodes=0}function j(e,n,r){var i=t.tabs[e].actionProgress;i.completed+=1;var a=i.errors[n];angular.isUndefined(a)?i.errors[n]=[r]:a.push(r)}r.title="Machines",r.page="machines",t.MAAS_config=o.MAAS_config,t.machines=c.getItems(),t.zones=p.getItems(),t.pools=y.getItems(),t.devices=u.getItems(),t.controllers=l.getItems(),t.switches=v.getItems(),t.showswitches="on"===i.switches,t.currentpage="machines",t.osinfo={},t.scripts=b.getItems(),t.vlans=_.getItems(),t.loading=!0,t.tags=[],t.failedActionSentence="Action cannot be performed.",t.tagsAutocomplete=function(e){return w.autocomplete(e)},t.tabs={},t.pluralize=function(e){var n={machines:"machine",switches:"switch",devices:"device",controllers:"controller"}[e];return t.tabs[e].selectedItems.length>1&&(n=e),n},t.tabs.machines={},t.tabs.machines.pagetitle="Machines",t.tabs.machines.currentpage="machines",t.tabs.machines.manager=c,t.tabs.machines.previous_search="",t.tabs.machines.search="",t.tabs.machines.searchValid=!0,t.tabs.machines.selectedItems=c.getSelectedItems(),t.tabs.machines.metadata=c.getMetadata(),t.tabs.machines.filters=h.getEmptyFilter(),t.tabs.machines.actionOption=null,t.tabs.machines.takeActionOptions=[],t.tabs.machines.actionErrorCount=0,t.tabs.machines.actionProgress={total:0,completed:0,errors:{},showing_confirmation:!1,confirmation_message:"",confirmation_details:[],affected_nodes:0},t.tabs.machines.osSelection={osystem:null,release:null,hwe_kernel:null},t.tabs.machines.zoneSelection=null,t.tabs.machines.poolSelection=null,t.tabs.machines.poolAction="select-pool",t.tabs.machines.newPool={},t.tabs.machines.commissionOptions={enableSSH:!1,skipBMCConfig:!1,skipNetworking:!1,skipStorage:!1,updateFirmware:!1,configureHBA:!1},t.tabs.machines.deployOptions={installKVM:!1},t.tabs.machines.releaseOptions={},t.tabs.machines.commissioningSelection=[],t.tabs.machines.testSelection=[],t.tabs.machines.failedTests=[],t.tabs.machines.loadingFailedTests=!1,t.tabs.machines.suppressFailedTestsChecked=!1,t.tabs.pools={},t.tabs.pools.pagetitle="Machines",t.tabs.pools.currentpage="pools",t.tabs.pools.manager=y,t.tabs.pools.actionOption=!1,t.tabs.pools.newPool={name:null,description:null},t.tabs.pools.addPool=function(){t.tabs.pools.actionOption=!0},t.tabs.pools.cancelAddPool=function(){t.tabs.pools.actionOption=!1,t.tabs.pools.newPool={}},t.tabs.pools.activeTarget=null,t.tabs.pools.activeTargetAction=null,t.tabs.pools.actionErrorMessage=null,t.tabs.pools.initiatePoolAction=function(e,n){var r=t.tabs.pools;r.cancelPoolAction(),r.activeTargetAction=n,r.activeTarget=e,r.editingPool=e},t.tabs.pools.cancelPoolAction=function(){var e=t.tabs.pools;e.activeTargetAction=null,e.activeTarget=null,e.actionErrorMessage=null},t.tabs.pools.isPoolAction=function(e,n){var r=t.tabs.pools;return(angular.isUndefined(n)||r.activeTargetAction===n)&&null!==r.activeTarget&&r.activeTarget.id===e.id},t.tabs.pools.actionConfirmEditPool=function(){t.tabs.pools.cancelPoolAction()},t.tabs.pools.actionConfirmDeletePool=function(){var e=t.tabs.pools;e.manager.deleteItem(e.activeTarget).then(e.cancelPoolAction,function(e){t.tabs.pools.actionErrorMessage=e})},t.tabs.pools.goToPoolMachines=function(e){t.clearSearch("machines"),t.toggleFilter("pool",e.name,"machines"),t.toggleTab("machines"),a.path("/machines")},t.tabs.pools.isDefaultPool=function(e){return 0===e.id},t.nodesManager=c,t.tabs.devices={},t.tabs.devices.pagetitle="Devices",t.tabs.devices.currentpage="devices",t.tabs.devices.manager=u,t.tabs.devices.previous_search="",t.tabs.devices.search="",t.tabs.devices.searchValid=!0,t.tabs.devices.selectedItems=u.getSelectedItems(),t.tabs.devices.filtered_items=[],t.tabs.devices.predicate="fqdn",t.tabs.devices.allViewableChecked=!1,t.tabs.devices.metadata=u.getMetadata(),t.tabs.devices.filters=h.getEmptyFilter(),t.tabs.devices.column="fqdn",t.tabs.devices.actionOption=null,t.tabs.devices.takeActionOptions=[],t.tabs.devices.actionErrorCount=0,t.tabs.devices.actionProgress={total:0,completed:0,errors:{},showing_confirmation:!1,confirmation_message:"",confirmation_details:[],affected_nodes:0},t.tabs.devices.zoneSelection=null,t.tabs.devices.poolSelection=null,t.tabs.devices.poolAction="select-pool",t.tabs.devices.newPool={},t.tabs.controllers={},t.tabs.controllers.pagetitle="Controllers",t.tabs.controllers.currentpage="controllers",t.tabs.controllers.manager=l,t.tabs.controllers.previous_search="",t.tabs.controllers.search="",t.tabs.controllers.searchValid=!0,t.tabs.controllers.selectedItems=l.getSelectedItems(),t.tabs.controllers.filtered_items=[],t.tabs.controllers.predicate="fqdn",t.tabs.controllers.allViewableChecked=!1,t.tabs.controllers.metadata=l.getMetadata(),t.tabs.controllers.filters=h.getEmptyFilter(),t.tabs.controllers.column="fqdn",t.tabs.controllers.actionOption=null,t.tabs.controllers.takeActionOptions=[],t.tabs.controllers.actionErrorCount=0,t.tabs.controllers.actionProgress={total:0,completed:0,errors:{},showing_confirmation:!1,confirmation_message:"",confirmation_details:[],affected_nodes:0},t.tabs.controllers.zoneSelection=null,t.tabs.controllers.poolSelection=null,t.tabs.controllers.poolAction="select-pool",t.tabs.controllers.newPool={},t.tabs.controllers.syncStatuses={},t.tabs.controllers.addController=!1,t.tabs.controllers.registerUrl=o.MAAS_config.register_url,t.tabs.controllers.registerSecret=o.MAAS_config.register_secret,t.tabs.switches={},t.tabs.switches.pagetitle="Switches",t.tabs.switches.currentpage="switches",t.tabs.switches.manager=v,t.tabs.switches.previous_search="",t.tabs.switches.search="",t.tabs.switches.searchValid=!0,t.tabs.switches.selectedItems=v.getSelectedItems(),t.tabs.switches.predicate="fqdn",t.tabs.switches.allViewableChecked=!1,t.tabs.switches.metadata=v.getMetadata(),t.tabs.switches.filters=h.getEmptyFilter(),t.tabs.switches.column="fqdn",t.tabs.switches.actionOption=null,t.tabs.switches.takeActionOptions=[],t.tabs.switches.actionErrorCount=0,t.tabs.switches.actionProgress={total:0,completed:0,errors:{},showing_confirmation:!1,confirmation_message:"",confirmation_details:[],affected_nodes:0},t.tabs.switches.osSelection={osystem:null,release:null,hwe_kernel:null},t.tabs.switches.zoneSelection=null,t.tabs.switches.poolSelection=null,t.tabs.switches.poolAction="select-pool",t.tabs.switches.newPool={},t.tabs.switches.commissioningSelection=[],t.tabs.switches.commissionOptions={enableSSH:!1,skipBMCConfig:!1,skipNetworking:!1,skipStorage:!1,updateFirmware:!1,configureHBA:!1},t.tabs.switches.deployOptions={installKVM:!1},t.tabs.switches.releaseOptions={},t.addHardwareOption=null,t.addHardwareOptions=[{name:"machine",title:"Machine"},{name:"chassis",title:"Chassis"}],t.addHardwareScope=null,t.addDeviceScope=null,t.$on("addHardwareHidden",function(){t.addHardwareOption=null}),t.toggleTab=function(e){switch(r.title=t.tabs[e].pagetitle,r.page=e,t.currentpage=e,e){case"machines":t.osinfo=f.getData("osinfo"),t.tabs.machines.takeActionOptions=f.getData("machine_actions");break;case"devices":t.tabs.devices.takeActionOptions=f.getData("device_actions");break;case"controllers":t.tabs.controllers.takeActionOptions=f.getData("rack_controller_actions");break;case"switches":t.tabs.switches.takeActionOptions=f.getData("machine_actions")}},t.clearSearch=function(e){t.tabs[e].search="",t.updateFilters(e)},t.toggleChecked=function(e,n){"machines"!==n&&"switches"!==n&&(t.tabs[n].manager.isSelected(e.system_id)?t.tabs[n].manager.unselectItem(e.system_id):t.tabs[n].manager.selectItem(e.system_id),k(n)),C(n),x(n)},t.toggleCheckAll=function(e){"machines"!==e&&"switches"!==e&&(t.tabs[e].allViewableChecked?angular.forEach(t.tabs[e].filtered_items,function(n){t.tabs[e].manager.unselectItem(n.system_id)}):angular.forEach(t.tabs[e].filtered_items,function(n){t.tabs[e].manager.selectItem(n.system_id)}),k(e)),C(e),x(e)},t.updateAvailableActions=function(e){var n=t.tabs[e].selectedItems;t.tabs[e].takeActionOptions.forEach(function(e){var t=0;n.forEach(function(n){n.actions.indexOf(e.name)>-1&&(t+=1),e.available=t})})},t.unselectImpossibleNodes=function(e){var n=t.tabs[e],r=n.actionOption,i=n.manager;n.selectedItems.reduce(function(e,t){return t.actions.includes(r.name)||e.push(t),e},[]).forEach(function(e){i.unselectItem(e.system_id)}),t.tabs[e].search="in:(selected)"},t.onNodeListingChanged=function(e,n){0===e.length&&""!==t.tabs[n].search&&t.tabs[n].search===t.tabs[n].previous_search&&(t.tabs[n].search="",t.updateFilters(n))},t.$watchCollection("tabs.devices.filtered_items",function(){k("devices"),P("devices")}),t.$watchCollection("tabs.controllers.filtered_items",function(){k("controllers"),P("controllers")}),t.showSelected=function(e){A(e),t.updateFilters(e)},t.toggleFilter=function(e,n,r){angular.isObject(t.tabs[r].actionOption)||(t.tabs[r].filters=h.toggleFilter(t.tabs[r].filters,e,n,!0),t.tabs[r].search=h.filtersToString(t.tabs[r].filters))},t.isFilterActive=function(e,n,r){return h.isFilterActive(t.tabs[r].filters,e,n,!0)},t.updateFilters=function(e){var n=h.getCurrentFilters(t.tabs[e].search);null===n?(t.tabs[e].filters=h.getEmptyFilter(),t.tabs[e].searchValid=!1):(t.tabs[e].filters=n,t.tabs[e].searchValid=!0),x(e)},t.sortTable=function(e,n){t.tabs[n].predicate=e,t.tabs[n].reverse=!t.tabs[n].reverse},t.selectColumnOrSort=function(e,n){t.tabs[n].column!==e?t.tabs[n].column=e:t.sortTable(e,n)},t.supportsAction=function(e,n){return!t.tabs[n].actionOption||e.actions.indexOf(t.tabs[n].actionOption.name)>=0},t.getFailedTests=function(e){var n=t.tabs[e],r=n.selectedItems;n.failedTests=[],n.loadingFailedTests=!0,c.getLatestFailedTests(r).then(function(e){n.failedTests=e,n.loadingFailedTests=!1},function(e){var t=g.getAuthUser();angular.isObject(t)?S.createItem({message:"Unable to load tests: ".concat(e),category:"error",user:t.id}):s.error(e)})},t.getFailedTestCount=function(e){var n=t.tabs[e],r=n.selectedItems,i=n.failedTests;return r.reduce(function(e,t){return i[t.system_id]&&(e+=i[t.system_id].length),e},0)},t.actionOptionSelected=function(e){C(e),A(e),"machines"===e?angular.isObject(t.addHardwareScope)&&t.addHardwareScope.hide():"devices"===e&&angular.isObject(t.addDeviceScope)&&t.addDeviceScope.hide(),t.tabs[e].actionOption&&"override-failed-testing"===t.tabs[e].actionOption.name&&t.getFailedTests(e)},t.isActionError=function(e){return!(!angular.isObject(t.tabs[e].actionOption)||"deploy"!==t.tabs[e].actionOption.name||0!==t.tabs[e].actionErrorCount||0!==t.osinfo.osystems.length)||0!==t.tabs[e].actionErrorCount},t.isDeployError=function(e){return 0===t.tabs[e].actionErrorCount&&!(!angular.isObject(t.tabs[e].actionOption)||"deploy"!==t.tabs[e].actionOption.name||0!==t.osinfo.osystems.length)},t.isSSHKeyWarning=function(e){return 0===t.tabs[e].actionErrorCount&&!(!angular.isObject(t.tabs[e].actionOption)||"deploy"!==t.tabs[e].actionOption.name||0!==g.getSSHKeyCount())},t.actionCancel=function(e){D(e),I(e),t.tabs[e].actionOption=null,t.tabs[e].suppressFailedTestsChecked=!1},t.actionGo=function(n){var r,i,a=t.tabs[n],o={},s=e.defer(),c=s.promise;if(s.resolve(),"deploy"===a.actionOption.name&&angular.isString(a.osSelection.osystem)&&angular.isString(a.osSelection.release)){o.osystem=a.osSelection.osystem;var u=a.osSelection.release;u=(u=u.split("/"))[u.length-1],o.distro_series=u,angular.isString(a.osSelection.hwe_kernel)&&(a.osSelection.hwe_kernel.indexOf("hwe-")>=0||a.osSelection.hwe_kernel.indexOf("ga-")>=0)&&(o.hwe_kernel=a.osSelection.hwe_kernel);var l=a.deployOptions.installKVM;l&&(o.osystem="ubuntu",o.distro_series="bionic"),o.install_kvm=l}else if("set-zone"===a.actionOption.name&&angular.isNumber(a.zoneSelection.id))o.zone_id=a.zoneSelection.id;else if("set-pool"===a.actionOption.name)"create-pool"===a.poolAction&&angular.isDefined(a.newPool.name)?c=y.createItem({name:a.newPool.name}).then(function(e){o.pool_id=e.id}):angular.isNumber(a.poolSelection.id)&&(o.pool_id=a.poolSelection.id);else if("commission"===a.actionOption.name){for(o.enable_ssh=a.commissionOptions.enableSSH,o.skip_bmc_config=a.commissionOptions.skipBMCConfig,o.skip_networking=a.commissionOptions.skipNetworking,o.skip_storage=a.commissionOptions.skipStorage,o.commissioning_scripts=[],r=0;r<a.commissioningSelection.length;r++)o.commissioning_scripts.push(a.commissioningSelection[r].id);for(a.commissionOptions.updateFirmware&&o.commissioning_scripts.push("update_firmware"),a.commissionOptions.configureHBA&&o.commissioning_scripts.push("configure_hba"),0===o.commissioning_scripts.length&&o.commissioning_scripts.push("none"),o.testing_scripts=[],r=0;r<a.testSelection.length;r++)o.testing_scripts.push(a.testSelection[r].id);0===o.testing_scripts.length&&o.testing_scripts.push("none")}else if("test"===a.actionOption.name){if(!a.actionProgress.showing_confirmation){var f=a.actionProgress;for(r=0;r<a.selectedItems.length;r++)6===a.selectedItems[r].status_code&&f.affected_nodes++;if(0!=f.affected_nodes)return f.confirmation_message=f.affected_nodes+" of "+a.selectedItems.length+" "+t.page+" are in a deployed state.",void(f.showing_confirmation=!0)}for(o.enable_ssh=a.commissionOptions.enableSSH,o.testing_scripts=[],r=0;r<a.testSelection.length;r++)o.testing_scripts.push(a.testSelection[r].id);0===o.testing_scripts.length&&o.testing_scripts.push("none")}else if("release"===a.actionOption.name)o.erase=a.releaseOptions.erase,o.secure_erase=a.releaseOptions.secureErase,o.quick_erase=a.releaseOptions.quickErase;else if("delete"!==a.actionOption.name||"controllers"!==n||a.actionProgress.showing_confirmation){if("tag"===a.actionOption.name)o.tags=t.tags.map(function(e){return e.text}),t.tags=[];else if("override-failed-testing"===a.actionOption.name&&a.suppressFailedTestsChecked){var d=a.selectedItems,h=a.failedTests;d.forEach(function(e){h[e.system_id]&&a.manager.suppressTests(e,h[e.system_id])}),t.tabs.machines.suppressFailedTestsChecked=!1}}else{for(r=0;r<a.selectedItems.length;r++){var p=a.selectedItems[r];for(i=0;i<t.vlans.length;i++){var g=t.vlans[i];g.primary_rack===p.system_id&&(a.actionProgress.confirmation_details.push(p.fqdn+" is the primary rack controller for "+g.name),a.actionProgress.affected_nodes++),g.secondary_rack===p.system_id&&(a.actionProgress.confirmation_details.push(p.fqdn+" is the secondary rack controller for "+g.name),a.actionProgress.affected_nodes++)}}if(0!=a.actionProgress.affected_nodes)return 1===a.actionProgress.affected_nodes?a.actionProgress.confirmation_message="1 controller will be deleted.":a.actionProgress.confirmation_message=a.actionProgress.affected_nodes+" controllers will be deleted.",void(a.actionProgress.showing_confirmation=!0)}c.then(function(){D(n),a.actionProgress.total=a.selectedItems.length,angular.forEach(a.selectedItems,function(e){a.manager.performAction(e,a.actionOption.name,o).then(function(){a.actionProgress.completed+=1,e.action_failed=!1},function(t){j(n,t,e),e.action_failed=!0}).finally(function(){var e;e=n,t.hasActionsFailed(e)?angular.forEach(t.tabs[e].manager.getItems(),function(n){!1===n.action_failed&&t.tabs[e].manager.unselectItem(n.system_id)}):t.hasActionsInProgress(e)||(O(e),A(e))})})},function(e){j(n,e)})},t.hasActionsInProgress=function(e){var n=t.tabs[e].actionProgress;return n.total>0&&n.completed!==n.total},t.hasActionsFailed=function(e){return Object.keys(t.tabs[e].actionProgress.errors).length>0},t.addHardwareOptionChanged=function(){t.addHardwareOption&&t.addHardwareScope.show(t.addHardwareOption.name)},t.addDevice=function(){t.addDeviceScope.show()},t.cancelAddDevice=function(){t.addDeviceScope.cancel()},t.getDeviceIPAssignment=function(e){return M[e]},t.isSuperUser=function(){return g.isSuperUser()},t.canAddMachine=function(){return g.hasGlobalPermission("machine_create")},t.canCreateResourcePool=function(){return g.hasGlobalPermission("resource_pool_create")},t.showResourcePoolActions=function(){for(var e=0;e<t.pools.length;e++)if(t.pools[e].permissions&&t.pools[e].permissions.length>0)return!0;return!1},t.canEditResourcePool=function(e){return!(!e.permissions||-1===e.permissions.indexOf("edit"))},t.canDeleteResourcePool=function(){return g.hasGlobalPermission("resource_pool_delete")},t.hasCustomCommissioningScripts=function(){var e;for(e=0;e<t.scripts.length;e++)if(0===t.scripts[e].script_type)return!0;return!1},t.updateFailedActionSentence=function(e){var n=t.tabs[e],r=n.actionOption,i=n.actionErrorCount,a=i>1?"".concat(i," ").concat(e):"".concat(i," ").concat(e.slice(0,-1)),o="Action cannot be performed on ".concat(a,".");if(r&&r.name)switch(r.name){case"exit-rescue-mode":o="".concat(a," cannot exit rescue mode.");break;case"lock":o="".concat(a," cannot be locked.");break;case"override-failed-testing":o="Cannot override failed tests on ".concat(a,".");break;case"rescue-mode":o="".concat(a," cannot be put in rescue mode.");break;case"set-pool":o="Cannot set pool of ".concat(a,".");break;case"set-zone":o="Cannot set zone of ".concat(a,".");break;case"unlock":o="".concat(a," cannot be unlocked.");break;default:o="".concat(a," cannot be ").concat(r.sentence,".")}t.failedActionSentence=o},t.getHardwareTestErrorText=function(e,n){var r=t.tabs[n].selectedItems.length;if("Unable to run destructive test while deployed!"===e){var i=!1,a="";return 1===r&&(i=!0),(a+=i?"1 machine":r+" machines")+" cannot run hardware testing. The selected hardware tests contain one or more destructive tests. Destructive tests cannot run on deployed machines."}return e},t.$on("$routeUpdate",function(){f.loadItems(["osinfo"])}),angular.forEach(["machines","pools","devices","controllers","switches"],function(e){-1!==a.path().indexOf("/"+e)&&t.toggleTab(e)});var N=[t.tabs[t.currentpage].manager];"machines"!==t.currentpage&&"controllers"!==t.currentpage||N.push(b),"controllers"===t.currentpage&&N.push(_),d.loadManagers(t,N.concat([f,p,g,y,m,w])).then(function(){t.loading=!1}),t.$on("$destroy",function(){n.cancel(t.statusPoll),h.storeFilters("machines",t.tabs.machines.filters),h.storeFilters("devices",t.tabs.devices.filters),h.storeFilters("controllers",t.tabs.controllers.filters),h.storeFilters("switches",t.tabs.switches.filters)});var R=h.retrieveFilters("machines");angular.isObject(R)&&(t.tabs.machines.search=h.filtersToString(R),t.updateFilters("machines"));var T=h.retrieveFilters("devices");angular.isObject(T)&&(t.tabs.devices.search=h.filtersToString(T),t.updateFilters("devices"));var B=h.retrieveFilters("controllers");angular.isObject(B)&&(t.tabs.controllers.search=h.filtersToString(B),t.updateFilters("controllers"));var L=h.retrieveFilters("switches");angular.isObject(L)&&(t.tabs.switches.search=h.filtersToString(L),t.updateFilters("switches"));var $=i.query;angular.isString($)&&(t.tabs[t.currentpage].search=$,t.updateFilters(t.currentpage))}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$scope","$interval","$rootScope","$routeParams","$location","$window","$log","MachinesManager","DevicesManager","ControllersManager","GeneralManager","ManagerHelperService","SearchService","ZonesManager","UsersManager","ServicesManager","ScriptsManager","SwitchesManager","ResourcePoolsManager","VLANsManager","TagsManager","NotificationsManager"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(68);function i(e,t,n,i,a,o,s,c){function u(){var t,n=3===e.logs.availableOptions.length;if(e.logs.availableOptions.length=0,e.installation_results&&e.installation_results.length>0&&(6===e.node.status_code||9===e.node.status_code||11===e.node.status_code))for(t=0;t<e.installation_results.length;t++)if("/tmp/install.log"===e.installation_results[t].name){e.logs.availableOptions.push({title:"Installation output",id:e.installation_results[t].id});break}e.logs.availableOptions.push({title:"Machine output (YAML)",id:"summary_yaml"}),e.logs.availableOptions.push({title:"Machine output (XML)",id:"summary_xml"}),n||3!==e.logs.availableOptions.length?(!e.selectedLog||n&&2===e.logs.length)&&(e.logs.option=e.logs.availableOptions[0]):e.logs.option=e.logs.availableOptions[0]}function l(t){e.node=t,e.loaded=!0,e.nodeResultsManager=o.getManager(t,e.section.area),e.nodeResultsManager.loadItems().then(function(){e.commissioning_results=e.nodeResultsManager.commissioning_results,e.testing_results=e.nodeResultsManager.testing_results,e.installation_results=e.nodeResultsManager.installation_results,e.results=e.nodeResultsManager.results,"logs"===e.section.area&&(u(),e.$watch("installation_results",u,!0),e.$watch("installation_results",e.updateLogOutput,!0)),e.resultsLoaded=!0})}e.nodeResultsManager=null,e.commissioning_results=null,e.testing_results=null,e.installation_results=null,e.results=null,e.logs={option:null,availableOptions:[]},e.logOutput="Loading...",e.loaded=!1,e.resultsLoaded=!1,e.node=null,-1!==n.path().indexOf("/controller")?e.nodesManager=a:e.nodesManager=i,s.loadManager(e,e.nodesManager).then(function(){var n=e.nodesManager.getActiveItem();angular.isObject(n)&&n.system_id===t.system_id?l(n):e.nodesManager.setActiveItem(t.system_id).then(function(e){l(e)},function(e){c.raiseError(e)})}),e.updateLogOutput=function(){if(e.logOutput="Loading...",e.node)if("summary_xml"===e.logs.option.id)e.nodesManager.getSummaryXML(e.node).then(function(t){e.logOutput=t});else if("summary_yaml"===e.logs.option.id)e.nodesManager.getSummaryYAML(e.node).then(function(t){e.logOutput=t});else{var t,n=null;for(t=0;t<e.installation_results.length;t++)if(e.installation_results[t].id===e.logs.option.id){n=e.installation_results[t];break}switch(n.status){case 0:e.logOutput="System is booting...";break;case 1:e.logOutput="Installation has begun!";break;case 2:e.nodeResultsManager.get_result_data(n.id,"combined").then(function(t){e.logOutput=""===t?"Installation has succeeded but no output was given.":t});break;case 3:e.nodeResultsManager.get_result_data(n.id,"combined").then(function(t){e.logOutput=""===t?"Installation has failed and no output was given.":t});break;case 4:e.logOutput="Installation failed after 40 minutes.";break;case 5:e.logOutput="Installation was aborted.";break;default:e.logOutput="BUG: Unknown log status "+n.status}}},e.loadHistory=function(t){t.showing_results=!1,angular.isArray(t.history_list)?t.showing_history=!0:(t.loading_history=!0,e.nodeResultsManager.get_history(t.id).then(function(e){t.history_list=e,t.loading_history=!1,t.showing_history=!0}))},e.hasSuppressedTests=function(){return e.results.some(function(e){return Object.entries(e.results).some(function(e){return e[1].some(function(e){return e.suppressed})})})},e.isSuppressible=function(e){return e.status===r.ScriptStatus.FAILED||e.status===r.ScriptStatus.FAILED_INSTALLING||e.status===r.ScriptStatus.TIMEDOUT},e.getSuppressedCount=function(){var t=e.results.reduce(function(t,n){return Object.entries(n.results).forEach(function(n){n[1].forEach(function(n){e.isSuppressible(n)&&t.push(n)})}),t},[]),n=t.filter(function(e){return e.suppressed});return t.length===n.length?"All":n.length},e.toggleSuppressed=function(t){t.suppressed?e.nodesManager.unsuppressTests(e.node,[t]):e.nodesManager.suppressTests(e.node,[t])},e.$on("$destroy",function(){angular.isObject(e.nodeResultsManager)&&e.nodeResultsManager.destroy()})}i.$inject=["$scope","$routeParams","$location","MachinesManager","ControllersManager","NodeResultsManagerFactory","ManagerHelperService","ErrorService"];var a=i;t.default=a},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c){function u(r){e.node=r,e.loaded=!0;var i=o.getManager(e.node),a=parseInt(n.id,10);i.getItem(a).then(function(n){e.result=n,e.get_result_data(e.output),e.resultLoaded=!0,t.title=e.node.fqdn+" - "+e.result.name})}t.title="Loading...",e.loaded=!1,e.resultLoaded=!1,e.node=null,e.output="combined",e.result=null,e.get_result_data=function(t){e.output=t,e.data="Loading...",o.getManager(e.node).get_result_data(e.result.id,e.output).then(function(t){e.data=""===t?"Empty file.":t})},e.$watch("node.fqdn",function(){angular.isObject(e.node)&&angular.isObject(e.result)&&(t.title=e.node.fqdn+" - "+e.result.name)}),-1!==r.path().indexOf("/controller")?(e.nodesManager=a,e.type_name="controller",t.page="controllers"):(e.nodesManager=i,e.type_name="machine",t.page="machines"),s.loadManager(e,e.nodesManager).then(function(){var t=e.nodesManager.getActiveItem();angular.isObject(t)&&t.system_id===n.system_id?u(t):e.nodesManager.setActiveItem(n.system_id).then(function(e){u(e)},function(e){c.raiseError(e)})}),e.$on("$destroy",function(){var t=o.getManager(e.node);angular.isObject(t)&&t.destroy()})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$location","MachinesManager","ControllersManager","NodeResultsManagerFactory","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c){var u=null;function l(n){e.node=n,e.loaded=!0,u=o.getManager(n.id),e.events=u.getItems(),e.days=u.getMaximumDays(),u.loadItems().then(function(){e.eventsLoaded=!0}),e.$watch("node.fqdn",function(){t.title=e.node.fqdn+" - events"})}t.title="Loading...",e.loaded=!1,e.node=null,e.events=[],e.eventsLoaded=!1,e.days=1,e.getEventText=function(e){var t=e.type.description;return angular.isString(e.description)&&e.description.length>0&&(t+=" - "+e.description),t},e.loadMore=function(){e.days+=1,u.loadMaximumDays(e.days)},-1!==r.path().indexOf("/controller")?(e.nodesManager=a,e.type_name="controller",t.page="controllers"):(e.nodesManager=i,e.type_name="machine",t.page="machines"),s.loadManager(e,e.nodesManager).then(function(){var t=e.nodesManager.getActiveItem();angular.isObject(t)&&t.system_id===n.system_id?l(t):e.nodesManager.setActiveItem(n.system_id).then(function(e){l(e)},function(e){c.raiseError(e)})}),e.$on("$destroy",function(){angular.isObject(u)&&u.destroy()})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$location","MachinesManager","ControllersManager","EventsManagerFactory","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(68);function i(e,t,n,i,a,o,s,c,u,l,f,d,h,p,g,m,b,v,y,_,w){var S,M={external:"External",dynamic:"Dynamic",static:"Static"};function E(){e.node&&e.node.fqdn&&(t.title=e.node.fqdn)}function A(){if(!e.header.editing&&!e.header.editing_domain){e.header.hostname.value=e.node.fqdn;for(var t=0;t<e.header.domain.options.length;t++){var n=e.header.domain.options[t];if(n.id===e.node.domain.id){e.header.domain.selected=n;break}}}}function I(){if(angular.isObject(e.node)){var t={0:"machine_actions",1:"device_actions",2:"rack_controller_actions",3:"region_controller_actions",4:"region_and_rack_controller_actions"};u.isDataLoaded(t[e.node.node_type])?(e.action.allOptions=u.getData(t[e.node.node_type]),e.action.availableOptions.length=0,angular.forEach(e.action.allOptions,function(t){e.node.actions.indexOf(t.name)>=0&&"set-zone"!==t.name&&"set-pool"!==t.name&&"tag"!==t.name&&e.action.availableOptions.push(t)})):u.loadItems([t[e.node.node_type]]).then(I)}}function k(){if(!e.power.editing){e.power.type=null;for(var t=0;t<e.power_types.length;t++)if(e.node.power_type===e.power_types[t].name){e.power.type=e.power_types[t];break}e.power.bmc_node_count=e.node.power_bmc_node_count,e.power.parameters=angular.copy(e.node.power_parameters),angular.isObject(e.power.parameters)||(e.power.parameters={}),e.canEdit()&&""===e.node.power_type&&0===e.node.node_type&&(e.power.editing=!0),e.power.in_pod=angular.isDefined(e.node.pod)}}function O(){e.summary.editing||(angular.isObject(e.node.zone)&&(e.summary.zone.selected=c.getItemFromList(e.node.zone.id)),angular.isObject(e.node.pool)&&(e.summary.pool.selected=v.getItemFromList(e.node.pool.id)),e.summary.architecture.selected=e.node.architecture,e.summary.description=e.node.description,e.summary.min_hwe_kernel.selected=e.node.min_hwe_kernel,e.summary.tags=angular.copy(e.node.tags),e.canEdit()&&e.hasUsableArchitectures()&&e.hasInvalidArchitecture()&&(e.summary.editing=!0))}function x(){e.isController&&(e.services={},angular.forEach(s.getServices(e.node),function(t){e.services[t.name]=t}))}function P(){e.devices=[],angular.forEach(e.node.devices,function(t){var n={name:t.fqdn};angular.isArray(t.interfaces)&&t.interfaces.length>0?angular.forEach(t.interfaces,function(t,r){var i=angular.copy(n);i.mac_address=t.mac_address,r>0&&(i.name=""),angular.isArray(t.links)&&t.links.length>0?angular.forEach(t.links,function(t,n){var r=angular.copy(i);r.ip_address=t.ip_address,n>0&&(r.mac_address=""),e.devices.push(r)}):e.devices.push(i)}):e.devices.push(n)})}function C(t){e.node=t,e.loaded=!0,E(),O(),x(),angular.isObject(e.node)&&(e.$watch("node.fqdn",function(){E(),A()}),e.$watch("node.devices",P),e.$watch("node.actions",I),e.$watch("node.architecture",O),e.$watchCollection(e.summary.architecture.options,O),e.$watch("node.min_hwe_kernel",O),e.$watchCollection(e.summary.min_hwe_kernel.options,O),e.$watch("node.zone.id",O),e.$watchCollection(e.summary.zone.options,O),e.$watch("node.pool.id",O),e.$watchCollection(e.summary.pool.options,O),e.$watch("node.power_type",k),e.$watch("node.power_parameters",k),e.$watchCollection("power_types",k),e.$watch("node.service_ids",x)),angular.isObject(e.storageController)&&e.storageController.nodeLoaded(),angular.isObject(e.networkingController)&&e.networkingController.nodeLoaded(),angular.isObject(e.node.vlan)&&(e.vlan=y.getItemFromList(e.node.vlan.id))}t.title="Loading...",e.MAAS_config=w.MAAS_config,e.loaded=!1,e.node=null,e.action={option:null,allOptions:null,availableOptions:[],error:null,showing_confirmation:!1,confirmation_message:"",confirmation_details:[]},e.power_types=u.getData("power_types"),e.osinfo=u.getData("osinfo"),e.section={area:angular.isString(n.area)?n.area:"summary"},e.osSelection={osystem:null,release:null,hwe_kernel:null},e.commissionOptions={enableSSH:!1,skipBMCConfig:!1,skipNetworking:!1,skipStorage:!1,updateFirmware:!1,configureHBA:!1},e.deployOptions={installKVM:!1},e.commissioningSelection=[],e.testSelection=[],e.releaseOptions={},e.checkingPower=!1,e.devices=[],e.scripts=b.getItems(),e.vlans=y.getItems(),e.hideHighAvailabilityNotification=!1,e.failedUpdateError="",e.header={editing:!1,editing_domain:!1,hostname:{value:""},domain:{selected:null,options:d.getItems()}},e.summary={editing:!1,architecture:{selected:null,options:u.getData("architectures")},min_hwe_kernel:{selected:null,options:u.getData("min_hwe_kernels")},zone:{selected:null,options:c.getItems()},pool:{selected:null,options:v.getItems()},tags:[]},e.services={},e.power={editing:!1,type:null,bmc_node_count:0,parameters:{},in_pod:!1},e.dismissHighAvailabilityNotification=function(){e.hideHighAvailabilityNotification=!0,localStorage.setItem("hideHighAvailabilityNotification-".concat(e.vlan.id),!0)},e.getNotificationVLANText=function(){return e.node.vlan.name?e.node.vlan.name:e.node.vlan.id},e.showHighAvailabilityNotification=function(){return!(!(!e.hideHighAvailabilityNotification&&e.node.dhcp_on&&e.vlan&&e.vlan.rack_sids.length>1)||e.vlan.secondary_rack||e.node.node_type===r.NodeTypes.REGION_CONTROLLER||"summary"!==e.section.area&&"vlans"!==e.section.area)},e.getDeviceIPAssignment=function(e){return M[e]},e.events={limit:10},e.openSection=function(t){e.section.area=t,i.search("area",t)},e.updateNode=function(t,n){return angular.isUndefined(n)&&(n=!1),e.nodesManager.updateItem(t).then(function(){A(),O(),n&&e.checkPowerState(),e.failedUpdateError=""}).catch(function(t){_.error(t),A(),O(),e.node.power_parameters={},e.failedUpdateError=t})},e.tagsAutocomplete=function(e){return f.autocomplete(e)},e.getPowerStateClass=function(){return angular.isObject(e.node)?e.checkingPower?"checking":e.node.power_state:""},e.getPowerStateText=function(){return angular.isObject(e.node)?e.checkingPower?"Checking power":"unknown"===e.node.power_state?"":"Power "+e.node.power_state:""},e.canCheckPowerState=function(){return!!angular.isObject(e.node)&&("unknown"!==e.node.power_state&&!e.checkingPower)},e.checkPowerState=function(){e.checkingPower=!0,e.nodesManager.checkPowerState(e.node).then(function(){e.checkingPower=!1})},e.isUbuntuOS=function(){return!!angular.isObject(e.node)&&"ubuntu"===e.node.osystem},e.isUbuntuCoreOS=function(){return!!angular.isObject(e.node)&&"ubuntu-core"===e.node.osystem},e.isCentOS=function(){return!!angular.isObject(e.node)&&("centos"===e.node.osystem||"rhel"===e.node.osystem)},e.isCustomOS=function(){return!!angular.isObject(e.node)&&"custom"===e.node.osystem},e.isActionError=function(){return null!==e.action.error},e.isDeployError=function(){if(e.isActionError())return!1;var t=angular.isUndefined(e.osinfo.osystems)||0===e.osinfo.osystems.length;return!(!angular.isObject(e.action.option)||"deploy"!==e.action.option.name||!t)},e.isSSHKeyWarning=function(){return!e.isActionError()&&!(!angular.isObject(e.action.option)||"deploy"!==e.action.option.name||0!==l.getSSHKeyCount())},e.action.optionChanged=function(){e.action.error=null,e.action.showing_confirmation=!1,e.action.confirmation_message="",e.action.confirmation_details=[]},e.actionCancel=function(){e.action.option=null,e.action.error=null,e.action.showing_confirmation=!1,e.action.confirmation_message="",e.action.confirmation_details=[]},e.actionGo=function(){var t={};if("deploy"===e.action.option.name&&angular.isString(e.osSelection.osystem)&&angular.isString(e.osSelection.release)){t.osystem=e.osSelection.osystem;var n=e.osSelection.release;n=(n=n.split("/"))[n.length-1],t.distro_series=n,angular.isString(e.osSelection.hwe_kernel)&&(e.osSelection.hwe_kernel.indexOf("hwe-")>=0||e.osSelection.hwe_kernel.indexOf("ga-")>=0)&&(t.hwe_kernel=e.osSelection.hwe_kernel);var r=e.deployOptions.installKVM;r&&(t.osystem="ubuntu",t.distro_series="bionic"),t.install_kvm=r}else if("commission"===e.action.option.name){t.enable_ssh=e.commissionOptions.enableSSH,t.skip_bmc_config=e.commissionOptions.skipBMCConfig,t.skip_networking=e.commissionOptions.skipNetworking,t.skip_storage=e.commissionOptions.skipStorage,t.commissioning_scripts=[];for(var a=0;a<e.commissioningSelection.length;a++)t.commissioning_scripts.push(e.commissioningSelection[a].id);e.commissionOptions.updateFirmware&&t.commissioning_scripts.push("update_firmware"),e.commissionOptions.configureHBA&&t.commissioning_scripts.push("configure_hba"),0===t.commissioning_scripts.length&&t.commissioning_scripts.push("none"),t.testing_scripts=[];for(var o=0;o<e.testSelection.length;o++)t.testing_scripts.push(e.testSelection[o].id);0===t.testing_scripts.length&&t.testing_scripts.push("none")}else if("test"===e.action.option.name){if(6===e.node.status_code&&!e.action.showing_confirmation)return e.action.showing_confirmation=!0,void(e.action.confirmation_message=e.type_name_title+" is in a deployed state.");t.enable_ssh=e.commissionOptions.enableSSH,t.testing_scripts=[];for(var s=0;s<e.testSelection.length;s++)t.testing_scripts.push(e.testSelection[s].id);0===t.testing_scripts.length&&t.testing_scripts.push("none")}else if("release"===e.action.option.name)t.erase=e.releaseOptions.erase,t.secure_erase=e.releaseOptions.secureErase,t.quick_erase=e.releaseOptions.quickErase;else if("delete"===e.action.option.name&&"controller"===e.type_name&&!e.action.showing_confirmation){for(var c=0;c<e.vlans.length;c++){var u=e.vlans[c];u.primary_rack===e.node.system_id&&e.action.confirmation_details.push(e.node.fqdn+" is the primary rack controller for "+u.name),u.secondary_rack===e.node.system_id&&e.action.confirmation_details.push(e.node.fqdn+" is the secondary rack controller for "+u.name)}if(e.action.confirmation_details.length>0)return e.action.confirmation_message+=e.type_name_title+" will be deleted.",void(e.action.showing_confirmation=!0)}e.nodesManager.performAction(e.node,e.action.option.name,t).then(function(){"delete"===e.action.option.name&&i.path("/machines"),e.action.option=null,e.action.error=null,e.action.showing_confirmation=!1,e.action.confirmation_message="",e.osSelection.$reset(),e.commissionOptions.enableSSH=!1,e.commissionOptions.skipBMCConfig=!1,e.commissionOptions.skipNetworking=!1,e.commissionOptions.skipStorage=!1,e.commissionOptions.updateFirmware=!1,e.commissionOptions.configureHBA=!1,e.commissioningSelection=[],e.testSelection=[]},function(t){e.action.error=t})},e.isSuperUser=function(){return l.isSuperUser()},e.hasPermission=function(t){return!(!angular.isObject(e.node)||!angular.isArray(e.node.permissions))&&e.node.permissions.indexOf(t)>=0},e.hasUsableArchitectures=function(){return e.summary.architecture.options.length>0},e.getArchitecturePlaceholder=function(){return e.hasUsableArchitectures()?"Choose an architecture":"-- No usable architectures --"},e.hasInvalidArchitecture=function(){return!!angular.isObject(e.node)&&(!e.isDevice&&(""===e.node.architecture||-1===e.summary.architecture.options.indexOf(e.node.architecture)))},e.invalidArchitecture=function(){return!(e.isDevice||e.isController||""!==e.summary.architecture.selected&&-1!==e.summary.architecture.options.indexOf(e.summary.architecture.selected))},e.isRackControllerConnected=function(){return e.power_types.length>0},e.isLocked=function(){return null!==e.node&&e.node.locked},e.canEdit=function(){return e.isDevice?e.hasPermission("edit"):e.isRackControllerConnected()&&e.hasPermission("edit")&&!e.isLocked()},e.editHeaderDomain=function(){e.canEdit()||e.header.editing_domain||(e.header.editing=!1,e.header.editing_domain=!0,e.header.hostname.value=e.node.hostname)},e.editHeader=function(){e.canEdit()&&(e.header.editing||(e.header.editing=!0,e.header.editing_domain=!1,e.header.hostname.value=e.node.hostname))},e.editHeaderInvalid=function(){if(!e.header.editing&&!e.header.editing_domain)return!1;var t=e.header.hostname.value;return 0===t.length||!m.validateHostname(t)},e.cancelEditHeader=function(){e.header.editing=!1,e.header.editing_domain=!1,A()},e.saveEditHeader=function(){if(!e.editHeaderInvalid()){e.header.editing=!1,e.header.editing_domain=!1;var t=angular.copy(e.node);t.hostname=e.header.hostname.value,t.domain=e.header.domain.selected,e.updateNode(t)}},e.editSummary=function(){e.canEdit()&&(e.summary.editing=!0)},e.cancelEditSummary=function(){e.isDevice||e.isController?e.summary.editing=!1:e.hasInvalidArchitecture()||(e.summary.editing=!1)},e.saveEditSummary=function(){if(!e.invalidArchitecture()){e.summary.editing=!1;var t=angular.copy(e.node);t.zone=angular.copy(e.summary.zone.selected),t.pool=angular.copy(e.summary.pool.selected),t.description=angular.copy(e.summary.description),t.architecture=e.summary.architecture.selected,null===e.summary.min_hwe_kernel.selected?t.min_hwe_kernel="":t.min_hwe_kernel=e.summary.min_hwe_kernel.selected,t.tags=[],angular.forEach(e.summary.tags,function(e){t.tags.push(e.text)}),e.updateNode(t)}},e.invalidPowerType=function(){return!angular.isObject(e.power.type)},e.editPower=function(){e.canEdit()&&(e.power.editing=!0)},e.cancelEditPower=function(){0===e.node.node_type&&""===e.node.power_type||(e.power.editing=!1),k()},e.saveEditPower=function(){if(!e.invalidPowerType()){e.power.editing=!1;var t=angular.copy(e.node);t.power_type=e.power.type.name,t.power_parameters=angular.copy(e.power.parameters),e.updateNode(t,!0)}},e.allowShowMoreEvents=function(){return!!angular.isObject(e.node)&&(!!angular.isArray(e.node.events)&&(e.node.events.length>0&&e.node.events.length>e.events.limit&&e.events.limit<50))},e.showMoreEvents=function(){e.events.limit+=10},e.getEventText=function(e){var t=e.type.description;return angular.isString(e.description)&&e.description.length>0&&(t+=" - "+e.description),t},e.getPowerEventError=function(){var t;if(angular.isObject(e.node)&&angular.isArray(e.node.events))for(t=0;t<e.node.events.length;t++){var n=e.node.events[t];if("warning"===n.type.level&&"Failed to query node's BMC"===n.type.description)return n;if("info"===n.type.level&&"Queried node's BMC"===n.type.description)return}},e.hasPowerEventError=function(){var t=e.getPowerEventError();return angular.isObject(t)},e.getPowerEventErrorText=function(){var t=e.getPowerEventError();return angular.isObject(t)?t.description:""},e.hasActionPowerError=function(t){if(!e.hasPowerError())return!1;return!!(t&&["commission","deploy","on","off","release"].indexOf(t)>-1)},e.hasPowerError=function(){return!!angular.isObject(e.power.type)&&e.power.type.missing_packages.length>0},e.getPowerErrors=function(){var t,n="";if(angular.isObject(e.power.type)){var r=e.power.type.missing_packages;for(r.sort(),t=0;t<r.length;t++)n+=r[t],t+2<r.length?n+=", ":t+1<r.length&&(n+=" and ");n+=r.length>1?" packages":" package"}return n},e.getServiceClass=function(e){return angular.isObject(e)?"running"===e.status?"success":"dead"===e.status?"error":"degraded"===e.status?"warning":"none":"none"},e.hasCustomCommissioningScripts=function(){var t;for(t=0;t<e.scripts.length;t++)if(0===e.scripts[t].script_type)return!0;return!1},e.controllerLoaded=function(t,n){e[t]=n,angular.isObject(n.node)&&n.nodeLoaded()},e.showFailedTestWarning=function(){if(1===e.node.node_type||!e.node.status_code)return!1;switch(e.node.status_code){case 0:case 1:case 2:case 21:case 22:return!1}switch(e.node.testing_status){case-1:case 2:return!1}return!0},e.getCPUSubtext=function(){var t=e.node.cpu_count+" cores";return e.node.cpu_speed&&0!==e.node.cpu_speed?e.node.cpu_speed<1e3?t+" @ "+e.node.cpu_speed+" Mhz":t+" @ "+e.node.cpu_speed/1e3+" Ghz":t},e.getHardwareTestErrorText=function(e){return"Unable to run destructive test while deployed!"===e?"The selected hardware tests contain one or more destructive tests. Destructive tests cannot run on deployed machines.":e},e.powerParametersValid=function(e){if(!angular.isObject(e))return!1;if(0===Object.keys(e).length)return!1;var t=!1;return Object.keys(e).forEach(function(n){t=""!==e[n]}),!!t},e.$on("$routeUpdate",function(){u.loadItems(["osinfo","architectures","min_hwe_kernels"])}),-1!==i.path().indexOf("/controller")?(e.nodesManager=s,S=[s,b,y],e.isController=!0,e.isDevice=!1,e.type_name="controller",e.type_name_title="Controller",t.page="controllers"):-1!==i.path().indexOf("/device")?(e.nodesManager=a,S=[a],e.isController=!1,e.isDevice=!0,e.type_name="device",e.type_name_title="Device",t.page="devices"):(e.nodesManager=o,S=[o,b],e.isController=!1,e.isDevice=!1,e.type_name="machine",e.type_name_title="Machine",t.page="machines"),h.loadManagers(e,[c,u,l,f,d,p,v].concat(S)).then(function(){var t=e.nodesManager.getActiveItem();angular.isObject(t)&&t.system_id===n.system_id?C(t):(e.nodesManager.setActiveItem(n.system_id).then(function(t){C(t),angular.isObject(e.node.vlan)&&localStorage.getItem("hideHighAvailabilityNotification-".concat(e.node.vlan.id))&&(e.hideHighAvailabilityNotification=!0)},function(e){g.raiseError(e)}),t=e.nodesManager.getActiveItem()),e.isDevice&&(e.ip_assignment=t.ip_assignment)})}i.$inject=["$scope","$rootScope","$routeParams","$location","DevicesManager","MachinesManager","ControllersManager","ZonesManager","GeneralManager","UsersManager","TagsManager","DomainsManager","ManagerHelperService","ServicesManager","ErrorService","ValidationService","ScriptsManager","ResourcePoolsManager","VLANsManager","$log","$window"];var a=i;t.default=a},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.NodeFilesystemsController=a,t.NodeAddSpecialFilesystemController=o,o.$inject=["$scope","MachinesManager"],a.$inject=["$scope"];var i=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.fstype=t,this.mountPoint="",this.mountOptions=""}var t,n,i;return t=e,(n=[{key:"isValid",value:function(){return this.mountPoint.startsWith("/")}},{key:"describe",value:function(){if(this.fstype){var e=[this.fstype];switch(this.mountPoint.startsWith("/")&&e.push("at "+this.mountPoint),this.fstype){case"tmpfs":var t=this.mountOptions.match(/\bsize=(\d+)(%?)/);null!==t&&("%"===t[2]?e.push("limited to "+t[1]+"% of memory"):e.push("limited to "+t[1]+" bytes"))}return e.join(" ")}}}])&&r(t.prototype,n),i&&r(t,i),e}();function a(e){e.dropdown=null,e.addSpecialFilesystem=function(){e.dropdown="special"},e.addSpecialFilesystemFinished=function(){"special"===e.dropdown&&(e.dropdown=null)}}function o(e,t){e.machineManager=t,e.specialFilesystemTypes=["tmpfs","ramfs"],e.newFilesystem={system_id:e.node.system_id},e.filesystem=new i,e.description=null;var n={fstype:"fstype",mountPoint:"mount_point",mountOptions:"mount_options"},r=function(t){e.$watch(function(){return e.newFilesystem.$maasForm.getValue(n[t])},function(n){e.filesystem[t]=n})};for(var a in n)r(a);e.$watch("filesystem",function(){e.filesystem&&(e.description=e.filesystem.describe())},!0),e.canMount=function(){return e.filesystem.isValid()},e.cancel=function(){e.filesystem=new i,e.addSpecialFilesystemFinished()}}},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u){var l=n("filterByVLAN"),f=n("filterByFabric"),d=n("filterBySpace"),h=n("filterByNullSpace");t.title="Subnets",t.page="networks",e.getURLParameters=function(){angular.isString(r.search().by)?e.groupBy=r.search().by:e.groupBy="fabric"},e.ADD_FABRIC_ACTION={name:"add_fabric",title:"Fabric",selectedTitle:"Add fabric",objectName:"fabric"},e.ADD_VLAN_ACTION={name:"add_vlan",title:"VLAN",selectedTitle:"Add VLAN",objectName:"vlan"},e.ADD_SPACE_ACTION={name:"add_space",title:"Space",selectedTitle:"Add space",objectName:"space"},e.ADD_SUBNET_ACTION={name:"add_subnet",title:"Subnet",selectedTitle:"Add subnet",objectName:"subnet"},e.getURLParameters(),e.subnetManager=i,e.subnets=i.getItems(),e.fabricManager=a,e.fabrics=a.getItems(),e.spaceManager=o,e.spaces=o.getItems(),e.vlanManager=s,e.vlans=s.getItems(),e.loading=!0,e.group={},e.group.fabrics={},e.group.spaces={},e.group.spaces.orphanVLANs=[];var p={fabric:function(){return{}},vlan:function(){return{fabric:e.fabrics[0].id}},space:function(){return{}},subnet:function(){return{vlan:e.fabrics[0].vlan_ids[0]}}};function g(e){return i.getName(e)}e.updateGroupBy=function(){var t,i,c;"space"===e.groupBy?(r.search("by","space"),t=[],i=n("orderBy")(e.spaces,["name"]),c={id:-1},angular.forEach(i,function(r){var i=d(e.subnets,r);i=n("orderBy")(i,["cidr"]);var o=0;angular.forEach(i,function(n){o++;var i=s.getItemFromList(n.vlan),u={fabric:a.getItemFromList(i.fabric),vlan:i,vlan_name:e.getVLANName(i),subnet:n,subnet_name:g(n),space:r,space_name:""};r.id!==c.id&&(c.id=r.id,u.space_name=r.name),t.push(u)}),0===o&&t.push({space:r,space_name:r.name})}),e.group.spaces.rows=t,function(){var t=[],r=h(e.subnets);r=n("orderBy")(r,["cidr"]),angular.forEach(r,function(n){var r=s.getItemFromList(n.vlan),i={fabric:a.getItemFromList(r.fabric),vlan:r,vlan_name:e.getVLANName(r),subnet:n,subnet_name:g(n),space:null};t.push(i)}),e.group.spaces.orphanVLANs=t}()):(r.search("by","fabric"),function(){var t=[],r={id:-1},i={id:-1},a=n("orderBy")(e.fabrics,["name"]);angular.forEach(a,function(a){var s=f(e.vlans,a);s=n("orderBy")(s,["vid"]),angular.forEach(s,function(n){var s=l(e.subnets,n);if(s.length>0)angular.forEach(s,function(s){var c=o.getItemFromList(s.space),u={fabric:a,fabric_name:"",vlan:n,vlan_name:"",space:c,subnet:s,subnet_name:g(s)};a.id!==r.id&&(r.id=a.id,u.fabric_name=a.name),n.id!==i.id&&(i.id=n.id,u.vlan_name=e.getVLANName(n)),t.push(u)});else{var c={fabric:a,fabric_name:"",vlan:n,vlan_name:e.getVLANName(n)};a.id!==r.id&&(r.id=a.id,c.fabric_name=a.name),t.push(c)}})}),e.group.fabrics.rows=t}())},e.updateActions=function(){c.isSuperUser()?e.actionOptions=[e.ADD_FABRIC_ACTION,e.ADD_VLAN_ACTION,e.ADD_SPACE_ACTION,e.ADD_SUBNET_ACTION]:e.actionOptions=[]},e.actionChanged=function(){e.newObject=p[e.actionOption.objectName]()},e.cancelAction=function(){e.actionOption=null,e.newObject=null},e.getVLANName=function(e){return s.getName(e)},e.getFabricNameById=function(e){return a.getName(a.getItemFromList(e))},e.actionSubnetPreSave=function(e){return e.fabric=s.getItemFromList(e.vlan).fabric,e},u.loadManagers(e,[i,a,o,s,c]).then(function(){e.loading=!1,e.updateActions(),e.$watch("[subnets, fabrics, spaces, vlans]",e.updateGroupBy,!0),e.$on("$routeUpdate",function(){e.getURLParameters(),e.updateGroupBy()}),e.updateGroupBy()})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$filter","$location","SubnetsManager","FabricsManager","SpacesManager","VLANsManager","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s){if(e.page="intro",e.title="Welcome",t.loading=!0,t.configManager=i,t.repoManager=a,t.bootResources=o.getData(),t.hasImages=!1,t.maasName=null,t.upstreamDNS=null,t.mainArchive=null,t.portsArchive=null,t.httpProxy=null,e.skip=function(){t.clickContinue(!0)},t.welcomeInError=function(){var e=t.maasName.$maasForm;return!!angular.isObject(e)&&e.hasErrors()},t.networkInError=function(){var e=!1,n=[t.upstreamDNS,t.mainArchive,t.portsArchive,t.httpProxy];return angular.forEach(n,function(t){var n=t.$maasForm;angular.isObject(n)&&n.hasErrors()&&(e=!0)}),e},t.canContinue=function(){return!t.welcomeInError()&&!t.networkInError()&&t.hasImages},t.clickContinue=function(e){angular.isUndefined(e)&&(e=!1),(e||t.canContinue())&&i.updateItem({name:"completed_intro",value:!0}).then(function(){n.location.reload()})},MAAS_config.completed_intro)r.path("/");else{var c=[i,a];s.loadManagers(t,c).then(function(){t.loading=!1,t.maasName=i.getItemFromList("maas_name"),t.upstreamDNS=i.getItemFromList("upstream_dns"),t.httpProxy=i.getItemFromList("http_proxy"),t.mainArchive=a.getItems().filter(function(e){return e.default&&"main_archive"===e.name})[0],t.portsArchive=a.getItems().filter(function(e){return e.default&&"ports_archive"===e.name})[0]}),t.$watch("bootResources.resources",function(){angular.isArray(t.bootResources.resources)&&t.bootResources.resources.length>0?t.hasImages=!0:t.hasImages=!1})}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$rootScope","$scope","$window","$location","ConfigsManager","PackageRepositoriesManager","BootResourcesManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a){e.page="intro",e.title="Welcome",t.loading=!0,t.user=null,e.skip=function(){t.clickContinue(!0)},t.isSuperUser=function(){return i.isSuperUser()},t.canContinue=function(){return t.user.sshkeys_count>0},t.clickContinue=function(e){angular.isUndefined(e)&&(e=!1),(e||t.canContinue())&&i.markIntroComplete().then(function(){n.location.reload()})},MAAS_config.user_completed_intro?r.path("/"):a.loadManager(t,i).then(function(){t.loading=!1,t.user=i.getAuthUser()})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$rootScope","$scope","$window","$location","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a){e.page="images",e.title="Loading...",t.loading=!0,t.bootResources=n.getData(),t.configManager=r,t.autoImport=null,t.isSuperUser=function(){return i.isSuperUser()},a.loadManagers(t,[r,i]).then(function(){t.autoImport=r.getItemFromList("boot_images_auto_import")}),t.$watch("bootResources.resources",function(){angular.isArray(t.bootResources.resources)&&(t.loading=!1,e.title="Images")})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$rootScope","$scope","BootResourcesManager","ConfigsManager","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f,d){function h(n){angular.isObject(n)&&(e.fabric=n,t.title=e.fabric.name,e.$watch("vlans",p,!0),e.$watch("subnets",p,!0),e.$watch("controllers",p,!0),e.loaded=!0,e.predicate="['vlan_name', 'vlan.id', 'subnet_name']")}function p(){var t=[],n={};angular.forEach(r("filter")(e.vlans,{fabric:e.fabric.id},!0),function(i){var a=r("filter")(e.subnets,{vlan:i.id},!0);if(a.length>0)angular.forEach(a,function(e){var n=c.getItemFromList(e.space),r=null===n?"(undefined)":n.name,a={vlan:i,vlan_name:o.getName(i),subnet:e,subnet_name:s.getName(e),space:n,space_name:r};t.push(a)});else{var l={vlan:i,vlan_name:o.getName(i),subnet:null,subnet_name:null,space:null,space_name:null};t.push(l)}angular.forEach(i.rack_sids,function(e){var t=u.getItemFromList(e);angular.isObject(t)&&(n[t.system_id]=t)})}),e.rows=t,e.racks=Object.keys(n).map(function(e){return n[e]})}t.title="Loading...",t.page="networks",e.fabric=null,e.fabricManager=a,e.editSummary=!1,e.vlans=o.getItems(),e.subnets=s.getItems(),e.controllers=u.getItems(),e.loaded=!1,e.enterEditSummary=function(){e.editSummary=!0},e.exitEditSummary=function(){e.editSummary=!1},e.isSuperUser=function(){return l.isSuperUser()},e.isDefaultFabric=function(){return!!angular.isObject(e.fabric)&&0===e.fabric.id},e.canBeDeleted=function(){return!!angular.isObject(e.fabric)&&0!==e.fabric.id},e.deleteButton=function(){e.error=null,e.confirmingDelete=!0},e.cancelDeleteButton=function(){e.confirmingDelete=!1},e.deleteConfirmButton=function(){a.deleteFabric(e.fabric).then(function(){e.confirmingDelete=!1,i.path("/networks"),i.search("by","fabric")},function(t){e.error=f.parseValidationError(t.error)})},f.loadManagers(e,[a,o,s,c,u,l]).then(function(){var e=a.getActiveItem(),t=parseInt(n.fabric_id,10);isNaN(t)?d.raiseError("Invalid fabric identifier."):angular.isObject(e)&&e.id===t?h(e):a.setActiveItem(t).then(function(e){h(e)},function(e){d.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$filter","$location","FabricsManager","VLANsManager","SubnetsManager","SpacesManager","ControllersManager","UsersManager","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i){t.title="DNS",t.page="domains",e.domains=n.getItems(),e.currentpage="domains",e.predicate="name",e.reverse=!1,e.loading=!0,e.confirmSetDefaultRow=null,e.addDomainScope=null,e.addDomain=function(){e.addDomainScope.show()},e.cancelAddDomain=function(){e.addDomainScope.cancel()},e.isSuperUser=function(){return r.isSuperUser()},e.confirmSetDefault=function(t){e.confirmSetDefaultRow=t},e.cancelSetDefault=function(){e.confirmSetDefaultRow=null},e.setDefault=function(t){n.setDefault(t),e.confirmSetDefaultRow=null},i.loadManagers(e,[n,r]).then(function(){e.loading=!1})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","DomainsManager","UsersManager","ManagerHelperService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s){function c(n){e.domain=n,e.loaded=!0,t.title=e.domain.displayname}t.title="Loading...",t.page="domains",e.loaded=!1,e.domain=null,e.editSummary=!1,e.predicate="name",e.reverse=!1,e.action=null,e.editRow=null,e.deleteRow=null,e.domainsManager=i,e.newObject={},e.supportedRecordTypes=["A","AAAA","CNAME","MX","NS","SRV","SSHFP","TXT"],e.predicate="name",e.sortTable=function(t){e.predicate=t,e.reverse=!e.reverse},e.enterEditSummary=function(){e.editSummary=!0},e.exitEditSummary=function(){e.editSummary=!1},e.isRecordAutogenerated=function(e){return!e.dnsresource_id},e.editRecord=function(t){e.editRow=t,t.previous_rrdata=t.rrdata,t.previous_rrtype=t.rrtype,t.previous_name=t.name,t.previous_ttl=t.ttl,e.deleteRow=null},e.removeRecord=function(t){e.deleteRow=t,e.editRow=null},e.confirmRemoveRecord=function(t){t.domain=e.domain.id,e.domainsManager.deleteDNSRecord(t),e.stopEditingRow()},e.stopEditingRow=function(){e.editRow=null,e.deleteRow=null},e.isSuperUser=function(){return a.isSuperUser()},e.isDefaultDomain=function(){return!!angular.isObject(e.domain)&&0===e.domain.id},e.canBeDeleted=function(){return!!angular.isObject(e.domain)&&0===e.domain.rrsets.length},e.deleteButton=function(){e.error=null,e.actionInProgress=!0,e.action="delete"},e.addRecordButton=function(){e.error=null,e.actionInProgress=!0,e.action="add_record"},e.cancelAction=function(){e.actionInProgress=!1},e.deleteConfirmButton=function(){i.deleteDomain(e.domain).then(function(){e.actionInProgress=!1,r.path("/domains")},function(t){e.error=o.parseValidationError(t)})},o.loadManagers(e,[i,a]).then(function(){var e=i.getActiveItem(),t=parseInt(n.domain_id,10);isNaN(t)?s.raiseError("Invalid domain identifier."):angular.isObject(e)&&e.id===t?c(e):i.setActiveItem(t).then(function(e){c(e)},function(e){s.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$routeParams","$location","DomainsManager","UsersManager","ManagerHelperService","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f){var d=[["static","Static"],["dynamic","Dynamic"],["external","External"]];t.title="Dashboard",t.page="dashboard",e.loaded=!1,e.discoveredDevices=r.getItems(),e.domains=i.getItems(),e.machines=a.getItems(),e.devices=o.getItems(),e.configManager=u,e.networkDiscovery=null,e.column="mac",e.selectedDevice=null,e.convertTo=null,e.showClearDiscoveriesPanel=!1,e.removingDevices=!1,e.MAAS_VERSION_NUMBER=r.formatMAASVersionNumber(),e.search="",e.searchValid=!0,e.actionOption=null,e.filters=f.getEmptyFilter(),e.metadata={},e.filteredDevices=[],e.clearSearch=function(){e.search="",e.updateFilters()},e.filteredDevices=[],e.updateFilters=function(){var t=e.search,n=f.getCurrentFilters(t);null===n?(e.filters=f.getEmptyFilter(),e.searchValid=!1):(e.filters=n,e.searchValid=!0)},e.dedupeMetadata=function(t){return e.discoveredDevices.filter(function(e,n,r){return r.map(function(e){return e[t]}).indexOf(e[t])===n})},e.getCount=function(t,n){return e.discoveredDevices.filter(function(e){return e[t]===n}).length},e.setMetadata=function(){var t=e.dedupeMetadata("fabric_name").map(function(t){return{name:t.fabric_name,count:e.getCount("fabric_name",t.fabric_name)}}),n=e.dedupeMetadata("vlan").map(function(t){return{name:t.vlan,count:e.getCount("vlan",t.vlan)}}),r=e.dedupeMetadata("observer_hostname").map(function(t){return{name:t.observer_hostname,count:e.getCount("observer_hostname",t.observer_hostname)}}),i=e.dedupeMetadata("subnet_cidr").map(function(t){return{name:t.subnet_cidr,count:e.getCount("subnet_cidr",t.subnet_cidr)}});e.metadata={fabric:t,vlan:n,rack:r,subnet:i}},e.toggleFilter=function(t,n){e.filters=f.toggleFilter(e.filters,t,n,!0),e.search=f.filtersToString(e.filters)},e.isFilterActive=function(t,n){return f.isFilterActive(e.filters,t,n,!0)},e.formatMAASVersionNumber=function(){if(MAAS_config.version){var e=MAAS_config.version.split(" ")[0];if(e)return"0"===e.split(".")[2]?e.split(".")[0]+"."+e.split(".")[1]:e}},e.MAAS_VERSION_NUMBER=e.formatMAASVersionNumber(),e.predicate=e.last_seen,e.openClearDiscoveriesPanel=function(){e.showClearDiscoveriesPanel=!0},e.closeClearDiscoveriesPanel=function(){e.showClearDiscoveriesPanel=!1},e.sortTable=function(t){e.predicate=t,e.reverse=!e.reverse},e.proxyManager={updateItem:function(t){if("device"===e.convertTo.type)return o.createItem(t);if("interface"===e.convertTo.type)return o.createInterface(t);throw new Error("Unknown type: "+e.convertTo.type)}},e.getDiscoveryName=function(e){return null===e.hostname?"unknown":e.hostname},e.getSubnetName=function(e){var t=s.getItemFromList(e);return s.getName(t)},e.getVLANName=function(e){var t=c.getItemFromList(e);return c.getName(t)},e.removeDevice=function(e){e.isBeingRemoved=!0,r.removeDevice(e)},e.removeAllDevices=function(){e.removingDevices=!0,r.removeDevices(e.discoveredDevices).then(function(){e.discoveredDevices=r.getItems()})},e.toggleSelected=function(t){if(e.selectedDevice===t)e.selectedDevice=null;else{var n,a=r.getItemFromList(t),o=e.getDiscoveryName(a);"unknown"===o&&(o=""),o.indexOf(".")>0?(n=i.getDomainByName(o.slice(o.indexOf(".")+1)),o=o.split(".",1)[0],null===n&&(n=i.getDefaultDomain())):n=i.getDefaultDomain(),e.convertTo={type:"device",hostname:o,domain:n,parent:null,ip_assignment:"dynamic",goTo:!1,saved:!1,deviceIPOptions:d.filter(function(e){return!("static"===e[0]&&!angular.isNumber(a.subnet))})},e.selectedDevice=t}},e.preProcess=function(t){var n=r.getItemFromList(e.selectedDevice);return t=angular.copy(t),"device"===e.convertTo.type?(t.primary_mac=n.mac_address,t.extra_macs=[],t.interfaces=[{mac:n.mac_address,ip_assignment:t.ip_assignment,ip_address:n.ip,subnet:n.subnet}]):"interface"===e.convertTo.type&&(t.mac_address=n.mac_address,t.ip_address=n.ip,t.subnet=n.subnet),t},e.afterSave=function(t){r._removeItem(e.selectedDevice),e.selectedDevice=null,e.convertTo.hostname=t.hostname,e.convertTo.parent=t.parent,e.convertTo.saved=!0,e.convertTo.goTo&&(angular.isString(t.parent)?n.path("/device/"+t.parent):n.path("/devices/"))},l.loadManagers(e,[r,i,a,o,s,c,u]).then(function(){e.loaded=!0,e.networkDiscovery=u.getItemFromList("network_discovery"),e.setMetadata(),e.discoveredDevices.forEach(function(e){var t=new Date(e.last_seen);e.last_seen_timestamp=t.getTime()}),e.$watchCollection("discoveredDevices",function(){e.removingDevices=!1,e.closeClearDiscoveriesPanel()})})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","$rootScope","$location","DiscoveriesManager","DomainsManager","MachinesManager","DevicesManager","SubnetsManager","VLANsManager","ConfigsManager","ManagerHelperService","SearchService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u){t.$parent.addHardwareScope=t,t.machineManager=a,t.newMachineObj={},t.viewable=!1,t.model="machine",t.zones=r.getItems(),t.pools=i.getItems(),t.domains=s.getItems(),t.architectures=o.getData("architectures"),t.architectures.push("Choose an architecture"),t.hwe_kernels=o.getData("hwe_kernels"),t.default_min_hwe_kernel=o.getData("default_min_hwe_kernel"),t.power_types=o.getData("power_types"),t.error=null,t.macAddressRegex=/^([0-9A-F]{2}[::]){5}([0-9A-F]{2})$/gim,t.machine=null,t.chassis=null;var l=[{name:"hostname",label:"Address",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!1},{name:"prefix_filter",label:"Prefix filter",field_type:"string",default:"",choices:[],required:!1}];function f(){if(0===t.architectures.length)return"";var e;for(e=0;e<t.architectures.length;e++)if("amd64/generic"===t.architectures[e])return t.architectures[e];return t.architectures[0]}function d(e){return angular.isObject(e)?{name:"",domain:e.domain,macs:[{mac:"",error:!1}],zone:e.zone,pool:e.pool,architecture:e.architecture,min_hwe_kernel:e.min_hwe_kernel,power:{type:e.power.type,parameters:{}}}:{name:"",domain:s.getDefaultDomain(),macs:[{mac:"",error:!1}],zone:0===t.zones.length?null:t.zones[0],pool:0===t.pools.length?null:t.pools[0],architecture:f(),min_hwe_kernel:t.default_min_hwe_kernel.text,power:{type:null,parameters:{}}}}function h(e){return angular.isObject(e)?{domain:e.domain,power:{type:null,parameters:{}}}:{domain:s.getDefaultDomain(),power:{type:null,parameters:{}}}}t.chassisPowerTypes=[{name:"mscm",description:"Moonshot Chassis Manager",fields:[{name:"hostname",label:"Host",field_type:"string",default:"",choices:[],required:!0},{name:"username",label:"Username",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!0}]},{name:"powerkvm",description:"PowerKVM",fields:l},{name:"recs_box",description:"Christmann RECS|Box",fields:[{name:"hostname",label:"Hostname",field_type:"string",default:"",choices:[],required:!0},{name:"port",label:"Port",field_type:"string",default:"80",choices:[],required:!1},{name:"username",label:"Username",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!0}]},{name:"seamicro15k",description:"SeaMicro 15000",fields:[{name:"hostname",label:"Hostname",field_type:"string",default:"",choices:[],required:!0},{name:"username",label:"Username",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!0},{name:"power_control",label:"Power Control",field_type:"choice",default:"restapi2",choices:[["restapi2","REST API V2.0"],["restapi","REST API V0.9"],["ipmi","IPMI"]],required:!0}]},{name:"ucsm",description:"UCS Chassis Manager",fields:[{name:"hostname",label:"URL",field_type:"string",default:"",choices:[],required:!0},{name:"username",label:"Username",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!0}]},{name:"virsh",description:"Virsh (virtual systems)",fields:l},{name:"vmware",description:"VMware",fields:[{name:"hostname",label:"Host",field_type:"string",default:"",choices:[],required:!0},{name:"username",label:"Username",field_type:"string",default:"",choices:[],required:!0},{name:"password",label:"Password",field_type:"string",default:"",choices:[],required:!0},{name:"prefix_filter",label:"Prefix filter",field_type:"string",default:"",choices:[],required:!1}]}],t.show=function(n){if(t.mode=n,!t.viewable){var i=!1,a=!1,u=e.defer();u.promise.then(function(){t.machine=d(t.machine),t.chassis=h(t.chassis),t.error=null,angular.isObject(t.machine)&&""===t.machine.architecture&&(t.machine.architecture=f()),t.viewable=!0}),o.loadItems(["architectures","hwe_kernels","default_min_hwe_kernel"]).then(function(){i=!0,a&&u.resolve()}),c.loadManagers(t,[r,s]).then(function(){a=!0,i&&u.resolve()})}},t.hide=function(){t.viewable=!1,c.unloadManagers(t,[r,s]),t.$emit("addHardwareHidden")},t.showMachine=function(){return 0!==t.architectures.length&&"machine"===t.mode},t.showChassis=function(){return 0!==t.architectures.length&&"chassis"===t.mode},t.addMac=function(){t.machine.macs.push({mac:"",error:!1})},t.removeMac=function(e){var n=t.machine.macs.indexOf(e);n>-1&&t.machine.macs.splice(n,1)},t.invalidName=function(){return 0!==t.machine.name.length&&!u.validateHostname(t.machine.name)},t.validateMac=function(e){""===e.mac?e.error=!1:e.error=!u.validateMAC(e.mac)},t.machineHasError=function(){var e,n=null===t.machine||null===t.machine.zone||null===t.machine.pool||"Choose an architecture"===t.machine.architecture&&"ipmi"!==t.machine.power.type.name||null===t.machine.power.type||t.invalidName(t.machine);if(n)return n;if(""===t.machine.macs[0].mac&&"ipmi"!==t.machine.power.type.name||t.machine.macs[0].error)return!0;for(e=1;e<t.machine.macs.length;e++){var r=t.machine.macs[e];if(""!==r.mac&&r.error)return!0}return!1},t.chassisHasErrors=function(){var e=null===t.chassis||null===t.chassis.power.type;return e||function(e,t){var n;for(n=0;n<e.fields.length;n++){var r=e.fields[n],i=t[r.name];if(r.required&&(angular.isUndefined(i)||""===i))return!0}return!1}(t.chassis.power.type,t.chassis.power.parameters)},t.cancel=function(){t.machine=d(),t.chassis=h(),t.hide(),t.showErrors=!1},t.saveMachine=function(e){var n,r,i,a;t.addAnother=e,t.showErrors=!0,t.newMachineObj=Object.assign(t.newMachineObj,(n=t.machine,r=angular.copy(n.macs),i=r.shift().mac,a=r.map(function(e){return e.mac}),{name:n.name,domain:n.domain,architecture:n.architecture,min_hwe_kernel:n.min_hwe_kernel,pxe_mac:i,extra_macs:a,power_type:n.power.type.name,power_parameters:angular.copy(n.power.parameters),zone:{id:n.zone.id,name:n.zone.name},pool:{id:n.pool.id,name:n.pool.name}}))},t.afterSaveMachine=function(){t.addAnother?t.machine=d(t.machine):(t.machine=d(),t.hide())},t.saveChassis=function(e){if(!t.chassisHasErrors()){t.error=null;var r=angular.copy(t.chassis.power.parameters);r.chassis_type=t.chassis.power.type.name,r.domain=t.chassis.domain.name,"powerkvm"!==r.chassis_type&&"virsh"!==r.chassis_type||delete r.username,n({method:"POST",url:"api/2.0/machines/?op=add_chassis",data:$.param(r),headers:{"Content-Type":"application/x-www-form-urlencoded"}}).then(function(){e?t.chassis=h(t.chassis):(t.chassis=h(),t.hide())},function(e){t.error=c.parseValidationError(e.data)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$scope","$http","ZonesManager","ResourcePoolsManager","MachinesManager","GeneralManager","DomainsManager","ManagerHelperService","ValidationService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){e.$parent.addDomainScope=e,e.viewable=!1,e.error=null,e.domain={name:"",authoritative:!0},e.show=function(){e.viewable||(e.domain={name:"",authoritative:!0},e.viewable=!0)},e.hide=function(){e.viewable=!1,e.$emit("addDomainHidden")},e.nameHasError=function(){return 0!==e.domain.name.length&&!r.validateDomainName(e.domain.name)},e.domainHasError=function(){return!(""!==e.domain.name&&!e.nameHasError())},e.cancel=function(){e.error=null,e.domain={name:"",authoritative:!0},e.hide()},e.save=function(r){if(!e.domainHasError()){e.error=null;var i=function(e){return angular.copy(e)}(e.domain);t.create(i).then(function(){e.domain={name:"",authoritative:!0},r||e.hide()},function(t){e.error=n.parseValidationError(t)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","DomainsManager","ManagerHelperService","ValidationService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r,i,a){function o(e){return angular.isObject(e)?{name:"",domain:e.domain,interfaces:[{mac:"",ipAssignment:null,subnetId:null,ipAddress:""}]}:{name:"",domain:r.getDefaultDomain(),interfaces:[{mac:"",ipAssignment:null,subnetId:null,ipAddress:""}]}}e.$parent.addDeviceScope=e,e.subnets=n.getItems(),e.domains=r.getItems(),e.viewable=!1,e.error=null,e.ipAssignments=[{name:"external",title:"External"},{name:"dynamic",title:"Dynamic"},{name:"static",title:"Static"}],e.device=null,e.show=function(){e.viewable||i.loadManagers(e,[n,r]).then(function(){e.device=o(e.device),e.viewable=!0})},e.hide=function(){e.viewable=!1,i.unloadManagers(e,[n,r]),e.$emit("addDeviceHidden")},e.nameHasError=function(){return null!==e.device&&0!==e.device.name.length&&!a.validateHostname(e.device.name)},e.macHasError=function(t){if(0===t.mac.length)return!1;if(!a.validateMAC(t.mac))return!0;var n;for(n=0;n<e.device.interfaces.length;n++){if(!(e.device.interfaces[n]===t)&&e.device.interfaces[n].mac===t.mac)return!0}return!1},e.ipHasError=function(t){if(0===t.ipAddress.length)return!1;if(!a.validateIP(t.ipAddress))return!0;var r;if(angular.isObject(t.ipAssignment))if("external"===t.ipAssignment.name){for(r=0;r<e.subnets.length;r++)if(a.validateIPInNetwork(t.ipAddress,e.subnets[r].cidr))return!0}else if("static"===t.ipAssignment.name&&angular.isNumber(t.subnetId)){var i=n.getItemFromList(t.subnetId);if(!a.validateIPInNetwork(t.ipAddress,i.cidr))return!0}return!1},e.deviceHasError=function(){if(null===e.device||""===e.device.name||e.nameHasError())return!0;var t;for(t=0;t<e.device.interfaces.length;t++){var n=e.device.interfaces[t];if(""===n.mac||e.macHasError(n)||!angular.isObject(n.ipAssignment))return!0;var r="external"===n.ipAssignment.name&&(""===n.ipAddress||e.ipHasError(n)),i="static"===n.ipAssignment.name&&(!angular.isNumber(n.subnetId)||e.ipHasError(n));if(r||i)return!0}return!1},e.addInterface=function(){e.device.interfaces.push({mac:"",ipAssignment:null,subnetId:null,ipAddress:""})},e.isPrimaryInterface=function(t){return 0===e.device.interfaces.indexOf(t)},e.deleteInterface=function(t){e.isPrimaryInterface(t)||e.device.interfaces.splice(e.device.interfaces.indexOf(t),1)},e.cancel=function(){e.error=null,e.device=o(),e.hide()},e.save=function(n){if(!e.deviceHasError()){e.error=null;var r=function(e){var t,n={hostname:e.name,domain:e.domain,primary_mac:e.interfaces[0].mac,extra_macs:[],interfaces:[]};for(t=1;t<e.interfaces.length;t++)n.extra_macs.push(e.interfaces[t].mac);return angular.forEach(e.interfaces,function(e){n.interfaces.push({mac:e.mac,ip_assignment:e.ipAssignment.name,ip_address:e.ipAddress,subnet:e.subnetId})}),n}(e.device);t.create(r).then(function(t){n?e.device=o(e.device):(e.device=o(),e.hide())},function(t){e.error=i.parseValidationError(t)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$scope","DevicesManager","SubnetsManager","DomainsManager","ManagerHelperService","ValidationService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="zone";var n=this;e.registerNotifier("zone",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.getDefaultZone=function(e){var t,n=0,r=this._items.length;if(e&&(n=e.zone),0===r)return null;for(t=0;t<r;t++)if(this._items[t].id===n)return this._items[t];return this._items[0]},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="vlan";var n=this;e.registerNotifier("vlan",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.getName=function(e){var t=e.vid;return 0===e.vid?t="untagged":angular.isString(e.name)&&""!==e.name&&(t+=" ("+e.name+")"),t},n.prototype.deleteVLAN=function(t){return e.callMethod("vlan.delete",{id:t.id},!0)},n.prototype.addRackController=function(e,t){e.rack_sids.push(t.system_id)},n.prototype.configureDHCP=function(t,n,r,i){var a={id:t.id,controllers:n,extra:r};return(null===i||angular.isNumber(i))&&(a.relay_vlan=i),e.callMethod("vlan.configure_dhcp",a,!0)},n.prototype.disableDHCP=function(t){return e.callMethod("vlan.configure_dhcp",{id:t.id,controllers:[],relay_vlan:null},!0)},n.prototype.create=function(t){return e.callMethod("vlan.create",t)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){function r(){e.call(this),this._pk="id",this._handler="user",this._batchSize=200,this._authUser=null;var n=this;t.registerNotifier("user",function(e,t){n.onNotify(e,t)})}return r.prototype=new e,r.prototype.getAuthUser=function(){return this._authUser},r.prototype.isSuperUser=function(){var e=this.getAuthUser();return!!angular.isObject(e)&&e.is_superuser},r.prototype.getSSHKeyCount=function(){var e=this._authUser;return angular.isObject(e)?e.sshkeys_count:0},r.prototype._loadAuthUser=function(){var e=this;return t.callMethod("user.auth_user",{}).then(function(t){return angular.isObject(e._authUser)?angular.copy(t,e._authUser):e._authUser=t,e._authUser},function(e){n.raiseError(e)})},r.prototype._replaceItem=function(t){e.prototype._replaceItem.call(this,t),angular.isObject(this._authUser)&&this._authUser[this._pk]===t[this._pk]&&angular.copy(t,this._authUser)},r.prototype.loadItems=function(){return this._loadAuthUser(),e.prototype.loadItems.call(this)},r.prototype.reloadItems=function(){return this._loadAuthUser(),e.prototype.reloadItems.call(this)},r.prototype.markIntroComplete=function(){var e=this;return t.callMethod("user.mark_intro_complete",{}).then(function(t){return angular.isObject(e._authUser)?angular.copy(t,e._authUser):e._authUser=t,e._authUser},function(e){n.raiseError(e)})},r.prototype.createAuthorisationToken=function(){return t.callMethod("user.create_authorisation_token",{}).catch(function(e){n.raiseError(e)})},r.prototype.deleteAuthorisationToken=function(e){return t.callMethod("user.delete_authorisation_token",{key:e}).catch(function(e){n.raiseError(e)})},r.prototype.hasGlobalPermission=function(e){var t=this.getAuthUser();return!(!t||!t.global_permissions)&&-1!==t.global_permissions.indexOf(e)},new r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["Manager","RegionConnection","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="tag";var n=this;e.registerNotifier("tag",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.autocomplete=function(e){var t=[];return this._items.sort(function(e,t){var n=e.name,r=t.name;return n>r?1:n<r?-1:0}),angular.forEach(this._items,function(n){n.name.indexOf(e)>-1&&t.push(n.name)}),t},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="system_id",this._handler="switch",this._metadataAttributes={owner:null,subnets:null,tags:null,zone:function(e){return e.zone.name}};var n=this;e.registerNotifier("switch",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.create=function(t){return e.callMethod("switch.create",t)},n.prototype.performAction=function(t,n,r){return angular.isObject(r)||(r={}),e.callMethod("switch.action",{system_id:t.system_id,action:n,extra:r})},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","NodesManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="subnet";var n=this;e.registerNotifier("subnet",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.getName=function(e){if(!angular.isObject(e))return"";var t=e.cidr;return angular.isString(e.name)&&""!==e.name&&e.name!==e.cidr&&(t+=" ("+e.name+")"),t},n.prototype.getLargestRange=function(e){var t={num_addresses:0,start:"",end:""};return angular.forEach(e.statistics.ranges,function(e){angular.equals(e.purpose,["unused"])&&e.num_addresses>t.num_addresses&&(t=e)}),t},n.prototype.hasDynamicRange=function(e){var t;for(t=0;t<e.statistics.ranges.length;t++){if(-1!==e.statistics.ranges[t].purpose.indexOf("dynamic"))return!0}return!1},n.prototype.create=function(t){return e.callMethod("subnet.create",t)},n.prototype.deleteSubnet=function(t){return e.callMethod("subnet.delete",{id:t.id})},n.prototype.scanSubnet=function(t){return e.callMethod("subnet.scan",{id:t.id})},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="staticroute";var n=this;e.registerNotifier("staticroute",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="sshkey";var n=this;e.registerNotifier("sshkey",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.importKeys=function(t){return e.callMethod("sshkey.import_keys",t)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="space";var n=this;e.registerNotifier("space",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.create=function(t){return e.callMethod("space.create",t)},n.prototype.deleteSpace=function(t){return e.callMethod("space.delete",t)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="service";var n=this;e.registerNotifier("service",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="script";var n=this;e.registerNotifier("script",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="resourcepool";var n=this;e.registerNotifier("resourcepool",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.getDefaultPool=function(){var e;for(e=0;e<this._items.length;e++)if(0===this._items[e].id)return this._items[e]},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="pod";var n=this;e.registerNotifier("pod",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.refresh=function(t){var n=this;return e.callMethod("pod.refresh",t).then(function(e){return n._replaceItem(e),e})},n.prototype.compose=function(t){var n=this;return e.callMethod("pod.compose",t).then(function(e){return n._replaceItem(e),e})},n.prototype.availableWithOvercommit=function(e,t,n,r){return r?(e*n-t).toFixed(r).replace(/[.,]0$/,""):e*n-t},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="packagerepository";var n=this;e.registerNotifier("packagerepository",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.create=function(t){return e.callMethod(this._handler+".create",t,!0)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="notification",e.registerNotifier("notification",angular.bind(this,this.onNotify))}return n.prototype=new t,n.prototype.dismiss=function(t){return e.callMethod("notification.dismiss",{id:t.id})},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){function i(){t.call(this)}return i.prototype=new t,i.prototype.create=function(t){return e.callMethod(this._handler+".create",t)},i.prototype.performAction=function(t,n,r){return angular.isObject(r)||(r={}),e.callMethod(this._handler+".action",{system_id:t.system_id,action:n,extra:r})},i.prototype.checkPowerState=function(t){return e.callMethod(this._handler+".check_power",{system_id:t.system_id}).then(function(e){return t.power_state=e,e},function(e){return t.power_state="error",r.error(e),"error"})},i.prototype.createPhysicalInterface=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_physical",n)},i.prototype.createVLANInterface=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_vlan",n)},i.prototype.createBondInterface=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_bond",n)},i.prototype.createBridgeInterface=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_bridge",n)},i.prototype.updateInterface=function(t,n,r){return angular.isObject(r)||(r={}),r.system_id=t.system_id,r.interface_id=n,e.callMethod(this._handler+".update_interface",r)},i.prototype.updateInterfaceForm=function(t){return e.callMethod(this._handler+".update_interface",t)},i.prototype.deleteInterface=function(t,n){var r={system_id:t.system_id,interface_id:n};return e.callMethod(this._handler+".delete_interface",r)},i.prototype.linkSubnet=function(t,n,r){return angular.isObject(r)||(r={}),r.system_id=t.system_id,r.interface_id=n,e.callMethod(this._handler+".link_subnet",r)},i.prototype.unlinkSubnet=function(t,n,r){var i={system_id:t.system_id,interface_id:n,link_id:r};return e.callMethod(this._handler+".unlink_subnet",i)},i.prototype.updateFilesystem=function(t,n,r,i,a,o,s){var c=this._handler+".update_filesystem",u={system_id:t.system_id,block_id:n,partition_id:r,fstype:i,mount_point:a,mount_options:o,tags:s};return e.callMethod(c,u)},i.prototype.deleteDisk=function(t,n){var r=this._handler+".delete_disk",i={system_id:t.system_id,block_id:n};return e.callMethod(r,i)},i.prototype.deletePartition=function(t,n){var r=this._handler+".delete_partition",i={system_id:t.system_id,partition_id:n};return e.callMethod(r,i)},i.prototype.deleteVolumeGroup=function(t,n){var r=this._handler+".delete_volume_group",i={system_id:t.system_id,volume_group_id:n};return e.callMethod(r,i)},i.prototype.deleteCacheSet=function(t,n){var r=this._handler+".delete_cache_set",i={system_id:t.system_id,cache_set_id:n};return e.callMethod(r,i)},i.prototype.deleteFilesystem=function(t,n,r,i){var a=this._handler+".delete_filesystem",o={system_id:t.system_id,blockdevice_id:n,partition_id:r,filesystem_id:i};return e.callMethod(a,o)},i.prototype.createPartition=function(t){var n;n=angular.isObject(t.params)?t.params:{};var r=this._handler+".create_partition";return n.system_id=t.system_id,n.block_id=t.block_id,n.partition_size=t.partition_size,e.callMethod(r,n)},i.prototype.createCacheSet=function(t,n,r){var i=this._handler+".create_cache_set",a={system_id:t.system_id,block_id:n,partition_id:r};return e.callMethod(i,a)},i.prototype.createBcache=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_bcache",n)},i.prototype.createRAID=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_raid",n)},i.prototype.createVolumeGroup=function(t,n){return angular.isObject(n)||(n={}),n.system_id=t.system_id,e.callMethod(this._handler+".create_volume_group",n)},i.prototype.createLogicalVolume=function(t,n,r,i,a){angular.isObject(a)||(a={});var o=this._handler+".create_logical_volume";return a.system_id=t.system_id,a.volume_group_id=n,a.name=r,a.size=i,e.callMethod(o,a)},i.prototype.updateDisk=function(t,n,r){return angular.isObject(r)||(r={}),r.system_id=t.system_id,r.block_id=n,e.callMethod(this._handler+".update_disk",r)},i.prototype.setBootDisk=function(t,n){var r={system_id:t.system_id,block_id:n};return e.callMethod(this._handler+".set_boot_disk",r)},i.prototype.getSummaryXML=function(t){return e.callMethod(this._handler+".get_summary_xml",{system_id:t.system_id})},i.prototype.getSummaryYAML=function(t){return e.callMethod(this._handler+".get_summary_yaml",{system_id:t.system_id})},i.prototype.isModernUbuntu=function(e){return!!e&&("ubuntu"===e.osystem&&!n.includes(e.release))},i.prototype.suppressTests=function(t,n){return e.callMethod(this._handler+".set_script_result_suppressed",{system_id:t.system_id,script_result_ids:n.map(function(e){return e.id})})},i.prototype.unsuppressTests=function(t,n){return e.callMethod(this._handler+".set_script_result_unsuppressed",{system_id:t.system_id,script_result_ids:n.map(function(e){return e.id})})},i.prototype.getLatestFailedTests=function(t){return e.callMethod(this._handler+".get_latest_failed_testing_script_results",{system_ids:t.map(function(e){return e.system_id})}).then(function(e){return e},function(e){return e})},i}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager","KVMDeployOSBlacklist","$log"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(68);function i(e,t){function n(n,i){t.call(this),this._pk="id",this._handler="noderesult",this._node=n,this._factory=i,this.commissioning_results=[{title:null,hardware_type:r.HardwareType.NODE,results:{}},{title:"CPU",hardware_type:r.HardwareType.CPU,results:{}},{title:"Memory",hardware_type:r.HardwareType.MEMORY,results:{}},{title:"Storage",hardware_type:r.HardwareType.STORAGE,results:{}}],this.testing_results=[{title:"CPU",hardware_type:r.HardwareType.CPU,results:{}},{title:"Memory",hardware_type:r.HardwareType.MEMORY,results:{}},{title:"Storage",hardware_type:r.HardwareType.STORAGE,results:{}},{title:"Other Results",hardware_type:r.HardwareType.NODE,results:{}}],this.installation_results=[];var a=this;e.registerNotifier("noderesult",function(e,t){a.onNotify(e,t)})}function i(){this._managers=[]}return n.prototype=new t,n.prototype._getStorageSubtext=function(e){var t="";return""!==e.model&&(t+="Model: "+e.model),""!==e.serial&&(""!==t&&(t+=", "),t+="Serial: "+e.serial),""!==t?"/dev/"+e.name+" ("+t+")":"/dev/"+e.name},n.prototype._updateObject=function(e,t){angular.forEach(t,function(t,n){e[n]!==t&&"showing_results"!==n&&"showing_history"!==n&&"showing_menu"!==n&&"$selected"!==n&&(e[n]=t)})},n.prototype._addOrReplace=function(e,t){var n;for(n=0;n<e.length;n++)if(e[n].name===t.name)return t.$selected=e[n].$selected,t.showing_results=e[n].showing_results,t.showing_history=e[n].showing_history,t.showing_menu=e[n].showing_menu,void angular.copy(t,e[n]);for(n=0;n<e.length;n++)if(e[n].name>t.name)return void e.splice(n,0,t);e.push(t)},n.prototype._processItem=function(e){var t,n;if(e.showing_results=!1,e.showing_history=!1,e.showing_menu=!1,e.result_section="scripts",0===e.result_type)t=this.commissioning_results;else{if(1===e.result_type)return void this._addOrReplace(this.installation_results,e);t=this.testing_results,e.result_section="tests"}var i,a,o=t[3];for(n=0;n<t.length;n++)if(t[n].hardware_type===e.hardware_type){o=t[n].results;break}if(e.hardware_type===r.HardwareType.STORAGE&&null!==e.physical_blockdevice&&this._node.disks){for(n=0;n<this._node.disks.length;n++)if((i=this._node.disks[n]).id===e.physical_blockdevice){a=this._getStorageSubtext(i),angular.isArray(o[a])||(o[a]=[]),this._addOrReplace(o[a],e);break}}else angular.isArray(o.null)||(o.null=[]),this._addOrReplace(o.null,e)},n.prototype._removeItem=function(e){var t=this._getIndexOfItem(this._items,e.id);t>=0&&this._updateMetadata(this._items[t],"delete"),this._removeItemByIdFromArray(this._items,e.id),this._removeItemByIdFromArray(this._selectedItems,e.id);var n=this;angular.forEach(this.commissioning_results,function(t){angular.forEach(t.results,function(r,i){n._removeItemByIdFromArray(r,e.id),0===r.length&&delete t.results[i]})}),angular.forEach(this.testing_results,function(t){angular.forEach(t.results,function(r,i){n._removeItemByIdFromArray(r,e.id),0===r.length&&delete t.results[i]})}),this._removeItemByIdFromArray(this.installation_results,e.id)},n.prototype._initBatchLoadParameters=function(){var e={system_id:this._node.system_id};return"summary"===this._area?(e.has_surfaced=!0,e.result_type=2):"testing"===this._area?e.result_type=2:"commissioning"===this._area?e.result_type=0:"logs"===this._area&&(e.result_type=1),e},n.prototype.destroy=function(){if(this._factory.destroyManager(this),this.isLoaded()){var t=this._handler+".clear";e.callMethod(t,{system_id:this._node.system_id})}},n.prototype.get_result_data=function(t,n){var r=this._handler+".get_result_data",i={id:t,data_type:n};return e.callMethod(r,i)},n.prototype.get_history=function(t){var n=this._handler+".get_history",r={id:t};return e.callMethod(n,r)},i.prototype._getManager=function(e){var t;for(t=0;t<this._managers.length;t++)if(this._managers[t]._node.system_id===e.system_id)return this._managers[t];return null},i.prototype.getManager=function(e,t){var r=this._getManager(e);return angular.isObject(r)||(r=new n(e,this),this._managers.push(r)),r._area=t,r.results="commissioning"===t?r.commissioning_results:"logs"===t?r.installation_results:r.testing_results,r},i.prototype.destroyManager=function(e){var t=this._managers.indexOf(e);t>=0&&this._managers.splice(t,1)},new i}i.$inject=["RegionConnection","Manager"];var a=i;t.default=a},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="system_id",this._handler="machine",this._batchSize=25,this._metadataAttributes={architecture:null,status:null,owner:null,tags:null,pod:function(e){return void 0===e.pod?"":e.pod.name},pool:function(e){return e.pool.name},zone:function(e){return e.zone.name},subnets:null,fabrics:null,spaces:null,storage_tags:null,release:function(e){return 6===e.status_code||9===e.status_code?e.osystem+"/"+e.distro_series:""}};var n=this;e.registerNotifier("machine",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.mountSpecialFilesystem=function(t){var n=this._handler+".mount_special",r={system_id:t.system_id,fstype:t.fstype,mount_point:t.mount_point,mount_options:t.mount_options};return e.callMethod(n,r)},n.prototype.unmountSpecialFilesystem=function(t,n){var r=this._handler+".unmount_special",i={system_id:t.system_id,mount_point:n};return e.callMethod(r,i)},n.prototype.applyStorageLayout=function(t){var n=this._handler+".apply_storage_layout";return e.callMethod(n,t)},n.prototype.createDatastore=function(t){var n=this._handler+".create_vmfs_datastore";return e.callMethod(n,t)},n.prototype.updateDatastore=function(t){var n=this._handler+".update_vmfs_datastore";return e.callMethod(n,t)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","NodesManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="iprange";var n=this;e.registerNotifier("iprange",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){function i(){this._data={machine_actions:{method:"general.machine_actions",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},device_actions:{method:"general.device_actions",data:[],request:!1,loaded:!1,polling:[],nextPromise:null},region_controller_actions:{method:"general.region_controller_actions",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},rack_controller_actions:{method:"general.rack_controller_actions",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},region_and_rack_controller_actions:{method:"general.region_and_rack_controller_actions",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},architectures:{method:"general.architectures",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},known_architectures:{method:"general.known_architectures",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},pockets_to_disable:{method:"general.pockets_to_disable",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},components_to_disable:{method:"general.components_to_disable",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},hwe_kernels:{method:"general.hwe_kernels",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},min_hwe_kernels:{method:"general.min_hwe_kernels",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null},default_min_hwe_kernel:{method:"general.default_min_hwe_kernel",data:{text:""},requested:!1,loaded:!1,polling:[],nextPromise:null,replaceData:function(e,t){e.text=t}},osinfo:{method:"general.osinfo",data:{},requested:!1,loaded:!1,polling:[],nextPromise:null,isEmpty:function(e){var t=e.osystems;return angular.isUndefined(t)||0===t.length},replaceData:function(e,t){angular.copy(t,e)}},bond_options:{method:"general.bond_options",data:{},requested:!1,loaded:!1,polling:[],nextPromise:null,replaceData:function(e,t){angular.copy(t,e)}},version:{method:"general.version",data:{text:null},requested:!1,loaded:!1,polling:[],nextPromise:null,replaceData:function(e,t){e.text=t}},power_types:{method:"general.power_types",data:[],requested:!1,loaded:!1,polling:[],nextPromise:null,replaceData:function(e,t){var n,r,i,a;for(n=0;n<t.length;n++){i=t[n];var o=!0;for(r=0;r<e.length;r++)if(a=e[r],i.name===a.name){o=!1;break}o&&e.push(i)}for(n=e.length-1;n>=0;n--){a=e[n];var s=!1;for(r=0;r<t.length;r++)if((i=t[r]).name===a.name){s=!0;break}s||e.splice(n,1)}}},release_options:{method:"general.release_options",data:{},requested:!1,loaded:!1,polling:[],nextPromise:null,replaceData:function(e,t){angular.copy(t,e)}}},this._pollTimeout=1e4,this._pollErrorTimeout=3e3,this._pollEmptyTimeout=3e3,this._autoReload=!1,this._type="notify",this._scopes=[]}return i.prototype._getInternalData=function(e){var t=this._data[e];if(angular.isUndefined(t))throw new Error("Unknown data: "+e);return t},i.prototype.getData=function(e){var t=this._getInternalData(e);return t.requested=!0,t.data},i.prototype.isLoaded=function(){var e=!0;return angular.forEach(this._data,function(t){t.loaded||(e=!1)}),e},i.prototype.isDataLoaded=function(e){return this._getInternalData(e).loaded},i.prototype.isPolling=function(){var e=!1;return angular.forEach(this._data,function(t){t.polling.length>0&&(e=!0)}),e},i.prototype.isDataPolling=function(e){return this._getInternalData(e).polling},i.prototype.startPolling=function(e,t){var n=this._getInternalData(t);-1===n.polling.indexOf(e)&&(n.polling.push(e),1===n.polling.length&&this._poll(n))},i.prototype.stopPolling=function(e,n){var r=this._getInternalData(n),i=r.polling.indexOf(e);i>=0&&r.polling.splice(i,1),0===r.polling.length&&angular.isObject(r.nextPromise)&&(t.cancel(r.nextPromise),r.nextPromise=null)},i.prototype._loadData=function(e,t){var i=e.replaceData;return t=t||!1,angular.isUndefined(i)&&(i=function(e,t){e.length=0,e.push.apply(e,t)}),n.callMethod(e.method).then(function(t){return i(e.data,t),e.loaded=!0,e.data},function(e){return t&&r.raiseError(e),e})},i.prototype._pollAgain=function(e,n){var r=this;e.nextPromise=t(function(){r._poll(e)},n)},i.prototype._poll=function(e){var t=this,r=e.isEmpty;if(angular.isUndefined(r)&&(r=function(e){return 0===e.length}),n.isConnected())return this._loadData(e,!1).then(function(n){var i=t._pollTimeout;return r(e.data)&&(i=t._pollEmptyTimeout),t._pollAgain(e,i),n},function(n){console.log(n),t._pollAgain(e,t._pollErrorTimeout)});this._pollAgain(e,this._pollErrorTimeout)},i.prototype.loadItems=function(t){var n=this,r=e.defer(),i=0;angular.isArray(t)?i=t.length:angular.forEach(this._data,function(e){e.requested&&i++});return angular.forEach(this._data,function(e,a){(angular.isArray(t)&&-1!==t.indexOf(a)||!angular.isArray(t)&&e.requested)&&n._loadData(e,!0).then(function(){0==(i-=1)&&r.resolve()})}),r.promise},i.prototype.enableAutoReload=function(){if(!this._autoReload){this._autoReload=!0;var e=this;this._reloadFunc=function(){e.loadItems()},n.registerHandler("open",this._reloadFunc)}},i.prototype.disableAutoReload=function(){this._autoReload&&(n.unregisterHandler("open",this._reloadFunc),this._reloadFunc=null,this._autoReload=!1)},new i}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$timeout","RegionConnection","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBakery=function(){return function(e){return new i.default.Bakery({storage:new i.default.BakeryStorage(localStorage,{}),visitPage:e})}},t.externalLogin=a;var r,i=(r=n(162))&&r.__esModule?r:{default:r};function a(e,t){return n.$inject=["$scope","$element"],{restrict:"E",scope:{},template:['<a target="_blank" class="p-button--positive"',' href="{{ loginURL }}"',' title="Login through {{ externalAuthURL }}">'," Go to login page","</a>",'<div id="login-error" class="p-form-validation__message"',' ng-if="errorMessage">'," <strong>Error getting login link:</strong><br>"," {{ errorMessage }}","</div>"].join(""),controller:n};function n(n,r){n.errorMessage="",n.loginURL="#",n.externalAuthURL=r.attr("auth-url");var i=t(function(e){n.$apply(function(){n.loginURL=e.Info.VisitURL,n.errorMessage=""})}),a=r.attr("next-path");i.get("/MAAS/accounts/discharge-request/",{Accept:"application/json","Content-Type":"application/json"},function(t,r){200!=r.currentTarget.status?(n.$apply(function(){n.errorMessage=r.currentTarget.responseText}),localStorage.clear()):e.location.replace(a)})}}a.$inject=["$window","getBakery"]},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="fabric";var n=this;e.registerNotifier("fabric",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.getName=function(e){if(angular.isObject(e))return angular.isString(e.name)?e.name:this._handler+"-"+e[this._pk]},n.prototype.deleteFabric=function(t){return e.callMethod("fabric.delete",{id:t.id},!0)},n.prototype.create=function(t){return e.callMethod("fabric.create",t)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(e,n){t.call(this),this._pk="id",this._handler="event",this._nodeId=e,this._factory=n,this._maxDays=1}function r(){this._managers=[];var t=this;e.registerNotifier("event",function(e,n){t.onNotify(e,n)})}return n.prototype=new t,n.prototype._initBatchLoadParameters=function(){return{node_id:this._nodeId,max_days:this._maxDays}},n.prototype.destroy=function(){this._factory.destroyManager(this),this.isLoaded()&&e.callMethod("event.clear",{node_id:this._nodeId})},n.prototype.getMaximumDays=function(){return this._maxDays},n.prototype.loadMaximumDays=function(e){var t=this,n=function(){t._maxDays=e,t.loadItems()};this.isLoading()?this.loadItems().then(function(){n()}):n()},r.prototype._getManager=function(e){var t;for(t=0;t<this._managers.length;t++)if(this._managers[t]._nodeId===e)return this._managers[t];return null},r.prototype.getManager=function(e){var t=this._getManager(e);return angular.isObject(t)?t:(t=new n(e,this),this._managers.push(t),t)},r.prototype.destroyManager=function(e){var t=this._managers.indexOf(e);t>=0&&this._managers.splice(t,1)},r.prototype.onNotify=function(e,t){if("delete"===e)angular.forEach(this._managers,function(n){n.onNotify(e,t)});else if("create"===e||"update"===e){var n=this._getManager(t.node_id);angular.isObject(n)&&n.onNotify(e,t)}},new r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="domain";var n=this;e.registerNotifier("domain",function(e,t){n.onNotify(e,t)})}n.prototype=new t,n.prototype.create=function(t){return e.callMethod("domain.create",t)},n.prototype.deleteDomain=function(t){return e.callMethod("domain.delete",t)},n.prototype.createDNSRecord=function(t){return"A"===t.rrtype||"AAAA"===t.rrtype?(t.ip_addresses=t.rrdata.split(/[ ,]+/),e.callMethod("domain.create_address_record",t)):e.callMethod("domain.create_dnsdata",t)},n.prototype.updateDNSRecord=function(t){return"A"===t.rrtype||"AAAA"===t.rrtype?(t.ip_addresses=t.rrdata.split(/[ ,]+/),e.callMethod("domain.update_address_record",t)):e.callMethod("domain.update_dnsdata",t)},n.prototype.deleteDNSRecord=function(t){return"A"===t.rrtype||"AAAA"===t.rrtype?(t.ip_addresses=t.rrdata.split(/[ ,]+/),e.callMethod("domain.delete_dnsresource",t)):e.callMethod("domain.delete_dnsdata",t)},n.prototype.setDefault=function(t){e.callMethod("domain.set_default",{domain:t.id}).then(function(){r.reloadItems()})},n.prototype.getDefaultDomain=function(){if(0===this._items.length)return null;var e;for(e=0;e<this._items.length;e++)if(!0===this._items[e].is_default)return this._items[e];return this._items[0]},n.prototype.getDomainByName=function(e){var t;if(this._items.length>0)for(t=0;t<this._items.length;t++)if(this._items[t].name===e)return this._items[t];return null};var r=new n;return r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){function r(){n.call(this),this._pk="first_seen",this._batchKey="first_seen",this._handler="discovery",this._pollEmptyTimeout=5e3}return r.prototype=new n,r.prototype.removeDevice=function(e){return t.callMethod("discovery.delete_by_mac_and_ip",{ip:e.ip,mac:e.mac_address})},r.prototype.removeDevices=function(n){return e.all(n.map(function(e){return t.callMethod("discovery.delete_by_mac_and_ip",{ip:e.ip,mac:e.mac_address})}))},new r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","RegionConnection","PollingManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="id",this._handler="dhcpsnippet";var n=this;e.registerNotifier("dhcpsnippet",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.create=function(t){return e.callMethod(this._handler+".create",t,!0)},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="system_id",this._handler="device",this._metadataAttributes={owner:null,subnets:null,tags:null,zone:function(e){return e.zone.name}};var n=this;e.registerNotifier("device",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,n.prototype.create=function(t){return e.callMethod("device.create",t)},n.prototype.createInterface=function(t){var n=this;return e.callMethod("device.create_interface",t).then(function(e){return n._replaceItem(e),e})},n.prototype.performAction=function(t,n,r){return angular.isObject(r)||(r={}),e.callMethod("device.action",{system_id:t.system_id,action:n,extra:r})},new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","NodesManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n){function r(){t.call(this),this._pk="system_id",this._handler="controller";var n=this;e.registerNotifier("controller",function(e,t){n.onNotify(e,t)})}return r.prototype=new t,r.prototype.getServices=function(e){var t=[];return angular.forEach(e.service_ids,function(e){var r=n.getItemFromList(e);angular.isObject(r)&&t.push(r)}),t},r.prototype.checkImageStates=function(t){return e.callMethod(this._handler+".check_images",t)},new r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","NodesManager","ServicesManager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t){function n(){t.call(this),this._pk="name",this._handler="config";var n=this;e.registerNotifier("config",function(e,t){n.onNotify(e,t)})}return n.prototype=new t,new n}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["RegionConnection","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){function i(){this._loaded=!1,this._data={},this._polling=!1,this._nextPromise=null,this._pollTimeout=1e4,this._pollErrorTimeout=500,this._pollEmptyTimeout=3e3}return i.prototype.getData=function(){return this._data},i.prototype.isLoaded=function(){return this._loaded},i.prototype.isPolling=function(){return this._polling},i.prototype.startPolling=function(){return this._polling?this._nextPromise:(this._polling=!0,this._poll())},i.prototype.stopPolling=function(){this._polling=!1,angular.isObject(this._nextPromise)&&(t.cancel(this._nextPromise),this._nextPromise=null)},i.prototype._loadData=function(e){e=e||!1;var t=this;return n.callMethod("bootresource.poll").then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data},function(t){e&&r.raiseError(t)})},i.prototype._pollAgain=function(e){var n=this;return this._nextPromise=t(function(){n._poll()},e),this._nextPromise},i.prototype._poll=function(){var e=this;return n.isConnected()?this._loadData(!1).then(function(t){var n=e._pollTimeout;return angular.isObject(t)&&!t.connection_error&&angular.isArray(t.resources)&&0!==t.resources.length||(n=e._pollEmptyTimeout),e._pollAgain(n),t},function(t){console.log(t),e._pollAgain(e._pollErrorTimeout)}):this._pollAgain(this._pollErrorTimeout)},i.prototype.loadItems=function(){var t=e.defer();return this._loadData(!0).then(function(){t.resolve()}),t.promise},i.prototype.enableAutoReload=function(){},i.prototype.stopImport=function(e){var t=this;return n.callMethod("bootresource.stop_import",e).then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data})},i.prototype.saveUbuntu=function(e){var t=this;return n.callMethod("bootresource.save_ubuntu",e).then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data})},i.prototype.saveUbuntuCore=function(e){var t=this;return n.callMethod("bootresource.save_ubuntu_core",e).then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data})},i.prototype.saveOther=function(e){var t=this;return n.callMethod("bootresource.save_other",e).then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data})},i.prototype.fetch=function(e){return n.callMethod("bootresource.fetch",e)},i.prototype.deleteImage=function(e){var t=this;return n.callMethod("bootresource.delete_image",e).then(function(e){return angular.copy(angular.fromJson(e),t._data),t._loaded=!0,t._data})},new i}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$timeout","RegionConnection","ErrorService"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e){var t=/^([a-z\d]|[a-z\d][a-z\d-.]*[a-z\d])*$/i,n=/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])*$/,r=/^([0-9A-Fa-f]{2}:){5}([0-9A-Fa-f]{2})$/,i=new RegExp(["^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.","(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.","(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.","(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$"].join(""));function a(e,t,n,r){for(var i=0;r>0;){var a=n-r;if(a<0&&(a=0),e[i]>>a!==t[i]>>a)return!1;r-=n,i+=1}return!0}this.validateDomainName=function(e){return!(!angular.isString(e)||0===e.length||e.length>253)&&t.test(e)},this.validateHostname=function(e){return!(!angular.isString(e)||0===e.length||e.length>63)&&n.test(e)},this.validateMAC=function(e){return!!angular.isString(e)&&r.test(e.trim())},this.validateIPv4=function(e){return!(!angular.isString(e)||0===e.length)&&i.test(e)},this.validateIPv6=function(t){if(!angular.isString(t)||0===t.length||-1===t.indexOf(":"))return!1;var n,r=e.ipv6Expand(t),i=e.ipv6ToGroups(r);if(8!==i.length)return!1;for(n=0;n<8;n++)if(isNaN(i[n])||i[n]<0||i[n]>65535)return!1;return!(i[0]<1||65280===i[0]||65152===i[0])},this.validateIP=function(e){return this.validateIPv4(e)||this.validateIPv6(e)},this.validateIPInNetwork=function(t,n){var r=n.split("/"),i=r[0],o=parseInt(r[1],10);return this.validateIPv4(t)&&this.validateIPv4(i)?a(e.ipv4ToOctets(t),e.ipv4ToOctets(i),8,o):!(!this.validateIPv6(t)||!this.validateIPv6(i))&&a(e.ipv6ToGroups(t),e.ipv6ToGroups(i),16,o)},this.validateIPInRange=function(t,n,r,i){if(!this.validateIPInNetwork(t,n))return!1;var a,o,s,c;if(this.validateIPv4(t)&&this.validateIPv4(r)&&this.validateIPv4(i)){for(o=e.ipv4ToOctets(t),s=e.ipv4ToOctets(r),c=e.ipv4ToOctets(i),a=0;a<4;a++)if(o[a]>c[a]||o[a]<s[a])return!1;return!0}if(this.validateIPv6(t)&&this.validateIPv6(r)&&this.validateIPv6(i)){for(o=e.ipv6ToGroups(t),s=e.ipv6ToGroups(r),c=e.ipv6ToGroups(i),a=0;a<8;a++)if(o[a]>c[a]||o[a]<s[a])return!1;return!0}return!1}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["ConverterService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){var e={_:[]};this.getEmptyFilter=function(){return angular.copy(e)},this.getSplitSearch=function(e){var t=e.split(" "),n=[],r=!1;return angular.forEach(t,function(e){if(r)n[n.length-1]+=" "+e,-1!==e.indexOf(")")&&(r=!1);else{n.push(e);var t=e.indexOf("(");-1!==t&&-1===e.indexOf(")",t)&&(r=!0)}}),r?null:n},this.getCurrentFilters=function(e){var t=this.getEmptyFilter();if(0===e.length)return t;var n=this.getSplitSearch(e);return n?(angular.forEach(n,function(e){if(1===(e=e.split(":")).length)-1===t._.indexOf(e[0])&&t._.push(e[0]);else{var n=e.shift(),r=e.join(":");if(0===(r=(r=r.replace("(","")).replace(")","")).length)return;r=r.split(","),angular.isUndefined(t[n])&&(t[n]=[]),angular.forEach(r,function(e){-1===t[n].indexOf(e)&&t[n].push(e)})}}),t):null},this.filtersToString=function(e){var t="";return angular.forEach(e,function(e,n){0!==e.length&&"_"!==n&&(t+=n+":("+e.join(",")+") ")}),e._.length>0&&(t=e._.join(" ")+" "+t),t.trim()},this._getFilterValueIndex=function(e,t,n){var r=e[t];return angular.isUndefined(r)?-1:r.map(function(e){return e.toLowerCase()}).indexOf(n.toLowerCase())},this.isFilterActive=function(e,t,n,r){var i=e[t];return!angular.isUndefined(i)&&(angular.isUndefined(r)&&(r=!1),r&&(n="="+n),-1!==this._getFilterValueIndex(e,t,n))},this.toggleFilter=function(e,t,n,r){angular.isUndefined(e[t])&&(e[t]=[]),r&&(n="="+n);var i=this._getFilterValueIndex(e,t,n);return-1===i?e[t].push(n):e[t].splice(i,1),e};var t={};this.storeFilters=function(e,n){t[e]=n},this.retrieveFilters=function(e){return t[e]}};t.default=r},function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=0,a=1,o=2,s=3,c=4,u=0,l=1,f={DOWN:0,UP:1,RETRY:2},d=function(){function e(t,n,r,i,a,o){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.$q=t,this.$rootScope=n,this.$timeout=r,this.$window=i,this.$cookies=a,this.log=o,this.STATE=f,this.callbacks={},this.requests={},this.pingsInFlight=new Set,this.requestId=0,this.url=null,this.websocket=null,this.state=f.DOWN,this.ensureConnectionPromise=null,this.connectionCheckInterval=5e3,this.maxMissedPings=5,this.maxPatience=5,this.error=null,this.defaultConnectDefer=null,this.handlers={open:[],error:[],close:[]},this.notifiers={}}var t,n,d;return e.$inject=["$q","$rootScope","$timeout","$window","$cookies","LogService"],t=e,(n=[{key:"newRequestId",value:function(){return this.requestId+=1,this.requestId}},{key:"registerHandler",value:function(e,t){if(!angular.isDefined(this.handlers[e]))throw new Error("Invalid handler: "+e);if(!angular.isFunction(t))throw new Error("Requires a function to register a handler.");this.handlers[e].push(t)}},{key:"unregisterHandler",value:function(e,t){if(!angular.isDefined(this.handlers[e]))throw new Error("Invalid handler: "+e);var n=this.handlers[e].indexOf(t);n>=0&&this.handlers[e].splice(n,1)}},{key:"registerNotifier",value:function(e,t){if(!angular.isFunction(t))throw new Error("Requires a function to register a notifier.");angular.isUndefined(this.notifiers[e])&&(this.notifiers[e]=[]),this.notifiers[e].push(t)}},{key:"unregisterNotifier",value:function(e,t){if(!angular.isUndefined(this.notifiers[e])){var n=this.notifiers[e].indexOf(t);n>=0&&this.notifiers[e].splice(n,1)}}},{key:"isConnected",value:function(){return this.state===f.UP}},{key:"buildSocket",value:function(e){return new WebSocket(e)}},{key:"send",value:function(e){this.state!==f.UP&&this.log.warn("Sent request while region connection not available:",e),this.websocket.send(angular.toJson(e))}},{key:"ping",value:function(){var e=this.newRequestId(),t={type:s,request_id:e};this.pingsInFlight.add(e),this.send(t)}},{key:"scheduleEnsureConnection",value:function(){this.ensureConnectionPromise&&(this.$timeout.cancel(this.ensureConnectionPromise),this.ensureConnectionPromise=null),this.ensureConnectionPromise=this.$timeout(this.ensureConnection.bind(this),this.connectionCheckInterval)}},{key:"ensureConnection",value:function(){if(this.scheduleEnsureConnection(),this.state===f.UP){var e=this.pingsInFlight.size,t=e+Object.keys(this.requests).length;e>0&&this.log.debug("Still waiting for ping replies: ",this.pingsInFlight),e>=this.maxMissedPings?(this.log.warn("Closed connection: ping timeout."),this.retry()):e>0&&t>=this.maxPatience?(this.log.warn("Closed connection: impatience factor exceeded."),this.retry()):this.ping()}else this.state===f.RETRY&&(this.retry(),this.log.debug("Attempting to reconnect..."),this.connect())}},{key:"connect",value:function(){var e=this;this.url=this._buildUrl(),this.websocket=this.buildSocket(this.url),this.websocket.onopen=function(t){e.state=f.UP,e.pingsInFlight.clear(),e.scheduleEnsureConnection(),angular.forEach(e.handlers.open,function(e){e(t)}),e.log.debug("WebSocket connection established.")},this.websocket.onerror=function(t){e.log.error("WebSocket error: ",t),angular.forEach(e.handlers.error,function(e){e(t)})},this.websocket.onclose=function(t){var n=e.url.split("?")[0];e.log.warn("WebSocket connection closed: "+n),angular.forEach(e.handlers.close,function(e){e(t)}),e.websocket=null,e.retry()},this.websocket.onmessage=function(t){e.onMessage(angular.fromJson(t.data))}}},{key:"retry",value:function(){this.websocket&&(this.websocket.onopen=null,this.websocket.onerror=null,this.websocket.onclose=null,this.websocket.close(),this.websocket=null),this.state=f.RETRY}},{key:"_getProtocol",value:function(){return this.$window.location.protocol}},{key:"_buildUrl",value:function(){var e=this.$window.location.hostname,t=this.$window.location.port,n=this.$window.location.pathname,r="ws";"https:"===this._getProtocol()&&(r="wss");var i=angular.element("base");if(angular.isDefined(i)){var a=i.attr("href");angular.isDefined(a)&&(n=a);var o=i.data("websocket-port");angular.isDefined(o)&&(t=o)}"/"!==n[n.length-1]&&(n+="/");var s,c=r+"://"+e;return angular.isString(t)&&t.length>0&&(c+=":"+t),c+=n+"ws",s=angular.isFunction(this.$cookies.get)?this.$cookies.get("csrftoken"):this.$cookies.csrftoken,angular.isDefined(s)&&(c+="?csrftoken="+encodeURIComponent(s)),c}},{key:"defaultConnect",value:function(){var e,t=this;if(angular.isObject(this.defaultConnectDefer))return this.defaultConnectDefer.promise;if(this.isConnected())return e=this.$q.defer(),this.$timeout(e.resolve),e.promise;e=this.defaultConnectDefer=this.$q.defer();var n=function n(i){t.defaultConnectDefer=null,t.unregisterHandler("open",n),t.unregisterHandler("error",r),t.$rootScope.$apply(e.resolve(i))},r=function r(i){t.defaultConnectDefer=null,t.unregisterHandler("open",n),t.unregisterHandler("error",r),t.$rootScope.$apply(e.reject(i))};return this.registerHandler("open",n),this.registerHandler("error",r),this.connect(),e.promise}},{key:"onMessage",value:function(e){e.type===a?this.onResponse(e):e.type===o?this.onNotify(e):e.type===c&&this.onPingReply(e)}},{key:"onResponse",value:function(e){var t=this.callbacks[e.request_id],n=this.requests[e.request_id];angular.isDefined(t)&&(e.rtype===u?this.$rootScope.$apply(t.resolve(e.result)):e.rtype===l&&(angular.isObject(n)?this.$rootScope.$apply(t.reject({error:e.error,request:n})):this.$rootScope.$apply(t.reject(e.error))),delete this.callbacks[e.request_id],delete this.requests[e.request_id])}},{key:"onNotify",value:function(e){var t=this.notifiers[e.name];angular.isArray(t)&&angular.forEach(t,function(t){t(e.action,e.data)})}},{key:"onPingReply",value:function(e){this.pingsInFlight.delete(e.request_id)}},{key:"callMethod",value:function(e,t,n){var r=this.$q.defer(),a=this.newRequestId(),o={type:i,request_id:a,method:e,params:t};return this.callbacks[a]=r,n&&(this.requests[a]=o),this.send(o),r.promise}}])&&r(t.prototype,n),d&&r(t,d),e}();t.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return["ubuntu/precise","ubuntu/trusty","ubuntu/xenial","ubuntu/yakkety","ubuntu/zesty","ubuntu/artful"]};t.default=r},function(e,t,n){"use strict";function r(e,t,n){function r(){n.call(this),this._type="poll",this._polling=!1,this._nextPromise=null,this._pollTimeout=1e4,this._pollErrorTimeout=3e3,this._pollEmptyTimeout=3e3}return r.$inject=["$q","$timeout","Manager"],r.prototype=new n,r.prototype.isPolling=function(){return this._polling},r.prototype.startPolling=function(){return this._polling?this._nextPromise:(this._polling=!0,this._poll())},r.prototype.stopPolling=function(){this._polling=!1,angular.isObject(this._nextPromise)&&(t.cancel(this._nextPromise),this._nextPromise=null)},r.prototype._pollAgain=function(e){var n=this;return this._nextPromise=t(function(){n._poll()},e),this._nextPromise},r.prototype._poll=function(){var t=this;return this.reloadItems().then(function(e){var n=t._pollTimeout;return 0===e.length&&(n=t._pollEmptyTimeout),t._pollAgain(n),e},function(n){return t._pollAgain(t._pollErrorTimeout),e.reject(n)})},r}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$timeout","Manager"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){this.loadManager=function(i,a){var o=e.defer(),s=this;return a._scopes.indexOf(i)>-1?(t(function(){o.resolve(a)}),o.promise):(r.defaultConnect().then(function(){if("notify"===a._type)a.isLoaded()?t(function(){a._scopes.push(i),o.resolve(a)}):a.loadItems().then(function(){a._scopes.push(i),o.resolve(a)},function(e){n.raiseError(e)}),a.enableAutoReload(),i.$on("$destroy",function(){s.unloadManager(i,a)});else{if("poll"!==a._type)throw new Error("Unknown manager type: "+a._type);a.isPolling()?t(function(){a._scopes.push(i),o.resolve(a)}):a.startPolling().then(function(){a._scopes.push(i),o.resolve(a)},function(e){n.raiseError(e)}),i.$on("$destroy",function(){s.unloadManager(i,a)})}}),o.promise)},this.loadManagers=function(t,n){var r=e.defer(),i=[],a=this;return angular.forEach(n,function(e){a.loadManager(t,e).then(function(e){i.push(e),i.length===n.length&&r.resolve(n)})}),r.promise},this.unloadManager=function(e,t){var n=t._scopes.indexOf(e);n>-1&&t._scopes.splice(n,1),"poll"===t._type&&0===t._scopes.length&&t.stopPolling()},this.unloadManagers=function(e,t){var n=this;angular.forEach(t,function(t){n.unloadManager(e,t)})},this.tryParsingJSON=function(e){var t;try{t=JSON.parse(e)}catch(t){if(t instanceof SyntaxError)return e;throw t}return t},this.getPrintableString=function(e,t){var n="";return angular.forEach(e,function(r,i){var a=e[i];!0===t&&(n+=i+": "),angular.isString(a)||angular.isNumber(a)?n+=a+" ":angular.isObject(a)&&angular.forEach(a,function(e){n+=e+" "}),n=n.trim()+"\n"}),n.trim()},this.parseValidationError=function(e,t){return e=this.tryParsingJSON(e),angular.isObject(e)?this.getPrintableString(e,t):e}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$timeout","ErrorService","RegionConnection"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e,t,n,r){a.$inject=["$q","$rootScope","$timeout","RegionConnection"];var i={CREATE:"create",UPDATE:"update",DELETE:"delete"};function a(){this._pk="id",this._batchKey="id",this._batchSize=50,this._name_field="name",this._handler=null,this._items=[],this._type="notify",this._scopes=[],this._loaded=!1,this._isLoading=!1,this._extraLoadDefers=[],this._extraReloadDefers=[],this._actionQueue=[],this._selectedItems=[],this._autoReload=!1,this._activeItem=null,this._metadata={},this._metadataAttributes=[]}return a.prototype._getIndexOfItem=function(e,t){var n,r;for(n=0,r=e.length;n<r;n++)if(e[n][this._pk]===t)return n;return-1},a.prototype._replaceItemInArray=function(e,t){var n=this._getIndexOfItem(e,t[this._pk]);n>=0&&(t.$selected=e[n].$selected,angular.copy(t,e[n]))},a.prototype._removeItemByIdFromArray=function(e,t){var n=this._getIndexOfItem(e,t);n>=0&&e.splice(n,1)},a.prototype._initBatchLoadParameters=function(){return{}},a.prototype._batchLoadItems=function(t,n){var i=this,a=e.defer(),o=this._handler+".list";return function e(){var s=i._initBatchLoadParameters();s.limit=i._batchSize,t.length>0&&(s.start=t[t.length-1][i._batchKey]),r.callMethod(o,s).then(function(r){angular.isFunction(n)&&angular.forEach(r,function(e){n(e)}),t.push.apply(t,r),r.length===i._batchSize?e():a.resolve(t)},a.reject)}(),a.promise},a.prototype._resolveDefers=function(e,t){angular.forEach(e,function(e){e.resolve(t)})},a.prototype._rejectDefers=function(e,t){angular.forEach(e,function(e){e.reject(t)})},a.prototype.getItems=function(){return this._items},a.prototype.clear=function(){this._loaded=!1,this._items.length=0,this._actionQueue.length=0,this._selectedItems.length=0,this._activeItem=null,this._metadata={},this._metadataAttributes.length=0},a.prototype.clearItems=function(){this._loaded=!1,this._items.length=0,this._selectedItems.length=0,this._activeItem=null},a.prototype.loadItems=function(){if(this._loaded)return this.reloadItems();if(this._isLoading){var t=e.defer();return this._extraLoadDefers.push(t),t.promise}var n=this;return this._isLoading=!0,this._batchLoadItems(this._items,function(e){e.$selected=!1,n._updateMetadata(e,i.CREATE),n._processItem(e)}).then(function(){return n._loaded=!0,n._isLoading=!1,n.processActions(),n._resolveDefers(n._extraLoadDefers,n._items),n._extraLoadDefers=[],n._items},function(t){return n._rejectDefers(n._extraLoadDefers,t),n._extraLoadDefers=[],e.reject(t)})},a.prototype.reloadItems=function(){if(!this._loaded)return this.loadItems();if(this._isLoading){var t=e.defer();return this._extraReloadDefers.push(t),t.promise}var n=this;return n._isLoading=!0,this._batchLoadItems([]).then(function(e){return function(e){for(var t=n._items.length;t--;){var r=n._items[t],a=n._getIndexOfItem(e,r[n._pk]);if(-1===a)n._updateMetadata(r,i.DELETE),n._items.splice(t,1),n._removeItemByIdFromArray(n._selectedItems,r[n._pk]);else{var o=e[a];n._updateMetadata(o,i.UPDATE),o.$selected=r.$selected,angular.copy(e[a],r),e.splice(a,1)}}angular.forEach(e,function(e){n._items.push(e),n._processItem(e)})}(e),n._isLoading=!1,n.processActions(),angular.isObject(n._activeItem)&&n.setActiveItem(n._activeItem[n._pk]),n._resolveDefers(n._extraReloadDefers,n._items),n._extraReloadDefers=[],n._items},function(t){return n._rejectDefers(n._extraReloadDefers,t),n._extraReloadDefers=[],e.reject(t)})},a.prototype.enableAutoReload=function(){if(!this._autoReload){this._autoReload=!0;var e=this;this._reloadFunc=function(){e.reloadItems()},r.registerHandler("open",this._reloadFunc)}},a.prototype.disableAutoReload=function(){this._autoReload&&(r.unregisterHandler("open",this._reloadFunc),this._reloadFunc=null,this._autoReload=!1)},a.prototype.isLoaded=function(){return this._loaded},a.prototype.isLoading=function(){return this._isLoading},a.prototype._processItem=function(e){},a.prototype._replaceItem=function(e){this._updateMetadata(e,i.UPDATE),this._replaceItemInArray(this._items,e)},a.prototype._removeItem=function(e){var t=this._getIndexOfItem(this._items,e);t>=0&&this._updateMetadata(this._items[t],i.DELETE),this._removeItemByIdFromArray(this._items,e),this._removeItemByIdFromArray(this._selectedItems,e)},a.prototype.getItemFromList=function(e){var t=this._getIndexOfItem(this._items,e);return t>=0?this._items[t]:null},a.prototype.getItem=function(e){var t=this,n=this._handler+".get",i={};return i[this._pk]=e,r.callMethod(n,i).then(function(e){return t._replaceItem(e),e})},a.prototype.createItem=function(e){var t=this,n=this._handler+".create";return delete(e=angular.copy(e)).$selected,r.callMethod(n,e).then(function(e){return t._replaceItem(e),e})},a.prototype.updateItem=function(e){var t=this,n=this._handler+".update";return delete(e=angular.copy(e)).$selected,r.callMethod(n,e).then(function(e){return t._replaceItem(e),e})},a.prototype.deleteItem=function(e){var t=this,n=this._handler+".delete",i={};return i[this._pk]=e[this._pk],r.callMethod(n,i).then(function(){t._removeItem(e[t._pk])})},a.prototype.getActiveItem=function(){return this._activeItem},a.prototype.setActiveItem=function(t){if(!this._loaded)throw new Error("Cannot set active item unless the manager is loaded.");var i=this._getIndexOfItem(this._items,t);if(-1===i){this._activeItem=null;var a=e.defer();return n(function(){a.reject("No item with pk: "+t)}),a.promise}this._activeItem=this._items[i];var o=this,s=this._handler+".set_active",c={};return c[this._pk]=t,r.callMethod(s,c).then(function(e){return o._replaceItem(e),o._activeItem})},a.prototype.clearActiveItem=function(){this._activeItem=null},a.prototype.canProcessActions=function(){return!this._isLoading},a.prototype.onNotify=function(e,n){this._actionQueue.push({action:e,data:n}),this.canProcessActions()&&t.$apply(this.processActions())},a.prototype.processActions=function(){for(;this._actionQueue.length>0;){var e=this._actionQueue.shift();if("create"===e.action)this._getIndexOfItem(this._items,e.data[this._pk])>=0?this._replaceItem(e.data):(e.data.$selected=!1,this._updateMetadata(e.data,i.CREATE),this._items.push(e.data)),this._processItem(e.data);else"update"===e.action?(this._replaceItem(e.data),this._processItem(e.data)):"delete"===e.action&&this._removeItem(e.data)}},a.prototype.getSelectedItems=function(){return this._selectedItems},a.prototype.selectItem=function(e){var t=this._getIndexOfItem(this._items,e);if(-1!==t){var n=this._items[t];n.$selected=!0,-1===(t=this._selectedItems.indexOf(n))&&this._selectedItems.push(n)}else console.log("WARN: selection of "+this._handler+"("+e+") failed because its missing in the items list.")},a.prototype.unselectItem=function(e){var t=this._getIndexOfItem(this._items,e);if(-1!==t){var n=this._items[t];n.$selected=!1,(t=this._selectedItems.indexOf(n))>=0&&this._selectedItems.splice(t,1)}else console.log("WARN: de-selection of "+this._handler+"("+e+") failed because its missing in the nodes list.")},a.prototype.isSelected=function(e){var t=this._getIndexOfItem(this._items,e);return-1===t?(console.log("WARN: unable to determine if "+this._handler+"("+e+") is selected because its missing in the nodes list."),!1):!0===this._items[t].$selected},a.prototype._getMetadataValue=function(e,t){var n;for(n=0;n<e.length;n++)if(e[n].name===t)return e[n];return null},a.prototype._addMetadataValue=function(e,t){var n=this._getMetadataValue(e,t);n?n.count+=1:(n={name:t,count:1},e.push(n))},a.prototype._removeMetadataValue=function(e,t){var n=this._getMetadataValue(e,t);n&&(n.count-=1,n.count<=0&&e.splice(e.indexOf(n),1))},a.prototype._updateMetadataArrayEntry=function(e,t,n,r){var a=this;if(n===i.CREATE)angular.forEach(t,function(t){""!==t&&a._addMetadataValue(e,t)});else if(n===i.DELETE)angular.forEach(t,function(t){a._removeMetadataValue(e,t)});else if(n===i.UPDATE&&angular.isDefined(r)){var o=[],s=angular.copy(r);angular.forEach(t,function(e){var t=s.indexOf(e);-1===t?o.push(e):s.splice(t,1)}),angular.forEach(o,function(t){a._addMetadataValue(e,t)}),angular.forEach(s,function(t){a._removeMetadataValue(e,t)})}},a.prototype._updateMetadataValueEntry=function(e,t,n,r){if(n===i.CREATE){if(""===t)return;this._addMetadataValue(e,t)}else n===i.DELETE?this._removeMetadataValue(e,t):n===i.UPDATE&&angular.isDefined(r)&&r!==t&&(""!==r&&this._removeMetadataValue(e,r),this._updateMetadataEntry(e,t,i.CREATE,r))},a.prototype._updateMetadataEntry=function(e,t,n,r){angular.isArray(t)?this._updateMetadataArrayEntry(e,t,n,r):this._updateMetadataValueEntry(e,t,n,r)},a.prototype.getMetadata=function(){return this._metadata},a.prototype._updateMetadata=function(e,t){var n,r,a=this;t===i.UPDATE&&(r=this._getIndexOfItem(this._items,e[this._pk]))>=0&&(n=this._items[r]),angular.forEach(this._metadataAttributes,function(r,i){var o,s;angular.isUndefined(a._metadata[i])&&(a._metadata[i]=[]),angular.isFunction(r)?(o=r(e),angular.isObject(n)&&(s=r(n))):(o=e[i],angular.isObject(n)&&(s=n[i])),a._updateMetadataEntry(a._metadata[i],o,t,s)})},a.prototype.formatMAASVersionNumber=function(){if(MAAS_config.version){var e=MAAS_config.version.split(" ")[0];if(e)return"0"===e.split(".")[2]?e.split(".")[0]+"."+e.split(".")[1]:e}},a.prototype.getName=function(e){if(angular.isObject(e))return angular.isString(e[this._name_field])?e[this._name_field]:void 0},a}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$q","$rootScope","$timeout","RegionConnection"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e){var t=this;t.logging=!0,t.logLevel=5,t.now=function(){return e.performance?e.performance.now():0},t._debug=console.debug,t._log=console.log,t._info=console.info,t._warn=console.warn,t._error=console.error,this.formatMilliseconds=function(e){return parseFloat(e/1e3).toFixed(3)},this.__log=function(e,n){!0===t.logging&&(Array.prototype.unshift.call(n,"["+t.formatMilliseconds(t.now())+"]"),e.apply(console,n))},this.debug=function(){t.logLevel>=5&&t.__log(t._debug,arguments)},this.log=function(){t.logLevel>=4&&t.__log(t._log,arguments)},this.info=function(){t.logLevel>=3&&t.__log(t._info,arguments)},this.warn=function(){t.logLevel>=2&&t.__log(t._warn,arguments)},this.error=function(){t.logLevel>=1&&t.__log(t._error,arguments)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$window"];var i=r;t.default=i},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=function(){this.tryParse=function(e){try{var t=JSON.parse(e);if(t&&"object"===r(t)&&null!==t)return t}catch(e){}return null}};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){this._error=null,this.raiseError=function(e){angular.isString(this._error)||(this._error=e)}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){var e=["bytes","kB","MB","GB","TB"];this.bytesToUnits=function(t){angular.isString(t)&&(t=parseInt(t,10));var n,r,i=t;for(n=0;n<e.length;n++){if(r=e[n],Math.abs(i)<1e3||"TB"===r){var a=i.toFixed(1)+" "+r;return"bytes"===r&&(a=i+" "+r),{original:t,converted:i,units:r,string:a}}i/=1e3}},this.unitsToBytes=function(e,t){return angular.isString(e)&&(e=parseFloat(e)),"bytes"===t?Math.floor(e):"kB"===t?Math.floor(1e3*e):"MB"===t?Math.floor(1e6*e):"GB"===t?Math.floor(1e9*e):"TB"===t?Math.floor(1e12*e):void 0},this.roundUnits=function(e,t){return angular.isString(e)&&(e=parseFloat(e)),"bytes"===t?Math.floor(e):"kB"===t?Math.floor(1e3*e)-50:"MB"===t?Math.floor(1e6*e)-5e4:"GB"===t?Math.floor(1e9*e)-5e7:"TB"===t?Math.floor(1e12*e)-5e10:void 0},this.roundByBlockSize=function(e,t){return t*Math.floor(e/t)},this.ipv4ToOctets=function(e){var t=e.split("."),n=[];return angular.forEach(t,function(e){n.push(parseInt(e,10))}),n},this.ipv4ToInteger=function(e){var t=this.ipv4ToOctets(e);return t[0]*Math.pow(256,3)+t[1]*Math.pow(256,2)+256*t[2]+t[3]},this.ipv6Expand=function(e){var t,n=e;if(-1!==n.indexOf("::")){var r=e.split("::"),i=0;for(t=0;t<r.length;t++)i+=r[t].split(":").length;for(n=r[0]+":",t=0;t<8-i;t++)n+="0000:";n+=r[1]}var a=[],o=n.split(":");return angular.forEach(o,function(e){a.push("0000".substr(e.length)+e)}),a.join(":")},this.ipv6ToGroups=function(e){var t=[],n=this.ipv6Expand(e).split(":");return angular.forEach(n,function(e){t.push(parseInt(e,16))}),t}};t.default=r},function(e,t,n){"use strict";function r(e,t,n){var r=this;this.controllers=[],this.statuses={},this.updateStatuses=function(){var e=[];angular.forEach(r.controllers,function(t){e.push({system_id:t})}),n.checkImageStates(e).then(function(t){angular.forEach(e,function(e){var n=t[e.system_id];r.statuses[e.system_id]=n||"Unknown"})})},this.register=function(n){var i=r.controllers.indexOf(n)>=0;if(i||r.controllers.push(n),angular.isDefined(r.runningInterval)){if(i)return;t.cancel(r.runningInterval),r.runningInterval=void 0}angular.isDefined(r.startTimeout)&&e.cancel(r.startTimeout),r.startTimeout=e(function(){r.startTimeout=void 0,r.runningInterval=t(function(){r.updateStatuses()},3e4),r.updateStatuses()},100)},this.unregister=function(n){var i=r.controllers.indexOf(n);i>-1&&r.controllers.splice(i,1),0===r.controllers.length&&(angular.isDefined(r.startTimeout)&&(e.cancel(r.startTimeout),r.startTimeout=void 0),angular.isDefined(r.runningInterval)&&(t.cancel(r.runningInterval),r.runningInterval=void 0))},this.showSpinner=function(e){var t=r.statuses[e];return!angular.isString(t)||"Syncing"===t},this.getImageStatus=function(e){var t=r.statuses[e];return angular.isString(t)?t:"Asking for status..."}}function i(e){return{restrict:"E",scope:{systemId:"="},template:['<i class="p-icon--loading u-animation--spin"','data-ng-if="showSpinner()"></i> ',"{$ getImageStatus() $}"].join(""),link:function(t){var n,r=!1;n=t.$watch("systemId",function(){angular.isDefined(t.systemId)&&!r&&(e.register(t.systemId),r=!0,n())}),t.showSpinner=function(){return e.showSpinner(t.systemId)},t.getImageStatus=function(){return e.getImageStatus(t.systemId)},t.$on("$destroy",function(){r&&e.unregister(t.systemId)})}}}Object.defineProperty(t,"__esModule",{value:!0}),t.ControllerImageStatusService=r,t.maasControllerImageStatus=i,i.$inject=["ControllerImageStatusService"],r.$inject=["$timeout","$interval","ControllersManager"]},function(e,t,n){"use strict";function r(e){this.browser="other";var t=this;angular.forEach([{name:"chrome",regex:/chrome/i},{name:"safari",regex:/safari/i},{name:"firefox",regex:/firefox/i},{name:"ie",regex:/MSIE/}],function(n){n.regex.test(e.navigator.userAgent)&&"other"===t.browser&&(t.browser=n.name)})}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$window"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return function(e){var t=[];return angular.forEach(e,function(e){0!==e.vid&&t.push(e)}),t}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return function(e){var t=[];if("number"!=typeof e)return t;for(var n=0;n<e;n++)t.push(n);return t}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return function(e,t,n){var r=e.slice();return r.sort(function(e,r){var i=new Date(e[t]),a=new Date(r[t]);return angular.isString(n)&&i.getTime()===a.getTime()?e[n]>r[n]?-1:e[n]<r[n]?1:0:i>a?-1:i<a?1:0}),r}};t.default=r},function(e,t,n){"use strict";function r(e,t){var n=e("filter"),r={cpu:function(e){return e.cpu_count},cores:function(e){return e.cpu_count},ram:function(e){return e.memory},mac:function(e){var t=[];return t.push(e.pxe_mac),t.push.apply(t,e.extra_macs),t},zone:function(e){return e.zone.name},pool:function(e){return e.pool.name},pod:function(e){return void 0===e.pod?void 0:e.pod.name},"pod-id":function(e){return void 0===e.pod?void 0:e.pod.id},power:function(e){return e.power_state},release:function(e){return 6===e.status_code||9===e.status_code?e.osystem+"/"+e.distro_series:""},hostname:function(e){return e.hostname},vlan:function(e){return e.vlan},rack:function(e){return e.observer_hostname},subnet:function(e){return e.subnet_cidr}};function i(e){return e%1==0}function a(e,t,n,r){var a=function(e,t,n){return angular.isNumber(e)?n?i(e)?e===parseInt(t,10):e===parseFloat(t):i(e)?e>=parseInt(t,10):e>=parseFloat(t):angular.isString(e)?n?e.toLowerCase()===t:e.toLowerCase().indexOf(t)>=0:e===t}(e,t,n);return r?!a:a}return function(e,i){if(angular.isUndefined(e)||angular.isUndefined(i)||0===e.length)return e;var o=e,s=t.getCurrentFilters(i);return angular.forEach(s,function(e,t){if("_"===t)angular.forEach(e,function(e){o=n(o,e)});else if("in"===t)angular.forEach(e,function(e){var t=[];angular.forEach(o,function(n){n.$selected&&"selected"===e.toLowerCase()?t.push(n):n.$selected||"!selected"!==e.toLowerCase()||t.push(n)}),o=t});else{var i=r[t],s=[];angular.forEach(o,function(n){var r,o,c;if(angular.isFunction(i)?r=i(n):n.hasOwnProperty(t)&&(r=n[t]),!angular.isUndefined(r))for(o=0;o<e.length;o++){for(var u=e[o].toLowerCase(),l=!1,f=!1;0===u.indexOf("!");)f=!f,u=u.substring(1);for(0===u.indexOf("=")&&(l=!0,u=u.substring(1));0===u.indexOf("!");)f=!f,u=u.substring(1);if(angular.isArray(r)){if(f){var d=!0;for(c=0;c<r.length;c++)if(a(r[c],u,l,!1)){d=!1;break}if(d)return void s.push(n)}else for(c=0;c<r.length;c++)if(a(r[c],u,l,!1))return void s.push(n)}else if(a(r,u,l,f))return void s.push(n)}}),o=s}}),o}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0,r.$inject=["$filter","SearchService"];var i=r;t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return function(e){if(!e)return"";switch(e){case"lvm":return"LVM";default:return e}}};t.default=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatBytes=function(){return function(e){return e>=1e12?Math.round(e/1e3/1e3/1e3/1e3)+" TB":e>=1e9?Math.round(e/1e3/1e3/1e3)+" GB":e>=1e6?Math.round(e/1e3/1e3)+" MB":e>=1e3?Math.round(e/1e3)+" KB":e>0?e+" B":0}},t.convertGigabyteToBytes=function(){return function(e){return e?Math.round(1e3*e*1e3*1e3):0}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterByVLAN=function(){return function(e,t){var n,r=[];if(angular.isObject(t))n=t.id;else{if(!angular.isNumber(t))return r;n=t}return angular.forEach(e,function(e){e.vlan===n&&r.push(e)}),r}},t.filterControllersByVLAN=function(){return function(e,t){var n=[];return angular.isObject(t)?(angular.forEach(e,function(e){2!==e.node_type&&4!==e.node_type||n.push(e)}),n):n}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterBySubnet=function(){return function(e,t,n){var r,i=[];if(angular.isObject(t))r=t.id;else{if(!angular.isNumber(t))return i;r=t}return angular.isUndefined(n)&&(n="subnet"),angular.forEach(e,function(e){e[n]===r&&i.push(e)}),i}},t.filterBySubnetOrVlan=function(){return function(e,t,n){var r,i=[],a=null;if(angular.isDefined(t)&&null!==t)a="subnet",angular.isObject(t)?r=t.id:angular.isNumber(t)&&(r=t);else{if(!angular.isDefined(n)||null===n)return i;a="vlan",angular.isObject(n)?r=n.id:angular.isNumber(n)&&(r=n)}return angular.forEach(e,function(e){e[a]===r&&i.push(e)}),i}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterBySpace=function(){return function(e,t){var n,r=[];if(angular.isObject(t))n=t.id;else{if(!angular.isNumber(t))return r;n=t}return angular.forEach(e,function(e){e.space===n&&r.push(e)}),r}},t.filterByNullSpace=function(){return function(e){var t=[];return angular.forEach(e,function(e){null===e.space&&t.push(e)}),t}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(){return function(e,t){var n,r=[];if(angular.isObject(t))n=t.id;else{if(!angular.isNumber(t))return r;n=t}return angular.forEach(e,function(e){e.fabric===n&&r.push(e)}),r}};t.default=r},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f,d,h,p){var g=this,m=r("filterByVLAN");function b(){var e=g.vlan,n=g.fabric;angular.isObject(e)&&angular.isObject(n)&&(e.name?g.title=e.name:0===e.vid?g.title="Default VLAN":g.title="VLAN "+e.vid,g.title+=" in "+n.name,t.title=g.title)}function v(){var e=g.vlan;angular.isObject(e)&&(e.primary_rack?g.primaryRack=l.getItemFromList(e.primary_rack):g.primaryRack=null,e.secondary_rack?g.secondaryRack=l.getItemFromList(e.secondary_rack):g.secondaryRack=null)}function y(){var e=g.vlan;if(angular.isObject(e)){var t=[];angular.forEach(e.rack_sids,function(e){var n=l.getItemFromList(e);angular.isObject(n)&&t.push(n)}),g.relatedControllers=t}}function _(){var e=g.vlan;if(angular.isObject(e)){var t=[];angular.forEach(m(g.subnets,e),function(e){var n=c.getItemFromList(e.space);angular.isObject(n)||(n={name:"(undefined)"});var r={subnet:e,space:n};t.push(r)}),g.relatedSubnets=t}}function w(){var e=g.vlan;angular.isObject(e)&&(g.actionOptions.length=0,f.isSuperUser()&&(g.isFabricDefault||g.actionOptions.push(g.DELETE_ACTION)))}function S(e){g.vlan=e,M(),g.loaded=!0,n.provide_dhcp&&a(function(){g.openDHCPPanel()},0),localStorage.getItem("hideHighAvailabilityNotification-".concat(e.id))&&(g.hideHighAvailabilityNotification=!0)}function M(){if(g.loaded){var e=g.vlan;g.fabric=u.getItemFromList(e.fabric),g.isFabricDefault=g.fabric.default_vlan_id===g.vlan.id,b(),v(),y(),_(),w()}}t.title="Loading...",t.page="networks",g.DELETE_ACTION={name:"delete",title:"Delete"},g.ipranges=p.getItems(),g.loaded=!1,g.vlan=null,g.title=null,g.actionOption=null,g.actionOptions=[],g.vlanManager=o,g.vlans=o.getItems(),g.subnets=s.getItems(),g.spaces=c.getItems(),g.fabrics=u.getItems(),g.controllers=l.getItems(),g.actionError=null,g.relatedSubnets=[],g.relatedControllers=[],g.provideDHCPAction={},g.primaryRack=null,g.secondaryRack=null,g.editSummary=!1,g.showDHCPPanel=!1,g.MAASProvidesDHCP=!0,g.provideDHCP=!0,g.relayVLAN=!1,g.filteredRelatedSubnets=[],g.iprangesInVLAN=[],g.selectedSubnet=null,g.suggestedRange=null,g.isProvidingDHCP=!1,g.DHCPError=null,g.hideHighAvailabilityNotification=!1,g.isSuperUser=function(){return f.isSuperUser()},g.enterEditSummary=function(){g.editSummary=!0},g.exitEditSummary=function(){g.editSummary=!1},g.getSpaceName=function(){var e=c.getItemFromList(g.vlan.space);return e?e.name:"(undefined)"},g.getActionByName=function(e){var t;for(t=0;t<g.actionOptions.length;t++)if(g.actionOptions[t].name===e)return g.actionOptions[t];return null},g.getDHCPPanelTitle=function(){var e=g.getDHCPStatus();return g.vlan&&g.vlan.external_dhcp?"Configure MAAS-managed DHCP":"Disabled"!==e?"Reconfigure DHCP":"Configure DHCP"},g.setDHCPAction=function(e){"relayVLAN"===e?(g.relayVLAN=!0,g.provideDHCP=!1,g.setSuggestedRange()):(g.relayVLAN=!1,g.provideDHCP=!0,g.setSuggestedRange())},g.toggleMAASProvidesDHCP=function(){g.MAASProvidesDHCP=!g.MAASProvidesDHCP},g.initProvideDHCP=function(e){g.provideDHCPAction={};var t=g.provideDHCPAction;if(t.subnet=null,t.relayVLAN=null,angular.isNumber(g.vlan.relay_vlan)&&(t.relayVLAN=o.getItemFromList(g.vlan.relay_vlan)),angular.isObject(g.primaryRack)?t.primaryRack=g.primaryRack.system_id:g.relatedControllers.length>0&&(t.primaryRack=g.relatedControllers[0].system_id),angular.isObject(g.secondaryRack)?t.secondaryRack=g.secondaryRack.system_id:t.secondaryRack=g.secondaryRack,t.maxIPs=0,t.startIP=null,t.endIP=null,t.gatewayIP="",angular.isObject(g.relatedSubnets)){var n,r;for(g.relatedSubnets.length>0&&angular.isObject(g.relatedSubnets[0].subnet)&&(t.subnet=g.relatedSubnets[0].subnet.id),t.needsDynamicRange=!0,n=0;n<g.relatedSubnets.length;n++){var i=(r=g.relatedSubnets[n].subnet).statistics.suggested_dynamic_range;if(!angular.isObject(i)){t.subnet=r.id,t.needsDynamicRange=!1;break}}for(t.needsGatewayIP=!1,t.subnetMissingGatewayIP=!0,n=0;n<g.relatedSubnets.length;n++)if(null===(r=g.relatedSubnets[n].subnet).gateway_ip||""===r.gateway_ip){t.needsGatewayIP=!0;break}}e||(g.updatePrimaryRack(),g.updateSecondaryRack()),g.updateSubnet(e)},g.actionOptionChanged=function(){"enable_dhcp"===g.actionOption.name?g.initProvideDHCP(!1):"relay_dhcp"===g.actionOption.name&&g.initProvideDHCP(!0),g.actionError=null},g.actionCancel=function(){g.actionOption=null,g.actionError=null},g.updatePrimaryRack=function(){var e,t=g.provideDHCPAction;for(t.primaryRack===t.secondaryRack&&(t.secondaryRack=null),e=0;e<g.relatedControllers.length;e++)if(g.relatedControllers[e].system_id!==t.primaryRack&&!t.secondaryRack){t.secondaryRack=g.secondaryRack;break}},g.updateSecondaryRack=function(){var e=g.provideDHCPAction;e.primaryRack===e.secondaryRack&&(e.primaryRack=null,e.secondaryRack=null)},g.filterPrimaryRack=function(e){var t=g.provideDHCPAction;return e.system_id!==t.primaryRack},g.updateSubnet=function(e){var t=g.provideDHCPAction,n=s.getItemFromList(t.subnet);if(angular.isObject(n)){var r=null,i=null;angular.isObject(n.statistics)&&(r=n.statistics.suggested_gateway,i=n.statistics.suggested_dynamic_range),angular.isObject(i)&&i.num_addresses>0?(t.maxIPs=i.num_addresses,e?(t.startIP="",t.endIP="",t.startPlaceholder=i.start+"(optional)",t.endPlaceholder=i.end+" (optional)"):(t.startIP=i.start,t.endIP=i.end,t.startPlaceholder=i.start,t.endPlaceholder=i.end)):(t.maxIPs=0,t.startIP="",t.endIP="",t.startPlaceholder="(no available IPs)",t.endPlaceholder="(no available IPs)"),angular.isString(r)?e?(t.gatewayIP="",t.gatewayPlaceholder=r+" (optional)"):(t.gatewayIP=r,t.gatewayPlaceholder=r):(t.gatewayIP="",t.gatewayPlaceholder="")}else t.maxIPs=0,t.startIP=null,t.endIP=null,t.gatewayIP="";angular.isObject(n)?t.subnetMissingGatewayIP=!angular.isString(n.gateway_ip):t.subnetMissingGatewayIP=!1,!1===t.subnetMissingGatewayIP&&(t.gatewayIP=null)},g.actionRetry=function(){g.actionError=null},g.canPerformAction=function(){return g.provideDHCP?g.relatedSubnets.length>0:!g.relayVLAN||angular.isObject(g.provideDHCPAction.relayVLAN)},g.actionGo=function(){g.canPerformAction()&&"delete"===g.actionOption.name&&o.deleteVLAN(g.vlan).then(function(){i.path("/networks"),g.actionOption=null,g.actionError=null},function(e){g.actionError=e.error,g.actionOption=g.DELETE_ACTION})},g.deleteVLAN=function(){g.actionOption=g.DELETE_ACTION},g.isActionError=function(){return null!==g.actionError},g.getFullVLANName=function(e){var t=o.getItemFromList(e),n=u.getItemFromList(t.fabric);return u.getName(n)+"."+o.getName(t)},g.getDHCPStatus=function(){return g.vlan?g.vlan.dhcp_on?"Enabled":g.vlan.relay_vlan?"Relayed via "+g.getFullVLANName(g.vlan.relay_vlan):"Disabled":""},g.getAvailableVLANS=function(){return g.vlans.filter(function(e){return e!==g.vlan&&e.dhcp_on}).length},g.setSuggestedRange=function(){if(g.filteredRelatedSubnets=g.relatedSubnets,g.filteredRelatedSubnets.forEach(function(e){e.subnet.statistics.ranges=e.subnet.statistics.ranges.filter(function(e){return e.num_addresses>1&&"unused"===e.purpose[0]})}),g.iprangesInVLAN=g.ipranges.filter(function(e){return e.vlan===g.vlan.id}),!g.iprangesInVLAN.length){g.selectedSubnet=g.filteredRelatedSubnets[0];var e=g.selectedSubnet.subnet.statistics.ranges[0];g.suggestedRange={type:"dynamic",comment:"Dynamic",start_ip:e.start,end_ip:e.end,subnet:g.selectedSubnet.subnet.id,gateway_ip:g.selectedSubnet.subnet.gateway_ip||g.selectedSubnet.subnet.statistics.suggested_gateway},g.relayVLAN&&(g.suggestedRange.start_ip="",g.suggestedRange.end_ip="",g.suggestedRange.gateway_ip="",g.suggestedRange.startPlaceholder=e.start+" (Optional)",g.suggestedRange.endPlaceholder=e.end+" (Optional)")}},g.enableDHCP=function(){g.isProvidingDHCP=!0,g.DHCPError=null;var e=g.provideDHCPAction,t=[],n={};n.subnet=e.subnet,n.start=e.startIP,n.end=e.endIP,n.gateway=e.gatewayIP,angular.isString(e.primaryRack)&&t.push(e.primaryRack),angular.isString(e.secondaryRack)&&t.push(e.secondaryRack),0!==t.length?o.configureDHCP(g.vlan,t,n).then(function(){g.DHCPError=null,g.closeDHCPPanel()},function(e){g.DHCPError=e.error,g.isProvidingDHCP=!1}):g.DHCPError="A primary rack controller must be specified."},g.relayDHCP=function(){g.isProvidingDHCP=!0,g.DHCPError=null;var e={};angular.isObject(g.suggestedRange)&&(e.subnet=g.suggestedRange.subnet,e.start=g.suggestedRange.start_ip,e.end=g.suggestedRange.end_ip,e.gateway=g.suggestedRange.gateway_ip);var t=g.provideDHCPAction.relayVLAN.id;o.configureDHCP(g.vlan,[],e,t).then(function(){g.closeDHCPPanel()},function(e){g.DHCPError=e.error,g.isProvidingDHCP=!1})},g.disableDHCP=function(){g.isProvidingDHCP=!0,o.disableDHCP(g.vlan).then(function(){g.closeDHCPPanel()},function(e){g.DHCPError=e.error})},g.openDHCPPanel=function(){g.showDHCPPanel=!0,g.initProvideDHCP(!1),g.vlan.relay_vlan&&g.setDHCPAction("relayVLAN"),g.setSuggestedRange()},g.closeDHCPPanel=function(){g.showDHCPPanel=!1,g.suggestedRange=null,g.isProvidingDHCP=!1,g.DHCPError=null,g.MAASProvidesDHCP=!0},g.getDHCPButtonText=function(){if(g.vlan)return g.vlan.dhcp_on&&!g.vlan.relay_vlan?"Reconfigure DHCP":g.vlan.relay_vlan?"Reconfigure DHCP relay":"Enable DHCP"},g.showGatewayCol=function(){return!!g.relatedSubnets.filter(function(e){return!e.subnet.gateway_ip}).length},g.dismissHighAvailabilityNotification=function(){g.hideHighAvailabilityNotification=!0,localStorage.setItem("hideHighAvailabilityNotification-".concat(g.vlan.id),!0)},g.showHighAvailabilityNotification=function(){return!(!(g.vlan.dhcp_on&&!g.provideDHCPAction.secondaryRack&&g.relatedControllers.length>1)||g.hideHighAvailabilityNotification)},d.loadManagers(e,[o,s,c,u,l,f]).then(function(){var t=o.getActiveItem(),r=parseInt(n.vlan_id,10);isNaN(r)?h.raiseError("Invalid VLAN identifier."):angular.isObject(t)&&t.id===r?S(t):o.setActiveItem(r).then(function(e){S(e)},function(e){h.raiseError(e)}),e.$watch("vlanDetails.vlan.name",b),e.$watch("vlanDetails.vlan.vid",b),e.$watch("vlanDetails.vlan.fabric",M),e.$watch("vlanDetails.vlan.dhcp_on",w),e.$watch("vlanDetails.vlan.relay_vlan",w),e.$watch("vlanDetails.fabric.name",b),e.$watch("vlanDetails.vlan.primary_rack",v),e.$watch("vlanDetails.vlan.secondary_rack",v),e.$watchCollection("vlanDetails.subnets",_),e.$watchCollection("vlanDetails.spaces",_),e.$watchCollection("vlanDetails.controllers",y)})}Object.defineProperty(t,"__esModule",{value:!0}),t.ignoreSelf=function(){return function(e,t){var n=[];return angular.forEach(e,function(e){e!==t&&n.push(e)}),n}},t.removeNoDHCP=function(){return function(e){var t=[];return angular.forEach(e,function(e){e.dhcp_on&&t.push(e)}),t}},t.VLANDetailsController=r,r.$inject=["$scope","$rootScope","$routeParams","$filter","$location","$timeout","VLANsManager","SubnetsManager","SpacesManager","FabricsManager","ControllersManager","UsersManager","ManagerHelperService","ErrorService","IPRangesManager"]},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o,s,c,u,l,f,d,h){t.title="Loading...",t.page="networks",e.loaded=!1,e.subnet=null,e.editSummary=!1,e.active_discovery_data=null,e.active_discovery_interval=null,e.subnets=a.getItems(),e.subnetManager=a,e.staticRoutes=l.getItems(),e.staticRoutesManager=l,e.space=null,e.vlans=s.getItems(),e.fabrics=u.getItems(),e.actionError=null,e.actionOption=null,e.actionOptions=[],e.reverse=!1,e.newStaticRoute=null,e.editStaticRoute=null,e.deleteStaticRoute=null,e.MAP_SUBNET_ACTION={name:"map_subnet",title:"Map subnet"},e.DELETE_ACTION={name:"delete",title:"Delete"};var p={0:"Automatic",1:"Static",4:"User reserved",5:"DHCP",6:"Observed"},g={0:"Machine",1:"Device",2:"Rack controller",3:"Region controller",4:"Rack and region controller",5:"Chassis",6:"Storage"};function m(){-1===e.subnet.cidr.split("/")[0].indexOf(":")?e.ipVersion=4:e.ipVersion=6}function b(n){e.subnet=n,e.loaded=!0,function(){var n=e.subnet;n&&n.cidr&&(t.title=n.cidr,n.name&&n.cidr!==n.name&&(t.title+=" ("+n.name+")"))}();var r=function(){e.subnet.fabric=s.getItemFromList(e.subnet.vlan).fabric,e.subnet.fabric_name=u.getItemFromList(n.fabric).name};e.$watch("subnet.fabric",r),e.$watch("subnet.fabric_name",r),e.$watch("subnet.vlan",r),e.$watch("subnet.vlan_name",function(){var t=s.getItemFromList(e.subnet.vlan);e.subnet.vlan_name=s.getName(t)}),e.$watch("subnet.space",function(){e.space=o.getItemFromList(e.subnet.space)}),e.$watch("subnet.cidr",m)}e.ipSort=function(t){return 4===e.ipVersion?h.ipv4ToInteger(t.ip):h.ipv6Expand(t.ip)},e.predicate=e.ipSort,e.getAllocType=function(e){var t=p[e];return angular.isString(t)?t:"Unknown"},e.getSubnetCIDR=function(e){return a.getItemFromList(e).cidr},e.allocTypeSort=function(t){return e.getAllocType(t.alloc_type)},e.getUsageForIP=function(e){if(angular.isObject(e.node_summary)){var t=e.node_summary.is_container,n=e.node_summary.node_type;if(1===n&&!0===t)return"Container";var r=g[n];return angular.isString(r)?r:"Unknown"}return angular.isObject(e.bmcs)?"BMC":angular.isObject(e.dns_records)?"DNS":"Unknown"},e.nodeTypeSort=function(t){return e.getUsageForIP(t)},e.ownerSort=function(e){var t=e.user;return angular.isString(t)&&t.length>0?t:"MAAS"},e.sortIPTable=function(t){e.predicate=t,e.reverse=!e.reverse},e.getVLANName=function(e){return s.getName(e)},e.isSuperUser=function(){return c.isSuperUser()},e.actionRetry=function(){e.actionError=null},e.actionGo=function(){"map_subnet"===e.actionOption.name?a.scanSubnet(e.subnet).then(function(t){t&&0===t.scan_started_on.length?e.actionError=f.parseValidationError(t.result):(e.actionOption=null,e.actionError=null)},function(t){e.actionError=f.parseValidationError(t)}):"delete"===e.actionOption.name&&a.deleteSubnet(e.subnet).then(function(t){e.actionOption=null,e.actionError=null,r.path("/networks")},function(t){e.actionError=f.parseValidationError(t)})},e.actionChanged=function(){e.actionError=null},e.cancelAction=function(){e.actionOption=null,e.actionError=null},e.updateActions=function(){c.isSuperUser()?e.actionOptions=[e.MAP_SUBNET_ACTION,e.DELETE_ACTION]:e.actionOptions=[]},e.enterEditSummary=function(){e.editSummary=!0},e.exitEditSummary=function(){e.editSummary=!1},e.subnetPreSave=function(e,t){return-1!==t.indexOf("fabric")&&(e.vlan=u.getItemFromList(e.fabric).default_vlan_id),e},e.addStaticRoute=function(){e.editStaticRoute=null,e.deleteStaticRoute=null,e.newStaticRoute={source:e.subnet.id,gateway_ip:"",destination:null,metric:0}},e.cancelAddStaticRoute=function(){e.newStaticRoute=null},e.isStaticRouteInEditMode=function(t){return e.editStaticRoute===t},e.staticRouteToggleEditMode=function(t){e.newStaticRoute=null,e.deleteStaticRoute=null,e.isStaticRouteInEditMode(t)?e.editStaticRoute=null:e.editStaticRoute=t},e.isStaticRouteInDeleteMode=function(t){return e.deleteStaticRoute===t},e.staticRouteEnterDeleteMode=function(t){e.newStaticRoute=null,e.editStaticRoute=null,e.deleteStaticRoute=t},e.staticRouteCancelDelete=function(){e.deleteStaticRoute=null},e.staticRouteConfirmDelete=function(){l.deleteItem(e.deleteStaticRoute).then(function(){e.deleteStaticRoute=null})},f.loadManagers(e,[i,a,o,s,c,u,l]).then(function(){e.updateActions(),e.active_discovery_data=i.getItemFromList("active_discovery_interval"),angular.forEach(e.active_discovery_data.choices,function(t){t[0]===e.active_discovery_data.value&&(e.active_discovery_interval=t[1])});var t=a.getActiveItem(),r=parseInt(n.subnet_id,10);isNaN(r)?d.raiseError("Invalid subnet identifier."):angular.isObject(t)&&t.id===r?b(t):a.setActiveItem(r).then(function(e){b(e)},function(e){d.raiseError(e)})})}Object.defineProperty(t,"__esModule",{value:!0}),t.filterSource=function(){return function(e,t){var n=[];return angular.forEach(e,function(e){e.id!==t.id&&e.version===t.version&&n.push(e)}),n}},t.SubnetDetailsController=r,r.$inject=["$scope","$rootScope","$routeParams","$location","ConfigsManager","SubnetsManager","SpacesManager","VLANsManager","UsersManager","FabricsManager","StaticRoutesManager","ManagerHelperService","ErrorService","ConverterService"]},function(e,t,n){"use strict";function r(e,t,n,r,i,a,o){var s=4194304,c={NONE:null,SINGLE:"single",MUTLI:"multi",UNMOUNT:"unmount",UNFORMAT:"unformat",EDIT:"edit",DELETE:"delete",FORMAT_AND_MOUNT:"format-mount",PARTITION:"partition",BCACHE:"bcache",RAID:"raid",VOLUME_GROUP:"volume-group",LOGICAL_VOLUME:"logical-volume"},u=[{level:"raid-0",title:"RAID 0",min_disks:2,allows_spares:!1,calculateSize:function(e,t){return e*t}},{level:"raid-1",title:"RAID 1",min_disks:2,allows_spares:!0,calculateSize:function(e){return e}},{level:"raid-5",title:"RAID 5",min_disks:3,allows_spares:!0,calculateSize:function(e,t){return e*(t-1)}},{level:"raid-6",title:"RAID 6",min_disks:4,allows_spares:!0,calculateSize:function(e,t){return e*(t-2)}},{level:"raid-10",title:"RAID 10",min_disks:3,allows_spares:!0,calculateSize:function(e,t){return e*t/2}}],l=o("datastoresOnly"),f=o("formatBytes");function d(e){return angular.isObject(e)&&(t=e.filesystem,angular.isObject(t)&&angular.isString(t.mount_point)&&""!==t.mount_point);var t}function h(e){return angular.isObject(e.filesystem)&&angular.isString(e.filesystem.fstype)&&""!==e.filesystem.fstype&&(!1===angular.isString(e.filesystem.mount_point)||""===e.filesystem.mount_point)?e.filesystem.fstype:null}function p(e){return"cache-set"===e.type||(angular.isObject(e.filesystem)?!(!e.filesystem.is_format_fstype||!angular.isString(e.filesystem.mount_point)||""===e.filesystem.mount_point)||!e.filesystem.is_format_fstype:e.available_size<s)}function g(e){var t=[];return angular.forEach(e.tags,function(e){t.push({text:e})}),t}function m(e){if("cache-set"===e.type)return"cache-set-"+e.cache_set_id;var t=e.type+"-"+e.block_id;return angular.isNumber(e.partition_id)&&(t+="-"+e.partition_id),t}function b(){var t,n,r;angular.isArray(e.node.disks)?(e.has_disks=e.node.disks.length>0,r=[],angular.forEach(e.node.disks,function(e){if(d(e)){var t={type:"filesystem",name:e.name,size_human:e.size_human,fstype:e.filesystem.fstype,mount_point:e.filesystem.mount_point,mount_options:e.filesystem.mount_options,block_id:e.id,partition_id:null,filesystem_id:e.filesystem.id,original_type:e.type,original:e};"virtual"===e.type&&(e.parent_type=e.parent.type),r.push(t)}angular.forEach(e.partitions,function(t){d(t)&&r.push({type:"filesystem",name:t.name,size_human:t.size_human,fstype:t.filesystem.fstype,mount_point:t.filesystem.mount_point,mount_options:t.filesystem.mount_options,block_id:e.id,partition_id:t.id,filesystem_id:t.filesystem.id,original_type:"partition",original:t})})}),angular.forEach(e.node.special_filesystems,function(e){r.push({type:"filesystem",name:"—",size_human:"—",fstype:e.fstype,mount_point:e.mount_point,mount_options:e.mount_options,block_id:null,partition_id:null,original_type:"special"})}),angular.forEach(r,function(t){var n=m(t),r=e.filesystemsMap[n];angular.isObject(r)?t.$selected=r.$selected:t.$selected=!1}),e.filesystems=r,e.filesystemsMap={},angular.forEach(r,function(t){e.filesystemsMap[m(t)]=t}),e.updateFilesystemSelection(!1),n=[],angular.forEach(e.node.disks,function(e){"cache-set"===e.type&&n.push({type:"cache-set",name:e.name,size_human:e.size_human,cache_set_id:e.id,used_by:e.used_for})}),angular.forEach(n,function(t){var n=m(t),r=e.cachesetsMap[n];angular.isObject(r)?t.$selected=r.$selected:t.$selected=!1}),e.cachesets=n,e.cachesetsMap={},angular.forEach(n,function(t){e.cachesetsMap[m(t)]=t}),e.updateCacheSetsSelection(!1),function(){var t=[];if(angular.forEach(e.node.disks,function(e){if(!p(e)){var n=!1;angular.isArray(e.partitions)&&e.partitions.length>0&&(n=!0);var r={name:e.name,size_human:e.size_human,size:e.size,available_size_human:e.available_size_human,used_size_human:e.used_size_human,type:e.type,model:e.model,serial:e.serial,tags:g(e),fstype:h(e),mount_point:null,mount_options:null,block_id:e.id,partition_id:null,has_partitions:n,is_boot:e.is_boot,original:e,test_status:e.test_status,firmware_version:e.firmware_version};"virtual"===e.type&&(r.parent_type=e.parent.type),t.push(r)}angular.forEach(e.partitions,function(n){p(n)||t.push({name:n.name,size_human:n.size_human,size:n.size,available_size_human:n.available_size_human,used_size_human:n.used_size_human,type:"partition",model:"",serial:"",tags:[],fstype:h(n),mount_point:null,mount_options:null,block_id:e.id,partition_id:n.id,has_partitions:!1,is_boot:!1,original:n})})}),angular.forEach(t,function(t){var n=m(t),r=e.availableMap[n];angular.isObject(r)?(t.$selected=r.$selected,t.$options=r.$options):(t.$selected=!1,t.$options={})}),e.available=t,e.availableMap={},angular.forEach(t,function(t){e.availableMap[m(t)]=t}),angular.isObject(e.availableNew))if(angular.isObject(e.availableNew.device)){var n=m(e.availableNew.device);e.availableNew.device=e.availableMap[n]}else if(angular.isArray(e.availableNew.devices)){var r=[];angular.forEach(e.availableNew.devices,function(t){var n=m(t),i=e.availableMap[n];angular.isObject(i)&&r.push(i)}),e.availableNew.devices=r}e.updateAvailableSelection(!1)}(),t=[],angular.forEach(e.node.disks,function(e){if(p(e)&&"cache-set"!==e.type){var n=!1;angular.isArray(e.partitions)&&e.partitions.length>0&&(n=!0);var r={name:e.name,type:e.type,model:e.model,serial:e.serial,size_human:e.size_human,tags:g(e),used_for:e.used_for,is_boot:e.is_boot,has_partitions:n,test_status:e.test_status,firmware_version:e.firmware_version};"virtual"===e.type&&(r.parent_type=e.parent.type),t.push(r)}angular.forEach(e.partitions,function(e){p(e)&&"cache-set"!==e.type&&t.push({name:e.name,type:"partition",model:"",serial:"",size_human:e.size_human,tags:[],used_for:e.used_for,is_boot:!1})})}),e.used=t):(e.has_disks=!1,e.filesystems=[],e.filesystemsMap={},e.filesystemMode=c.NONE,e.filesystemAllSelected=!1,e.cachesets=[],e.cachesetsMap={},e.cachesetsMode=c.NONE,e.cachesetsAllSelected=!1,e.available=[],e.availableMap={},e.availableMode=c.NONE,e.availableAllSelected=!1,e.availableNew={},e.used=[])}function v(e){angular.forEach(e,function(e){e.$selected=!1})}function y(e){return e.charAt(0).toUpperCase()+e.slice(1)}function _(e,t){var n=new RegExp("^"+e+"([0-9]+)$").exec(t);if(angular.isArray(n)&&2===n.length)return parseInt(n[1],10)}function w(t){var n=-1;return angular.forEach(e.node.disks,function(e){var r=_(t,e.name);angular.isNumber(r)&&(n=Math.max(n,r)),angular.forEach(e.partitions,function(e){r=_(t,e.name),angular.isNumber(r)&&(n=Math.max(n,r))})}),t+(n+1)}function S(t,n){if(!angular.isArray(e.node.disks))return!1;var r,i;for(r=0;r<e.node.disks.length;r++){var a=e.node.disks[r];if(a.name===t&&(!angular.isObject(n)||"partition"===n.type||n.block_id!==a.id))return!0;if(angular.isArray(a.partitions))for(i=0;i<a.partitions.length;i++){var o=a.partitions[i];if(o.name===t&&(!angular.isObject(n)||"partition"!==n.type||n.partition_id!==o.id))return!0}}return!1}function M(e){return"virtual"===e.type&&"lvm-vg"===e.parent_type}e.tableInfo={column:"name"},e.has_disks=!1,e.filesystems=[],e.filesystemsMap={},e.filesystemMode=c.NONE,e.filesystemAllSelected=!1,e.cachesets=[],e.cachesetsMap={},e.cachesetsMode=c.NONE,e.cachesetsAllSelected=!1,e.available=[],e.availableMap={},e.availableMode=c.NONE,e.availableAllSelected=!1,e.availableNew={},e.newPartition={},e.nodeManager=t,e.used=[],e.showMembers=[],e.createNewDatastore=!1,e.addToExistingDatastore=!1,e.datastores={new:{},old:{}},e.selectedAvailableDatastores=[],e.creatingDatastore=!1,e.updatingDatastore=!1,e.updatingOSFamily=!1,e.updatingStorageLayout=!1,e.confirmStorageLayout=!1,e.newLayout="",e.addToDatastoreValid=!1,e.osFamilies=[{id:"linux",name:"Linux",layouts:[{id:"flat",name:"Flat"},{id:"lvm",name:"LVM"},{id:"bcache",name:"bcache"},{id:"vmfs6",name:"VMFS6 (VMware ESXI)"},{id:"blank",name:"No storage (blank) layout"}]}],e.osFamily=e.osFamilies[0],e.storageLayout=e.osFamily.layouts.find(function(t){return t.id===e.node.detected_storage_layout}),e.openStorageLayoutConfirm=function(t){e.osFamily.layouts.forEach(function(n){n.id===t&&(e.newLayout=n)}),e.confirmStorageLayout=!0},e.closeStorageLayoutConfirm=function(){e.confirmStorageLayout=!1},e.updateStorageLayout=function(n){n=e.storageLayout=e.newLayout;var r={system_id:e.node.system_id,storage_layout:n.id};e.updatingStorageLayout=!0,t.applyStorageLayout(r).then(function(){a(function(){e.updatingStorageLayout=!1},0)}).catch(function(t){i.error(t),a(function(){e.updatingStorageLayout=!1},0)}),e.closeStorageLayoutConfirm()},e.openNewDatastorePanel=function(){e.createNewDatastore=!0;var t=e.getSelectedAvailable();e.datastores.new={id:t[0].id,name:"",mountpoint:t[0].mount_point,filesystem:"VMFS6",size:t[0].size_human}},e.closeNewDatastorePanel=function(){e.createNewDatastore=!1,e.datastores.new={}},e.openAddToExistingDatastorePanel=function(){e.addToExistingDatastore=!0,e.selectedAvailableDatastores=e.getSelectedAvailable(),e.datastores.old=l(e.node.disks)[0]},e.closeAddToExistingDatastorePanel=function(){e.addToExistingDatastore=!1,e.datastores.new={}},e.canPerformActionOnDatastoreSet=function(){var t=e.addToExistingDatastore||e.createNewDatastore,n=e.selectedAvailableDatastores.length>0,r=e.storageLayout&&"vmfs6"===e.storageLayout.id;return!t&&n&&r},e.canAddToDatastore=function(){var t=e.node.disks.filter(function(e){return"vmfs6"===e.parent_type});return!(!e.canPerformActionOnDatastoreSet()||!t.length)},e.createDatastore=function(){e.createNewDatastore=!0;var n=[],r=[];e.getSelectedAvailable().forEach(function(e){"partition"===e.type?r.push(e.partition_id):n.push(e.block_id)});var o={system_id:e.node.system_id,block_devices:n,partitions:r,name:e.datastores.new.name};e.creatingDatastore=!0,t.createDatastore(o).then(function(){a(function(){e.creatingDatastore=!1},0),e.closeNewDatastorePanel(),e.selectedAvailableDatastores=[]}).catch(function(t){i.error(t),a(function(){e

Subscribers

People subscribed via source and target branches