From e8b778c258a503a8df9d4649f11443e94fa3d076 Mon Sep 17 00:00:00 2001 From: Jason Cox Date: Sat, 16 Dec 2023 12:13:14 -0800 Subject: [PATCH 1/3] Localize Power Flow Animation --- proxy/RELEASE.md | 6 + proxy/server.py | 34 +- .../web/012955c70685614a5639d326f41890bd.png | Bin 0 -> 3955 bytes proxy/web/1.17c71172308436a079d1.js | 422 + .../web/124f233cfa9945f861dcaca7acedd308.otf | Bin 0 -> 130672 bytes .../web/230aeae00823cd3b622d093948d9c433.png | Bin 0 -> 3955 bytes .../web/2bf15a1686c7a1bf7b577337a07d7049.otf | Bin 0 -> 135444 bytes proxy/web/39.17c71172308436a079d1.js | 690 + proxy/web/40.17c71172308436a079d1.js | 1 + .../448c34a56d699c29117adc64c43affeb.woff2 | Bin 0 -> 18028 bytes .../web/4e28cc8f2bdf3ba640331daa2c453341.png | Bin 0 -> 3955 bytes .../web/653969a51632a4df33358a39d7012f79.otf | Bin 0 -> 133788 bytes .../web/722c5f898bbca8b2eb3fce0287688326.otf | Bin 0 -> 127472 bytes .../web/86a6894da889a3db781418529403290f.otf | Bin 0 -> 132120 bytes .../web/89889688147bd7575d6327160d64e760.svg | 288 + .../web/89aec2cc0b804667e95b1adc02e1ac4a.otf | Bin 0 -> 137472 bytes .../web/a3b0d611359e6fa8356cd88aa9035268.otf | Bin 0 -> 137592 bytes .../web/ac2944015a17576924af7c56d88751cb.otf | Bin 0 -> 128584 bytes proxy/web/app.css | 11624 +++ proxy/web/app.js | 21982 ++++++ .../web/b8d72cb0ef934ba1fe847c692d9dfed1.otf | Bin 0 -> 133680 bytes .../web/bceda3fae660177ae570735feec62811.otf | Bin 0 -> 125704 bytes .../web/befdfda70624c396169873b05de57f8a.otf | Bin 0 -> 133304 bytes .../web/bogus/api.auth.toggle.supported.json | 1 + proxy/web/bogus/api.customer.json | 1 + .../web/bogus/api.customer.registration.json | 1 + proxy/web/bogus/api.installer.json | 1 + proxy/web/bogus/api.meters.aggregates.json | 1 + proxy/web/bogus/api.meters.json | 1 + proxy/web/bogus/api.meters.readings.json | 1 + proxy/web/bogus/api.meters.site.json | 1 + proxy/web/bogus/api.meters.solar.json | 1 + proxy/web/bogus/api.networks.json | 1 + proxy/web/bogus/api.operation.json | 1 + proxy/web/bogus/api.powerwalls.json | 1 + proxy/web/bogus/api.site_info.grid_codes.json | 1 + proxy/web/bogus/api.site_info.json | 1 + proxy/web/bogus/api.site_info.site_name.json | 1 + proxy/web/bogus/api.sitemaster.json | 1 + proxy/web/bogus/api.solars.brands.json | 1 + proxy/web/bogus/api.solars.json | 1 + proxy/web/bogus/api.status.json | 1 + ...pi.synchrometer.ct_voltage_references.json | 1 + proxy/web/bogus/api.system.networks.json | 1 + proxy/web/bogus/api.system.update.status.json | 1 + .../bogus/api.system_status.grid_faults.json | 1 + .../bogus/api.system_status.grid_status.json | 1 + ...api.system_status.grid_status.json-offline | 1 + ....system_status.grid_status.json-transition | 1 + proxy/web/bogus/api.system_status.json | 1 + proxy/web/bogus/api.system_status.soe.json | 1 + .../bogus/api.troubleshooting.problems.json | 1 + proxy/web/box.png | Bin 0 -> 3955 bytes .../web/cb0da8a8999c06735455bf5056a5cd78.png | Bin 0 -> 23869 bytes .../web/d859fee2eba0e67c75c4c92e719d0630.otf | Bin 0 -> 131812 bytes .../web/e19c20e966bde501f94e41cd0322dbe8.otf | Bin 0 -> 128768 bytes .../web/ec6b35b07448e1624cb09323b5fb6e32.otf | Bin 0 -> 135616 bytes .../web/ec89c09b066f57efc7687540c998845b.otf | Bin 0 -> 130024 bytes .../web/eca1317ee8a99162d0d0e2df77330cec.otf | Bin 0 -> 128020 bytes proxy/web/example.html | 2 +- .../web/f4769f9bdb7466be65088239c12046d1.eot | Bin 0 -> 20127 bytes proxy/web/favicon-16x16.png | 2 + proxy/web/favicon-32x32.png | 2 + proxy/web/favicon.ico | 2 + proxy/web/index.html | 44 + proxy/web/vendor.js | 61973 ++++++++++++++++ pypowerwall/__init__.py | 2 +- pypowerwall/__main__.py | 10 +- 68 files changed, 97102 insertions(+), 11 deletions(-) create mode 100644 proxy/web/012955c70685614a5639d326f41890bd.png create mode 100644 proxy/web/1.17c71172308436a079d1.js create mode 100644 proxy/web/124f233cfa9945f861dcaca7acedd308.otf create mode 100644 proxy/web/230aeae00823cd3b622d093948d9c433.png create mode 100644 proxy/web/2bf15a1686c7a1bf7b577337a07d7049.otf create mode 100644 proxy/web/39.17c71172308436a079d1.js create mode 100644 proxy/web/40.17c71172308436a079d1.js create mode 100644 proxy/web/448c34a56d699c29117adc64c43affeb.woff2 create mode 100644 proxy/web/4e28cc8f2bdf3ba640331daa2c453341.png create mode 100644 proxy/web/653969a51632a4df33358a39d7012f79.otf create mode 100644 proxy/web/722c5f898bbca8b2eb3fce0287688326.otf create mode 100644 proxy/web/86a6894da889a3db781418529403290f.otf create mode 100644 proxy/web/89889688147bd7575d6327160d64e760.svg create mode 100644 proxy/web/89aec2cc0b804667e95b1adc02e1ac4a.otf create mode 100644 proxy/web/a3b0d611359e6fa8356cd88aa9035268.otf create mode 100644 proxy/web/ac2944015a17576924af7c56d88751cb.otf create mode 100644 proxy/web/app.css create mode 100644 proxy/web/app.js create mode 100644 proxy/web/b8d72cb0ef934ba1fe847c692d9dfed1.otf create mode 100644 proxy/web/bceda3fae660177ae570735feec62811.otf create mode 100644 proxy/web/befdfda70624c396169873b05de57f8a.otf create mode 100644 proxy/web/bogus/api.auth.toggle.supported.json create mode 100644 proxy/web/bogus/api.customer.json create mode 100644 proxy/web/bogus/api.customer.registration.json create mode 100644 proxy/web/bogus/api.installer.json create mode 100644 proxy/web/bogus/api.meters.aggregates.json create mode 100644 proxy/web/bogus/api.meters.json create mode 100644 proxy/web/bogus/api.meters.readings.json create mode 100644 proxy/web/bogus/api.meters.site.json create mode 100644 proxy/web/bogus/api.meters.solar.json create mode 100644 proxy/web/bogus/api.networks.json create mode 100644 proxy/web/bogus/api.operation.json create mode 100644 proxy/web/bogus/api.powerwalls.json create mode 100644 proxy/web/bogus/api.site_info.grid_codes.json create mode 100644 proxy/web/bogus/api.site_info.json create mode 100644 proxy/web/bogus/api.site_info.site_name.json create mode 100644 proxy/web/bogus/api.sitemaster.json create mode 100644 proxy/web/bogus/api.solars.brands.json create mode 100644 proxy/web/bogus/api.solars.json create mode 100644 proxy/web/bogus/api.status.json create mode 100644 proxy/web/bogus/api.synchrometer.ct_voltage_references.json create mode 100644 proxy/web/bogus/api.system.networks.json create mode 100644 proxy/web/bogus/api.system.update.status.json create mode 100644 proxy/web/bogus/api.system_status.grid_faults.json create mode 100644 proxy/web/bogus/api.system_status.grid_status.json create mode 100644 proxy/web/bogus/api.system_status.grid_status.json-offline create mode 100644 proxy/web/bogus/api.system_status.grid_status.json-transition create mode 100644 proxy/web/bogus/api.system_status.json create mode 100644 proxy/web/bogus/api.system_status.soe.json create mode 100644 proxy/web/bogus/api.troubleshooting.problems.json create mode 100644 proxy/web/box.png create mode 100644 proxy/web/cb0da8a8999c06735455bf5056a5cd78.png create mode 100644 proxy/web/d859fee2eba0e67c75c4c92e719d0630.otf create mode 100644 proxy/web/e19c20e966bde501f94e41cd0322dbe8.otf create mode 100644 proxy/web/ec6b35b07448e1624cb09323b5fb6e32.otf create mode 100644 proxy/web/ec89c09b066f57efc7687540c998845b.otf create mode 100644 proxy/web/eca1317ee8a99162d0d0e2df77330cec.otf create mode 100644 proxy/web/f4769f9bdb7466be65088239c12046d1.eot create mode 100644 proxy/web/favicon-16x16.png create mode 100644 proxy/web/favicon-32x32.png create mode 100644 proxy/web/favicon.ico create mode 100644 proxy/web/index.html create mode 100644 proxy/web/vendor.js diff --git a/proxy/RELEASE.md b/proxy/RELEASE.md index a65fa46..7d4580a 100644 --- a/proxy/RELEASE.md +++ b/proxy/RELEASE.md @@ -1,5 +1,11 @@ ## pyPowerwall Proxy Release Notes +### Proxy t29 (16 Dec 2023) + +* Default page rendered by proxy (http://pypowerwall/) will render Powerflow Animation +* Animation assets (html, css, js, images, fonts, svg) will render from local filesystem instead of pulling from Powerwall TEG portal. +* Start prep for possible API removals from Powerwall TEG portal (see NOAPI settings) + ### Proxy t28 (14 Oct 2023) * Add a `grafana-dark` style for `PW_STYLE` settings to accommodate placing as iframe in newer Grafana versions (e.g. v9.4.14). See https://github.com/jasonacox/Powerwall-Dashboard/discussions/371. diff --git a/proxy/server.py b/proxy/server.py index eb7b644..89b2f08 100755 --- a/proxy/server.py +++ b/proxy/server.py @@ -28,7 +28,8 @@ import ssl from transform import get_static, inject_js -BUILD = "t28" +BUILD = "t29" +NOAPI = False # Set to True to serve bogus data for API calls to Powerwall ALLOWLIST = [ '/api/status', '/api/site_info/site_name', '/api/meters/site', '/api/meters/solar', '/api/sitemaster', '/api/powerwalls', @@ -106,7 +107,14 @@ def get_value(a, key): return None # Connect to Powerwall +# TODO: Add support for multiple Powerwalls +# TODO: Add support for solar-only systems pw = pypowerwall.Powerwall(host,password,email,timezone,cache_expire,timeout,pool_maxsize) +if not pw or NOAPI or not host or host.lower() == "none": + NOAPI = True + log.info("pyPowerwall Proxy Server - NOAPI Mode") +else: + log.info("pyPowerwall Proxy Server - Connected to %s" % host) class ThreadingHTTPServer(ThreadingMixIn, HTTPServer): daemon_threads = True @@ -140,6 +148,9 @@ def do_GET(self): # Force 95% Scale level = pw.level(scale=True) message = json.dumps({"percentage":level}) + elif self.path == '/api/system_status/grid_status': + # Grid Status - JSON + message = pw.poll('/api/system_status/grid_status') elif self.path == '/csv': # Grid,Home,Solar,Battery,Level - CSV contenttype = 'text/plain; charset=utf-8' @@ -273,8 +284,23 @@ def do_GET(self): message = message + '\n

Page refresh: %s

\n\n' % ( str(datetime.datetime.fromtimestamp(time.time()))) elif self.path in ALLOWLIST: - # Allowed API Call - message = pw.poll(self.path) + # Allowed API Calls - Proxy to Powerwall + if NOAPI: + # If we are in NOAPI mode serve up bogus data + filename = "/bogus/" + self.path[1:].replace('/', '.') + ".json" + fcontent, ftype = get_static(web_root, filename) + if not fcontent: + fcontent = bytes("{}", 'utf-8') + log.debug("No offline content found for: {}".format(filename)) + else: + log.debug("Served from local filesystem: {}".format(filename)) + self.send_header('Content-type','{}'.format(ftype)) + self.end_headers() + self.wfile.write(fcontent) + return + else: + # Proxy request to Powerwall + message = pw.poll(self.path) else: # Everything else - Set auth headers required for web application proxystats['gets'] = proxystats['gets'] + 1 @@ -282,6 +308,8 @@ def do_GET(self): self.send_header("Set-Cookie", "UserRecord={};{}".format(pw.auth['UserRecord'], cookiesuffix)) # Serve static assets from web root first, if found. + if self.path == "/" or self.path == "": + self.path = "/index.html" fcontent, ftype = get_static(web_root, self.path) if fcontent: log.debug("Served from local web root: {}".format(self.path)) diff --git a/proxy/web/012955c70685614a5639d326f41890bd.png b/proxy/web/012955c70685614a5639d326f41890bd.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa7877f0e3a9f230691ae5c9ae090e536b0bcd0 GIT binary patch literal 3955 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 literal 0 HcmV?d00001 diff --git a/proxy/web/1.17c71172308436a079d1.js b/proxy/web/1.17c71172308436a079d1.js new file mode 100644 index 0000000..0d73db6 --- /dev/null +++ b/proxy/web/1.17c71172308436a079d1.js @@ -0,0 +1,422 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([ + [1], + { + 1154: function (e, t, r) { + "use strict"; + r.r(t), + r.d(t, "initialCurrentTransformer", function () { + return u; + }), + r.d(t, "initialCurrentTransformersState", function () { + return m; + }), + r.d(t, "default", function () { + return g; + }), + r.d(t, "hasSolarCurrentTransformersSelector", function () { + return f; + }); + var i = r(27), + s = r(18), + n = r.n(s), + a = r(2), + c = r(12), + E = r(8), + l = r(37), + o = r(151); + function d(e, t) { + var r = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var i = Object.getOwnPropertySymbols(e); + t && + (i = i.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + r.push.apply(r, i); + } + return r; + } + function R(e) { + for (var t = 1; t < arguments.length; t++) { + var r = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(r), !0).forEach(function (t) { + _(e, t, r[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) + : d(Object(r)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)); + }); + } + return e; + } + function _(e, t, r) { + return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; + } + const T = Object(i.values)(E.n), + S = ["ampRating", "phaseSequence", "inverted"], + u = { + id: 1, + connectionType: null, + isRevenueGradeSolarMeter: !1, + ampRating: null, + phaseSequence: null, + watts: null, + amps: null, + volts: null, + realPowerScaleFactor: 1, + reactivePower: null, + apparentPower: null, + powerFactor: null, + inverted: !1, + }, + m = [R(R({}, u), {}, { id: 1 }), R(R({}, u), {}, { id: 2 }), R(R({}, u), {}, { id: 3 }), R(R({}, u), {}, { id: 4 })], + p = { instant_power: 0, last_communication_time: null }, + C = { + isFetching: !1, + isCreating: !1, + isSetting: !1, + didInvalidate: !1, + inverterMeterReadings: { enabled: !1, isFetching: !1, didInvalidate: !1 }, + items: [{ id: 1, connectionType: null, shortID: "", serial: "", macAddress: "", ipAddress: "", status: null, verified: !1, location: c.CurrentTransformerConnectionTypes.SITE, currentTransformers: m }], + readSerials: [], + synchrometerSettings: { + isFetching: !1, + didInvalidate: !1, + ctVoltageReferences: { ct1: c.SyncCTVoltageReferenceType.DEFAULT, ct2: c.SyncCTVoltageReferenceType.DEFAULT, ct3: c.SyncCTVoltageReferenceType.DEFAULT }, + ctVoltageReferenceOptions: { ct1: [c.SyncCTVoltageReferenceType.PHASE1], ct2: [c.SyncCTVoltageReferenceType.PHASE2], ct3: [c.SyncCTVoltageReferenceType.PHASE3] }, + }, + aggregates: Object(i.reduce)(T, (e, t) => ((e[t] = R({}, p)), e), {}), + }; + function g(e = C, t) { + switch (t.type) { + case a.ADD_METER: + return R(R({}, e), {}, { items: [...e.items, R(R({}, C.items[0]), {}, { id: t.id })] }); + case a.REMOVE_METER: + let r = e.items.filter((e) => e.id !== t.id); + return r.length || (r = [R(R({}, C.items[0]), {}, { id: t.id })]), R(R({}, e), {}, { items: r }); + case a.REQUEST_METER_CONFIG: + case a.REQUEST_METER_AMP_RATINGS: + case a.REQUEST_DETECT_METER: + case a.REQUEST_DELETE_METER: + case a.REQUEST_DELETE_METER_CTS: + case a.REQUEST_COMMISSION_METER: + case a.REQUEST_METER_READINGS: + case a.REQUEST_METER_FLIP_CT: + case a.REQUEST_METER_AGGREGATES: + return R(R({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case a.REQUEST_SET_METER_AMP_RATINGS: + case a.REQUEST_SET_METER_CTS: + return R(R({}, e), {}, { isSetting: !0, didInvalidate: !1 }); + case a.REQUEST_CREATE_METER: + return R(R({}, e), {}, { isCreating: !0, didInvalidate: !1 }); + case a.RECEIVE_CREATE_METER_SUCCESS: + let s = 0, + E = Object(i.cloneDeep)(e.items.find((e, r) => (e.id === t.id && (s = r), e.id === t.id))); + return ( + (E.shortID = t.shortID), + (E.serial = t.serial), + (E.location = t.location), + t.macAddress && t.macAddress.match(l.c) && (E.macAddress = t.macAddress), + t.ipAddress && t.ipAddress.match(l.b) && (E.ipAddress = t.ipAddress), + (E.connectionType = t.connectionType), + (E.verified = !!t.connected), + (E.location = t.location), + R(R({}, e), {}, { isCreating: !1, items: [...e.items.slice(0, s), E, ...e.items.slice(s + 1)] }) + ); + case a.RECEIVE_DETECT_METER_SUCCESS: + let d = 0, + _ = Object(i.cloneDeep)(e.items.find((e, r) => (e.id === t.id && (d = r), e.id === t.id))); + return (_.verified = !0), (_.connectionType = c.ConnectionTypes.NEURIO_W1_WIRED), R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, items: [...e.items.slice(0, d), _, ...e.items.slice(d + 1)] }); + case a.RECEIVE_METER_CONFIG_SUCCESS: + return R( + R({}, e), + {}, + { + isFetching: null != t.isFetching ? t.isFetching : e.isFetching, + didInvalidate: !1, + items: t.meters + .sort((e, t) => { + const r = e.type, + i = t.type; + if (null != r && null != i) { + if (r < i) return -1; + if (r > i) return 1; + } + return 0; + }) + .map((t, r) => { + let s = Object(o.y)({ connectionType: t.type }), + n = t.type === c.ConnectionTypes.MSA, + a = Object(o.q)({ connectionType: t.type }), + E = Object(i.cloneDeep)(m); + if ( + (Object(o.s)(t.type) && + E.forEach((e, t) => { + e.phaseSequence = c.NeurioOrderedPhaseSequences[t]; + }), + s && E.splice(-1, 1), + n && E.splice(-2, 2), + a) + ) { + let e = Object(i.isEmpty)(t.cts) ? c.CurrentTransformerConnectionTypes.SITE : t.cts[0].type; + E.forEach((t, r) => { + E[r].connectionType = e; + }); + } + Array.isArray(t.cts) || (t.cts = []), + t.cts.forEach((e, t) => { + (s && t >= 3) || + e.valid.forEach((t, r) => { + t && + (!s || (s && r < 3)) && + ((E[r].realPowerScaleFactor = null != e.real_power_scale_factor ? e.real_power_scale_factor : 1), + 2 === Math.trunc(E[r].realPowerScaleFactor) && e.type === c.CurrentTransformerConnectionTypes.SOLAR + ? (E[r].connectionType = c.CurrentTransformerConnectionTypes.DOUBLED_SOLAR) + : (E[r].connectionType = e.type), + (E[r].isRevenueGradeSolarMeter = e.type === c.CurrentTransformerConnectionTypes.SOLAR_RGM), + (E[r].inverted = e.inverted[r])); + }); + }); + const d = t.mac && t.mac.match(l.c) ? t.mac : C.items[0].macAddress, + _ = t.ip_address && t.ip_address.match(l.b) ? t.ip_address : C.items[0].ipAddress, + T = Object(o.v)(t.type) && (e.items || []).find(({ serial: e, shortID: r }) => e === t.serial && r === t.short_id), + S = (T && T.status) || c.Statuses.UNKNOWN; + return R( + R({}, C.items[0]), + {}, + { + id: r + 1, + connectionType: t.type, + location: t.location, + shortID: t.short_id, + serial: t.serial, + macAddress: d, + ipAddress: _, + status: t.connected ? c.Statuses.SUCCESS_METER : S, + verified: !!t.connected || s || a || n, + currentTransformers: E, + } + ); + }), + } + ); + case a.RECEIVE_DELETE_METER_SUCCESS: + let g = 0; + for (let r = 0; r < e.items.length; r++) + if (e.items[r].id === t.id) { + g = r; + break; + } + let f = [R(R({}, C.items[0]), {}, { id: t.id })]; + return e.items.length > 1 && (f = [...e.items.slice(0, g), ...e.items.slice(g + 1)]), R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, items: f }); + case a.RECEIVE_METER_CONFIG_UPDATE: + let I = e.items.findIndex((e) => (t.serial ? e.serial === t.serial : t.ip_address ? e.ip_address === t.ip_address : e.id === t.id)), + O = Object(i.cloneDeep)(e.items[I]); + return !O || (Object(o.s)(O.connectionType) && t.serial !== O.serial) + ? R(R({}, e), {}, { isFetching: !1 }) + : ((O.status = t.status), + t.serial && (O.serial = t.serial), + t.short_id && (O.shortID = t.short_id), + t.location && (O.location = t.location), + t.mac && t.mac.match(l.c) && (O.macAddress = t.mac), + t.ip_address && t.ip_address.match(l.b) && (O.ipAddress = t.ip_address), + t.location && (O.location = t.location), + R(R({}, e), {}, { isFetching: null != t.isFetching ? t.isFetching : e.isFetching, items: [...e.items.slice(0, I), O, ...e.items.slice(I + 1)] })); + case a.RECEIVE_COMMISSION_METER_UPDATE: + let h = 0, + A = Object(i.cloneDeep)(e.items.find((e, r) => (e.id === t.id && (h = r), e.id === t.id))); + return A + ? ((A.status = t.status), + t.short_id && (A.shortID = t.short_id), + t.serial && (A.serial = t.serial), + t.location && (A.location = t.location), + R(R({}, e), {}, { items: [...e.items.slice(0, h), A, ...e.items.slice(h + 1)] })) + : e; + case a.RECEIVE_COMMISSION_METER_SUCCESS: + let y = 0, + M = Object(i.cloneDeep)(e.items.find((e, r) => (e.id === t.id && (y = r), e.id === t.id))); + return M + ? ((M.verified = !!t.verified), + t.shortID && (M.shortID = t.shortID), + t.serial && (M.serial = t.serial), + t.macAddress && t.macAddress.match(l.c) && (M.macAddress = t.macAddress), + t.ipAddress && t.ipAddress.match(l.b) && (M.ipAddress = t.ipAddress), + t.location && (M.location = M.location), + (M.connectionType = t.connectionType), + (M.status = t.status), + (M.lastUpdatedAt = t.receivedAt), + R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, items: [...e.items.slice(0, y), M, ...e.items.slice(y + 1)] })) + : e; + case a.RECEIVE_METER_AMP_RATINGS_SUCCESS: + let v = 0, + b = Object(i.cloneDeep)(e.items.find((e, r) => (e.serial === t.serial && (v = r), e.serial === t.serial))); + return ( + t.ampRatings.length === m.length && + t.ampRatings.forEach((e, t) => { + let r = b.currentTransformers[t]; + r.ampRating !== e && (r.ampRating = e); + }), + R(R({}, e), {}, { items: [...e.items.slice(0, v), b, ...e.items.slice(v + 1)] }) + ); + case a.RECEIVE_SET_METER_AMP_RATINGS_SUCCESS: + let F = 0, + V = Object(i.cloneDeep)(e.items.find((e, r) => (e.serial === t.serial && (F = r), e.serial === t.serial))); + return ( + t.ampRatings.length === m.length && + t.ampRatings.forEach((e, t) => { + let r = V.currentTransformers[t]; + r.ampRating !== e && (r.ampRating = e); + }), + R(R({}, e), {}, { isSetting: !1, didInvalidate: !1, items: [...e.items.slice(0, F), V, ...e.items.slice(F + 1)] }) + ); + case a.RECEIVE_SET_METER_CTS_SUCCESS: + let D = 0, + N = Object(i.cloneDeep)(e.items.find((e, r) => (e.serial === t.serial && (D = r), e.serial === t.serial))); + return ( + N.currentTransformers.forEach((e) => { + if (t.ids.length && t.ids.includes(e.id)) (e.connectionType = t.connectionType), (e.realPowerScaleFactor = t.realPowerScaleFactor); + else if (Object(o.x)(e.connectionType, t.connectionType)) { + const t = ["id", ...S]; + for (let r in e) t.includes(r) || (e[r] = u[r]); + } + }), + R(R({}, e), {}, { isSetting: null != t.isSetting && t.isSetting, didInvalidate: !1, items: [...e.items.slice(0, D), N, ...e.items.slice(D + 1)] }) + ); + case a.RECEIVE_DELETE_METER_CTS_SUCCESS: + let U = 0; + const j = Object(i.cloneDeep)(e.items.find((e, r) => (e.serial === t.serial && (U = r), e.serial === t.serial))); + let w = []; + return ( + m.forEach((e, t) => { + (Object(o.y)(j) && t >= 3) || w.push(R(R({}, e), Object(i.pick)(j.currentTransformers[t], S))); + }), + (j.currentTransformers = w), + R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, items: [...e.items.slice(0, U), j, ...e.items.slice(U + 1)] }) + ); + case a.RECEIVE_METER_READINGS_SUCCESS: + let P = e.items, + G = e.lastReadingUpdatedAt, + L = e.readSerials; + if (null != t.readings && !Object(i.isEmpty)(t.readings)) { + P = Object(i.cloneDeep)(e.items); + for (const e in t.readings) { + const r = P.find((t) => t.serial === e), + s = !Object(i.isEmpty)(t.readings[e].error); + if (null != r && t.readings[e].data && t.readings[e].data.cts && t.readings[e].data.cts.length) { + let i = 4; + Object(o.y)(r) && (i = 3), r.connectionType === c.ConnectionTypes.MSA && (i = 2); + t.readings[e].data.cts.forEach((e, t) => { + if (null != r && !s && null != n()(e, (e) => e.ct) && e.ct >= 1 && e.ct <= i) { + let t = e.p_W, + i = e.v_V, + s = e.q_VAR; + null != t && (r.currentTransformers[e.ct - 1].watts = t), + null != t && + null != i && + null != s && + ((r.currentTransformers[e.ct - 1].amps = 0 !== i ? t / i : 0), + (r.currentTransformers[e.ct - 1].volts = i), + (r.currentTransformers[e.ct - 1].reactivePower = s), + (r.currentTransformers[e.ct - 1].apparentPower = Object(o.a)(t, s)), + (r.currentTransformers[e.ct - 1].powerFactor = Object(o.b)(t, s))); + } else + null != r && + 0 === n()(e, (e) => e.ct) && + t < i && + (r.currentTransformers[t] = R(R({}, r.currentTransformers[t]), {}, { watts: null, amps: null, volts: null, reactivePower: null, apparentPower: null, powerFactor: null })); + }); + } + } + const r = Object.keys(t.readings); + Object(i.without)(e.readSerials, ...r).forEach((e) => { + const t = P.find((t) => t.serial === e); + null != t && (t.currentTransformers = t.currentTransformers.map((e) => R(R({}, e), {}, { watts: null, amps: null, volts: null, reactivePower: null, apparentPower: null, powerFactor: null }))); + }), + (G = Date.now()), + (L = r); + } + return R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt, lastReadingUpdatedAt: G, readSerials: L, items: P }); + case a.RECEIVE_METER_FLIP_CT_SUCCESS: + let Q = 0, + Y = Object(i.cloneDeep)(e.items.find((e, r) => (e.serial === t.serial && (Q = r), e.serial === t.serial))); + return ( + t.inverted.length === m.length && + t.inverted.forEach((e, t) => { + if (Object(o.y)(Y) && t >= 3) return; + let r = Y.currentTransformers[t]; + r.inverted !== e && ((r.inverted = e), null != r.amps && (r.amps *= -1), null != r.watts && (r.watts *= -1)); + }), + R(R({}, e), {}, { isFetching: !1, didInvalidate: !1, items: [...e.items.slice(0, Q), Y, ...e.items.slice(Q + 1)] }) + ); + case a.RECEIVE_METER_AGGREGATES_SUCCESS: + return R( + R({}, e), + {}, + { + isFetching: !1, + didInvalidate: !1, + lastUpdatedAt: t.receivedAt, + lastMeterReadingAt: Math.max(...Object(i.values)(t.aggregates).map((e) => (null != e.last_communication_time ? Date.parse(e.last_communication_time) : 0))), + aggregates: Object(i.reduce)(T, (r, i) => ((r[i] = R(R({}, e.aggregates[i]), n()(t, (e) => e.aggregates[i]) || p)), r), R({}, e.aggregates)), + } + ); + case a.RECEIVE_METER_CONFIG_ERROR: + case a.RECEIVE_METER_AMP_RATINGS_ERROR: + case a.RECEIVE_DETECT_METER_ERROR: + case a.RECEIVE_DELETE_METER_ERROR: + case a.RECEIVE_DELETE_METER_CTS_ERROR: + case a.RECEIVE_COMMISSION_METER_ERROR: + case a.RECEIVE_METER_READINGS_ERROR: + case a.RECEIVE_METER_FLIP_CT_ERROR: + case a.RECEIVE_METER_AGGREGATES_ERROR: + return R(R({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case a.RECEIVE_CREATE_METER_ERROR: + return R(R({}, e), {}, { isCreating: !1, didInvalidate: !0 }); + case a.RECEIVE_SET_METER_AMP_RATINGS_ERROR: + case a.RECEIVE_SET_METER_CTS_ERROR: + return R(R({}, e), {}, { isSetting: !1, didInvalidate: !0 }); + case a.RESET_METER_CURRENT_TRANSFORMER_READINGS: + let k = e.items; + return ( + e.readSerials.length && + ((k = Object(i.cloneDeep)(e.items)), + e.readSerials.forEach((e) => { + const t = k.find((t) => t.serial === e); + null != t && (t.currentTransformers = t.currentTransformers.map((e) => R(R({}, e), {}, { watts: null, amps: null, volts: null, reactivePower: null, apparentPower: null, powerFactor: null }))); + })), + R(R({}, e), {}, { lastReadingUpdatedAt: null, items: k }) + ); + case a.REQUEST_SYNC_CT_VOLTAGE_REFERENCES: + case a.REQUEST_SET_SYNC_CT_VOLTAGE_REFERENCES: + case a.REQUEST_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS: + return R(R({}, e), {}, { synchrometerSettings: R(R({}, e.synchrometerSettings), {}, { isFetching: !0, didInvalidate: !1 }) }); + case a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS: + case a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS: + return R(R({}, e), {}, { synchrometerSettings: R(R({}, e.synchrometerSettings), {}, { isFetching: !1, didInvalidate: !1, ctVoltageReferences: t.pairing }) }); + case a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR: + case a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR: + case a.RECEIVE_OPERATION_SETTINGS_ERROR: + return R(R({}, e), {}, { synchrometerSettings: R(R({}, e.synchrometerSettings), {}, { isFetching: !1, didInvalidate: !0 }) }); + case a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_SUCCESS: + return R(R({}, e), {}, { synchrometerSettings: R(R({}, e.synchrometerSettings), {}, { isFetching: !1, didInvalidate: !1, ctVoltageReferenceOptions: t.options }) }); + case a.REQUEST_ENABLE_INVERTER_METER_READINGS: + return R(R({}, e), {}, { inverterMeterReadings: { enabled: e.inverterMeterReadings.enabled, isFetching: !0, didInvalidate: !1 } }); + case a.RECEIVE_ENABLE_INVERTER_METER_READINGS_SUCCESS: + return R(R({}, e), {}, { inverterMeterReadings: { enabled: t.enabled, isFetching: !1, didInvalidate: !1 } }); + case a.RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR: + return R(R({}, e), {}, { inverterMeterReadings: { enabled: e.inverterMeterReadings.enabled, isFetching: !1, didInvalidate: !0 } }); + case a.RESET_ALL: + case a.RESET_METER_CONFIG: + return C; + default: + return e; + } + } + function f({ meter: e }) { + return e.items.some((e) => Object(o.n)(e.currentTransformers)); + } + }, + }, +]); diff --git a/proxy/web/124f233cfa9945f861dcaca7acedd308.otf b/proxy/web/124f233cfa9945f861dcaca7acedd308.otf new file mode 100644 index 0000000000000000000000000000000000000000..ac617ad85e3cd7a2df6734b23f4dc2684f43d9ce GIT binary patch literal 130672 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

2a^<=P&Bt7wg~WlMjuVGopW&&V1i@=KD4O z^6&9*UQ{2togt6wAN}rpY0SyiANW4+&%>4TVt@SSf9!d6%Bk~n=KJ-IdovAh^GjzT(j{ z{5u)l9j5F4MrY$MYj#Cn(XT_Bz6Qc+{rt2Z|HkuP_m@OR#O)C=e7?S)ukY{Eb~?h= z`djt=!nxDY_vc>H*Q-$!Zq%I4W_|TXe-p;_b#e5dp7UVXRDXX+)^7~4H@>2eiTgYB z_2IBs`;*l=FZWm7bl6S&px+z>4eIi^F{jIifci2|n z5!NeH>oqHPS-3~FC?8U9`YOne>g!T{?eg-dO?{lcJX_{E8fA0_@?6%R>1(_G{g2^n zEzfIzbJ3UQp7r^u?g4eBs&88UUsThdRj=|v{r?`lVYo@>hUdfo8NRJ9>@Ib5{~_F> zrH8_Q3eSbV3{R^&d{Qf@_gd6B+^_Zg;s5IN)6*eZefyU}c-!SK>)c&G_k?slx)5EA zHlwX`C-l=LbDxx+J$FpHbnc_lHkNeEeMJ7;x#y(I=Z;Ie@GI~u(eqfc27eL07rl7y zq#oZlcSPFHk{Ij16n`0dIeGu--*8qe>eWK z_>qO0Q=~A>!N4qYx<2$rhb)i$Qy-xYJ_M$UZI)dcH8bTQhDw(F7gp#wb^U5<94E70@MHRwgCUuiwBv_1^r{d()erRZho<>(dY zmFQLI)#x?owdgQ=GJ-GQNAX4c7`}ub$6tr;M-QL}(J6Eqok0(whtV6*o6wulceBo0 z@bAIjihnQuHvFgXx8pyJzXSgn{GIr_@OR@si@yi|IsCo&&*SgI-;aL){{{Sm_%Grg z!at0E1nlLMuy_%snQ*l;v%6Psz8lq+{;y!qIW&)c zg|&SZ{W|&>`VVaP+vv~Olb@r{p}#<1WUqdS{t7*T{+c!a7X6(yTHx0hHK7Yp6Fo1w z0DmF6N;J)je0G}`T_kM~JI_hyqYKf+XfxU>z8ZAKJSjCb4LW05eViMDk8ndUH4VYk zG=yHXPmDLfPD3y?4N%h%Oie>DH4VYkGz3%A5KK)&Ff|Rq)HDQB(-4N)2UF7!3V2h~ z5Q=zH(-2B{Q_~PkO+zp>4Z+kj1XI%xOie>DH4VYkGz3%A5KK)&Ff|Rq)HDQB(-7Xx zI!#SOcn{vxG=%r!O-)1i6yDS{giqs5O+)w$-qbXNyYQx_A$%5ZY8t}l@TR6Ad>(IV z8p8c}Q_~Q>fHyS_;fr`v(-0oUo0^936-MW)=-1K5&~Ne6BdE!0fUE|{YJjYUaGd3) zsUeu7hG2pkR8g%fydH66Jx|&wj_#4V(rTs?Jxk}TM(S;2aJ_8|uD6XM=sD>*%3CA7 zR-=;RCGNEvl^mY7Fkg8g(Y}wtOaPRK`w7 z*Yo&6_VW_9?%u31#96X|CGOK2LxLq6S>m3pF(g^Ci6!pe8pCFmY+=a|ek(qO--dUO z*BH_)+0GL8dyOH(k{v8@@7EZzEZNBt_koRJ7e2@G-S|Cdo+W$n?iCwFfnVte-sg_S zFpBrNqcM!(eeP%s<9PRqjiSJM06mCKq0{ILdI&v?-hkeO-i-R((HPt-Hi`m!_lk|8 zz}~%LWB3@y|KsQ<&`+X1r!WIjgF@cvQ8wE<~GE+Z&@Ln#*X^JGoYA2fEB#jJnVZ<{r{Kh|df2>GbC7 zozV$-_ek^ABOQ~TqczMIU#Fxo^b(eAKsTbB&@JdzbQ`)I-GS~zccHt{J?LK4edGM# zzHxqV-#9KDa-euOsQba(_5qRme`=sfEsu8IqE zp0!@gPyL>BfhwUjhF-!tUHuk>4S3hR1z{uJ6>mYj(6=^KD&(HZm*dKkR{y$QV;eK+fL?OLGP<$ZANTAA;R3{&m_N#|)5`FfU@|ere%h4;) zE77aatI=!FYf+QZBvQN;lhUNKyuC?j(plc#q%`R)Z+{)n+K;-|ZKBt0qStMr*KMNL zZKBt0qStMr*KMNLZKBt0Qm^ZE-okoJN|Q+OYcwgkClGH^nna4XVp5uPHn%q^O*)&~ zo0KM<&FxJ}lg{S$CZ$Pdb91=LqQkrx&w>K$GI-A>@lqN`N zf|MpmX%Z5o--^L%oe+PY>F?s_3UHtd(PvXCiKZ^eW{)hN~!v6^W6#mEfpWvUy z{}g`=|1-Ax3>o-2{#pEU_~-Gzz`uZhk<=Y0Ex*LSg#Q)(W&8>JD|nOA6iiAJq%;MS z(gZ0@kkTYlls(N09hJ7B?WoT(x}O2{Tu_s!v3f43NpnG;l=hwb5$P$O>jyXJ-J9ISrVyilEk)$f`Ys&lZu z$X@*t{S|rw{WV+vE&4mF&goXaYhI{xy45vjA@7L_`M-!(7fUGqZTH80Zfc}RD6 zoTV{cq+@bY+NOP5#EjV@=9(69Ocrr|U!>aNpZZh~@ zeUXm5z0d56bo}joW?#fPeUZk(OMGTu6nti1q;c^QpWhd$Qu(!vqGRYddH_9$PNCE2 z40;GXjNX9Wgx-waj^2UZiQbLggWikYhdzKlh(3fqf_{tR>0B<-^<*E_@1jqlN6{am zKSF)T=yg`x`W8e2U+3{q(w*A zKXo6{qKaYfZlpyO!`?kfi;lCsJChbw27C7>EvgLm?owJ*8SLGww5TT7=TY}9E$Z;S z&+c1V)VJ8XZ)s8AV(-4CMSY9C`<52^mKJsRey;nL7W$SJ`j!^@mKOS!7W$SJ`j!^@ zmKOS!7W$SJ^(|hf`<51U`1bBwTGY4LyKiYxhi~t`rA2*6O zQQuax7fRHX;I%|@4lr)eT%*OmKOCb_U>C+lt$~f7#(-= zE#U~>?|EBz&)dR#-WJ~TwkVk%{a>QLLQkNlc-E`vYv^foPO3X1wdPjlw{^Fn*4(N@ z9h0`{xve76>Ua08BGHfZ{9CK~SgU7iTbW5~4W3DB)l8a~J4>yksFnP*lAKnZW&D^S z)cI*8Ijv--m9(^ylU8!lO6S%}=hjN+)=KBrsw3m|e2Z;;8-E1KYrIlHNR?QOFdzPS8vjq0Oiqxw6J^UJfi$96~9sc)t z&%Ly&XOGNr(()p<8MVE+lFIkK>qrNu1M91IH zI)}%ci!Niya(oxM0`+^GB_iExJDNqUXyn*-Gz26dzyLCY4mn9l~`}K4GNjiwXglAof##yofe;Jx!$wvI;Xp$wH@K>Ol zS+WH`gx`u!;kV(hMAIzUj=u`cuw)1RYBbA|o%n0eU1*NwyYYL_JWKZCuSJI$g%NxK zKZ-Bn$M7ZmIQ}|xKY9Q?h)$u?=nQ%YJ&fLf-h|$azMFO4f`1SGR{VSMx8dK%n7$wV z0Qy1nL+FRmkD!0Si2oJ(*XZA%A4NaLtNu9p3G|cbr`Xo*Z0pnbJMf>u--*8qe>eWK z_EyFLzci~sy zSEA>k7fAJ6Svmq|tD`tB^~~+rbXI4JSuc;H2{eg%p7U%~Y-@@oX*7do(Hxq$YM)O? zJLR`0S*luhR5~9$OYb6=s@8eQVze1;)wY)E9CT9JhWcKDr8);$ zeGXcx8u*a(T=kYq!!njEXGs@JR^V5%p7U68K99M8HMsUJRSood-hr-SyQ|SPJa;Yr zBA(lWU#A{#DYG|ARRg`xeQ3YlGcMIJJR*&;WIcY6*Lw+TyOj0BS+ap8m$4+ll8r36 zoFz$?Y+}h3EZNMGEi4(rZ^ftZ+wfQN$TUl~v*aq4WLUC;C0DZ~%aWZexrQaX@Hv+6 z#_vJ%EZK{{mPZcr>PA>nz>ngK_%VD5KaRhSXYEH1u;d^*g-)Y0=ppnldINeBdNcZN z)_Du-c@O?p{Cn}Y;orxYz90Pn`a$$V=!emdpnt)L{}uYz=-;3pML)(mKaPF^{UrJ+ z^mg{=)A&2^pTXaWzYBji{9OKZyS#{vrIs_($-6hyN1# zW%Mf~{85tmRs7fRU&ns~{}}$8c+Ye#)wL??y2uqsP#nag?4R z^FPNwi+>LPJpLE>7w|8#t>ZlRm-v_Pzrw$aKY@P*@BT{n-$Ic4tEJ&2-u>0m@O%6z zUeT-QYv^fo&PvT(O3hrVnyFVBy&ZMUT&kM+nDks94b@Ch94*Ip;XOaRl=veqE=-=9cYge0Qr2Sm?Z*7`E@{-F~;{L5o^GIHD zIZNEXwP`lVORivv`?ogDDS3(ex3=Kg)u!`^y=zyS-amT%?%&!pv*aaLvBdpbo936i z64$Oay$ zuj5(!(E}_wh)$u?=nQ%YJ&fLf-h|$azMFO4!g}6=zZL&p{B8L6F{bZFKY)G^{Sf+L z^dqQiS6guHY74GiZNasxEx2~I>3X_H^W*3z&`+YDLT_h(K8?Qv{~7$9_`C3T<3EeP z2md+zz4*`L@5A4Ze*pgl{Db%};vd34jDH0Gcla-%Uq-(IDXv{@dVgnXT)W!zF3;Yz zt4;6q>|MLs^j_~dsjp;7F@g9G@s+6 z?ZSUIEruWhIu3c?Aj(syLPqdy`jBpSDW4&+PikO zsdkwl*RD3zE_>ImHq|csQ*iw%`Wku~owHKA+NfP^s$C*owae<-)u!6@g!Ek1r8dUIV?Yy$GBd#t6n`N?PAFaystI4t6m+Ix?Z)bURf_hU9Z}ySM6a9kH3iL z`dU~!SEAchk-R_stigR$yXudhbt#YZ+;zJukN0yU{&KwMuG>{@ynGAZv)1jZE!Hbp z?)mC=RTV$R^VRLDC-$DNZdWC-_m${&=BwM8uWo0ix?R=7KlSyscFj}yRr~r{yXL9v zeSNK6^Hlb}zSgdJD*Nkr)_(K=OAew_=rlTm9zqYJH=sA6H>1A3)~*!;s`<8b4mUdmm_N(w!?Dp^k-dC~P!}svMirpT*kM~vV z_V5F|uVT0BcXa$*U&U_M?^W6RDt3GL3Eo$++rv-szKY$hig7~v3~Bs1{#m^5Gig`F za7ul*NxLeBy(>n$Du%r)M!PD8y(>n$Du%r)M!PD8y|2x+b8W6&Ge!2kHrLLzxpwic zJ=A>BDe1X>yr|btMZJ9&-W^Lj9ZNeMONV-ukLWj)>Qys4M7{MaT@CCI_4bR=X0%nu zyo1@}4)K0m-tV*YTgKXMhq{!HO3ziF(?OTgA?m&6E|z$fsY5e?N2TYn#MF0)dauFn zusY~cI-tHoUCQ5U$!gTIOdVk@{vw{+gI}k!c89u@W73OR;_KrbstJ!t2Xr>?P?zE* z>s1ds)TMYmm$09gvYt3gHn8L}mLyoRktLV2B*~IZEV+Uun_04jB}4eF_!NE{{z@L1 zX32JzT*Z5z(0sVnvrHYD54U=jsYCPOR?jkZXg=KPS*8xnhg;vx zI&Wb;@4?@Se=q(vyx(DU1i!=T2!4mv5&RCTBlsOwNANqWj^KA#9l>>`gF4eeo#~*? zbWmqH)TKBHA4fldeiHo@+wv?^hw6`Cqi2~qRDbL}%haLzWA9m}4%Huf&oXtW{@8n# zsYCV0-m^>{sz3IgW$IAUkyl0s@RH>|wvxe`YPohWBAEG}(e~dnj9z%b|G4%Za9qLkiJbgbvhq@Gd z-w)8Cnq%+#0XkG|y#KxjphFeL>g)a;bR+srMM!Zs(xGm|)VLezP&ZM4!V&Jbt7K#cGTTShpLmdqPiqzRhRCUdiJS9b;*7Ok6DSHhhCr~+^M>BROW zIjhoZJ=Zx=Zmm9(c5)`|Z+#RUL&wqUSi^qw080*{Q|L50gC0T;qc@;8p*N$qu!dXF z+tAxteg}FddN+CxdM|n(`T+VM`VjgE`V6o4S@e1I1@t)j66(8=m#c0|l@PtgXsNEu zF4uh;3#EGBCRGO~<;X|NSmNKQ@u#8qr@pSYT;p{@zoG6dt+|RfsI#;}=Mk&3v_ku1{SD7LiT>V7mR69Z6?$jtB}=sR721b;q|VF=GP6RN z@lQ?7O7)W`r01ee&Pr8vtCOS8uR)!hm8$1f@9j!;clMW}8_>(pjp*g*CiDt)3%V8E zhF*zoN3TM6pjV?i(QD9M=x%fmx);3`b@o=0y_Kr`_Rii))qLxI)Y)69ns0UXR;mZH zI(sWs^R3R_O4WR;v$s+;-+BvrD|#F1?5$K)w>o<(RmrW+-bz((tFyOK72E3UtyGn^ zK7xAeR_eTO_1LY{*gYX_Lj4=iD|OHRc~V^ok+$hGgH|eU_8oY}OBGV<)O>;;f1&Em z%4ik3Mpw00Mi=4x^r;^!qkeP%jcNIL)VK4gqUS4^bO_-_7Z! zyXdC7=vLCa+}%Yt-9uh;DiXMg1nQH%^vKn$b2aN+%{o`J&eg1Q zHS1i>I#;vK)vR+h>s-w`SF=uirk7H^nsu(xI*;koyIj53sCwJGgI%L~cwFl0y+-S| zx_YnC`mOGZ)@c1!_eE>8e(P^|)=BjDR#gCN6S@#xq7Gz@Isq^D48R(W>Kcyc8tvOX zTH>m{hN`a5yV7f4Lseg^y?sufH0JJTE$5oG+FLJKug9!qOxJ2}{ZscXYZ=qE+FL)y z=bE+JTdU7CYqht2)=BjDR?anRIoGV^T(ee3>?tjG-?CPFYjxkUmcC`J_Vyup@9kRl zb}f6mmScO7etJZoiFS^*)kEFrp>F7-7g^%E(L>$np>Fh0H+uA1PHFii{M7ZKNAO&9pp@;g=Lw)F>KIp^sc%O&9pp@;g=Lw)F>KJ-u@dZ-UQ)Q2AGLytz*$I$mm_2^6_)yO_7 zZ9+Xa)uVGzt5jFLq?(hKYHmsDo~K8QTYV1d(KsHH#`G9{P^OmaQ|?e#b$ybXlCw@} zv^S^g=q1*LM|sTG&~KpMME!1M9kpv6{H}xFb@00me%Hb8I`~}&zw6+49o^A7&amq^ z!>%Kr>&WLi^0|)vU&sEh)1KcS)+wLbH|10NMvv4>U(`!S-AiB8OJCHhce^Kbcc#0e zUS-m1`t(twEbl}6(HQDZNuSz+x;yGs8m;bvdX+k>JD*-9&FbE!m%h4}-lmt{rkCEP zm)@qA-lkWH@*~~b^wQh((%baX+w{`g^wQh((%baX+w{`g^wQh(Dp7u}dz)S*%Ie;x zm)@qA-lmt{rkCEPm)@qA-lmt{rkCEPm)@qAGfpp~)~iwTQF<1A9`)UQy&5&^OX$n! zE9fcoRrEFVG&*Nh0?(3a-c;)B^)hz78oQ(Vyd2k%K59rGHKb3Yc1%lLL;5so_U=9U zG+y@ZJ^GZ=7&B*QDOS1Fnv^*J}OKf z6{b%eh_~Vj(?^Brqr&u2Vfv^reN>n}Doh_0rjH8Krw+u=a)s%m1L;#9yyyOHyFTT? z>ff;Iqr&u2VfvH@FFA-#q0{ILdI&v?`Zw(Qln3k0s5_88Doh_0rcZhBPwznQMDIrL zLGMNHL;d@4eaeINA@mXSQI7D}&~KpMMBQihL3AHP_d#?YME5~-A4K;-bRU(fk4n`? zrRr0qx+nChQdvFs)fahYzE7lEeO;_i=OArGIkETqnm+X*)|IIF?NjY~NJ@S z)vwy(^>}`)UsTd)JwM>P$a%re9g|64#l2veZwO`pHtivh=7v!^>yAer3tp?C~N? z{mPQ|Us=*~l_h)kwEfDG)#rkK^|V(1rba(m>L*M6WNAQII-$=S^LwHJ>e2vpX@I&k zpe!BJa@VB+>e2vpX+T*zsU^;mJ|!0Q`|bg1(SY(}?`~&6`LTDmGobv~yW1I1e(e3e zdqB0w>RL3Q{MftO8Bl)g-R%r0Klbi+22_je{l0rZwaDuC-2>F30cz0zwP=7^G(asH zpcV~Kiw3Ag1Jt4c<;SniwP-;3vAPxwC_h%$q5*2r0JUg4w{77ZvrR@b5dYS93-Xh8Y#64#;u<;Ut;G@yGJtj^B>`57QT1LS9b{0xwv z0rE3Ieg>2Z9S5c2DXA;WfKp-a3NyevodMqI4De28fIJK+584WOh;g2Zk%t(0h>?dF zd5CeIijjvHd5DpR7_}uv9%9s%7^%?b2P>;F&QtodL5*FE^Hhv%#FPy$aW-O{r($Fy z#(65nc`C+vDn>S9oTp-BBgT0uMmA!cr($Fy#(65nc`C+vD#m##MmAz(BSto2WFtm4 zVq_ymHezHWMmAz(BSto2WFtm4Vq_ymHezHWMmAz(BSto2WFtm4Vq_ymHezHWMmAz( zBSto2WFtm4Vq_ymHezHWMmAz(BSto2WFtm4Vq_ymHezHWMmAz(BSto2)Rq{vB}Q$D zskYn`Vw|U9sx9_DPsOM$G0sylQWR5)j%m456yrP<<2)5pioC?y-zqyU_J?q3bo`_U=O0Ym}|-Lf30Ft)u7| z>KV568cnNb*w)j9uGeVVPodMOXV})$g|4RyT~8OfUZd&do?%;07rI`fX@48)E_6Lz z=z6-)^>m@@=|b1jg|4RyT~8OfUZd&9dxmX2UFdopRe2px>xFu6G8p_BgM+%lW%Uf( zpssLPefQ3wu5g`@`ZERx`HaCqU4Q?mygy@bQ1{z>MC$52sN;NG>aKE7$Ju@*>fUlt zN83x>TMp{IfYtL_gCh5c)UyYJV)mHSoDM?hAZ!joh(!qEqNJI)ffU52H7rH=#G9{*1vv zxEs`!FMH2Z4eH95y=SWib>++cb{_A~7#!3HdW-&y!9k6qy+31cP@`$@&lnuknA-a@ z1_w2=_Wq2)L5;7yKVxuEqip{L{DXLZ#^9hv+{^tLgM%7(`>!yL{=I`iUHP&;hWaxG z2f0^mP`^cJe}sMZXABN9Gd8HZR_r}LHmJK+>^)01sJm9|Jy$lUyH@NyV>YO}R_r}* zHmJK+>^*xnsJm9|J%=`^yH@NylQyWkR=i!$6b@Q~ zgM+FwUV}ela8T98-k&izsG4K%&lnt3<+1l&D}&s%GRR#kgWR<;$XzRgsy0fX-v8bs z^=AwYM*fV!!N{L6I7o*xC|i77UDB)ILS-3<;+sl1D?h?IfFL@Sy9(@5lj{17sC3;2HSFGCGr=)&YehG6# zms0oQP#lNiI26aBI1a^eD2_vM9E#&m9EajK6vv@B4#jaOjze)AisPJl<4_!j;y4t? zp*Rl3aVU;MaU6={P#lNiI26aBI1a^eD2_vM9E#&m9Eak#u3tY9;!qri;y4t?p*Rl3 zaVU;MaU6={P#jmKJ+9}P;<(P6R#O~TrL~&kxGJsH6vuTxiMQorEG>MkwA0#T%h`BNT6h;*C(e5sEK|;v^I&p*RV}NhnT2aT1D?P@II~ zBors1I0?l`C{99g5{i>hoP^>e6epoL3B^e$PC{`Kijz>BgyJL=C!shA#YremLU9s` zlTe(5;v^I&p*RV}NhnT2aT1D?P@II~Bors1I0?l`C{99g5{i>hoP^>e6epoL3B^e$ zPC{`Kijz>BgyJL=C!shA#YremLU9s`lTe(5;v^I&p*RV}NhnT2aT1D?P@II~Bors1 zI0?l`C{99g5{i>hoP^>e6epoL3B^e$PC{`Kijz>BgyJL=C!shA#YremLU9s`lTe(5 z;v^I&p*RV}NhnT2aT1D?P@II~Bors1I0?l`C{99g5{i>hoP^>e6epoL3B^e$PC{`K zijz>BgyJL=C!shA#YremLU9s`_16MKQxb}kP@II~Bors1I0?o28!Ub#6epoL3B^e$ zPKuxp=%?H$m|xDBc9c zo1l1;wtIir1jSd#AJJcgs#lk?Srl6rqW-Ml&7#=as_uQWI6W!#mA=j5)asef%_7w5 zd9BSN)avVBo3-aBq@K6jtUb5-zOv0?(|S321$rfV6?!##4SFp)%s!0Z3;0od5kH16 z;m7gUp}ya2v)HsAM5oYcbOt?y9!76KZ$fWI-_1I2!M_K8EB?Ls+wh;l-;Vz@{to{$czhcz;^XX0d7Yr)g~# zo7Qjf(<7+oHa9CLR?m%ZR!*$PQD1}GtejY1u_`B4f2!4HCD!WCrP-n}eNO5bj4j+z zutg(lzg~~u0)tziZwuUQfw(Q&iXY=U3btq~)>qKq@T`;Q@2!#VgxsQ8GOO=i+oC-= zD)oI1Tex#z3$tEZnDyGC3?J8@3k=`MlS-iyQ9nzV_>huoj%wlzVhjeDKI=w?W zvv{3O?~u+c_D=7R&Mfv$?~u+c_D=7R&Mfv$?~u+c_IKi)-XWb?yxi#>(wW8H=^Y}y zL!@^|XBIDadWUpov3GihbY`)4dWUpov3GihbY`)4dWT5w5a}Hvy+fpTNL9{{ae9YH z?-1!7BE3VTcSyPNPo3T&(mOgmGo{Uy<17|R_-p?%H0K9xw~L1>D@|tx02qiq<1Un-Aa15lHRSPcPr^lDZNkV zuX1@#GDQcKqJv7&L8a)RQo(bQDLSYW9aM@ADn$pCqJv7&L8a)RQgl!$I;a#KR7wdy zt~Gd0GDQcKqJv85m>kg(6P?o0I41R+WQqDDLSYW9aM@ADn$pCqJv7& zL8a)RQgl!$I;a#KREiENMF*9lgG$jsrRbnibWkZes1zMkiViA82bH3OO3^{3=%7+` zP$@d76dhEG4k|?lm7;@6(Ltr?pi*>DDLSYW9aM@ADn$pCqJv7&L8a)RQgl!$I;a#K zREiENMF*9lgG$jsrRbnibWkZes1zMkiViA82bH3OO3^{3=%7+`P$@d76dhEG4k|?l zm7;@6k^dAOR0;}GbWkZ+NYO#1ARWhoNU`^vWQqm-;xrVep*Ri2X(&!Z zaTm- z;xrVep*Ri2X(&!ZaThT=37r=d6v#c3!`Lvb34(@>m-;xrVep*Ri2X(&!ZaThT=37r=d6v#c3!`Lvb34(@>m-;xrVe zp*Ri2X(&!ZaT zhT=37r=d6v#c3!`Lvb34(@>m-;xrVep*Ri2X(&!ZaT0UeI0MBQD9%7}28uIKoPpvD6lb6~1H~CA&OmVniZf80f#M7lXP`I(#Th8hKye0& zGf0UeI0MBQD9%7}28uIKoPpvD6lb6~1H~CA z&OmVniZf80f#M7lXP`I(#Th8hKye0&Gf0Ue zI0MBQD9%7}28uIKoPpvD6lb6~1H~CA&OmVniZf80f#M7lXP`I(#Th8hKye0&Gf0UeI0MBQD9%7}28uIKoPpvD6lb6~1H~CA&OmVn ziZf80f#M7lXP`I(#Th8hKye0&Gf@MbP9Y1$St!mzaTbcRP@IM0EEH#p9JL}xt;kU;a@2|( zwIWBY$WbeD)QTLnB1f&rQ7dxPiX62fN3F<){_<>+5*m5tO4=JXIo3mB>>i@>GdDRU%K7 z$WtZqREa!QB2SgbQzi0Li9A&zuUB_0=&w8LU3{J@k*7-JsS2O5~{$`b*K8)5udL@>GdDRU%K7$WtZqREa!QB2SgbQzi0Li9A&zPnF11CGu2> zJXIo3mB>>i@>GdDRU%K7$WtZqREa!QB2SgbQzi0Li9A&zPnF11CGu2>JXIo3mB>>i z@>GdDRU%K7$WtZqREa!QB2SgbQzi0Li9A&zPnF11CGu2>JXIo3mB>>i@>GdDRU%K7 z$WtZqREa!QB2SgbQzi0Li9A&zPnF11CGu2>JXIo3mB>>i@>GdDRU%K7$WtZqREa!Q zB2SgbQzi0Li9A&zPnF11CGu2>JXIo3mB>>i@>GdDRU%K7$WtZqREa!QB2SgbQzi0L zi9A&zFCvcUFNC{FJXIo3mB>>i_QLO8 z_}vS?d*OF4{O*O{z3{sie)q!fUijS$zkA_#FZ}L>-@Wj=7k>A`@3rzr!mublE}f71 zw`+$*v9%fX@2d`rR;#ad4vSW67wT)B!{XHHYn{X5)Y^yoD(5hF;}2{9?R~9tScF=A zt#ep}T79)>ScF=AwP;v`T79)>ScH0ie6?s;gxdRR(Xa@$_tm0d5o+(NMZ+T0>Z?V= zBGl?@ox>v3>Z?V=BGl@uMZ+T0>Z?V=BGl@uMZ+T0>-5#4VG(NYt3|^i)ZSN%hDE5o zuNDo9Ppu8egmLs~=%xM;O@=jjWgWzWNc3tkw6`k7#7AhfsfV#fV1M z>ig_=HKcca)K7#sFQ${oj zR)1>Bh(^KcPfZySk5+$b%7~7(R6Odrkv}zMB=V=GjPR)`BauHfWkl6Od&sAzjHrg# z`%_a!#OzV2KQ*NQxdq5A==^(JOH6J7atnM?dI53^jAH?E3yfny<9Je!^f(qEx4<|S zAh)1#^zs4Je0J#OoE$H0pV{UQ_kXwM<0^}ATw*a{X$Spu_0dfnFTY%gG ze0J#OoE$BSuHJjW5e0J#OoEkJGoatk`YoD8Fk_$cI#GUB6tSjqm1|{BRn_C?h+{ z$c{qpDCCYp?kMDrLhdN!j%sARhbDIvaz`O|lrbG;G)Ec7QOF&I+)>CKh1^k%l%H#I zM>RTDlRFBzqmVlaxuY6|Q(A6vMtPiV~qG1BRk^803yIvSWk^803yY?igb_#%PW)j$@EJ2DxL9I|jL9kUIvsV~{%rxnqz!2DxL9I|jL9 zkUIvsV~{%rxnqz!2DxL9I|jL9kUIvsV~{%rxnqz!2DxL9I|jL9kUIvsCCDv7ZV7Tr zkXwS>66BU3x5PM>Ah*OgmLRvpIF=x{#5k59w*66BU3w* z66B6E;^UAz&WMjg?l>bp4!Pru_&DT_L+&`_jzjJ^BRq`IOL8)?l|O*L+&`_jzjJ^q`IOL8)?l|O*L+&`_jzjJ^q`IOL8) z?l|O*L+&`_jzjJ^q`IOL8)?l|P`3;r9g`}E1uN2RSgGw##e)ML`6Ecf4d-6wv% zq(h%-yHB6#>c_hW-WU8gUiSt6jn{p_f8%u@f8%wZ{x+Qb5bD42x=()wTI_u|9_S?^N#7EQ-~C<8_~AGpzm_ulqEEVfEjs+^1w( z{dX$&DUH@&v*zETzq3aE8?XCx$DP%Gt7xB&-f^k_p4vW+$vz#EWAeWLZJ+MDJ02!D zJ`)_D369SM$7h1$Goe|#r}P*fp9zl71jlEB<1@kWnc(J`)_D369T%{({C6 zdajSp1jlEB<1@kWnc(J`)_D369T%=9;`+AD;=1&jiP3g5xv6@tNTGOmKWA zI6e~`p9zl7gg$50+x798;P^~%d?q+P6C9rjj?VicOYb;M3d{jP12nm+?-`Ow)qH!;kW8xP z+k1v&QZ?V+GbEF$`SzY6nN-cU_YBFTYQDW^NG4VD?L9*>shV%^_gRyw`SzY6nN-cU z_YBFTYQDW^NG4VD?L9*>sa$z763IQ>1r_^iGl9DbhPddZ$S56zQ#!-YV&>lHMxmt&-j<>8+C9D(S6~ z-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j< z>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&> zlHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9 zD(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxmt&-j<>8+C9D(S6~-YV&>lHMxm zohH50q<5P1PLtkg(mPFhr%CTL>76FM)1-Hr^iGrBY0^7QdZ$V6H0hltz0;(3n)FVS z-f7Z1O?szE?=6J41SBNbd~koguw5q<5C| z&XV3)(mP9fXG!lY>76CLv!r*H^v;srS<*X8dS^-REa{yky|biumh{e&-dWN+OL}KX z?=0z^CB3txcb4?dlHOU;J476CLv!r*H z^v;srS<*X8dS^-REa{yky|biumh{e&-dWN+OL}KX?=0z^CB3txcb4?dlHOU;J476CLv!r*H^v?dj9KC;VTX}u%uk;7dMO_Vh z+huK)7Rsf!y}cAJg%-*d3Iz&go=< z!`<0Q)^QxiaU92X99d5Mb0g0}2-y%qNMh;e$d-)h z-h;UJAnrYgdk^B?gSht~?mdWm58~c~xc4CLJ&1b`;@*R}_aN>)h-h;R|hkJ9l zH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$ zdvmxqhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3 zxHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$dvmxq zhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG;bGSE$dvmxqhkJ9lH-~$3xHpG; zbGSE$dvmxqhkJ9lH-~$3xc3n5J%oD?;od{I_Ym$qgnJL+-b1+e5biyMdk^8>L%8=4 z?mdKi58>WJxc3n5J%oD?;od{I_Ym$qgnJL+-b1+e5biyk@TXme`84OSyt<>>pLQMQ z)11S6nsb;>a}M)q&S5^yIjraJzx1bFhxs(;FrVfe=F^a}M)q&SAYjFD4G_{jvJfuETnNwx#~G>#*J>t3T~J%)4}0 z@6vYSNxd6Z|ANeudN*RJuXKG<@5UYJZ|GXPC)L?Ksjp*vGVxZnyd8Z9`Y!Z6==;$3 zqaQ>+jD8gTIQj|nljx_==h=G&y~}g(FZMpE_rV&XTRb0ML-?fL4L>(uN%*AR6W6|; z@JYQhu65+tA=@H$Z#_CskMBn?j`js9@_>~?>_>~?>_>~?>_>~?>_>~?>_>~?}$G4?^ zrAO59Sn5}LgjafmS9(MpzoRXFrAK(BM|h=2c%?^prAK(BM|h=2c%?^prBCxp2Y96e zywU+)=>V^EfLA)eD;?mK4)96`c%=ip(g9xS0Izg_S31Be9pIG?@Ja`Gr31Xu0bc0< zuXKP{I>0L(;FS*WN(XqQ1H94!Ug-d@bbwbnz$+c#l@9Pq2Y96eywU+)=>V^EfLA)e zEB!jJ^q=)AwiExXnG;KWzlDF+oUzu>I@&u2TP85tCFUHjKY2E|<0{>_m=G1s+!d1O$`_5b<;>R%oi6mzY<+y9`LYxUj!2gO{g z@Af|^=34#BBZFeD)xW4dDCYXn{EO;?Vy-reAf01NR%=LEvF3F&n>)O8v zFev7__U{4=in*@+>i~mdu515Bz@V7x+P@SqDCWBM?*$Bsxvu>SCWB(GYyXbPpqT60 zzaTKkv>#;J4>Iisnf8N9gx_J`nRZaQaP9j`59)g&cHMXA`xWZ%QeUP19`!Zq7pbpP zf1mmW^$)0TQvZplb#OZHzrHa+}p&it*gx)mc818#5ZM_bJ45=_18;YBhRDv4e)YgxoSh+l zA8<&=tNz!|pr1uQhkhP)Muy19kd8}Te+m6E`W5u6=zi3{|23qHSpDn6L&}KN=@=px zLnLBI$DiJE96f=aL{Fio(KD!jJ9tRmw$7sGQC}M{#IfQK-)0)(drU)ogK3EGE)DUm zr6InrG{iTRhWL)s5Z_K3(oA+Qd>5S|9s5~*7o8zZes{++c}UaV>X|%*H-_|k2ih+V z8REB8hUAkw+Tz~_9FkA0KB^gJVh=O1hnd*JOzdGM_AnEBSQGo3`pZYP-(ivQ|C2t( zmi`A%tA3SeJIwlJSWa{8?*$AqtB2(`Z~1+;yq@}vJkI~rvmKV-E=m1M_rvm=>$mYY zkE8EI-;I6%{Sf*Q^ke9!QP0(3)-uD))nV2$!_3uT)-uD))nV2$!(t+; zzCry1>YLO*q`pP{BkJ4Kcc|~OU;py^u#R*5eEiGr!#dh=?O%Q$)-jK3|ML5=j(qGo z|Ni^1j(lAESKxE3a}`sSVW&FEWn{Y;)r<;hf@Oy$W`o=oM* zRGv)b$yA<9<;hfDM?p{P5uB+!naY!?JekUqsXUp=lc~IBxc}0b%4>$lQfDeprt)Me zPp0yk+x|;uDz8~>b*A!~$yR47uQ_aWrt%!CAzYiBC2@3gvh zrtB2T9BWGYXl@?h3`V7K<^Ip{7C^^Pw5Xblo;uxPn9OE;HV|)g2ObPO% z`O5!eN|4o8{vT6<{7n3fl4EkRpNYS5b4>2F`WrXL=`E#4$dDIL2oX&*?qClXy<=c_4i=weMr|oIW|)min6l z&*}ZQ`kMmJ>HW9*4#Uss{kQtA!q4gbx8CP}?V!6>Ju7Px_5A^!)3e%;`cseRloYGa zHay39hUfG=PpS6ve2(Y&oStW_`Yrm)5xO}-H%I8^2;Cf^n+|%@MjeLN`a~ z<_O&!p_?OgbA)b=(9ID(Q5vC}BXo0wZjR8+5xO}-H%I8^2;Cf^n+|%@Mje zLN`a~<_O&!p_?O`IhXW`+|3bvqV%HF-5k*;N>aKxLN`a~<_O&!p_?OgbA)$kgm-C# zZXTzb$LZ#Ax_La|ZXTzb$LZ#Ax_O*#9;chf>E>~|d7N$@r<=#==5c)vxUENUH;>cJ z<8<@5o|U(_o5$(qak_b&ZXTzb$LZ#Ap679%=W)7uoNkWN%~85JN;gO8<|y49rJJL4 zbChn5(#=u2IZ8K2>ETo1=7dlx~jF%~85JN;gO8<|y49rJJL4bChn5(#=u2IZ8K2>EE=ngd6I6Pq?;${=1IDFl5U=)nE=ngd6I6Pq?;${=1HFCNuK9Px_Odrj_cSyNQ~>)-s*1}j_cUo`Uq;0 zj_c@sN9sGnjO*y#>NB_FI&Qc6ob9-d+pYel;ke#`SnB(_jO(>q{Y}Gh9kE+|FQ#!F zv0HsFrg0syTYWF4aUHQ+eJ`eQ9kKhFe1_WJG#uxMeOyQEuKi8JaUHR{_BRd3b;NG< zy_m*1Vjt&-eVilqagNx>Ibt8@h<%(R_HmBb$2npj=ZJk=N9=ygr+6HH({Nlz?0!st z({Nlz?5_Py!*Pz-$92T++TS!B*AcsGf75VWN9?ZsO~Y{=vAgy+4aarF?%Llp9M=)M zYk$*lTu1D#{Y}Gh9kILiHx0*i#O~VPG#u9vyX*7RKHeB71>>Y(oD_`fSlxf=ZyJuv zZ&u&0X|`dESg{zO)!flm_-xJq6ucv1hZ&@Sv0{cnqU@9FpDObMH9@T31-m*vuJ`@G{G#I zU=~dk(z$}_z7ESOjP4F&FFpEwzi%!$E)6AmN>e`*eX=c%B zx^|kbou+H2>Dp;#(P?JUX=c%BX3=S8(P?JUX=c%BX3=S8(P?JUX+5ir#A#;HX=c%B zX3=S8(P_GQn&)|%=Xsi0bee8X(#=V_IY~Ds>EEZcft8NxC^nHz(=lB;A~(o0D{Nl5S4Y%}KgBNjE3y<|N&mq??m;bCPaO z(#=V_IY~Ds>E2x<{7$qhHjpr zn`h|e8M=9fZl0l=XXxe`x_O3fo}rs(=;j%^d4_JDp_^yu<{7$qhHjprn`h|e8M=9f zZl0l=XXxe`p63~!=NYc?46y2Pnn^Saiif&HP z%_+J$MK`DD<`mtWqMK86bBbE>Cwd6sUTrJHBz=2^OVmTsPE>CU=UJZTS-N?aZcfw9X}UR0H>c_5G~Jx0o6~f2nr=?h&1t$hO*g0M<}}@$ zrkm4rbDC~W)6HqRIZZdG>E<-uoTi)8baR?+PSee4x;afZr|IT2-JGVI({yv1Zcfw9 zX}UR0H>c_5G~Jx0o6~f2nr=?h&1t$hO*g0M<}}@$=3ScRU7Dtw=ji4+x_ORno}-)R z=;k@Pd5&(LqnqdG<~h1~j&7c#o9F1}Il6g{Zl0r?=ji4+x_ORno}-)R=;k@Pd5&(L zqnqdG<~g3{IiBY^x_ORn&d|*nx;aBPXXxe(-JGGDGjwx?ZqCrn8M-+`H)rVP4Bece zn=^EChHlQ#%^A8mLpNvW<_z7Op_?;wbB1ot(9IdTIYT#R=;jRFoS~aDbaRGo&d|*n zx;aBPXXxe(-JGGDGjwx?ZqCrn8M-+`H)rVP4BedJU7F!tnxUJsbaR$&&eF|Ux;aZX zXX)lF-JGSHvvhNoZqCxpS-Lq(H)rYQEZv-?o3nItmTu0{%~`rROE+if<}BTurJJ*K zbC%~h%k!M2o3nItj&9D;%{jU`M>pr_<{aIeqnmSdbB=D#(akx!IY&3==;j>VoTHm_ zbaRew&e6>|x;aNT=ji4f-JGMFb98f#ZqCuoIl4JVH|OZ)9NnCwn{#w?j&9D;%{jU` zM>pr_<{aIeqnmSdbB=D#(akx!IY&3==;j>n(j4#79Nj!mH_y|}^K|n(-8@e>&(qEG zbn`sjJWn^z)6MgA^E}-=PdCrg&GU5gJl#A`H_y|}^K|n(-8@e>&(qEGbn`sjJWn^z z^E}VzYZsjmu{ zXT3Jhr!DiW*X9$yt?Ogw`Lty|;Z@r_pSH{=-pKYpW{a<@nU^2@uf7ssUaoNM>jCEF z4cERZU|z0p?P~+( zbM5uryw-QFy}p~*`p&i2ck^1`x%T>QUh6y8Uf<1YedpTiyLqkeTzh>tuk2Va(;Z*U zIG@;{_EpXE%8}LAZ_g`7)-Afg)Y3=$wGn*ZWd?ly&!K`eZAiW`N8Vz{VvD@R$uRTL4CLS zdcON9rS0;WddX$(RC8kG-=}}^O zl$ahRrbmhCQDSwmjM@bywmjM~UfCVtSOA9wnwniRn>ddX$(RC8kG- z=}}^Ol$ahRrbmhCQDSddX$(RC8kG- z=}}^Ol$ahRrbmhCQDSwmjM~UfCVtSOA9wnwniRn>ddX$(RC8kG-=}}^Ol$ahR zrbmhCQDSwmjM~UfCVtSOA9wnwniRn>ddX$(RC8kG-=}}^Ol$ahRrbmhCQDSwnZ*YAd>M@ba+`{U_RVtSOA9wnwnNfZvW-P5Ba3R^urN(oPoQo_@tl<@Q@B|JSA zm>vsEj|Ha30@GuG>9N4{SYUcAFg+HS9t%v51-T{ABY1i&Fg+F$o*oNwi`CO(L2j{n zdMq$K7Id|+Yfp~_rpE%)V?kF7dyA*X0@GuG>9L@zg}ueoV?kF7TRlA%vsEj|Ha30@GuG>9N4{Sdd%%IG!F0OpgVo#{$!1K@RbDPmcwr z#{$!1f$6cp^jKheEHFJ5m>vsEj|Ha30@GuG>9L?AkUc$)r^kYhK%`8M1*XS>jzBJH zi>Jo|(_?|@v7oybzE)d2Jrok22Gv%=9QTJ<3dvGSj2X z^e8hu%1nok22Gv%=9QTJ<3dvGSj2X^e8hu%1nok22Gv%=9QTJ<3dvGSj2X^e8hu%1nok22Gv%=9QTJ<3dvGSj2X^e8hu%1nok22Gv%=9QTJ<3dvGSj2X^e8hu%1nok22Gv z%=9QTJ<3dvGSj2X^e8hu%1nok22Gv%=9QTJ<3dv zGSg#`>9NT4SY&!EGCdZV9*azmMW)9h(_@k8vB>mTWO^(zJr^jKtiEHXV7nI4Nwk42`(BGY4$>9NT4SY&!E zGCdZV9*azmMW)9h(_@k8vB>mTWO^(zJr^jKtiEHXV7nI4Nwk42`(BGY4$>9NT4SY&!EGCdZV9*azmMW)9h z(_@k8vB>mTWO^(zJrbpE!e|mCJZuj%|XDAotdDs3V<)WPL+MlOf zl>hy@e67w!rNFhX*tw`Ixb}5B7nKOt9qN1hFHiD|TH*Q;JkKv`o$K0D{i3c)vi=nP z8TxbdfmLfv{iWXj?ZlM!|F1vIxuj<<)pNTkeI>QO>v{?2 zT*5h*^qi-(<@fyDwEop2YyG>ESi(O`_-6_KEa9Ie{Ii6AmPDC5`b+y~3I8nNpC$aW zgnyQJy-WCK3I8nNpC$aWgnyRs&l3Jwf+kD&X9@o-;h!b^vxI+^@Xr$dS;9X{_-6_K zEa9Ie&B<8L%Kll>oD8J)&l3Jw!aqy+X9@o-;h!b^vxI+^c!!tp&l2zR68>4@-Cn{! zOT6bxIyd4+wttrJ&l3Jw!aqy+X9@o-;h!a4)#ksnf0lGrn-u>n;h$yvvy6Y1@y{~; zS;jxhyr0YXXBq!2C+wf)g#ELeuz!~M%yAk2EaRVL{IiUImhsOruWp&wwahD8=Cv&2 zpJn{BjDME#&ocg5-e>s`S=EBI#x|E%Dj75uY;e^&6%3jSHaKP&iW1^=wzpB4PGf`3-< z&kFuo!9OebX9fSP;GY%zvx0wC@XreVS;0Rm_-6(Gtl*y&{Ii08R(OY3@XreG^9uf1 z;oV-rKP$ZFEBI#x|E%Dj75uY;e^&6%3jSHaKP&iW1^=wzpB4PGf`3-=&no^|#Xqa~ zXBGdf@_w%3pH=*`ihow|&no^|#Xqa~XBGdf;-6Lgvx75}W_pH=*`ihtJd&l>(&!#`{IXAS?X;h#19vxa}x@Xs3l zS;IeT_-BpRyM}+(@Xs3lS;IeT_-76Otl^(E{IiCC*6`07{#nC6Yxrjk|E%GkHT<)N zf7bBN8va?sKWq4B4gaj+pEdlmhJV)Z&l>(&!#`{IXAS?X@eZ%ypEcg+HT<*2yS;{g z)_Bj?@Xs3lS;IeT_-76Otl^(E{IiCC*6`07{#nC6Yxrjk|E%Mmb^NoAf7bEOI{sPb z{anXC>-c9K|E%Mmb^NoAf7bEOI{sP5KkN8s9sjKJ>ehK(>%5|MUduZES;s%?_-7se ztmB_`{IiaK*746e{#nOA>-c9K|2!}M98Em0)swoS)syw12j7sUs9%9Tg8rIF@w{BL zE&UDt=2hr#vgNm^UyZ&7_4jt4*YU6)?Z5IjzS{Hogs=8|KJnk!^1JBo@f`j;`uqI- z|Db+7^&e2bf%=Ui>GQhA-p|?JPyjc;SO2uTZa2uTig4U&g%~=y!O8@1oyBUqru;{s8?U z`XlrXx{21%I@&620*811_ z1@w#Pm(VYxUqQc$?ne)x2hl_5*U+cXr_ryY&!NZB6X;3w6nYvxgPujtp|j|D)GM9K zkm53YybKvH!^F$b@UlqZzwy;^mqiMzua3JcqFH~6{tW#&`oOC7@#E`LK?Ooxhk?b>vx=sbzlbf`dw z3UsI>Oos||s6dBG!gQ!4OovLsbg1aOivO?aP?0xWn+_GR*tO|UfesbuP=O8==um+U z73ffb4i%k~@&7U%DmvQnDQox^c$I#hH7!sJP|>+TcfoY1=-i-d)1jhsgRV`7ip~wXHXSN*yVZ24=xmSGbg1ZTkJWUj z=xmSGbg1ZTkJWUj=xmSGbg1aupdZt8sOa3FYtx~kbAzr;hf2b9s3c5>O2TxgBus}& z!gQ!4OovLsbf_duhf2b9s3c5>O2TxgBus}&!gQ!4OovLsbf_duhl0vb;Dmosvnhq7{P=O8==up{bI#l+V4wZeTLj^ii zphE>ZRCGmwx0?SgeGHW#*Hk3iD>9C=!SxtuxCCF+zY(R$%=&%7DHlV|X^5TCr z9X6B~tLdbl89n8_;0`I&46P4fWUWp6Rfm{z{?4 z26Wh9HL(F5HlV``de4Kz3wqDDrM|xU1-$LC?h7eRr1^^h~V2yUPoDCjOfi z>g%gt&@-{#=YQ>>yH>etN18-^ef10be2(q~);KS)#(6=$+S3-_o8<*Pt68bPpY?*) zINF!iIDQK2c1QYE@{4fcM6z29K(H`x0P_I`uC-(c@I*!vCkeuKT=VDC5B`wjMf zgT3Ei?>}JgH`)75_I{JS-(>GM+51iQev`f5WbZfG`%U(KlfB<$?>E`|P4<41z29W- zH`)75_I{JS-(>GUWbe1w`z`i}Pix7qt`_I{ha-)8T(+52twew)4DX79Jz`)&4qo4wy= z@3-0eZT5bfz29c+_eM){;N7UZ(Tl#IgyW*p_yoTEMzq%_v zddq+1Z#;kQ>WJF<-`MiI=-0+t9R9}_pLn7xAA{{M15CB)PClVv&Bc$cXdSVE$?KDkErkJh}v7;%@!X~ z-_;SdxA=(qu8yc(`-u9kj;LLKfWPz+^<5oNd&`H|;v?$2I->TLkFdo@)OU46?JXZ; z%g3pGM15CB)ZYF{)JN2JbwuqgpXM+Bj#u{?-k-mx{w(!BP=Aj4AE`f2{ZIU_FQ8v! z%a_nEqhCS4ita}bpa;=I=-1FEdCaGHoFmjvQx8yoo%&zs>A#}?hWS^k8)HBqx)N|D5sV`73po{255^;%lV2OH}dWCwGdX0LW`ZDg_K)-`yzl(kkeG&aW z`UCWb=#S7l=w05WP4-@;u2Bcnb?T71LA}M^x2c=dE$WE6O&wErsQro9T^;#2LHIs$jSN3MU0{tW#&`oO9wbV};;Gk0|auB7V--0CCnyE+2DB7K#PK9v{s*`+0@bCp7gE!<=fD=qmQHSK;MbJ3w<~G9`t?a`_T_b6PXi< zegEaXpGzc?|KHq1t5C5D6{})+tSzQu6)IMtVihV@p<)#(R-s}QDps{>yraK26{}FOs`E^K z98<9h6{|YWw4>Totm-_I)l{q|OvS1^?*D5lR^@cpreYN;R-s~5uJ^y1idDJZwW(Nz zidCps)q2$b*Ho-R#VS;+>KMdZOvNfxtm=5gTTI0&RIKXQ#9K_oDpagO#VS;+Ld7an ztm>G>e`zXKp<-3XFWzD*R-s~5$1>hxDpsLlRp*&pn~GJaScQsJ9qD+BsaS=IRh?(@ zt1}g=I?v?VRIKVelWSA4s`E^)O~tBmunu=AOXR?}#Rh?(Dnu=AOXR?}#Rh?(D znu=AOXR?}#Rh?(@W15OpooBL|idCIwvYLujoo8}wDpqx#$+f9i)p;h@ream+nOvKS zRh?&YZ7NoEp2@YTSk-wZ*QR1s=b2oaidCIwa&0PBb)Lz!saVx{CfBB7Rp*(kreaky z!S8^nSk+{3Z7NoEp2@YTSk-wZ*QR1sXA7*RVpZpvtfpdB=b5agVpZpvtfpdB=b5ag zVpX5h`du;=tNNVQwW(Ou=d`X(#i~B1b!{qE^*OEgZYoywIjw6`v8vB$U7LzkeNOAz zRIKtjZ51k3p<)#(R-s}QDpsLlRp%|7Zd0+U^A=W9u?iKdP_YUXt5C5D6{}FO3KgqR zu?iKdP_e3Mrq>7+t5C5D6>Ctj1{G^iu?7`unlnM71{G^iu?7`uP_YITYf!NU6>Ctj z1{G^iv8Ktetw%5wYnlmGQ?aILU^NwMngdo-v8L=>O~sm0Z#4&N%DdGZtSRYMbFik2 zTg}0m(rq;dYs$6N9ISCwU=0q|;9w07*5F_b4%WCTum%TfaIgjkYjCgz2WxP!1_x_! zum%TfaIgjkYf7v4Xb#rkU=0q|;9w07*5F_b4%Xmc4Gz}eU=0q|;9w07*5vb8k7f?m zI0sgPgEcrNdg8>{2;9vj;12`DK!2k{ha4>*_0UQkAU;qaL zI2gde01gIlFo1&r91P%K00#p&7{I{*4hC>AfP(=X4B%h@2Lm`5z`+0x25>Ndg8>{2 z;9vj;12`DK!2k{ha4>*_0UQkAU;qaLI2gde01gIlFo1&r91P%K00#p&7{I{*4hC>A zfP(=X4B%h@2Lm`5z`+0x25>Ndg8>{2;9vj;12`DK!2k{ha4>*_0UQkAU;qaLI2gde z01gIlFo1&r9MrE?Ymx_WFo1&r91P%K00#p&7{I{*4hC>AfP(=X4B%h@2Lm`5z`+0x z25>Ndg8>{2;9vj;130KVdTUAta4>*_0UQkAU;qaLI2gde01gIlPNdg8>{2;9vj;12`DK!2k{ha8Tb$;xWy^01oP^ zR!x-v4(cjKYI87vg8>{2;9vj;12`DK!2k{ha4>*_0UQkAU;qaLI2gde01oQR2=AUb zD3(&2g8>{2;9vj;12`DK!2k{ha4>*_0UQkAU;qaLI2gde01gIlFo1&r91P%K00#p& z7{I{*4hC>AfP(=X4B%h@2Lm`5z`+0x25>Ndg8>{2;9vj;12`DK!8#nQ!@)Wnti!=N z9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ z!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^ zIvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wn zti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@)Wnti!=N9IV5^IvlLS z!8#nQ!@)Wnti!=N9IV5^IvlLS!8#nQ!@&>^hHx;1gCQIY;a~^{LpT`1!4M9Ha4>{} zAsh_hU{}Ash_hU{}Ash_h zU{}Ash_hU{} zAsh_hU^cKtFOG<5&>Pmp8xv?)Njxk!YvW-j`V-B#lO+9C5P+!d^vnp z>R-RvlEY6)|Cq;lE6?+7JkFo6FoGpLKmUpn_oox9tw!Dii?`F%Nv*kT(c`x<* zsQ-fc{nQ`eFaMG)A7smi*z#9w`7m2P!j`{g%SYMrF}8f1`fu3&3F=Rxf6JCnQGc4h z{5xKque{q50sTsS<=vJD=-OA_ZHa)cedXPj66EfD0ri!4TS}1CSKe(YK~`URx1|JG zedXPj5@hw2cUwx3^+_J{DIVtt_0!Y?)L*Cm7kc`y=)a-=j{XPwpXfJGuLQRs;1&ej zf`D5Pa7zSq-=9IBMUSG#*q5)o+Y$l&8hz#6mI&zDSKe)jfUbSz-IfUG+E?CfiGZ$s z<=vJD=-OA_ZHa)cedXPj2i5B-}YTOy#-QN zcYd}+K-d1ApDj%uKY#zW&z2^SwS)Tez%9)mC&ix!ZfOd+_UD0HnnkYn$nQ_lpP@fT zA6OyX7Npw}>AdA()Sm}#X=-U-npeuK=9TUjr+MZ2)zq)yZ+;tnE&4jW!`qrFTD5Ab zSpB<&+nOh?{kvP+nk26Mi-p^o46fgxSGo=9wjtd%q}zsc+mLQsr1M|;ZVKBXo%M0l zcT?CF>8!q+!nR0f_1zSitiGGVwn*n^?%yihR$8t8eZpfa~a zR!*&7L!aUid^d${k(cwjtd%q}zsc+mLP>|7_!*ZH|t%LJef|EnNT+*?LAq^7w+-o6(zPDW88+|7y}Twbt{q zGU=LfySJEhONi%HkiTF+Zdx~81(Ehb%4{`VG>uBjBbHtCwmf@_nmskNTBm~>4g z!dpzbrgGseCS6l&J#R7Tno5Vam~>68^}OArYbqmFldh?xxHjpUTI>1snsiM_*MxLU zNY{jPO-R>-bWKRtgmg_M$p6cvYeKpvq-#RDCZuaZx+bJ+Lb@iTYeKrFju`zMOuD9y z8(o`pO=ZfpN!Qd`&uY>&wbrwmbWN@GtR`KPwO$j_H6dLS(lsGn6Vf#yT~lj4_uZsx zYOUvenRHD^*MxLUNY{jPO-R>-bWKRtgmg_v*MxLUNY{jPO-R>-bWKRtgmg_v*MxLU zNY{jPO-R>-bWN@G{H#p6rlx_NY0@=y^y}KBYw8%-wMp01k+5r%t_kUykglnsd{@rq+5^ldh??p5H^0t_kUykgf^onvkvu>6(zP3F(@Ut_kUykgmy^ zt_kUykgf^onvkvu>6(zPsWqKbY|=Hgrn8!KO(s>7N!5gOO-R>dYBeEU6Vf#yT@%tZ zAzf4R>XaVAq-$zkSxveYq-#OC7Nl!Ix)!8sLAn;CYeBjeq-#OC7Nl!Ix)!8sLAn;C zYeBjeq-#OCmQt_tzmTp4=~|Gk1?gIlt_A5@kgf&kT9B><=~|Gk1?gIlt_A5@kgf&k zT9B><=~|Gk1?gIlt_A5@kgf&kT9B><=~~L^9X&&nuBDt>O}ZAOYeBjeq-#OCmJ;e$ zWYV=DT?^8+AYDrt@&7gHTFQmhq-#OC7Nl!Ix)!8s$@BhKlddIKTTQx_oNP7eT9B^A zny$r~t_A5@tm#^it_A5@kgf&kT9B@Ve_Hsbg=bojt_A5@kgf&kT9B><=~|Gk1?gIl zt_A5@kgf&kT97V+bP=SBAYBCMB1jiOx(L!mkS>CB5u}SCT?FYONEbo62+~E6E`oFs zq>CV31nDA37eTrR(nXLif^-q2iy&PD=^{uMLAnUiMUXCnbP=SBAYBCMB1jiOx(L!m zkS>CB5u}SCT?FYONEbo62+~E6E`oFsq>CV31nDA37eTrR(nXLif^-q2iy&PD=^{uM zLAnUiMUXCnbP=SBAYBCMB1jiOx(L!mkS>CB5u}SCT?FYONEbo62+~E6E`oFsq>CV3 z1nDA37eTrR(nXLif^-q2iy&PD=^{uMLAnUiMUXCnbP=SBAYBCMB1jiOx(L!mkS>CB z5u}SCT?FYONEbo62+~E6E`oFsq>CV31nDA37eTrR(nXLif^-q2iy&PD=^{uMLAnUi zMUXCnbP=SBAYBCMB1jiOx(L!mkS>CB5u}SCT?FYONEbo62+~E6E`oFsq>CV31nDA3 z7eTrR(nXLif^-q2iy&PD=^{uMLAnUiMUXCnbP=SBAYBCMB1jiOx(L!mkS>CB5u}SC zT?FYONEbo62+~E6E`oFsq>CV31nDA37eTrR(nUAzd5NwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1 zAzd5NwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL7 z8`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1Azd5N zwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1Azd5NwIN*_(zPL78`8BQ zT^rK1Azd5Nwee3I|FrQ;8`8BQT^rK1Azd5NwIN*_(zPL78`8BQT^rK1Azd5N#gHzB zbTOohAzcjVVn`Q5x){>MkS>OFF{FzjT@2}BNEbu87}CX%E{1e5q>CY44C!J>7el%j z(#4Q2hIBEciy>VM>0(G1L%JB!#gHzBbTOohAzcjVVn`Q5x){>MkS>OFF{FzjT@2}B zNEbu87}CX%E{1e5q>CY44C!J>7el%j(#4Q2hIBEciy>VM>0(G1L%JB!#gHzBbTOoh zAzcjVVn`Q5x){>MkS>OFF{FzjT@2}BNEbu87}CX%E{1e5q>CY44C!J>7el%j(#4Q2 zhIBEciy>VM>0(G1L%JB!#gHzBbTOohAzcjVVn`Q5x){>MkS>OFF{IOP!|P};hIBEc ziy>VM>GZpUTDj=A22ro+Vn`Q5I{ki|j{IXt7el%j(#4Q2hIBEc)9(Xm4H!eZ7}CX% zE{1e5q>CY44C!J>7el%j(#4Q2hIBEciy>VM>0(Hyd#-7{ru&O&y{0>JQF~1nL%JB! z#gHzBbh>AOj+6B*P}FBHV@MZ6x){>MkS>OFF{FzjT@2~;Z2=uo>xy!%>2z%@wa;G0 zkS>OFF{FzjozCv?KKSfq4C!J>7el%j(#4Q2hIBEciy>VM>0(G1L%JB!#gHy$QpHTF z7}CX%E@o=QkS>OFF{FzjT@2}BNEbu87}CX%t^?^hkgfyiI*_gd={k_E1L-=Dt^?^h zkgfyiI*_gd={k_E1L-=Dt^?^hkgfyiI*_gd={k_E1L-=Dt^?^hkgfyiI*_gd={k_E z1L-=Dt^?^hkgfyiI*_gd={k_E1L-=Dt^?^hkgfyiI*_gd={k_E1L-=Dt^?^hkgfyi zI*_gd={k_E1L-=Dt^?^hkgfyiI*_gd={k_E1L-=Dt^?^hkgfyiI*_gd={k_E1L-=D zt^?^hkgfyiI*_gd={k_E1L-=Dt^?^hkgkJ&I{2r9XF8Cs1L-=Dt^?^hkgfyiI*_gd z={k_E1L-=Dt^?^hknWxs_hRCn7-vnPuRtF`e@#>99xS^jziq4bw`cCjZ?1iv@ICQM zIg#tU#owX1C)c_5Jx=b4L9YExyL~eowR4weMnnPqWvx?`3{Zv)A=`>WjSRzQ5)@ zO;@Y$uX#@s)w+RxhiCg;^n2)w==aedpg%-^gx*0n=~@k~qYZQ$ZJ}+ngZguyd(6yx zOv`(kllI9^(Vw9|M;}<_YU``)6FJ%X8hzL1o;+-Qt@OSes97urT78!Oz8q-v`T6_u zp4H!vzb|)LA4h$sg!^)r)pts`FLzmer-b`*m(_PlxUb1$^_>##Yw}n>kNQ43_vIq% z7tt@FzEi?|O&+W7lyF~@$Lc#J+?R{2zEi?|xybqy>N_RemuIZcp~q3*DdD~*kJWcd zxUb1$^_>##%L7*5DdE2QZar_+J7(oQQM#`rx+JUecW>Q5ZH zB)UtYyCk|xqPrxzOQO3Zx=W(FB)UtYyCk|xqPrxzOQO3Zx=W(FB)UtYyCk|xqPrxz zOQO3Zx~q3y*MsV4&Ck$@?&@gGwG-Xd(VA-~x=W(FB)Y3!c#9L=CDC2=!nG6KRWGbg zbeBYTNpzP)cS&?t9og2uI?-Jc-6hdo65S=yT@u|T(OnYVCDC0H-PO^Q|F09>)zOq| zC%UVnDc4SPS4UH>o#-x!?vm&(iSClKMuDM0dp|s}tQ7o2*WBS8TF6(Ot30>O^-* zbeBYTNpzP)cXi~WBP1R9Se@uDiSCln@kwdIbw0 z-X+nyBzl)b?~>?U61_{JcS-aviQXmAyCiy7KGAxQMDLR5T@t+uqjyR4E{WbH(Yqvi zmqhQ9=v@-MOQL_QtObc5D{Iy_qrT73kF^%tk#17g&^p>cx6u~bMmy+z{+I9k{bQ{f zr2BlIp&x72VD){5eysJvi&FpI`;WPw(2rRK{Fqh1k99wx?Zi*?tahY-sP9MrgcagX zGzYw8lPxv0jy6zVgYgqqF+X7y^AlDvds?4rRg4q%aKau=*ux2XIAISb?BRqxUiF?< zp#EPza@*4i)cQF34%9P$Pb*NXkLC8X0=2#meLw1>yFINytsg=^jQU7#Pb*NXkN5Vp z0=0eu{UrJ+)W?B)cx(@k?cuRKJhq3&_VCyq9^1oXdw6UQkL}^HJv_FD$M*2p9v<7n zV|#dP50CBPu{}JthsXBt*d89!FaGj;OpQG}wui^|@Yo(6+rwjfS~>3MZ|s3RJg_GZ zTuJQ71J)G!>-z1HJ^iY{?@Av_yk6Qz-B0Z!$vs@Ur`4kW*Y6~LQ~G=8@9URL_V&G= z`b~*HR{e+Qo6)xh zccd@VU;cvT$&OUtyO+LJ`iuKs@?cN;vIl`wzo8_3owolHTYg!4+}`)gs$Y~or0u_~ zf8E~q5}w0L_Wh#%{w4c<34NLN@)925CH&1x`M)pK-|XyrDSz`)J%GmzV8J z=+R!bZ(rge=`ZLRzD$4bEx)9{d6}O1sPrXzZZF&SQnvpJ+aKaDbsr0D*L^Icx>il9 ztIMSN{=W3J=<6OF*!L^!{a3X2ZPk8_5ApmT;<-JOz(6iA0ddTUPD&110TlzXZ zhnM>}L8`U9RBL&uj{K!M@|XU)p2N!%kLtO-T<5D@KZf?Bx>KgM=pG2tS5v=+`nUOe z_u}Qstp8QN5+HpedwdiB_YWUj(iUA4E7fm|OCLw|8{?|qjeY?A5c(1HW9X+*t?Tud zpW*Sf3Q+x7YOMlPe~wzK0M(zT{wMy|7tk-Vw4A4skN?GeS%u60M#d{wF*#uidw4x)u*Yo3Q&E9 zTI+h%XQ{QWSAC9J>w49*)LPf8K2QBT@AGBe^9uC_^|$HH74#~44ZV)uKyRYA(A(%; z9$}MyRjF�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

t<(;idIiFIgTh;lxYp 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 TZJ87g1h|Ao;nVzSnfm<~8t9?D literal 0 HcmV?d00001 diff --git a/proxy/web/230aeae00823cd3b622d093948d9c433.png b/proxy/web/230aeae00823cd3b622d093948d9c433.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa7877f0e3a9f230691ae5c9ae090e536b0bcd0 GIT binary patch literal 3955 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 literal 0 HcmV?d00001 diff --git a/proxy/web/2bf15a1686c7a1bf7b577337a07d7049.otf b/proxy/web/2bf15a1686c7a1bf7b577337a07d7049.otf new file mode 100644 index 0000000000000000000000000000000000000000..91810472fca8cda90f4e5e4d71ba184275c3c79c GIT binary patch literal 135444 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

gq&`-9Atqsm*oKh;1s3TmJW0a8y^IJ?(L)KY zwF)fKbd`~_Hri$VQbqic)q&*b|Hz=MH_}d))5M2-I-Csb``vgLDX4tW)n8Kz38k>c zBz;-&x&nOh9~m_6u4T6?Z}hsx{TYewt;AR}dSV6I0-J zNqZSMmcA*I!WSlpKwl(A9Kl^VaroE)A;xnb-vlG6%%Y6K0?ox0hv#ev-IWxs%Z#CN zDynj-wU-(qmL#Spq$LPx2~>V?Ku&;m%96l&%T8@+#^*GcgFV&>XAh!9o!q)$9H)R4YjjmNZuHmKbkcbfe24o+& zlQHBicaS#EJI{pC>Y6sP;KLHjky3ZkDKcC!4{ym|93Ch}6u8vgLW9<+#HK35ospZ2 z#+FMy8vAHTUHR{BW8iDG)YYrE#hlAWbLLPq=dtR-T|w>Oascy(r7l*R>hd;hS&ZK5 z->`6?jvQo=V{Dt%$aF<_AL=E0agkAZ!fS){r5GTCeL$h6<0_!PwwXqj zFxhOaMADul8Y^F8UXt!^{tBCmt?>Ffk9GMum~MdS=cM>;ucz?0SR2B?Y?6MR2Pd*) zFYgKACfI0_J{2P@-nsuZ#)ITuvz&N72I2ushjk(S>D4#AZfn7kGscdZ{p%^rMIz8DugV zC+2d>C1B0gW!mVZy_x8>?MSimql&ZBOyH$gL|g>Xqh1ViUL&Eu zg#HrNS(G{GbZ41bP10YWLG~MDbFG!-#sk_iV{DW`*kP=Q+K)=01K;cy^jXxBZQ)Vd zw9z|C3{iq{N4R0TcH`!)Ufb|}Ng8DClw!aUBqO~Cp`ga>W$rx2s6IHUYM{P$Ls3SV zzA)$J^Bcvm)24uqk znS~j73K&QFbGg_TiQTrna?=4SpN@(&g<%XFYf4I@^hxsdC7eDs=`=R+$}`dVImwAh zDXA&Dg~Dhmk)D>$#qBI8D$Fk|F3#8M<98;+2|krvQ3aJpM}<<+NoDe=YAlnny=!;T z>YfggF#UckxI0L;#~;Lk!d((ftCbSTywh9`Hb{_EZlr2*17na+7pw zTV#4CC*c_FnJw9wm6#K+EAinXk5h?>yW-yKrko%nncW1e`>4x(W@z9nrCEk2*ii_bCZE`*gqo${y!dyk6iUHE zCSnmWR7lt1KX7O1nZ_a)zg%>ao`)baf##pPxfGd2lIXk(# z`qOJ{Ykt3jF}EWURteF_STScW#GhjIELO!z^SkA|ISad0S0)qtn6oA_<}wS&jI6z5 zGBB76eHgQ)S^!8!Eil)_@#aeG*9GvAAwp3(m$6huP|Q&$+cY(Z*dVqbGs z3WK1U6lC9{15Um|=*$rYNIO6$`vb#sK-|ls2U1zwc?6XDMV^STgC3Uny#abyDGBH6 zb?Wb4Q6@phGO-AjJo0tmLkkO-uF|)@fVp=b=6L(bIt%s&@TaRV< zKY}HpTA&7XBtJ;Hq+jB`VIy$IG;e94wARMfMv0qkthH&dd1doKCdF+u#>>9KZ8WyY zzLnjw)!O#89fCS%i@rJCw$AnxZh~ThX?N8Pp}E^edACf;23W zti-tvsL(p1=eF?BYw#;#zm|WENIv2xpN&PN-qs?%64;xJBhO|>QiZkWioVvqzqfMu zjuP3XY|do}$iG`wo}35zzC|NYVps;Ouq=RZxujEOPwf zk>hvPnPJK2L0`D_(>nTH>8RRQoqJelVIt6FFQ$@0QZ{YT48AZ6Xw*sGgK7#suYdpO zo%YY>d1JPuh9+$aWpa;X9j?;6_W2HN+f11;Jy6H)GY;n28b&vmVHujPYYXz?3ljIFC@f%^=hwh53Q@~(XST^v2m35rC)=7 z)z-o$j!4Gd{~db$i8#q%_@sU4m;D^kimSjD@ckK9Cfe({U!K)8-xMB0BSk7`^smwT zo=UQ*b@Saejn$R$hmWh7jFmvQ$wN7ouopS7f|{Fi%g zaMyl0@HQah0mDFh=>O`%;)T_MA)mS&GUsxCd}u^xi5*!tW;?_Fq@Vtp@LDnn$Dk`2 z#3I1HEz%0GqjJ5ap=G}iMX!%o8|tB*6>+FO-J)YpJsS9H1mDY@kyJ{hn`n7$dR z(f1$%?rR>4N?**`V1x~O&+`wUNpu#6S~3N_yX?ty(H=7ebGw{S`HJJmN{eO@Q|3e* zpmXpd=Fs~)C>Ht8DDrA#5D*4+qHCb2)AxEcK)U5*nDI88Qrxx z{cDIqOB`r+ef`#px_zb8vdnE|Rj9H3?98ZpK1aHh>V!J5253_)a1_T#l=ns=WxKJ#n80)c9e#o7##~mgp z=uLy<#isd}g=W8l^V~E8)(xFKTj%CRm{mm3vPg*VU{Kj>Vk>E!98lT5fM$`yJcePB zdl4Qv4_5#Sf@~#(2<&QT2_jL2-$L+g_?SAvxs^-pSB$o z*lwy`JF@8hc?9S5X$WNwBLi426bEG??E_Spo>G03cC;|;{{~sv$3b=-2iZ{^WMw$W zj&=_+MDoXA6dA;liGW@U%w#{Z3So|U0_wXfB6yatPltetMJ}U-m54;f3(QuAeP5oz z^T%V8N zgI{_w#fn@?wYg92?#PNrcBOedqVtX)##8K`{XF|-(Ocrk(ip9>0~ov;YKb zkgdS}^)9E`XcWn8sGYySdyO}XN(YXmw$p5&xDne?8C&Hl8bfy+yi)UG`~kIS!+PZR zvcv|jL)>BN-g?HHXKz6;mS9 { + const r = d(e); + if (r.length < 6) return; + let n, + [o, s, a, l, u, c, g] = r; + i[s] || (i[s] = {}), + i[s][a] || (i[s][a] = {}), + i[s][a][l] || (i[s][a][l] = {}), + i[s][a][l][u] || (i[s][a][l][u] = {}), + i[s][a][l][u][c] || (i[s][a][l][u][c] = {}), + i[s][a][l][u][c][g] || (i[s][a][l][u][c][g] = []), + (n = t ? t[o] : _(o)), + n && i[s][a][l][u][c][g].push(n); + }), + i + ); + }), + (t.parseCSVRecordIntoArray = d), + (t.serializeGridCodeConfigIntoCSVRecord = function (e) { + var t, i, r, n, o, d, _; + return [ + null !== (t = e.grid_code) && void 0 !== t ? t : "", + null !== (i = e.country) && void 0 !== i ? i : "", + null !== (r = e.state) && void 0 !== r ? r : "", + null !== (n = e.distributor) && void 0 !== n ? n : "", + null !== (o = e.utility) && void 0 !== o ? o : "", + null !== (d = e.retailer) && void 0 !== d ? d : "", + null !== (_ = e.region) && void 0 !== _ ? _ : "", + ] + .map((e) => (e.includes(",") ? `"${e}"` : e)) + .join(","); + }), + (t.parseCSVRecordIntoGridCodeConfig = function (e) { + if (!e) return {}; + const [t, i, r, n, o, _, s] = d(e); + return { grid_code: t || void 0, country: i || void 0, state: r || void 0, distributor: n || void 0, utility: o || void 0, retailer: _ || void 0, region: s || void 0 }; + }), + (t.gridCodeSelectionsEqual = function (e, t) { + for (let i of r.gridCodeNestedLookupKeys) if (e[i] !== t[i]) return !1; + return !0; + }), + (t.parseGridCodeNameForSettings = _), + (t.applyGridCodeOverridesToPoints = function (e, t) { + let i = null != t ? t : []; + return (null != e ? e : []).map((e) => { + const t = i.find((t) => t.name === e.name); + return Object.assign(Object.assign({}, e), { override: t ? t.value : null, value: t ? t.value : e.file_value }); + }); + }), + (t.applyGridCodePointsToOverrides = function (e, t) { + let i = null != e ? e : []; + const r = (null != t ? t : []).filter((e) => !i.find((t) => t.name === e.name)); + return i.reduce((e, t) => ("number" == typeof t.override && e.push({ name: t.name, value: t.override }), e), r); + }), + (t.gridCodePointsToInputs = function (e) { + const t = {}; + return (null != e ? e : []).forEach((e) => (t[e.name] = "number" == typeof e.override ? e.override.toString() : "")), t; + }), + (t.subObjectHasValidGridCodes = function e(t, i) { + if (Array.isArray(t)) { + for (let e of t) if (i(e)) return !0; + return !1; + } + for (let r in t) if (e(t[r], i)) return !0; + return !1; + }), + (t.selectSubObject = s), + (t.resolveNestedLookupStructureBySelections = function (e, t, i) { + let n = e; + for (let e of r.gridCodeNestedLookupKeys) { + if (e === i) break; + let r = s(n, t[e]); + if (!r) return null; + n = r; + } + return n; + }), + (t.shouldCollapse = function (e) { + return !e.length || (1 === e.length && e[0] === r.GRIDCODE_ALL_OTHER_SELECTION); + }), + (t.shouldAutoSelect = function (e) { + return 1 === e.length; + }), + (t.dropdownSelectionToConfigValue = function (e) { + return e === r.GRIDCODE_ALL_OTHER_SELECTION ? r.GRIDCODE_ALL_OTHER_STAR : e; + }), + (t.configValueToDropdownSelection = function (e) { + return e === r.GRIDCODE_ALL_OTHER_STAR ? r.GRIDCODE_ALL_OTHER_SELECTION : e; + }), + (t.gridCodeConfigToSelections = function (e) { + return { country: e.country, state: e.state, distributor: e.distributor, utility: e.utility, retailer: e.retailer, region: e.region, grid_code: e.grid_code }; + }), + (t.gridCodeToOption = function (e, t) { + const i = _(t); + return i ? { value: t, label: (0, o.formatGridCodeSettingsSummary)(e, i) } : null; + }), + (t.emptyGridCodeSelection = { + [r.GridCodesNestedLookupKey.country]: void 0, + [r.GridCodesNestedLookupKey.state]: void 0, + [r.GridCodesNestedLookupKey.distributor]: void 0, + [r.GridCodesNestedLookupKey.utility]: void 0, + [r.GridCodesNestedLookupKey.retailer]: void 0, + [r.GridCodesNestedLookupKey.region]: void 0, + [r.GridCodesNestedLookupKey.grid_code]: void 0, + }); + }, + 1086: function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.gridCodePointMessages = t.gridCodeUnitMessages = t.gridCodeLevelMessages = t.formatGridCodeSettingsSummary = t.gridCodeViewMessages = void 0); + const r = i(3), + n = i(1083), + o = i(577); + (t.gridCodeViewMessages = (0, r.defineMessages)({ + filterFreqWarning: { id: "grid_code_view_filter_freq_warning", defaultMessage: "Carefully select the appropriate grid code to ensure that the system will run at the intended voltage and frequency." }, + settingsSummary: { + id: "grid_code_view_settings_summary", + description: "Provides a summary of the grid code settings: the voltage, frequency, and phase configuration (e.g. Split-Phase, Three-Phase, etc.)", + defaultMessage: "{voltage} {frequency} {phase}", + }, + preconfigured: { + id: "grid_code_view_preconfigured_label", + description: "Label for a preconfigured grid code (the grid code is present in config but cannot be resolved using the lookup keys)", + defaultMessage: "PRECONFIGURED GRID CODE", + }, + })), + (t.formatGridCodeSettingsSummary = function (e, i) { + let r = ""; + "number" == typeof i.grid_freq_setting && (r = e.formatMessage(o.unitMessages.hertz, { frequency: i.grid_freq_setting })); + let n = ""; + "number" == typeof i.grid_voltage_setting && (n = e.formatMessage(o.unitMessages.volts, { voltage: i.grid_voltage_setting })); + const d = o.phaseMessages[i.grid_phase_setting]; + let _ = d ? e.formatMessage(d) : ""; + return e.formatMessage(t.gridCodeViewMessages.settingsSummary, { frequency: r, voltage: n, phase: _ }); + }), + (t.gridCodeLevelMessages = (0, r.defineMessages)({ + [n.GridCodesNestedLookupKey.country]: { id: "grid_code_view_country_label", defaultMessage: "COUNTRY" }, + [n.GridCodesNestedLookupKey.distributor]: { id: "grid_code_view_distributor_label", defaultMessage: "DNO" }, + [n.GridCodesNestedLookupKey.utility]: { id: "grid_code_view_utility_label", defaultMessage: "UTILITY" }, + [n.GridCodesNestedLookupKey.retailer]: { id: "grid_code_view_retailer_label", defaultMessage: "RETAILER" }, + [n.GridCodesNestedLookupKey.state]: { id: "grid_code_view_region_label", defaultMessage: "REGION" }, + [n.GridCodesNestedLookupKey.region]: { id: "grid_code_view_standard_label", defaultMessage: "STANDARD" }, + [n.GridCodesNestedLookupKey.grid_code]: { id: "grid_code_view_volt_freq_label", defaultMessage: "VOLTAGE/FREQUENCY" }, + })), + (t.gridCodeUnitMessages = (0, r.defineMessages)({ + grid_code_unit_Hz: { id: "grid_code_unit_Hz", defaultMessage: "Hz" }, + grid_code_unit_s: { id: "grid_code_unit_s", defaultMessage: "seconds" }, + grid_code_unit_V: { id: "grid_code_unit_V", defaultMessage: "Volts" }, + grid_code_unit_V_pu: { id: "grid_code_unit_V_pu", defaultMessage: "V / V_nominal" }, + grid_code_unit_enum: { id: "grid_code_unit_enum", defaultMessage: "enumerated value, see manual" }, + grid_code_unit_bool: { id: "grid_code_unit_bool", defaultMessage: "0 = no, 1 = yes" }, + })), + (t.gridCodePointMessages = (0, r.defineMessages)({ + grid_code_point_nominal_grid_frequency: { id: "grid_code_point_nominal_grid_frequency", defaultMessage: "Nominal Grid Frequency" }, + grid_code_point_nominal_grid_voltage: { id: "grid_code_point_nominal_grid_voltage", defaultMessage: " Nominal Grid Voltage (L-N)" }, + grid_code_point_nominal_pinv_voltage: { id: "grid_code_point_nominal_pinv_voltage", defaultMessage: "Nominal Grid Voltage of connected Powerwalls" }, + grid_code_point_vf_limit_under_voltage_0_grid_following: { id: "grid_code_point_vf_limit_under_voltage_0_grid_following", defaultMessage: "Under Voltage Reconnect Limit" }, + grid_code_point_vf_limit_under_frequency_0_grid_following: { id: "grid_code_point_vf_limit_under_frequency_0_grid_following", defaultMessage: "Under Frequency Reconnect Limit" }, + grid_code_point_vf_limit_under_voltage_1_grid_following: { id: "grid_code_point_vf_limit_under_voltage_1_grid_following", defaultMessage: "Under Voltage Trip 1 - Limit" }, + grid_code_point_vf_limit_under_frequency_1_grid_following: { id: "grid_code_point_vf_limit_under_frequency_1_grid_following", defaultMessage: "Under Frequency Trip 1 - Limit" }, + grid_code_point_vf_timing_under_voltage_1_grid_following: { id: "grid_code_point_vf_timing_under_voltage_1_grid_following", defaultMessage: "Under Voltage Trip 1 - Timing" }, + grid_code_point_vf_timing_under_frequency_1_grid_following: { id: "grid_code_point_vf_timing_under_frequency_1_grid_following", defaultMessage: "Under Frequency Trip 1 - Timing" }, + grid_code_point_vf_limit_over_voltage_0_grid_following: { id: "grid_code_point_vf_limit_over_voltage_0_grid_following", defaultMessage: "Over Voltage Reconnect Limit" }, + grid_code_point_vf_limit_over_frequency_0_grid_following: { id: "grid_code_point_vf_limit_over_frequency_0_grid_following", defaultMessage: "Over Frequency Reconnect Limit" }, + grid_code_point_vf_limit_over_voltage_1_grid_following: { id: "grid_code_point_vf_limit_over_voltage_1_grid_following", defaultMessage: "Over Voltage Trip 1 - Limit" }, + grid_code_point_vf_limit_over_frequency_1_grid_following: { id: "grid_code_point_vf_limit_over_frequency_1_grid_following", defaultMessage: "Over Frequency Trip 1 - Limit" }, + grid_code_point_vf_timing_over_voltage_1_grid_following: { id: "grid_code_point_vf_timing_over_voltage_1_grid_following", defaultMessage: "Over Voltage Trip 1 - Timing" }, + grid_code_point_vf_timing_over_frequency_1_grid_following: { id: "grid_code_point_vf_timing_over_frequency_1_grid_following", defaultMessage: "Over Frequency Trip 1 - Timing" }, + grid_code_point_vf_timing_qualifying_time_grid_following: { id: "grid_code_point_vf_timing_qualifying_time_grid_following", defaultMessage: "Inverter Grid Requalification time" }, + grid_code_point_vf_param_allow_charging_while_qualifying: { id: "grid_code_point_vf_param_allow_charging_while_qualifying", defaultMessage: "Allow battery charging during grid qualification period" }, + grid_code_point_PINVrx_SmartInvSelect: { id: "grid_code_point_PINVrx_SmartInvSelect", defaultMessage: "Enabled Smart Inverter Features" }, + })); + }, + 1089: function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return a; + }); + var r = i(2), + n = i(1085); + function o(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, r); + } + return i; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(i), !0).forEach(function (t) { + _(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : o(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function _(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { + isRetrieving: !1, + isFetching: !1, + isSaving: !1, + isSetting: !1, + didInvalidate: !1, + error: null, + codes: {}, + config: { + country: void 0, + state: void 0, + distributor: void 0, + utility: void 0, + retailer: void 0, + region: void 0, + grid_code: void 0, + show_all_grid_codes: !1, + grid_code_overrides: [], + grid_voltage_setting: void 0, + grid_phase_setting: void 0, + grid_freq_setting: void 0, + }, + status: null, + servicesActive: !1, + offGrid: !1, + measuredFrequency: null, + }; + function a(e = s, t) { + switch (t.type) { + case r.REQUEST_SITE_INFO: + return d(d({}, e), {}, { isRetrieving: !0, didInvalidate: !1 }); + case r.REQUEST_GRID_CODES: + return d(d({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case r.REQUEST_SAVE_OFF_GRID: + return d(d({}, e), {}, { isSaving: !0, didInvalidate: !1 }); + case r.REQUEST_SAVE_GRID_CODE: + return d(d({}, e), {}, { isSaving: !0, isSetting: t.isSetting, didInvalidate: !1 }); + case r.RECEIVE_SITE_INFO_SUCCESS: + return d(d(d({}, e), l(e, t)), {}, { isRetrieving: !1, didInvalidate: !1 }); + case r.RECEIVE_GRID_CODES_SUCCESS: + let i = t.gridRegions; + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !1, codes: Object(n.parseRegionsCSVIntoNestedLookupStructure)(i.regions, i.grid_code_settings) }); + case r.RECEIVE_SAVE_GRID_CODE_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt }, l(e, t)); + case r.RECEIVE_SAVE_OFF_GRID_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, offGrid: t.offGrid }); + case r.RECEIVE_GRID_STATUS_SUCCESS: + return d(d({}, e), {}, { status: t.grid_status, servicesActive: t.grid_services_active }); + case r.RECEIVE_SITE_INFO_ERROR: + return d(d({}, e), {}, { isRetrieving: !1, didInvalidate: !0 }); + case r.RECEIVE_GRID_CODES_ERROR: + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case r.RECEIVE_SAVE_GRID_CODE_ERROR: + case r.RECEIVE_SAVE_OFF_GRID_ERROR: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !0 }); + case r.RESET_ALL: + case r.RESET_GRID_CODE_CONFIG: + return s; + default: + return e; + } + } + function l(e, t) { + let i = d(d({}, e), {}, { offGrid: null != t.offgrid ? t.offgrid : e.offGrid, measuredFrequency: null != t.measured_frequency ? t.measured_frequency : e.measuredFrequency }), + r = t.grid_code; + return r ? d(d({}, i), {}, { config: r }) : i; + } + }, + 1096: function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return a; + }); + var r = i(2), + n = i(93); + function o(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, r); + } + return i; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(i), !0).forEach(function (t) { + _(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : o(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function _(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { + isFetching: !1, + isSaving: !1, + didInvalidate: !1, + siteName: "", + timezone: null, + mode: null, + backupReserve: null, + exportLimit: null, + generationLimit: null, + solarLimit: null, + batteryLimit: null, + hecoCommittedDischargePower: null, + hecoFromHour: null, + hecoFromMinute: null, + hecoScheduledDispatchEnabled: null, + hecoAlreadySet: null, + }; + function a(e = s, t) { + switch (t.type) { + case r.REQUEST_SITE_NAME: + case r.REQUEST_SITE_INFO: + case r.REQUEST_OPERATION_SETTINGS: + case r.REQUEST_TIMEZONE: + return d(d({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case r.REQUEST_SAVE_SITE_NAME: + case r.REQUEST_SAVE_EXPORT_MODE: + case r.REQUEST_SAVE_OPERATION_SETTINGS: + case r.REQUEST_SAVE_TIMEZONE: + return d(d({}, e), {}, { isSaving: !0, didInvalidate: !1 }); + case r.RECEIVE_SITE_NAME_SUCCESS: + case r.RECEIVE_SITE_INFO_SUCCESS: + const i = t.payload || t; + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt, siteName: i.site_name, timezone: i.timezone, netMeterMode: i.net_meter_mode }); + case r.RECEIVE_SAVE_SITE_NAME_SUCCESS: + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt, siteName: t.siteName }); + case r.RECEIVE_OPERATION_SETTINGS_SUCCESS: + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt }, l(e, t)); + case r.RECEIVE_SAVE_OPERATION_SETTINGS_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, lastSavedAt: t.receivedAt }, l(e, t)); + case r.RECEIVE_TIMEZONE_SUCCESS: + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !1, timezone: t.time_zone || e.timezone }); + case r.RECEIVE_SAVE_TIMEZONE_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt, timezone: t.timezone }); + case r.RECEIVE_GET_EXTRA_PROGRAMS_SUCCESS: + return d( + d({}, e), + {}, + { isSaving: !1, didInvalidate: !1 }, + (function (e, t) { + let i = (t.extraPrograms || []).find((e) => e.name === n.b.HECO && e.type === n.c.POWER_RANGE); + if (i && i.recurring_events.length > 0) + return { + hecoScheduledDispatchEnabled: !0, + hecoCommittedDischargePower: 1e3 * i.recurring_events[0].discharge_power_kw[0], + hecoFromHour: i.recurring_events[0].schedule.fromHour, + hecoFromMinute: i.recurring_events[0].schedule.fromMinute, + hecoAlreadySet: !0, + }; + return { hecoScheduledDispatchEnabled: !1, hecoAlreadySet: !1 }; + })(0, t) + ); + case r.RECEIVE_POST_EXTRA_PROGRAM_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1 }); + case r.RECEIVE_SITEMASTER_SETTINGS_ERROR: + case r.RECEIVE_START_SITEMASTER_ERROR: + case r.RECEIVE_STOP_SITEMASTER_ERROR: + case r.RECEIVE_SITE_INFO_ERROR: + case r.RECEIVE_OPERATION_SETTINGS_ERROR: + case r.RECEIVE_TIMEZONE_ERROR: + case r.RECEIVE_GET_EXTRA_PROGRAMS_ERROR: + case r.RECEIVE_POST_EXTRA_PROGRAM_ERROR: + return d(d({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case r.RECEIVE_SAVE_SITE_NAME_ERROR: + case r.RECEIVE_SAVE_OPERATION_SETTINGS_ERROR: + case r.RECEIVE_SAVE_TIMEZONE_ERROR: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !0 }); + case r.RESET_ALL: + case r.RESET_OPERATION_SETTINGS: + return s; + default: + return e; + } + } + function l(e, t) { + let i = null != t.backup_reserve_percent ? t.backup_reserve_percent : t.backupReserve, + r = null != t.max_pv_export_power_kW ? t.max_pv_export_power_kW : t.solarLimit; + return ( + n.g.includes(t.mode) || (i = null), + { + mode: t.mode || e.mode, + backupReserve: null != i ? i : e.backupReserve, + exportLimit: null != i ? 100 - i : e.backupReserve, + solarLimit: void 0 !== r ? r : e.solarLimit, + generationLimit: null != t.generationLimit ? t.generationLimit : e.generationLimit, + batteryLimit: null != t.batteryLimit ? t.batteryLimit : e.batteryLimit, + } + ); + } + }, + 1116: function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return l; + }); + var r = i(27), + n = i(2); + function o(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, r); + } + return i; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(i), !0).forEach(function (t) { + _(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : o(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function _(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { id: 1, brand: "", model: "", powerRating: null, port: null, baudrate: null, ip: null, revenueGrade: null }, + a = { isFetching: !1, isSaving: !1, isConnecting: !1, didInvalidate: !1, brands: [], models: {}, items: [s] }; + function l(e = a, t) { + switch (t.type) { + case n.ADD_SOLAR: + return d(d({}, e), {}, { items: [...e.items, d(d({}, s), {}, { id: t.id })] }); + case n.REMOVE_SOLAR: + let i = e.items.filter((e, i) => t.index !== i); + return d(d({}, e), {}, { items: i.length ? i : a.items }); + case n.RECEIVE_SOLAR_CONFIG_SUCCESS: { + let i = d({}, e); + return t.solars.length && (i.items = t.solars.map((e, t) => ({ brand: e.brand, model: e.model, id: t + 1, powerRating: e.power_rating_watts, ip: e.ip_address || null, revenueGrade: e.revenue_grade || null }))), i; + } + case n.RECEIVE_SOLAR_BRANDS_SUCCESS: + return d(d({}, e), {}, { brands: t.brands }); + case n.RECEIVE_SOLAR_MODELS_SUCCESS: + return d(d({}, e), {}, { models: d(d({}, e.models), {}, { [t.brand]: t.models }) }); + case n.REQUEST_SAVE_SOLAR_INVERTERS: + case n.REQUEST_DELETE_SOLAR_INVERTER: + return d(d({}, e), {}, { isSaving: !0, didInvalidate: !1 }); + case n.RECEIVE_SAVE_SOLAR_INVERTER_SUCCESS: + let o = 0, + _ = Object(r.cloneDeep)( + e.items.find((e, i) => { + let r = e.id === t.id; + return r && (o = i), r; + }) + ); + return d( + d({}, e), + {}, + { + items: [ + ...e.items.slice(0, o), + d(d({}, _), {}, { brand: t.brand, model: t.model, powerRating: t.power_rating_watts, ip: t.ip_address || null, revenueGrade: t.revenue_grade || null }), + ...e.items.slice(o + 1), + ], + } + ); + case n.RECEIVE_SAVE_SOLAR_INVERTERS_SUCCESS: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, lastUpdatedAt: Date.now() }); + case n.RECEIVE_DELETE_SOLAR_INVERTER_SUCCESS: { + let i = [...e.items.slice(0, t.index), ...e.items.slice(t.index + 1)]; + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !1, items: i.length ? i : a.items }); + } + case n.RECEIVE_SAVE_SOLAR_INVERTERS_ERROR: + case n.RECEIVE_DELETE_SOLAR_INVERTER_ERROR: + return d(d({}, e), {}, { isSaving: !1, didInvalidate: !0 }); + case n.REQUEST_CONNECT_SOLAR_INVERTER: + return d(d({}, e), {}, { isConnecting: !0, didInvalidate: !1 }); + case n.RECEIVE_CONNECT_SOLAR_INVERTER_SUCCESS: + return d( + d({}, e), + {}, + { + isConnecting: !1, + didInvalidate: !0, + items: [ + ...e.items.slice(0, t.index), + d(d({}, e.items[t.index]), {}, { brand: t.brand, model: t.model, powerRating: t.power_rating_watts, ip: t.ip_address, revenueGrade: t.revenue_grade || null }), + ...e.items.slice(t.index + 1), + ], + } + ); + case n.RECEIVE_CONNECT_SOLAR_INVERTER_ERROR: + return d(d({}, e), {}, { isConnecting: !1, didInvalidate: !0 }); + case n.RESET_ALL: + case n.RESET_SOLAR_CONFIG: + return a; + default: + return e; + } + } + }, + 1119: function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return l; + }); + var r = i(27), + n = i(2), + o = i(22); + function d(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var r = Object.getOwnPropertySymbols(e); + t && + (r = r.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, r); + } + return i; + } + function _(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(i), !0).forEach(function (t) { + s(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : d(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function s(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const a = { isFetching: !1, didInvalidate: !1, chargeTests: [], meterResults: [], inverterResults: [], running: !1, currentStatus: null, hysteresis: null, status: null, error: null, alerts: [] }; + function l(e = a, t) { + switch (t.type) { + case n.REQUEST_RUN_INVERTER_TEST: + let i = Object(r.cloneDeep)(e.inverterResults); + for (let e = 0; e < i.length; e++) null != i[e].results && i[e].results[o.n.LAST_ERROR] && (i[e].results[o.n.LAST_ERROR] = null); + return _(_({}, e), {}, { error: null, inverterResults: i, isFetching: !0, didInvalidate: !1, currentStatus: null }); + case n.REQUEST_TEST_RESULTS: + case n.REQUEST_TEST_ALERTS: + case n.REQUEST_CANCEL_TEST: + return _(_({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case n.RECEIVE_TEST_RESULTS: + return _( + _({}, e), + {}, + { + isFetching: !1, + didInvalidate: !1, + lastRetrievedAt: t.receivedAt, + chargeTests: t.charge_tests || e.chargeTests, + meterResults: t.meter_results || e.meterResults, + inverterResults: t.inverter_results || e.inverterResults, + running: t.running, + error: t.error, + hysteresis: t.hysteresis, + currentStatus: t.running ? t.status : e.currentStatus, + status: t.status, + } + ); + case n.RECEIVE_RUN_INVERTER_TEST_SUCCESS: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !1, lastTestedAt: t.receivedAt, running: t.running, currentStatus: t.running ? t.status : e.currentStatus, status: t.status }); + case n.RECEIVE_RUN_INVERTER_TEST_ERROR: + case n.RECEIVE_TEST_RESULTS_ERROR: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !0, error: t.error }); + case n.RECEIVE_TEST_ALERTS_SUCCESS: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !1, alerts: t.alerts }); + case n.RECEIVE_CANCEL_TEST_SUCCESS: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !1, running: !1, currentStatus: null, status: o.o.CANCELED }); + case n.RECEIVE_TEST_ALERTS_ERROR: + case n.RECEIVE_CANCEL_TEST_ERROR: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case n.RESET_ALL: + case n.RESET_TESTS: + return a; + default: + return e; + } + } + }, + }, +]); diff --git a/proxy/web/40.17c71172308436a079d1.js b/proxy/web/40.17c71172308436a079d1.js new file mode 100644 index 0000000..2397bc2 --- /dev/null +++ b/proxy/web/40.17c71172308436a079d1.js @@ -0,0 +1 @@ +(window.webpackJsonp = window.webpackJsonp || []).push([[40], { 1062: function (n, w) {} }]); diff --git a/proxy/web/448c34a56d699c29117adc64c43affeb.woff2 b/proxy/web/448c34a56d699c29117adc64c43affeb.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0 GIT binary patch literal 18028 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 literal 0 HcmV?d00001 diff --git a/proxy/web/4e28cc8f2bdf3ba640331daa2c453341.png b/proxy/web/4e28cc8f2bdf3ba640331daa2c453341.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa7877f0e3a9f230691ae5c9ae090e536b0bcd0 GIT binary patch literal 3955 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 literal 0 HcmV?d00001 diff --git a/proxy/web/653969a51632a4df33358a39d7012f79.otf b/proxy/web/653969a51632a4df33358a39d7012f79.otf new file mode 100644 index 0000000000000000000000000000000000000000..98a48b0f8689942cabcca20bdfb5a4e03a1f0cff GIT binary patch literal 133788 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 z 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 literal 0 HcmV?d00001 diff --git a/proxy/web/86a6894da889a3db781418529403290f.otf b/proxy/web/86a6894da889a3db781418529403290f.otf new file mode 100644 index 0000000000000000000000000000000000000000..27abd6ec659b2720669b68a4adae72a9496afda0 GIT binary patch literal 132120 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

b0Y(P(L_rLmC&;w$km-{KQ17f0UKMQ(5 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/proxy/web/89aec2cc0b804667e95b1adc02e1ac4a.otf b/proxy/web/89aec2cc0b804667e95b1adc02e1ac4a.otf new file mode 100644 index 0000000000000000000000000000000000000000..91c7328b6177050527906106ba76eb9ad1c4ec8e GIT binary patch literal 137472 zcmce<3v^s(o$dJ@*|H%PD3Jca$@@uOB)Pyq2zh{SLwJ}#AS59#jEMuJb8%wL z-oKch^tv$9v+kOkENyLnb?Tft=iA@!{LiC~F3#sK4t3$$Fe{|`Hf?G>`-^>_4bi=y z4Pp00I(PB*W1slue+kj2KOe%QfxS;Vn&#w#7-Frfq)p7CmHJw8r`p_psh&nsdF2Zukg zraOf9e=mgE+pD7o_8qwX6Kx?Z_3N#tk4|tC;e>oE9a~qW7Hi^WZ)(`Y8Z|&^p=vZZqw{E^{bnoQof!1?cHys!~FuFQ(*}l=s+grz{ zr}rn;thw^aE8C|(vj4KN1LghWA8Frx*;M+n>GAT^1(W67Rri0Q^__-RS`w`vY}Z`h z-SnZ+1D97W+xPAlRx|C%i7J=3mRqL}l=qBIl@C-~FWdXaKhdhzE5|Fl$6Ke$A88#K zZ9OnLR=IpypLb7dWnb&=(F4y5pfA_ln_p7*} zb+@*bKg#s@XlwtzJ*#(It}S#?W%ua5%ST%`j2##qof_RY-8y}lrqBxPy-feO{Ib2% zSC$Wqw(c(P^GDo!*@yS-X}xUUWM$uIYkB%lZ_zcEe|Z1?%MMJh8U65NxqWzx|r(Bbs`*TBbr;I<1zn zd~3Ks%PH%XYPdx6919=j-v{(5&e2jcns4i$e1~8ApyvC|dc1qStKT)>5An$_*ZTW& z|EYJh>h;U@YFR(ieCj=V-<1A+K%cEu@7*i?_ir0-(<`->6|LL2yyx^0{T|U=TiKFh zEODAoHyZY+wZiAyP0O^Vf9Ky5+9vM3%QcPXHZApDkRKTlro8PPk-tmPl?&wo$v zZP4d*KRQ!?*edQ#uT{T3)gC2ehnDe9b}r%*kMe0f#Rd{Fs#mArZKPanu;~N6Bby)E6~Go1zay%cGts9o0okqj}NUQHY|bCYlx1MsuRM(R-rz zMyEvYi{2ky6lJ1pv@mMd@@w=dW^3O!C(I4+(PubCd-gi*gWn(O!>M6@XjGlDFq{^e zLQH$?mar&V5uFpQj0(|NQ8}C*7KbJ3sHLg`&J1UTvo+k82~5kwim)=QQi$5M@jEoU zJ409K4n3haS`{seR!6(ERw)%HB}M5!hugvr!&(i4^@`T6uq_PJIs4RspA4T0*M+|d zUkEpbyTh&F_V94{Zg@KUARLZ*qYI+*qI0A3qxsSL@cXDUS`&3gL(!P#-52iHcHHW1 z7p=4Y;lC&qZIIs>9*9nhRDuFuvtBPakMSk9_@&B zM!TW`Ewdc$)~BdOQ_*G7pGB8PAC3-2S4CGx*F>L*jz@1tGd0aMyK25!^USPs7XL4c zKe6~P7XPNTw)K?O1+6Wui(A`NJ#@4tS~s@dy0mF&>(aKihU2qmX0!&a>fvr7euLmY zph5l7@Hu_*8`M|#g!{sS;Va5ropRR@EzmZPX=^TyTD5i0QI=Lk?NNt%^4w^hl6=1M zoK`-!M!D#cC?9=DIlELnI;`!tCz^;RqkYl-=s+~BZTOMsqtVCo$$uZc6`iPw>61TN zb6B7J+Qomq_>+rYZ>?#4Z);;~to8KPRzCT;|K^hiKKVbZf5OaHXZ}y=!&;LN{tmqv z4Kq7uw$1FA*{z>}nUZ`_I-vhYXLhM|K>r?`8JfBDq*m0jTWyt@>dct5qUr1|=chU| zHS=dPSI%5DbM?%@nQxr9^u&cH9y)Q?iO-$5K75C|jp#497Jl z3lOGHjJaHtnbP?Do0H@7Bg*GpjM0a}ZP6C7;zx|sABJCs|Eg`cS>tiNNVGwtaieJD zU88CADe=fOx=K8{TSU55G`d}EctAw@u9*~$gnt$%GGU9x!@7_STQwpEPmcR5HTp`* zwMS(hs+Z8Cu$xH zAE?=>AIX9evFNQOs&xX_RSA{MeH+4nrGcVQ*;N!EN)U;}^`83madAjIU z{ktZd65SCN=(RO9e-=)eRSb1C+3=p416p2JXl1=lF7MytXD^#MKI_&H`@`>l&wJiI zjo0n}@!vnz_VPOasoy8G{j_eg*06n+)LgHB4{7@Uk>A?3%txB9rI z=Bk)+PDA5;4?`u$_Ir}VxK@}WMf zsVFm=&maB$Pip@=_21uWTPZ{C*FX8&`BI;gtv~X6c5gUm*6;rG>w4c}z5o61`px`m zlvDEa&hOa2{@dAArpWLg`>kA)w?F*8nf~e`>&~Dv|3C2CW5pT%Q@l-u-(>+u@_y&L7Yi`|3MCv-9CJ|ESNFM_Fh&XRQxCfB1>^YnflxXTLw38r>95kN!c+yj|x@{vkBid_1hGxjCF& z^N1LBzP8WTG^V`n2f_-SKU%JzrP1NgJL?nS%-Z^JW=*q}ae8R0xi*~puAlSe*XqZ= zbNWd}3suMI$7jyW(I~5Zkj`s`ztGPXRoTl!v)Wfg|4qyI+RPK)L)F|DIyE-B)c#3T zvJZ>*tMz}6D%kTy{u{y-;p3`(x2uv}sn(^`Xa8CIk!jn(Su;;b=c4uKe6#^wF!P39T{!av>1i`BNSkJ^m&Rym zW)3YgJ{xw%%uCWGGp|Tn@k{Y-OmikJD`{Dc@0dBPDL**lvuB+%_e;BG9+!5{yeaLO zc~TnZz2`E00)HMpi9a8o!e4;z!}p_U^g`M*_>1sa{Kfbj{t|p1UqCOVWq>U($Y(C% zhwvr*Fusf*!SCT+d(m-PCeTTAAG#ksfKH=Vpa;>b(2p|DtC`Qo@Ymo!j=vUv1O7&) zzX^Xc{ucbL_}lQeh!}uTJpT_?f{}cQ(_@Cl`hJP0SbNqAo z=UMIxBD%mKZ9wOpi8}FqBitQ^c$q<78IT3DOW7TV9iFF{+;rDz*-J`=wZ zU5$3~t}e8jmL7bZ&u}g+3H*8ZB>sGS3V#7UjlU3|!C!>W;xESM@R#88_yT$KE2--GT&$I%IN65WUHM-QOW=oRQe^eXhD%=2pe$MDzSKaRf^e*^wT z{7v|q@web_#ova%9e)S@PW)Z?yYXMd--Evwe;@vS`~&ze;UC05gntiKE%a^l1Uh4lNRh^x@)kKovz5|A(o;0< zW(V)-W@~&sBW)7pbR~uMX7ORR#@AP*i+J^P&26^E+M816ZMODS_HpL6mRA$_b@(KH zJwAosfbYX^#P{Pj;nVod_zZpvK8xRq&*8V>x1)JlcHnoS1zL9D&Fa~~tezdr>e<1p zo*kZKjlPXO&-(rXeF=R9{Uz&ugmwHC{wV&}_}B2q@UP>4!`yy{{);u5CrZqY>d<<0 zq55lfbhhUoor5l?eI@OyrMmj0PhKl}SnJXGXaj0W)T-XFni93a{aYK{v$er|s14>r zEmW*kbzyHR)&?`7Hkbyr!5pX!CO~cQ*sl#9^}0HUdZgC|kM7zqz;ZphYeNz5(Onx# zc#rPdP{w<7*9MR7+ThV$8$7yegGYC5@aV1$9^JLUqq{bEbk_!t?%LqdT^l^QYlBC3 zZTKkj^ysb)AH#ce*M^VdJ-Tbd4S0|4+He!zqq{cTg7@gI4Y%Pvx@*H7c#rPda2MXA zyEc3g@6lZw?!|j_*M|G?9^JL!OL&j&+VBwGqq{bE&r%z_PpJ(rqpzYz(4**U=hA0 z`JS1h(q5*Fvy`>W+5J8zBxqSji!(4MBxzYsi}Nriq-fbdi?cB&^wF}BmVW#ud>X$Q z@BGXO8Ctf`;w;SxSz5Nz;#|!MIa;>S;*8A++wpnYci?xT1zL9Dox?d{ko6iuhtUz# zd7DGt<|uF8N)zZLx)0rt9zdtjE6{`JRj89TCpcqsg3~o8+(`S)=&k7O=$+`@=soCt z=mY43=)>qE%;!<`G4u)4nVCao=8%~=!I_y8j?jZg(bv$|(ckduZ<*)s@NeM%1^=eK zX!8|m9a@hz(7sSt6y`)R9U;w$TF}L`x1wjOLYqr{HCOz9Nj@eD&80G#OMNw0M`ov} zrBlnAtGvA}HBaX144vE8q3h8N=tguCx*6SqZbi4D+tD59PIMRQ%583N26fXg``pGiVmgp?S1mRgY-S>Je+bbe@)SL^@0R)_EelwH}?1 zHlW@k&!b1?>DcoX`6hkldFmIdE8ck`hNn40qhp?k@r<+;zZCCd&w1j;OVX9Jtmf4Y z-uppb?NqHkPrZ3aYI@95pW6G_b6!}>{LkfGJ_4N=*3ohvElFC|({es7J{p}DHqdeb zEj}il7dF!3Bhz_d6W+(C^TKBQg-q$A)OleGEf>+^W7T&)|QG{~7*S{Lk^v;h$%TFObY%;9tbQgnt?T3jS5R2{2Ct zaFR`cc_M(l2{2Ctur~qbi2(LKo}CwbJUcJEjrw?Yo-R#Eqccz+vCfN@dU{pS)-$Db z8pVgDbJ2QqKH7jT)NyN_#_thn)6CyUW3;r)TqA#mMqC|LT%AU)y{ovo;E`LWk?R)M za&_9{+jnRz*NMPik$TM5X|z5fJ(pL{L(fMqKrciuLN7)yK`%uI_=JPZzle85SEq{3 zYvhWqP8FTKE4n&Wbp8x`(Q#TP&`ES3>WZ$8imr}|u8xYXj*701impx-o#%Nq^Z6M5 z8vMuc*Wz!$-^koQvEr{&(ZQh<8O-r;5()uITDi(b>DA zt5Zd1?~1NY6`lRV_$TS9Z?Vn4jX#9{4!!df`hE0==#S7JqtBo}Lw}Aw&m5fLy6_9U zGh7#5!aKut;T60yTo-;xLXObCzrr8I{~G@q{uussyfa)!hU>_1U2ul$$Z(zZamtC# z$!P6#PR81dwxCPBUP`sq`-?gqm0Tz7)H$L$orke@qdls}>b3uRN_vV$P`!>Ek4qQg zedJirkz>6ohbQHIF7JV!dikdmk;%|%CZ`cCAL;uC9 zsz6(hqr!Ss1@=BFtmmk(o}R9E}(5WitRGm||cGJ>>kF%_`%qM|g zhfm_y<5Tzz_&)qbd_R5@K8@du&)~PhtUyq z9GyTX(S7KC^Z+`IUV$D&uR?D`Z$@uLZ%6M$??&%I??WFzA4DHUzr|KPgnpMT`91Up z=wb9}^e5;~(Pz=;(C3-Y3vB;i;9tbQgnt?T3jS66FX?ettEVb;?){_qU*liHAH%|mcnzGhYM`=hfH@7&rUA}0K$r&D(g0N&;7J1{X@DUO(4zrj zG(d?4_|TwA>A2=^J~XIOvU(jGSjPs|v4M4LU>zG+#|EvVKh>|$U!%uRpEYU-K5Ntv zeAcKzTmG=L4s~78z;X1e%kVYzyMk$NG;JATtzfeKQvM~G*UA(QY|#<8w%c5hfrT@XjJc8eSM)(y>I;`z3?ma z*XS|yIPZE3eH%T2&Pa8aqTaiJGqkz`P<^^UJ^P$AruQyT+O0kwT)=sx1*#t3l<&}| zU7%Xg(|2jxF3>3Oe0pf<)mkr5&$=anCeakyhxVgsG=pZ*9GXW9sE-{MaO|*vV}}JC zJ1o$M@Y278 z^PiK>MSa$8p^n+zG9PU~7ieoNq!$)y|EsJ28gX|@7wf#lLXEqBlD5*a6z@8Jp~l_a z(zBT6Y<;$c;T&`sEgwLaiwO(E3Unp!U4>uG+}iPLSfcxVp{^{yAnl~Ri_g|AhAdR? zdp^D5^FsB$*J~~BI+yt*XjwX$Qe<4$5 zXxT!`MYLpT*-FdBwB%^nM$09%Y{%zm-+|wW7HHXpzmzElSkpnaPZ2+aFX4yrW&8+! z5AWKGj?*%MPNMtJ{pbO78odHNh+c($lzCpwd_IQ12LEyVwfIlcr+eV% z_x_s;=%a7oAH{zY{}}#p{1bSyVxi73 zSieh#zlZ(+J&Zn${sjFg`Yie!`U0QlMf7F#RrCm-=P3Fb`Z{V>EEFp|BFu_~Vuig~ zu~4kA_p#MNj;$7QY_*VMtA!j}E!3X+dfn$!hrZ7}7`-2@r=>yF$U>b%&{&HWdmW=C z_*VSVncLLThMtL@J@cP*mv^LfIZgZVBhqGllGCVRPScomdjd_ODb(jAPg4zJP1BM= zvuF;@qXnxz^D(K)xc=!>_jKJWrDt=$5mX=4{@3 z4!Vq%51`9uzOQLkpeuRrD*S5R+m2tOJBXXK@AGH)AT4HKllFkmNxS*vJvvru5(6KX z##!IB%*} zrDZEE7t@lXWg9J*(6Sw$r+o*0Ct9Fo7yeSF^nE)`s-V1Wecw)#>L`2Px6`C*%HH?w zG^wVt-^081qT{qopp)o6bU%6kokp)f529D0zHg^Vm6iL^_w6*PzOwgyJ58#x>_17L z{v~=H`d8?u&`+bEK|f26{~h}G=s%#>qo1Q^{}KH>`UTYY1vROb^LqKdpe9vx_P#Hu zNp+pQ?+a>Db!YGUf|^w0+55hrCRKX&zAvar^`5=&3u;o;XMaEb0le=EYElL0cHbA& zq&m?4%Y2frqF+P5&PaKLWPStxDE^!H$MBEipTK{M^d3UL%N)Lk{s29UK8^ka{VDn^ z`W*T^+t4IzQWffvXdX7H7PU7On^ck7n~hDXOFdqWFfM+DKZ^IA22HB3JYIaKL6hn$ zdo#01%=8E{Gn>Rrdo#01%(OqwxPA+L8$E%}Sj8VvMf|b8&vO1+b89Fj* z5;G4=m*89RzH6vS%(R|~o~?JqsMBI%*I{{|kBy04|GU&jPcgB}>a(&sg4MEOuqy_; z^o<(PF9y3}uq#IW78AQ3QM=g{6T2Rkw$ic`?=xmGvCGq#U9oVss>hh>H>=qd3uad= zEN8hZ(3QM*6@E4EZO5;{n_V%n%b&ATy%U37F|q3z`5v7+iiur^q^{p$)Ne7J0rqEb z{T9=iv@(6avCH0Pq+?>2z0XL;#4h_iylXEyPRj&3iS9%9qX*Dw^a}JKdKKz3(lN2i z+t6pEV`7)R&q&9_F8fc?r+ zJo*LHXS`!#m)FZ@yklaQz0Y{Z#4dZE@s5dI_CDhs6T9qv#yci<+53!lOzg7v8Sj|b zW$!cIF&($s`;2!??6UV6@0i$S|7HAF(XXLjCykG=1-^lQ6#q^9WBAAMPvFh2nCds{ zcbUWY&>x_O(WlX$pg%>QMV~{>u9)toaPrNr80?C{t{Ci!!LAtWiovd!*yV9ycExmT zXm57K#4dZYD<*c?n_V%n%Ol9_iiutJW>-w?vOmtaehYmYJ%P?xsrO>kdoi)=s9N5S zy55UL5Jv3Me8et|S+UE$74IvvF|o^fCVIBs)hu=$k{29)r#aE4+xoX@jB6)gW zHEtG>Jk9yE_^NR;SB;xRBv0e3#?4$cZWfX3ebu;GM6%zEzmO??)wr3f#?2y<-ylXEyPRj&3iS9%9qX*Dw^a}JKdKLOn=6N;q`568h{KxUv;(bKf9DGFC9DGFC z9DGFC9DGFC9DGFC9DGFC989EUh|~;`njum%L~7REQ_k3pEcYh-&G=jJx8iTZ-;Tcn ze<%Jf{N4C3;_t!Vi@y(lKmGyym+%kbAHqM3|2paY2Kr6(ar9fH?hyJN`p8$Do5NFh zUvX{@-^crkb94A1-dCKP!;kR3;@lj5jQ17i=I{*OSDc%}&+xwD+#G(6_Z8=6oxeRM zeSz)l^LWjokn`ZPdCj7bz0c`2i$eB3L)9z_+4~GtvnXWmE6&ZLkiE}PHH$*_KB8>q zh_aa@%4Uuzn>nIv7DJRqorBW+AxX1HqUj+?vq)m^E78p&iPcx4^}G$8m1+?~z9OBA zo-*@MdEW)pB8FHS&;=q-3-o9aJ&wpX>$9~`|LB{=T6&A>pX;S(sDf&NBrPI|=if@p zQhb}%r9~w1G$u)lNaFYU*sTSUv_O&;)j#*EWd*vD_pZXP=DqFsH7wD0r?iMOp5Aw- zw1_j0OS}2xzTVxU`sZG0ocXNfUFR~N1TE`mIggekE$eAHpOzFY8)&(JmOffG($bIL zgiqr)<1b{&3@uw|xrml5En8{1n3fzZ+i1CjmhJdF?K|*0(E=^I@Ru^>0P8qNdl5f` zFX4yrW&8+!5AWKGj?*%MPNMtJ{pbO78odHNh+c($lzCpwd_IQ12LEyVwRj)9wTL!W zAG@`PHdY_IwTL!WAG@_cn-*x(0&QBLO$)SXQT^kd{YUik=oio%Sk{evo}2JD<8Q&= zioXqiJN^#*o%p-(cjLc^zXyLW{yzNu_y_P`!as&qt%Y2frqF+P5&PaKLKKcg! zQT#XYkKrH3KY{msGA-O8)1vyvYx+I(2k2q+Y4j)PPtj-5=TP76)*|va^S;}yMdY#f z-EJ)+kG=19YY}|Ot~h&=YLe_BKyd)GfLs((C!T>rGF{;_xc z)1vyv{y5|ME%a^l1Uh3?{d0}94t*aj??>xtfiR+$=pky|CS8JW#V^&l&=yh4dM0|d z?uuC?YCR|Q+4V)@mDT6f7l~I^-wU@0E-ey~j>-FOoJC@h{Zf1z)0|0*ub3~=H7vi{ ziTVo2A{{+h&!y!&^nCOJ^g{F^^kVc9^itI4mKW*R#B=t!Ko>vO-0bnIa7bH9sp>|pP6zl(J2VDEFki*)Q@?{mM4bnIa7bH9sp>|pP6zl(J2 zVDEFki*)Q@?{mM4bnIa7bH9sp>|pO}K#RBrw1{g!i?{}~NJ;iK_w}7cO0U(|bQUSG z)}!ca=NxA(H>ThJ6u1{$7w=hoEC$t`6%A@FO=<8PPm!FZIqmgoY)T8ZxhWsHt zf5XdKtYy6<^|BUgpY@#7OI)md)-kD zdv0ErB^qCENPYjgo+pC${pU-xmv_7GKVPDeW#5T*X`V~8rf%s$eV_RfzF)9J6~4Xi zAz#Ax3zqQxf+c*vV2P@6xBI^CB^p_tv+wI(qS0jaecekmj{NFg)c18S;lA!Ay5?)| z`?{Ctny>W$I*nd|9z=a#_Y#dD&*vJ{_jNDPcyYV$>t3QUV)cF9OEfO5ccb^9_n{A< zzOQ?UGH-o>b$=0k8GRK!!u*e-uc5D7)jN7uq;u+0otKj8I8Uk?P0E&!7SpnX>09ys zhR722*D-zb)#=jrUs0!PDd}2Dx|Ztm_|+HDm(f>ICwVD}T1ujplBlI5YAK0YN}}|% z8ZCFJ5@oGN7i#HCb#>sl^c)d;Dalz%a+WGNp3>Kp+f*?glX@-Mlpm|})5bjpdMXXx zcNesgpEiAF`?b8wnQ7B;qUUfP-uD-^k)Jjl8`?WXZ8|En_nk#;Iuf+{dk1Yg2DHBj z?|X{c$XJ_>`|O>xHXZlb??8P|QJaqStWIE?5@_{Z2W?8A)%QKNk-#<**v4H4ZQOOx z#$5+(+;z~#T?cL4b!6Lh4%)cupiK#M`)|=V&^N8>!Kb8ksIS_z>D$<6N_7QBsK&bwMAWMH`=52GojyEO6Czgcc@GAIZK(ezJR`n zzKp(#9zlrrnTTZdo$brQ z8l`j@cRnoB5rp6CPqhphFVm+wD(|xs%Txn+`gM5U&AyB?63dh~d*8vnOnI~Sz3a<3 z|FDcR56hG{w{M}{cd9Sr9`$9)o4xN&U#7g-`#i%k&M++F48tO zz2P$L4c%-0F3d8q%j)mKEMvdFOckcKu+ppdY9D9sYH*oq0PC5k`MI1VEGM7K$>(zN zxm-&;rdOTMqN3DlLwN-B+&>=#z*Q+W>FFRaw3vL0bRN72{N*U{fH=Qq$d(c{eRE%a^l z1Uh47ud$N7#!B`YE45yS)ZU~XSsD5I^-6kbC4ID#y~#?g^_^;W9kPS}5g)zm7jg>1nHGq#IkZt?!Kojqf_Nac5V&)6gMOd&YK=%6=2N8TFpAU8Him_l)f#mA$`(*Dg}od(YS|QrYi7ccQyc z?-|?KGq$s5Y-i8d&YrQIJ!3n2Mm@xjDJRfLbRW7OJ%CQ5SD**ctI(@a*JkbP8Qa-2 zwzFq!XV2KK+RU$d&)BZo%<4U3JA1}<_KfZ98Qa-2wzFq!SO0n%?-|?Gzh9C1n{n;x zU#sq7kb0lku6?4t_lfOd%WrL7kevp00;> z>iVXhAg6q;QDR?`x;k1zpRUnp^^}jIkD*VX=I0tE+3Nk~8W^$$hOB`hYm{Wq=P3Fb z`a0?wU=3@!hBaNI+&&Z5F#6Uo`qofeuF)E4O0CPi(&c`y602oV#dRp3$8^W1D}fH> z)9T8Lch5rP1mm=nf^&>Lch5CC%z1=nkdJ>Lch5D*O&A{0=Jo4l4W( zj+8r;B2P1pPN0+MKGYR{2NiyY>MMI!_#LXRtgi4oI7aT^=(vO9;tneO4l4W(D*O&A z{0=Jo4l4W(rO5Afh2NnRSzY0GP~mqd8>i^GJ}sy#+YYv&p7f)A$_E+Uof_TG=^lDl zDV^GSKa;vj>D1P{WN_}T$r^deL=_;jDW8dCY zN~fw6dsiu)8vFLHQaUyE?Kh#DQCBIQ8vAZ{mC~uPZ|^FlQ)A!WRZ6GEzWok#C%OxD zmC~tR^I8m{!{`X=Dy5SurBl7;X(rG~bRW7OJ%CQ5SD**ct58=dom45ER4JY6HP7v4 z^j7qC^iK3{^d9s+^a1oi^kMW7w(z6qW9Sp8M^+~ztCNw{$;j%|$nutVjnPSs(MgTb zDTcT&eD7$dMwV0zxkXxs)}syXJB>K&8QyN%M`$U^iM_{Br)m;w8|u;2DXQEr_1>XV zBk@hC&spgyNSaR<`-?6m>WKUjF+|U;!uxwVT}qVOSK?RW*Jz$yB&th^@*JF~E+xwC zPE;3r6Ft|G>Ag4UQldN`?@hXtD0}Zsx|Aq;?@hYcn{=t}wZD*d?@hXtC{N?PNtY63 z@4ZQv5@qkbNf&#QF4evE-kWrZ1AcW7KZFjWBj_Gp-HVRXGJ#H_`_TR90dyL@0zHUc zg0TZ^j7qC^iK3{^d9s+^a1oi^kMW7w&bJeW9Sp;3vA~X(U;LzQP+@N z)O%gjdtKCfT_mcDM0JsiF%-*dmc}gF%cPmTwK4$M$mh64Z-mNUzZ^UmxH=`HQ?ql|DWy#a{n7vzB zviC82x3XmKWA<)k$?9YFZjRZzl_kIG@AGzxPF8=1w_E!Z>mFX+i~8HU-J+A#-`?%k zF}u~@-tE>t#X61p+q>P`r&#^%-EQquyp(IuYf*now_9|w`kT4k+NW6kZQO3{Q>^!( z{_btJ_9<3>-?m%(6szgfts1~;I&}xrsaw^oxAq~_x#||Ftj<-pNM${O9z|b6U$-hP z+A>PZQ&RJ%TWPU3f4Vs@+Rb^G#P2n8df1EgC?PM&n_WFhh`o=sdz27+ zA8Yq0A@)v456tNy8$B?m2j=MM!eUMjd$Atn#M65()}x%*doR|boY;FW)}x%*doR|* zUaUvVvG)_qdf1EgC@1#bi}ffc_TG#2C@1#bi}kP<>rqbZy%+0IPW;Z(8FG=C-PpbC-Ppb2j=v!7waKKJxY;24=L(l zFV@3etVb!*QpB7GrQVD6z?>eK(?gik>&af~$zCPI-t}a! zQekyH*-JgytA4k4J=v?iwz{6|Ri9di&|%bPjC-jkd#NXTsV95Yr*3yW*~=N@Ud|Zz zQcw0$Pxewz_EJywQcw0$Pxewz_EJywQcw0$Pxewz_EJywQcw0$Pxewz_EJywQcw0$ zPxewz_G;U{q31!m4)4`=dn&|(@BE1e-*Fw+^)IW>+QoJK%j$cr<6QrW2S0}}&T|Ok zx^{oPyq`lD*R^}k!OtO#Gk)XR=C8gN!~gYW8zGm7K7!_eNNSkLvvdlbj@{V%tB6vw%HC(eC4aqifOGm7K- zE|{nBD2{WNPMlF3*LT6(?ok}qU4r%n)FU^pJ8--O{2anK_cO=UyI0P}x9DF#hcK=^ zi~HKoA&l$V^lzko4q;qZsO|k6!g%m=2;;ho#@^2%jO#8Mdq0OTuDfXL{T#x$?xL~x za|q+Qi^ks1A&l!T8hby7Fs{33yj)+)j_X>sy{~1*buHW8*RtcfmTm8A*>PRVc82{N z!nm$w+xt0$ab3%{_j3s2x|VJ4=McuZizd!pG;!{tiE|fCoV#e^qS+&QF0Y?M7?1oM z!g%E85XK`vhcK>@sHABmT75@xTx7HQzPPx?=5h1P3HXqJ4+;2?fDZ}ykYLZAfDZ}ykbn;f_>h1P3HXqJ4+;2?fDZ}ykbn;f z_>h1P3HXqJ4+;2?fDZ}ykbn;f_>h1P3HXqJ4+;2?fDZ}ykbn;f_>h1P3HXqJ4+;2? zfDZ}ykbn;f_>h1P3HXqJ4+;2?fDZ}ykbn;f_>h1P3HXqJ4+;2?fDZ}ykbn;f_>h1P z3HXrEcb31P-Z38%@F4*o67V4b9}@5(0Ur|ZApsu}@F4*o67V4b9}@5(0Ur|ZApsu} z@F4*o67V4b9}@5(0Ur|ZApsu}@F4*o67V4b9}@5(0Ur|ZApsu}@F4*o67V4b9}@5( z0Ur|ZApsu}@F4*o67V4b9}@6Ee__J8g%1h%kbn;f_>h1P3HXqJ4+;3N4nC}d59{E= zI{2^-KCFWe>)^vW_^=K>tb-5h;KMqt*Gqb$mie#_KCFWe>)^vW_;4P4NWzCCd`QBF zBz#E1ha`MR!iOY$NWzCCd`QBFBz#E1ha`MR!iOY$NWzCCd`QBFBz#E1ha`MR!iOY$ zNWzCCd`QBFBz#E1ha`MR!iOY$NWzCCd`QBFBz#E1ha`MR!iOY$NWzCCd`QBFBz#E1 zha`N^-y2Y`CE-I7J|y8o5_3&Xmd{_@3 z*29PO@L@fCSPvi8!-w_oVLg0U43O=OZLkd2m;6n;Nq~JpeKBVA73O=OZ zLkd2m;6n;Nq~JpeKBVA73O=OZLkd2m;6n;Nq~JpeKBVA73O=OZLkd2m;6n;Nq~Jpe zKBVA73O=OZLkd2m;6n;Nq~JpeKBVA73O=OZLkd3VZySjQDfp0r4=MPNf)6S9kb(~> z_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPN zf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7R zDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9 zkb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7RDfp0r z4=MPNf)6S9kb(~>_>h7RDfp0r4=MPNf)6S9kb(~>_>h7R`g=G|9ehZ^hZKBB!H1N_ z=5>12#}_I1kb(~>_^<&!Y=93N;KK&^umL`7fDaqs!v^@U0X}Si4;$da2KcZ6K5T#w z8{oqRE%)BA0X|$He@K6wYnF~#`a}k+uX^{14AutJ=PUX&-mSi7-KX(x^*QH0jdZKe zANJ|fT7C7QPoLK6E7yG*%T`~l?$h|S`l@uF#;Mg;qWd&9t-jXWr}5~e58{jXA$$ox zjQ4Yf`!pUs{T_5L>TA$_8jn_AgYMIKwE7x!pT?tg8uc~kK8;7KuR-@|JbIqK65Xfq zXz%OMeHxGU*Wz!$--y2ne>46T{H=IDXSh$}(eJ$j?`zh58jo(j8}H`~_h~%3-Om~B z(|EM^bB6mg9__z`e-Qr={$ae&{`INftv)l{r+&Bk%y6Ij-Rd*Led_l&^f!|_wP)F= zezA7zY~Dt)q`yd_vtb*RBDed_kd2y~)pv$$Bt;uZ(MD3VkrZvzxkSI~4fIWGG|x-X zxkRh)7~H6&9hUlz!Hvq;ol@T&v5|9w8#y<)Q3*VvKX2&l^^?7Rve!@c`pI6u_BC(l zRcEiC?DdnqezMn3_WH?QKiTUid;MgupX~LMy?(OSPxkuBUO(CECwu*5ub=Golf8bj z*ROqnKby1HuYG~Nv)8YEfxWZWPxkt?FR*v^`pI5D+0!3yq{Z3mCwu*5uV4EDw>W$K zWUrs>^^?7Rve!@c`pI5D+3VN7z{_>^`n4~xclP?VFR*v^`n4~xclP?pUcdGQ_Rd~E z+3VN7z~0&GCwu*5ub=Golf8bj*ROqnr*ZcBwJ)%D_WH?QKiTUid;MgupX~LMy?(N{ ziR^76dz;AKCbGAQ>}?`@o5Y_AtQJT6aOdl5wUzEyi_g2Jsf*Iu zN>9rByla}eC{10IrY=fT7p19-^f#uM#^+tr)J19PqBM0;nz|@WU6iISN>dl5sf*Io zMQQ4yG`QJT6aOdl5 zsf*IoMQQ4yG<8v$x+qOul%_69Qx~PFi_+9ZY3iahby1qSC{10IrY=fT7p19-($qz1 z>Y_AtQJT6aOdl5sf*IoMQQ4yG<8v$ zx+qOul%_69Qx~PFi_+9ZY3iahby1qSC{10IrY=fT7p19-($qz1>Y_AtQJT6aOdl5sf*GYv)Aiy0s0#jn>AiukovsqW_Yrhx@a?X z(Ppi++kM`3v)0t=^RAnr%4Vpt8LDiCDx39bp9!0_+h4Q8TgQa4;lE7fe#t@kbw^w_>h4Q8TgQa4;lE7fe#t@kbw^w_>h4Q z8TgQa4;lE7fe#t@pg-%(r}cH241CDIhYWnkaNLxE4;lE7fe#t@kbw^w_>h4Q8TgQa z4;lE7fe#t@km0x~10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE z10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>q zGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ* zAp;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb- zA2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVmb-A2RSE10OQ*Ap;*W z@F4>qGVmb-A2RSE10OQ*Ap;*W@F4>qGVoyweAogXw!nui@L>yl*a9E6z=tjHVGDfN z0w1=(hb{173w+oDAGW}UE%0Fre7FccWZ^>=K4jrT7CvO*Ll!<{;X@WaWZ^>=K4jrT z7CvO*Ll!<{;X@WaWZ^>=K4jrT7CvO*Ll!<{;X@WaWZ^>=K4jrT7CvO*Ll!<{sUNcN zAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1b zAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX} z@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv z3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5Ey zvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZ zAqyX}@F5EyvhX1bAF}Wv3m^3N&{aQV;X@WaWZ^>=K4jrT7CvO*Ll!<{;X@WaWZ^>= zK4jrT7Cvl+4_o2GR`{?LK5T^#Tj9f2_^=f|Y=sY7;loz=uoXURg%4Zd!&dmP6+Uc* z4;RCS9DK;Zha7y!!G|1t$iaske8|Cv9DK;Zha7y!!G|1t$iaske8|Cv9DK;Zha7y! z!G|1t$iaske8|Cv9DK;Zha7y!!G|1t$iaske8|Cv9DK;Zha7y!!G|1t(BEcPy^(_t zIrxx+4>|adgAY0Qkb@67_>hASIrxx+4>|adgAY0Qpua<}dmD1_AqO9F@F52ua_}Js zA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F z@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^ z2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52u za_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0q zAqO9F@F52ua_}JsA9C;^2Oo0qAqO9F@F52ua_}JsA9C;^2Oo0qVH6! z+ga9jmbIN_ZD(2AS=M%zwVh>cXIa}>)^?V)on>ujS$QawheCNMl!rojD3pgnc_@^J zLi+o^I=0F~p*$4IL!mqr%0r<%6v{)PJQT`9p*$4IL!mqr%0r<%6v{)PJQT`9p}f}j zNiEA~Ir2~_4~6njC=Z45P$&JQT`9p*$4IL!mqr z%0r<%6v{)PJQT`9p*$4IL!mqr+5s7MK!zQVVFzT`0U35ch8>V$2V~d*8FoO19gtxM zWY_^2c0h(5kYNX8*Z~=KvXq@HWhYD7$x?Q*l$|VPCrjDMQg*VGoh)T1OWDa%cCwV6 zEM+H4*~wCNvXlb+DZrls{3*bn0{kh!p91_Tz@GyADZrls{3*bn0{kh!p91_Tz@GyA zDZrls{3*bn0{kh!p91_Tz@GyADZrnC*7wO!fIkKJQ-D7O_)~yC1^82dKLz+xfIkKJ zQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82d zKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O z_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+x zfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC z1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJQ-D7O_)~yC1^82dKLz+xfIkKJ zQ-D7O_*2kWdn6R#PXYcE;7ksB0TICM{!7^dB7nXBQucsGy}kcZ_JBscz5i17 zfJVK&|5EmVM!miNQucsGz17#a2Q=!v+(CR1@9T^M8uf1Xb;bdWdV61I9MGt@`a0u) zM!nV7xCb=qt-j7Upiyu2HSPh8daJK94rtU{eT{oSqu%qp8vil8uW=7()Vtl+xCb=q z?R}kbK%?H?*BJ*i>g|1g|1>NEKR8d>%}pFg0HW$&~40~%TOKDR%hk!AJwqX#sy ztp1ktfJT$R zb*sprcSU|C(qQCgA`S9Pq`}C~L>d&wJdK};G$@+c`*bodEf+0g> zYzT%7k**hL1L*!uyh77@wAs8|Q zLxy0;5DXbo9{dT-kRcc{q&(PrZ!$y%hUonv7%~JyhSb-d#ta!!|60wEA@!-%3>ktU zL+U|$Gh_&c48f2g7%~JyhG58$`o&8$Lx$8BQW!D>Lxy0;5DXcDAww`^2!;&7kRcc{ z1Ve^kNC}3NU`Ppulwe2+hLm7P35JwlNC}3NU`UCcEy0iyJzIhyB^Xkoe@if=ME{mx zNC}3N=-(0yDZ!8uy#(fcJBQX&H-7*Zk$B^Xj74<#5< zf*~ccQGy{Q7*c{EB^XkIAte}6f*~asQX(@YGE;&fB^XkIAte}6f*~asQi35R7*c{E zB^XkIAtjPif*~dHQ-UESQdEK=B^XkIAte}6f*~asQi35R7*c{EB^XkIAte}6f*~as zQi35R7*c{EB^XkIAte}6f*~asQi35R7*c{EB^XkIAte}6f*~asQi35R7*c{EB^XkI zAte}6f*~asQi35R7*c{EB^XkIAte}6f*~asGECBjVaPB^8-^jnWNa9Q43n{87%~h) zhRN743>hX}!{ln1L=BUrVNx_qeuhcTFqs)9C&Msg7={ePkYN}yOdf{G!!QgPh9Sc+ zWEh4F!;oPZG7Lk8VaPBH8HORlBw?5g4Ac9=Fk~2p48xFN7%~h)hGEDs3>k(Y!!TqR zh77}yVHh$DLxy3Gv`WDbxF97*Zw!Wf)Q>31t{kCJ$v8QidUA zvQdU1Wf)S1A!Qg+h9PAbQidUA7*ZxPWinHSA!Qg+h9PAbQidUA7*d8IWf)S1A!Qg+ zh9PB=Q-&dB@>7N(Wl~gzA!Qg+h9PAbQidUA7*d8IWf)S1A!Qg+h9PAbQidUA7*d8I zWf)S1A!Qg+h9PAbQidUA7*d8IWf)S1A!Qg+h9PAbQidUA7*d8IWf)S1A!Qg+h9PAb zQidUA7*d8IWf)S1A!Qg+h9PAbQidUA7&1cAMqtPYNgIJ7BV=p@hK!K05g0N8Lq^Eh z2n-n^T_fabghY*yr4dpzLViX_&Ip+qAtxg+WCVtcz>pCbGD03k$ioN>8G#`qFk}RV zjKGi)7%~DwMqtPY3>kqTBP3yj42;nGBQRtHhK#_F5g0N8Lq=f82n-p4AtNwk1cr>j zkP#R%0z*b%$OsG>fgvL>WCVtcz>pCbG6F+JV8{pz8G#`qFk}RVjKGi)7%~DwMqtQp zG2~F#t-t+oSh_&9&2F6+eMaiPsJmO-aC@`v+1o8{d_}s5S5Maw)^7FJn^K?I*sY$j zk2ANmyqdtT!zc0U@hQCj%Jy!Z+w{^m;`{NN@M-*Jdw?ETkuck7wbR{wR~-O)VVk-l4Z4qN@a@!jgXBhs@ye|luM zdc^I1F4Jz^Iea9H(mSK{&M3VzO7D!)JEQc@D7`aE?~Kwrqk6K+alO~QGfMA_(mSK{ z&S-G&jEdEVr0$(jvD)6fGb&cwyLU$Eol$ycROg@F?%o*{!|mNWqhh$dduLP(w|DQ1 zisAO|ol$ycl-?QD^HSX6-WjELM)lMbd-u*L=UqoR?>fqP*HN8!eMar>ol%kPu++UX zO7D!)JEQc@D7`Z(f_+7=x_3tDol$ycl-?PocSh-*QF>>T-WjELM(LeVdS{g08Krkd z>77w}XO!L|4j+-Wc2) z6ZhWGyL|R$4C0MJyfKJ32Jyxq-WbFigLq>QZw%s%Y0v28`Yhj=_KfyELLbwf(cWkI z#v7v}d&US-vst8SQ$v*mr7*63vHF`VzfV1`xmo?Zg>k-3 zFwVCL#`!kExKj5<80Xsr<9wT7T&X*(7JrjvT&cTLY9@@6x^ccuFs`%NM?!_{Rmfh2 z>{ZBKh3r+xUWM#c$X{ZBKh3r+xUWM#c$X{ZBKh3r+xUWM#c z$X{ZBKh3r+xUWM#c$X{ZBKh3r+xUWM#c$X{ZBK zh3r+xUWM#c$X{ZBKh3r+xUWM#c$X{ZBKh3r+xUWM#c$X{ZBKh3r+xUWM#c$X{ZBKg*|(P>{ZBKh3rj`y$P~6LG~ud-UQj3 zAbS&JZ-VSiki7}AH$nC$$le6mn;?4=WN(7(O_03_vNu8YCdl3d*_$AH6J&3K>`jop z39?rudsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t} zS0#H@vR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkBwl zdsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t}S0#H@ zvR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkBwldsVVmC3{t}S0#H@vR5U0RkAlp_9n^R zB-xuJdy`~ulI%^Ay-Bh+N%khm-Xz(ZBzu!&Z<6dylD$c?H%ay;$=)Q{n`jrqDY7?3_NK_*6xo|1dsAd@itJ61y(zLcMfRr1 z-W1uJB70M0Z;I?qk-aIhH%0cQ$les$n<9HtWN(V>O_9ARvN!dAvGnf2apd*6{wU#= zWwKM*A`9Uh5-tZ$atMKNNg&(;A%p}%5(q_rgj|ZEC<Bu-6KEt+3Y$d#$k73VW@v*9v>Bu-6KE zt+3Y$d#$k73VW@v*9v>Bu-6KEt+3Y$d#$k73VW@v*9v>Bu-6KEt+3Y$d#$k73VW@v z*9v>Bu-6KEt+3Y$d#$k73VW@v*9v>Buy+LZj=>Yu6ti*gFb)M`7>Y)@qp)`r_Kw2dQP?{Qdq-jKDC`}Dy`!*q6!wn7-ci^)3VZFa z*A9E_u-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGl zd+o5-4twpe*A9E_u-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGld+o5-4twpe*A9E_ zu-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGld+o5- z4twpe*A9E_u-6WI?XcGld+o5-4twpe*A9E_u-6WI?XcGld+o5-4tvL7?-=YIgS}(0 zcMSH9!QL_0I|h5lVDA|09fQ4Nuy+jhj=|nB*gFP$$6)Um>>Y!>W3YD&_Kv~cG1xl> zd&gk!80>YxUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-T zz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i z2kdpgUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJ zb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i2kdpgUI*-Tz+MOJb--Q+>~+9i2kae( zz2mTV9QKaG-f`GF4tvL8?>OuohrQ#lcO3SP!`^Y&I}UrtVedHX9f!T+uy-8xj>Fz@ z*gFn;$6@a{>>Y=_~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj7wmPx zUKi|j!Cn{ab-`X2>~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj7wmPxUKi|j!Cn{ab-`X2 z>~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj7wmPxUKi|j z!Cn{ab-`X2>~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj7wmPxUKi|j!Cn{ab-`X2>~+Cj z7wmPxUKi|j!Cn{ab-~_A*gFY(Ct>d-?45+YldyLZ_D;gyN!U9HdnaMPI|+N;T>0xn=Aj_T>0YeDySeh;&6WRduKag%<-eON|J_{q@8-&XH&_0u8s zEC1cvFRuN*OtmzBo|6QrC4K)4uQ$e@pbkBP1ql)kF}SnAy@ ze=qp~@GYUJ&$U1A^q5A^wLkUrm`29=CSCphhH^XA!#MOX z4n2%R5983oIP@?MJ&Z#SbvPs-!alkzz9h?WDT$Dv2G>?u7CJ&Z#S4n2%R5983oIP@?MJ&Z#Spu2EpT5x(seYx_)2DsmbXWFiZuDb(*Q7pK`=-)&P3n`iUHkXy`{Zsf@qJ19 zl+{`t)hm^?&^_fBh)6zx&*$S=Y;bm!&?(zSQ=g7BJkGw?NuQ21 zT>FkEeLB)`?fahe=}5!1?|#y!BMtwT?;zQyBMmR{-B0>-q~Y}4Px^GE;q={4`gEk> z^xaSTbfn?*-B0>-q~Ue?4o!VJ(s1p&N%rYT!?o`z*{357*S;%CpN=$K``##hI?{0M zJEZjKNW-=7lhUUn4cER~N}rB2T>G9WeLB)`?K`LR=}5!1@1N4ABMsNSi%Or4G+g^$ zDt$WAaP2#)^x>>NoYjZ3`fyes-Pfn@t(Z5@MSc4AitF#eTA@` zQD3M25%mq~A5-6?{t5Lh>Yq~IroKbH!xncTGoUU~htwtNh`LN|3-qb$O|mV}r>=Kx z3-qZsUE2bE>QLAIEv7zw{>S+O`E&AtQ=d6;`d6&`T3+YJ>$5=4Hz@n*!G3zMUp;t7 zOWcF~>Ot4;zJ7I|YjaFUse)Zsi()U;GXNKul5ALb<{mc64yMFqvpN{LNz8fA#Bl#_68wr>FYqrhXlJ`!VjLejS0kb_ey-LH%@4KfTkhBN;Du z*Ywjh{puG#bKmo&Up?aVJzx6ij()nMU)|v)zUNE7y2I&vzVxd*oWAEvzq-Ted%pCm zJDk4fOFwFZVrP`bECe_k8IW?M~nGrC)?Qeb1MEQSJ0SU;0I|)Av{H z*F9gHzQ1a}?)l<;hS#-CexLjS`9tzK@<-&4$)AuvCGU{_Hch`~ey6`d(=W?7eebh= zG3NCBRr|%25_0-=7Z{Bv{Pc6@seVzU{}M$`--)bWc6cszN=9(Ll+2L7LOw$Ns(!!g zlw7cdF6Zf>-)$Lk{>4jl>7ww7v!hN&y!!^8U8Kn|2yh0QvW@*Kc{g@v#Vd7Kc{g@ z{P_8NnfwY%{B5jLoX4HwJnj_dai=(sJH>h2DbC|gaUOSy^SD!*UA@k4u$~_3$Eka% zze#2|9-$tk_UANCX?FE;e@^3+W>?q#oW?25uCDz# zjZ>OkUHfwyr!>2|_UANCX?At(&uN^}Eb4vt3}arP-lqN@d-Do;mApn?CvT89$y?-Y za)&i|K0KwPAg|f;;VB&jx%PZ`N=HGiJs+OZQIHAQWB*pDtJE=djXI&OQ+qx<#e8^* z`S6rJ59uYI4^QcMMx3;~(yy+?pQbz2@@wR)N#9@Zl-PFqj#sC|_P;9MuHVW#rEf|) z-$}kpp9aaod=}=jItqGDOU!&$S0tQfJ`3|%n9ss|R>wb&Yq^=v!h9CyvoN29`7F$5 zVLq$5*N-&wS(wkld=}=jFrU>N>&KY+tmajxna^tebej3B=1ixV&+3T6&(O?gbwuIX z%x85(;o8h+VLl7nt0M~6Wn3-ei+&%%5b=CeAY@MFw;7Ur`spN07>%x7Uf3-ei+ z&%%5b=Cd%Lh50PZXJI}I^I07^ct4u?td1P^lx9Aw?-V=Dd{*BhcAELDzB}wR^I3gg z*lFgoI`-aHn)xiuXJI}I^I4eB!h9CyvoN34F@R|?^I07OxHj`y9Rs*F^I47ovM`^8 z`7F$5VLl7`8>?$VLlJ@d6>_`d>-cW zFrSC{Jj~}|J`eMGn9sv}9_I5fpNIK8%;#Y~5A%7L&%=Bk=JPP0hxt6r=V3k%^Ld!h z!+aj*^Dv)>`8>?$VLlJ@d6>_`d>-cWFrSC{Jj~}|J`eMGn9sv}9_I5fpNIK8%;#Y~ z5A%7L&%=Bk=JPP0hxt6r=V3k%^Ld!h!+aj*^Dv)>`8>?$VLlJ@d6>_`d>-cWFrSC{ zJj~}|J`eMGn9sv}9_I5fpNIK8%;#Y~5A%7L&%=Bk=JPP0hxt6r=V3k%^Ld!h!+aj* z^Dv)>`8>?$VLlJ@d6>_`{C7p*Uh2CdFj4x-&v&_Y^j*Co*S>c2UA+pYuN{3?&)n&2 zN8i=6RqFZNQTp1^ceTzW^#tpDf^|N@I-g*jPq5A>SmzV0^9k1Z1nYc)bw0s5pJ1I& zu+Aq~=aa1SN!Ix!>wJ=RKFK&tldSVe*7+pse3ErO$vU58olmjOr&#Ax ztn(?>`4sDXigiB4I-g>lPqEIYSm#r$^C{N(6zhD7b)HVO=o=iT^$x-vWgrnBYcUJvgMoaWtu(;DYJE%Cbpr#0G6zdLZ6cLz@M?!Xz% zwD(hIbnW5=rGG*CjP~yxr9Vl2Mq_(Z`7W0Hp4N6o=iq+i1@afdddY0D%J#H~@hI5I6vV z0}wa>fdddYkTQV-5I6vV0}wa>fdddY0D%J#H~@hI5I6vV0}wa>fdddY0D%J#H~@hI z5I6vV0}wa>fdddY0D%J#H~@hI5I6vV1G)z2XJ`TkG{fIfn!o|g&(A4M-~a>;K;Qrb z4nW`l1P(yp00a)`{i$1eya^nDzySyxfWQF=9Du+92pnMi2N?eW2s{gcXCd$`1fGS! zvk-U|0?$I=S-sb}mpTi9XCd&ct^&QFB_{B!Jau1b0?$I=SqMA}foCD`ECim_jC4nj zF@a|_BRNgrS-l_XG=XPj6R*bvo|R3UCh)9mqJ+S+5O`Lv^gv5Y;8_Sf3xQ`L@GJzL zg}}2Ac$N`3%Ltr>z_SoI2!VqTI0%7*5I6{dgAh0ffrAh@2!VqTI0%7*5I6{dgAh0f zfrAh@2!VqTI0%7*5I6{dgAh0ffrAh@2!VqTI0%7*5I6{dgAh0ffrAh@2!VqTI0%7* z5I6{dgAh0ffrAh@2!VqTI0%7*5I6{dgAh0ffrAh@2!VqTI0%7*5I6{dgAh0ffrAh@ z2!VqTI0%7*5ID&A4>JCP5I6*ZLl8IwfkO~D1c5^kI0S)15I6*ZLl8IwfkO~D1c5^k zI0S)15I6*ZLl8IwfkO~D1c5^kI0S)15I6*ZLl8IwfkO~D1c5^kI0S)15I6*ZLl8Iw zfkO~D1c5^kI0S)15IDpL3^4*j5I6*Z!w@(Ofx{3u41vQCI1GWq5I78h!w@(Ofx{3u z41vQCI1GWq5I78h!w@(Ofx{3u41vQCI1GWq5I78h!w@(Ofx{3u41vQCI1GWq5I78h z!w@(Ofx{3u41vQCI1GWq5I78h!w@(Ofx{3u41vQCI1GWq5I78h!w@(Ofx{3u41vQC zI1GWq5I78h!w@(Ofx{3u41vRp|1je}41psMI0Atq5I6#XBM>+Ofg=z&0)ZnCI0Atq z5I6#XBM>+Ofg=z&0)ZnCI0Atq5I6#XBM>+Ofg=z&0)ZnCI0Atq5I6#XBM>+Ofg=z& z0)ZnCI0Atq5I6#XBM>+Ofg=z&0)Zopzz8ES0)ZnCII45W`>9c#OFA>8zoj^;b4jOv z?`V{>#ZjFty7rauQJp6`eGPn6=ZQ{#o?%p@=k(_pMpN%0-$(ivhemaV==3j@jp_{1 z>0c)s)fuAm^W+!UuCD}+>I~7(!B+xDb%yBLR{}?MhUnT?zejb3==5)qjdF%K${FG) zXNaSmA&zo}ILaB~C})VHoFR^KhB(R@;;7CLz0Pm2o*wGQse7rvN$qbbj&g=Lsxw5_ zz7ja9Gep>M!SDw>;36(y!JSVE}DE%$Pb9{>F9K@c3 z*mDqj4r0%VSU<+!QamSOo&J{MIX=a7j!!Y2<5NuMVDcPHo`cDAV)D7vIoLY~d*@*9 z9PFJFdwN!|H^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7 z>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{j zH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HY z#_Tu7>^H{jH^%HY#_Tu7>^H{jH^%HYrt#lPjWPR;G5d`%{$q^)7_;9vv)?$g-#D}1 zIJ4h4oQyO3jf;~zsc~k%ab~}9X1{S}zj0>2ab~}9X1{S*8i%EESQ>|=ab~}9X1{S} zzj0>2ab~}9X1{S}zj0>2ab~}9X1{S}zj0>2aY!47v~frq*DKvljWhd=Gy9D*`;9aE zjYHr#1dcNTPD0=$1WrQWBm_=E;3Nc2Lf|9>PD0=$ z1WrQWBm_=E;3Nc2Lf|9>PD0=$1WrQWBm_=E;3Nc2Lf|9>PD0=$1WrQWBm_=E;3Nc2 zLf|9>PD0=$1WrQWBm_<}0+WouBm_=E;1mQ-LEsbwPC?)l1WrNV6a-E|;1mQ-LEsbw zPC?)l1WrNV6a-E|;1mQ-L7?umDUVD+;1mQ-LEsbwPC=mVI>lpr9cBswryy_&0;eEw z3IeAfa0&vaAaDu-ryy_&0;eEw3IeAfa0&vaAaDu-ryy_&0;eEw3IeAfa0&vaAaDu- zryy_&0;eEw3IeAfa0&vaAaDu-ryy{O@tf%6bJ4}tR#I1hpI5I7Hk^AI=>f%6bJ4}tR#I1hpI5I7Hk^AI=> zf%6bJ4}tR#I1hpI5I7Hk^AI=>f%6bJ4}tR#I1hpI5I7Hk^AI=>f%6bJ4}tTHz&s-` z4}tR#xB!6*5V!z=3lO*ffeR400D%h-xB!6*5V!z=3lO*ffeR400D%h-xB!6*5V!z= z3lO*ffeR400D%h-xB!6*5V!z=3lO*ffeR400D%h-xB!6*5V!z=3lO*ffeR400D%h- zxB!6*5V!z=3lO*ffeR400D%h-xB!6*5V!z=3lO*ffeR400D%h-xB!6*5V!z=3lO-# z_%AU23lO*nfr}8h2!V?bxCnuZ5V#0|ix9X7fr}8h2!V?bxCnuZ5V#0|ix9X7fr}8h z2!V?bxCnuZ5V#0|ix9X7fr}8h2!V?bxCnuZ5V#0|ix9X7fr}8h2!V?bxCnuZ5V#0| zix9ZT2rM!Jix9X7flDHAKeZ$R?<-%aGq@#DmndJY^X?_ywO`^o%o6X~FL51aDfN1N zyJ3lU?Uz!%8neW^_DiX^vHbU0r$2?bBqqIne=ciDOuGIc^&e9EGg?bx&&&NuttGMN z+Mm~25__)wsjVfk=h~m$S`u}x|AzGExR!Wle~BwLOI)j2;wsG&@8d7=KK>F{X_mN3 zv&2=JC9cveag}C?t29eorCH)C%@S8>mbgl@#5?#)ym!CEyY@?5jalM4%o0~%mbmt^ z#8sCiuD2|4rDch0EK6KnS>n3N5?54~QqM3}+vE;o9*`j!k$2e(6*49h@;?9dGx7!U z=i~$BvgU_S>1$}q?7L;Ip)IrTmbr$u%wAjO8rrf5_aooUfBEX!vgQ!4!Pn51HHWzN zm9%BeA+CKrZCP`O>yMHjBYlN!S@VXM`#RgQ<_*`r+P18D!?mxuEo=60{TcGJxwc> zX2@5jUZEwgO1(k(Yt*l%evKGjZut%Jjrt_pvU>K8^6lQ6E$<-TNxn<}wL;IX(6cM_ z>i@kw^BmX7}t0J-b5BuF$h9^z4c} z;>WmWSLoRldUl1LU7=@J=-Cx|c7>i@p=Vd<*%f+rh0o-yu$NcZ%PZ{V754H9J-b5B zuCSL^*vl*I|h->?-?im7ZN?udULvtMu$DJ-e#CcAz!5XIJUj zReE-no?WG9SLxYRdUlnbU6t$oc=zloJ-bTJuF|us^z14u< za{YXjy}8QXTxD;rvNu=h*;RUWmA$#j-dtsGuCg~**_*5E%~kg1DtmL4y}8QXT%~7M z>Dg6!c9p%k%HCXMZ?3X8SJ|7Z?9Em7<|=!0mA$#j-dtsGuF|us^z5qqt8t)bSLxYR z8FocW+_S6n>?%FGs$VgEgO<2wSLxYRdG@?&_v|V?yGqZlwzy|kTimm2^z0fvyGGBh z(X(sx>>540#(rO;XV=*8YxL|IJ-f!W2 zHF|c9o?WA7*XY?bdUlPTU885$=-D-Tc8#80qi5IH%WLfAHTLovdwGqXU885$*vo6| zv6t7_%WLfAHF|c9o?WA7*VxNz?BzA~@)~=2jlI0aUS4A_ zud$cc*vo6|>540M$fL% zv+MNiIz7A2zFVhf*V%XL^z1r&ZJnN7r)Ssc*>!q$ot|B%XV>Z3b$WK4o?WMB*Xh}H zdUlDhI9cAcJGr)Ssc*>!q$ot|B%XV>Z3b$WK4o?T~euCq7S*_-R^&2@Tq zot|B1Z?3a9*V&uv?9Fxd<~nDhI9cAcJGXK${vH`m#l>+H>S z_U1Z!bDh1p&fZ*SZ?3a9*V&uv^z1r4yH3xp)3fXJ>^eQWPS38>v+MNiIz78i&#u$6 z>-6k8J-bfNuG6#Y^z1r4`?PvCNjy&3jMlyv*ruaXzi{GC$_^ z`h42cI-79q&ka7Uvx$A>J6VrEee|>#xUc+umiz(ve)12=KO+B_{1fue$Ui6llKgA( zZ%F?>?bABLa{AYUpVk?c^D^6dhPpuQ?@T={{{5VHc~${+kvgObtx;-%;pk zb%$T6?C#dV!}pRL^EH8!XZsGHP>)b|;spOG(+KPMkJbw;D-sr|B- zI{1Et6Fyv8$9`g54)HJ+i;<9VK*I8&I?XMH^7G0Yw{7v;jpMP_)6T-hiSFDB6Ic4PNyI6m3A!hGzam zTQNl&n(dvYXhUcBPE)j@+1_c2HZ;RKP0@ztcBd)YfT9g3+JK@BDB92&uK#L^HWAiczPD(K zHgu-%+7xZ*eBZSx+R&Nuq0$s>=uFvZiZ*nntc0QsD7pYe7Z}eAP;>!`E&c<1TOH}FF?@+D7pYe7og|@ukHe`>jJOn0jH2}PSw zvogrbX3 zbPMruSF7k>l@>(uJ(M2e_2t^m6=pqzdgrbX3 zbP)d zqAe)ef}$-b+Jd4jDB6OeEhyT8qAkXG3yQWF?JX$UV$8RoXp52Gf}$-b+Jd4jDB6Oe zEhyT8qAe)ef}$-b+Jd4jDB6OeOHg!)@w@~@m!Rkp6kTFGFG0~ID7pkim!Rkp6kTEj zF7etgLD3~Bx&%d+py(2>?h>!-60hhIujLXHU4o)ZP;?23EHD7pkim!Rkp6kUR% zOHgzPiY|+yr&5>o39dWJmy!=X__k{QQq5(3C&>8-`3m{vGAv!z(ek|N*XXm^ms7v4 z&+%T?G4uaZzLq7gqxScyFYCzJkNIyr#=km#IrS#;zq8~w$={NTFQ@(o`DXt2x2fO4 z|Naj3TiK$IA1>>A`n$@vv-}-Aw|DCELYFn>UeE989l*I`tv;U3%t_5WqkgQ`is^hpX*%LO`)Gsu0`(^KMd~f;OVmF0xJP=XJp?|rpaIS9&CA-%&_DUeR}G$<{9;x-mTD_pxMUt zYpGxNK%djq_p_XDAm8}l|LPq6H5!v=G-EhlOZwiU&uFf2`gr>pon<@UL%xsvAo*eP zPsvY^e?fkV{5@M@|)xt@+>(-`u>2==v>%2PEL}(Kj1Su7k18*zCYkII>UWP`D)TeIKi+_Q9nS-QY1UC{ABq9s0uEig+Ln57HM(gkMe0<&~MS2q5i z9^+ZMz${&0mM)|`OBa}>3n|aig_LLMLdvsrfmynsedPc3EM3r^I;Zq3U62#!m7b*w z%+dvB>4MDY=jmCxz${&0mM$<$7nr3B+Sgu>XX%2jrFcD_r3*R&@eftbV1ixTzi%-=t_%g&(Z}Qv3QAR>4L7ec!_7}g08xFiD&78 zj%2*Vvvfh%UcAJ!bV0{9UhY}Cpery=&(Z~5hjHy$x}a~T`jvW?F6gtzu02Z^^x0$A zo}~-=?6GUl(giW;|MDzd(DfNF@hn}?^%4L7$I6X@jbbZF@S-K!5ot~u&`s}gS z=~=pPHUEM3sIQ(b$OE~Gq57gC<33n|aig_LLMLdvsrA>~=Rkn${DNO_hnq&!O( zQl6y?DbLb{lxOKe%CmGK4HAn?Ao(*L7#1Q?OD2z z@+@6Qd6q7uJWCgJ6zY!fEM3sCsB6#C1s##P_AFh{aj9$1(glvn3e3_4X6XX6bU}Ao z-_>6|OBZx^b*E?Pg6^p9^ekOSd6q8dSkBMKvvfhna!$|E1s%)z`FNHt=vdC_S-QY+ zX@Oa~z${&0mM$<$7nr3B%+dvB=>oHKfmyo1EL~uhE-*_MT0Bb^n57FXo}~*do}~-S z(gkMe0<(01S-Q~TS-QY1U0{|j=z7}!)iqYn(%a0^+sxA2nlZe@v-CEz^ft5fHna4$ zy4A})OK+uAmo~5_d z5l+w2+v*6XXX$NqgwwP1Hna4$dcn14>22}v^enCKdy$@{x5c5;v$Q@1OnR2y7H>|^ z(%a0^+oDS~v-CEz^fpJ=+sxA2%+k+l-n*ZARx@6x^zTPKs~PW((w~-pRx@6r^!MGK z6Lza;;f{2Qm9v$mq=?97mFRDNI2YCCm>tzTj5 zSJ?U$wtj`JUt#N4WQ1Kk(p$fxnLku|>sQ$N70vKo?yXsQ(ORknVWtzTv9SK0biwtkhZUuEl8 z+4@zsewD3XW$Qm=>(|)&HMV|@tzTp7*Vy_swtkJRUt{a3$9|q_dBvH3NTt&MrIxzJ zbGgQIxyEz3#&fyGbGgQIxyEz3#&fyGbGgQIxyEz3#&da&=W?Cra-HXLo#%3$=W?Cr za-HXLo#%3$=W?B`UuWyr+4^<1ex0pfXY1G5`gOK`ovmMI>(|-(b+-N^wtj=H-(c%E z*!m5&euJ&wVCy&7`VF>zgRS3S>o?f?4Yq!Rt>0klH`w|Owtj=H-(c%E*!m5&{$sX& zlda!m>o?i@O}2iMt>0wpH`)44wtkbX-(>4I+4@bkev_@=Wa~HC`c1Zelda!m>o?i@ zO}73MwtkDP-(u^x*!nHDev7T&V(Yiq`YpD8i>=>c>$lkYEw+A(t>0qnx7hkEwtkDP z-(u^x*!nHD{!_Moo2}nw>$lnZZMJ@!t>0$rx7qq_wtkzf-)8H#+4^m^ew(e|X6v`v z`fav;o2}nw>$lnZZMJ@gt?y{-Po;Kroco;8zq_`hXQJO4;ulJG_=S=k9p`%aD>Ogt z=!(~Y@>S%osgHMb#mmcm{JX>P?~XinUbSbz9ocMA`C68|j@rMBwIiqbG5?Lnyir%3 zcXa&g{O>IJP4c(c?*Aa)%>Vv2^;`Jg-=Tgh_1kz3zsnMTFMo&Q-yMzQP1Wzxx2|_& zgKed+QtWX2yCaMGIr#W@hvVNJ8P!XC{JX>P?~d&1B|iS$;rMq)ru7mZ|L$=7yQ6*K z+Q+{;+9R%g{JSF?`;k8W-QoCmM`rdCAOG%f{JSGddx?*KcR2ptk+HqR$GRBD-xqdCRf6aGC$IH$)kZ;s~?eYnNUClOos((XU+0{Jb+P_A&s~N`io2lPI{Z`Fa zyEHQcGcJZ>)-O% zFOvU2{uB8n{`zI|D=hgc`8Dzgd6Yax9w$$bC&{mq-(U@oliwuIu>34JM2?W>$Z>L# zoF-?0x7d(XQq{@(Mh$Z`7H&%1J;*We@HT^)~m4L%;<<=T9J z4FhZ#V8Z|#2G}sbh5A3gOqI;=&Wc@X&VNj{f^RC zg92C_Fu;ZZ zHVm*~fDHp|7+}Ky8wS`gz=i=f46tE<4FhZ#V8Z|#2G}sbh5VW4wgr)?PM+}CLv2G}sbh5Vr+J=Fy26>O$hJmgIIc>v0SA(3kVW6u)PTMfh z)gY&B7+}Ky8wS`gz=i=f46tE<4FhZ#V8Z|#2G}sbh5E7fV#6XfEMmhVHY{SpA~q~y!y+~;V#6XfEMmhVHY{SpA~q~y!y+~;V#6XfEMmhV zHY{SpA~q~y!y+~;V#6XfEMmhVHY{SpqIx;hbG8kO>R+dASXBQyZNsAa*J&FT)xS>L zu&DlZ+J;5-uhTXxs(+ofVNpHnv<-{uBQLiNi|QSxZCF&lIBmnCdc5$(!y+~;V#6XfEMmi=m^n-p zv0)J#7O`Ow8x}>5wulXj*szEVi`cM;4U5>Yhz*O_FvNx-HVm<0hz&z*7-GW^8;000 z#D*a@46$K|4MS`gV#5#{hS)H~h9Nc#v0;b}Lu?pg!w?&W*f7L~AvO%LVTcVwY#3t0 z5F3WrFvNx-HVm<0hz&z*7-GW^8;000#D*a@46$K|4MS`gV#5#{hS)H~h9Nc#v0;b} zLu?pg!w?&W*f7L~AvO%LVTcVwY#3t05F3WrFvNx-HVm<0hz&z*7-GW^8;000#D*a@ z46$K|4MS`gV#5#{hS)H~h9Nc#v0;b}Lu{zKo6BnHS_+T%xnYP6Lu?pg!w?&W*f7L~AvO%L zVTcVwY#3rgeM^V+*oGlC)aOSvx9IbiGMzr*M{OI1*f7L~AvO%LVTcVwY#3t05F3Wr zFvNx-HVm<0hz&z*7-B=6d#U$zo}nW^nTOivh9Nc#v0;b}Lu?pg!w?&W*f7L~AvO%L zVTcVwY#3t05F3WrFvNx-HVm<0hz&z*7-GW^8;000#D*a@46$K|4MS`gV#5#{hS)H~ zh9Nc#v0;b}Lu?pg!xAvf+X9O{Cv9yo(L*%7*$C zAlcCQX8!lLso%o?{toq9+2Y%HCcn!P-wE)pXxFFQMY~^x?+0~PwCh)`WJ5onck^HG zVLgAqlJ~OYeJpuDOFqDo53=MBS@I#4e3&JF#FCG&VKsEC+aWpUtcD_!ji9&Un7r@N6BO4aq*=9>oVu6#o7DfzKK&Q+ zU&((X|DF5~^4p}Zl-|XLcd_AJY-#5IgxyXIt zE2VceBf0jK(z}|MT>DDtUCmCe{l4K{%~9?kzi)U~GnH$(^5Ij)i-gVZ8j!)Ni4Ft6tF_Hr&I8d)ROf8}4DlJH+o{TcGJU& zW8t1`=sZV`lfGl&o^0s!9SiqlL#OXpsPB9-!WYPkFKh6yKh}VM+_e74iE^@Rsk>lE*j^C3Fov$bT>B~Kl zqu;{9hI`m>4;$`b!wNR6V8aSFtYE_mHmqR7ip~x7yB0b(ys5MeE7-82bHh8T{VAFX zHmqR73O1}@!wNR6V8e=z*}knu+J+TuSiy!BY*@jD70wMS*sy{PE7-7t4J#?zu%aV9 z-4{&fhOTYHip~xFOl-r7Xg{yC4J+8Nf(^sy65Ft%V?{5q4J$fg z^b*^!qH{wpu?;IaZuAn{u%dHAFSiXVI(l^4h7}z{y0#4~Iydy*u?;IaH*{?qR&;LY z+BU4{+|adcSW!3mzih*bjxD{!HmvB_(rFu3)J;y?u%cs2r)^kKH#u#?ip~waPTR1e zb3@m*VMXVLu5H7L&J7QgwqZr*hEChCqH{y1ZCKH{q0=_3V8aSFtYE_mHmqR73O20h z+;B#Zv<)jdH}tk_!-~!gUE78gog2Eg4J$e~bZr|}bZ+R{HmvB}(6wz?(Yc{(+pwZ@ zL)W%pMdyaDZNrMr4PD!Y6`dQpwhb#fH}o^H4J$e~blQd$%?#d0wqZp_%dTz1ijJ9G z+lCb#IlHzEE7-7t4J$e~^m=T=ip~w4wqZr*hEChCqH{y1ZCKH{p?lCatmxd(wQX3@ zxuI*@u%dHA*S2AWbHfTYtYE_mHmqR73O1}@!wNR6V8aSFtYE_mHmqR73O1}@!-~!g z-QBifMdyZ2+pvNSE7-82b3-q&4J(@29#=BMV8aSFtYE_mHmqn)JEzCkh81jB!G=|A zSjC1_Y*@vHRn0SZQdMkN#fDYQ7`hg$xk589HmqX9DmJWQ!zwncV#6vntZGj1dThh0 zW&_u@VO8^hYum7@8Njt|SXI|MZNsYi-L-94Rj0eQ4Xf&L*S29*J?`2ztg5@6wqaF$ z?Z4WFRcu(rhE;4>#fDY&uODL@R@J{w+pvlatJtur{`C^uu!;?<*szKXtJturp7nZc z!>anokF*V|>K&(TSjC1_b&6}-u!;?<*szKXtJtuL4XdKv<7^vNMYz*8tYX6|=Y~~m zSjC1_Y*@vHRcu(rhE;4>#fDXESjC1_Y*-aDS|>KFV#6vntYX6|HmqX9DmJW&oJ5be z4XfC&iVdsSu!;?1Y#3w17#qgeFvf;4HjJ@hj16OK7-Pd28^+i$#)dIAjIm*i4P$H= zW5XC5#@H~%hA}pbv0;o2V{8~>!x$UJ*f7S1F*b~`VT=u9Y#3w17#qgeFvf;4HjJ@h zj16OK7-Pd28^+i$#)dIAjIm*i4P$H=W5XC5#@H~%hA}pbv0;o2V{8~>!x$UJ*f7S1 zF*b~`VT=u9Y#3w17#qgeFvf;4HjJ@hj16OK7-Pd28^+i$#)dIAjIm*i4P$H=W5XC5 z#@H~%hA}pbv0;o2V{8~>!x$UJ*f7S1F*b~`VT=u9Y#3w17#qgeFvf;4HjJ@hj16OK z7-Pd28^+i$#)dIAjIm*i4P$H=W5XC5#@H~%hA}pbv0;o2V{8~>!x$UJ*f7S1F*b~` zVT=u9Y#3w17#qgeFvf;4HjJ@hj16OK7-Pd28^+i$#)dIAjIm*i4P$H=W5XC5#@H~% zhA}pbv0;o2V{8~>!x$UJ*f7S1F*b~`VT=u9Y#3w17#qgeFvf;4HjJ@hj16OK7-Pd2 z8^+i$#)dIAjIm*i4P$H=W5XC5#@H~%hA}pbv0;o2V{8~>!x$UJ*f7S1F*b~`VT=u9 zY#3w17#qgeFvf;4HjJ@hj16OK7-Pd4HmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9 z!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0% zHmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cM zVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0%HmqU8 z8aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0WtYO0%HmqU88aAw9!x}cMVZ$0W ztYO0%HmqU88a7O@VS)`4Y?xrf1REyUFu{fiHcYT#f(;XFm|(*M8z$H=!G;MoOt4{s z4HImbV8a9(CfG2+h6y%IuwjA?6Kt4Z!vq^9*f7C{2{ufyVS)`4Y?xrf1REyUFu{fi zHcYT#f(;XFm|(*M8z$H=!G;MoOt4{s4HImbV8a9(CfG2+h6y%IuwjA?6Kt4Z!vq^9 z*f7C{2{ufyVS)`4Y?xrf1REyUFu{fiHcYT#f(;XFm|(*M8z$H=!G;MoOt4{s4HImb zV8a9(CfG2+h6y%IuwjA?6Kt4Z!vq^9*f7C{2{ufyVS)`4Y?xrf1REyUFu{fiHcYT# zf(;XFm|(*M8z$H=!G;MoOt7Kuw5l^8-CdRRxnY706KtrvKk6JU!G;MoOt4{s4HImb zV8a9(CfG2+h6y%IuwjA?6Kt4Z!vq^9*f7C{2{ufyVS)`4Y?xrf1RLsi<#gVs-w4xr zpMHUh+UJG|HcYT#f(;XFsBio0cw65lC4Hq--#;XMZkS-h1REyUFu{fiHcYUgzUQPP zaD7Wa=Y9H=H?_|V6Kt4Z!vq^9*f7C{x^ASaC*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3RRv0)t> z*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoM zVI3RRv0)t>*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3RRv0)t>*0Et7 z8`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3RR zv0)t>*0Et78`iO59UIoMVI3RRv0)t>*0Et78`iO59UIoMVI3Rp%Y%1P`|_aEzooG+ z13Die{cDl?m~LOxsVhX?p3+xk_eGs+f16`p?0Jd5yRk3!T>E=H`=V}N`7YAGWwI~2 zoc@;lzKC-ATk`uN$LVj$?~4|vza_t~+1}6RZ&|Z{Phww$cq{%riG6Y6`X8zPiQ2z$ zvM*YkUt!5t$*++|$fM*j@;G^dJV}0?e2jJaJM{aS?Y%93lYU>by=#A;eqXb(>oYvw zzxS{&mi&DDdk^~}%C&#*VP9Oi_U}FHi!Rsxy@!1<=GwpaurJbF`}ZF9#hYvY-ow7A zb3I2rPrX3BNc}Y9?_bT_*L>^ruV(IxK##nC%Wz)=I{o{F`y$X;C2M4z^m{}5%ys+B za{HR!yyR!(3*^tq2Tl>FXC?NWzBaWl>YQ&--h-BVqD6BkwA>RduFc6kapE*5_cZf3 zO~pN^xCa&YpyD1>+=GgHP;n0`?uiFK-oKr2PYgKy3pe*PS2(@*?`iKl{o4umG*>wN z+X?qHS2&N6{_TW&nk$_C?Sy-pE1cf%_t@k2*w^>8m%YTlop4Wk*6H6)xTn4894GzT z3HP+`oc`^Edzvepi%yN$fzrRPc~AX#CDow&8gyTS?rYF}4Z5$Pk0o`{%_Z`rE2ip5OuA=)6=)MEG?|}V&z#czfU+bReJks5FK=&QceYy)K zOWb`2+JjDa-vQlsK=&QceFt>k0o`{%_ciIhCf(Ph`Aoi2*JPZVjB}H5ZZghI#<|HjHyP(9(tS<#NR#es(tS<3uSxec>Aoi2*QEQJbYGM1Ytns9y01z1HR--4-Pff1nsi^2 z?rYM0O}ej1_ciIhCf(Ph`Aoi2*QEQJbYGM1Ytns9y01z1HR--4-Pff14x#0c?mL8*L%Qz}P7dk5LpV8vibJS4 zgo;C`IE0Ers5pd*L#Q}}ibJ~ZknTIA`wr>8L-zh5d;gH`JEZ##>Apj{?~v|0r27u( zzC*h2knTIA`wrRfhwSk~_Vpp%cZmBA>Apj{?~v|0#C?Z!-yz+1NcSDmeTQ`4A>DUK z_Z`xG&#Onm)br{Q=Q}l{KCe!3{d?-)=d}l27s(P?CiloHStIM@J^t%}^e+QF-|}+J zlh5n;+39=TKi}ee>OQaI;rq%r>3z57bv&%?ay zkdKq!B+rm%$suxtJV%a`ljJlxOZpDa_eGlX9_f46+}D|uQY2harpXNXtGesOef_fj zuPc2AoBR4@eb>Gl#(lA>@e!-eH}d#5@z>uX->f@e+;4dc_1jawsrnt{JIQyYe!V5t z(()it{=$O;3?6Q_4u#)#R;W;aYCu@)hcz?pwwA|QfCdyH$FJt@=HA1 zU($0pQ0-U!ke;X0B#Fa=Tus^IWCQ zbCo*JRq8xf`Kx+9FHb$H=lOD7@BLTht61{t2al^(|0;E+qg4MYb>^#lJ&#uxtA0~T zuTZ`0oRG%uS1uJzHtkiM1Qpe#+odqj(7Od1+uu^Bi zN}UBObr!7DS+G)P!AhM4D|HsE)LF1nXTeIH1uJzHtkhYsQpe#+9fvD*9Im{~{(6Qn zFHmn&e~*21g}h2$Bd?P;$eZLX@;14{8g|)h0dRVBnTF&vB&Q)c4asRpPD64UlGBi! zhUB!~vv^$pYm(EDoQC8yB&Q)coifR3NKQj?8j{nHoR$*@^;eUe7RmYzH%LxHavGA; zker6(G$f}XISt8aNKQj?+Q+n7gGo+9avGA;ker6(G$f}XISt8aNKQj?8j{nHoQC8y zB&Q)c4asRpPD64UlGBi!hU7FPry)5F$!SPVLvk9D(~z8oBQzki` zGRf(bNlvFsayn&_(4o8+{vle;#_X*TIYa$4^iyEe&bT_<;KlG8d)_Et=CTF1#wlbqIZvJ#Thker6(G$f}X`Ip7&{gz+$ z`)kTqX;%MbQTm+nGRq6(4$A{FBqQ=JkF1a}nK-qr!t z?#s}98M-e+_hsn54BeNZ`!aN2hVIMIeHpqhL-%Fqz6>78(0v)YFGKfb=)Mfym!bPI zbYF(<%g}upx-UcbW$3;P-It;JGIU>t?#s}98M-e+_hsn54BeNZ`!aN2hVIMIeHpqh zL-%Fqz6{-$q5Cp)Uxx0>(0v)YFGKfb=)Mfym!bPIbYF(<%g}upx-UcbW$3;P-It;J zGIU>t?#s}98M-e+_hsn54BeNZ`!aN2hVIMIeHpqhL-%Fqz6{-$q5Cp)Uxx0>(0v)Y zFGKfb=)Mfym!bPIbYF(<%g}upx-UcbW$3;P-It;JGIU>t?#s}98M-e+_hsn54BeNZ z`!aN2hVIMIeHpqhL-%Fqz6{-`<27|zhVIMIeUFIMt(Heb=>_Gh9z3gj^@A1V+x5st zMB0H;XG6-%JhDLU@JM~~P0IsneHvVKNL`|isLRxMS?3<>sZdv`W9k}pLS0w=sQSz4 zqsK?pU(R14A0dBLbJU~s*Q0vou3x2D=uy2df1rHzgL&nDO+BQ1JxkuES?E!{qASXG z=otG^y&~tkdCYss50D=sKSF+#{22Lh@{{CWk)I|%Lw=V09Qg&F;op&ePyQqM7}-Pi zlBdZ5a*!M*N69gAf}A2}$T@O>yv%EVhF4dh-ln!A9);3Jq4ZHGeH2O`h0;f%^ie2% z6iOczr5?jwMkb&xQis$f>WI2beV1|8Z#nC~D%AQ#XVo#ae%D!bLakqSR;~9Dls_YN zB~!JoWGZzfQ|Dm%#Y^Qw56&t7D@$IZIsBEHCllpssb5F^25P-`pyh9&eye8kSL*(O z8Kr(NPO0CMRKA<_yobl=_awFCy)1bjOZ0n^TJiywe2^vjJxMM35KBJH68)Z}mVAUI z`aMb2AEo~Pn0pWSD5~y#d}cSh8)spWEF0J|yGxdY5CWksy#zwY0i-Dw z6w%iP7C?$Gy@VniL`9?sqM#yzqN1X2L{Q{Tm<0aMIh#!af^Yr)KL5a+J$vWQE$2Sx z&OPVcnZ^4g!MA0;9p}XRB$3jAQ#x`A-Y1Ea&YaSPQ}8}Xq;%ty?wrztdAv^&>Ajfm z!xZn6L`pyA`*Y5L++RdGkd8AWlr4y$R1}cyT540<%5C$sX zj!Y?pfeP61LZuM~Dj+6Kv@fR+1}c!p4|E{+aWK=NOouT=v;}7o?E)RmDPx#sFdffy zBGXAsGnr;Foyv4N(-~aCET)KTqO>)fzK-bzrkj}NFx|>@JJTIZcQM_=bRW}0JQjzU z9$|V6)XDnpWPNwCzB@6#lur8YWPNvHe2FK0cVc{rCw+Hfe92Qo`tD?Xce1`ad90ln zYsy3V?qq#;Vyr2J^xet&?!;JA3hBF(_1%fFrWDe5Cy%ugV@*7bwG(4aJdL#zV@)|p z-<_=QPK-6BkiI)v-<=q1N+ErBvc5Yp)|5hH?ZjA9I*qlH$J&XprW6`$C&rp`lD<2! zDkDnz?qq#;vc5Yp)|7|z-AUeEP||lN>${Wn-O2jyWPNwCzB|dgi#(+7PS$rPR$o*O z>AMqSP3ffXPS$rP>${Wn-O2jyWPNwCzB|dgi=3qIPS$rPc0tg%kiI*y3xX)=yA!|g zK_f-_?xY%@&iJEhaZxOm4QA+-xzq*%@&iJEhaZxOm4QA+-xzq*Sl|{%@&iJEhaZxOm4QA+-xzq*( zyt&z8@-UJ;jARcZ*~3WoFp@otWDg_R!$|fpl0A%M4@;G@YR^Fg?U(IUxA7^De-uBH)sPs+n8xHrY)GZW7?5v7pC2r_GdbfOCHR0 zDAQp~NATH^Ohob;GDWlz{0uH(7SlOQ*Kj(b zjW~;FBPgPcpolhtBH9RwXd@`1ji9@jBH9RkAJgM3$rDV!V@Z;4M8$}cRLM7@V#JBR z%=}NxlW#=Dh?BH)Sz^C1e}(y9nZL^XHRgW<@5M?9&&Jcf6i^4&jb8SFc-aTy#R#56 ziVMD6FLtd^e)55Mu|^_VgJ~`J+r1bsDyI&-B3_IarPRIsJ7_&lZ^*O>(`2S8Oj|K+ z!?ZoqPE5Np?a8z+)AzWpLrk$V3MC(Aiv3aGk1)j^MexU%9_PM%$ovWBPclz_2`@B= zT1$QjFXTx)`6axNC-LN$@Ir%#{|EOymwWUJ^H-SvmHDg8Ut|6^=6`1?UFW|4!Tb&8 z1@jv7gSI)*~P5k&pGrhj|{+Xw36ONsoM(=ZTUY`7qBDB|Y+Co+nCryaPh^)1RFJ@T_2`B{(rtVe#cA9e&$(j!0Y1)`)!epm!VNss(kR}&>Y^0OZKX{Qr-(j!0ZcLF6n@M}GG2`B{(rtVe#5(7uB%buh4|x(#dgO;Z zi6=es!@m0+l=R3CE01{6BR_0C;z^JEtVe#@LjIIO_nnH6Kb26AOKZrq3DabzDNI{2ZNs!Z(@spg zGVRH=GN0hV5Xr59l71z36kmR^9R7hvfHSb71LUVx<+VCe-|dI6SRfTb5;=>=GN z0hV5Xr59l71z36kmR^9R7hvfHSb71LUVx<+VCe-|dI6SRfTb5;=>=GN0hV5Xr59l7 z1z36kmR^9R7hvfHSb71LUVx<+VCe-|dI6SRETlJ2j)i4(7SzI2L3B74_7SC&Ws3Lb zgD;1%h=mOC?jHDg_JOLH?PGC&%mKyk<$~g!7@+tK4$uInRKfi{R!U%6mCq(JUyaXJ zXFdr#6JjwlQ^_?sr54lLOzSYEy*IHKqeGzexXtys4Gp-QhMdxfQyOzh6HaN$Da|+~ znNyl`N()X&;gpt~(u(=k%(r2_E%WU-XM0ZRz$qO$r4y%g=9Dg+(v?%XaY}bi>A`$Y zPVdEhAEtddr62SCIp+YD@IaQ&Am#@%kKdd^e}^)U-<$$JjQJ6K)kvnJIb{sf45s6m zPGmZXX(rPwrc;?tXNvcVqs$px&P?WKF^}JzLi!x$m$BqmFnyEhDyH~#4CGnE<=}nb z;MXya---gif%%QhZ(<(56@~O1=J7so@LQS3Z$*LM&OClA3j7Y{@mo>gcQKFOiUPlf z`Mu2VWBvfQjd}d`6LRJ= z#jjm}$FE(0;@2+ZSlEW=KxITNV`T$f#d;mfdL4^he9Mty=5!0^jKpjiD?fnyR4jJc zQU2K5L*+Qu`Z(75IM(+#*7rF0L+~4lm`j&~(w@3F%&7A~X-{1o=F$bAWShjnWO^=|2>Nt2Rh!T?H;GG~!sEdOqfhZv@4&DQzgrYcj42TkP;@~A9 zN@$6LXMiXnBo5vHqJ)Y#cmRkV=hou6RPZO5$J43cDWV$3wtpPk{&8&k$Fc1n$F_eQ z+x~HE`^T~EABP#6dP=));xJyKdqzV-ruiZsIUwlT7e*D(ElFa_<_I1Jl^96o>o(Fyqb#R)l?j>rs8-t70-UEc=l7p*+5;93YlSH7W{k&tMU-|k#$&!BI)dp)rg%FLQt);l&iyekisb~DCfz9LGy8RKEa5T)IW@tCiO(r(6h%u7URH)A~J zC8D&OF&^_0QQFNI4;zOl?PiR}yhN0CGsa_HB1*d%<1sH0rQMA2n3sssZpL`bOGIfm zV?5?1qO_Ya9@Y@iLoDsXOph=<#`F?P{s*R)nf}Z)m&f7?)2mE>15E%DazSY~MFOvI z5`YBaX-`E0kU-P}EF}OB#FM8z0rz5}7^^ikbkMm(nS+mca3p1dgX9a3m!GwlJNgT^R}N^GpEJh^KwC2|yarp-gF?Mgsdh z6M!`0M=~AFbPUrBrnGN1fqk9{?DI@upJxL5JQLXGnZQ2J1R#xa&R{x|=`5zRna*KK z`#=)d=a~Sc5xCoBIY0B2^EPz1@VN6M4*CrLPa7_K|G-%5vU-ZP>~2!5KpK`1S*Ip zR3u{lA)Zi?2viVHs7M4Vh$mDe0u{s)DiVPT;>qWb$liuT_A?~1har(|kVLjV64~xZ zWQ!w_QIUwX3SC90NW@x&DA}`#Y)vGx9T9}RuviWPAvvHl^8^_cL7sVnjEW%7JVBu1 z8qU&=`XJ*W$an}M`mZ3R9+yM&Opq}Ugv~`I(`*xDJOp8XQ3}mDLB>W9wiu<*%oAjs z1Yws^3e7)3SZBo3EEI%|Mtoc52}?oPYm`DWQjl>KgzZKtG%p1iV?o$)ltQypkntAe z*(nIij?yXaALKbI2rG|LDDEF*Oa^(53i9j}iOm!b+&a1Ea^NXD^glg3Nsn7WwyaT%3alFBH}fE0tI7&9c< z-JeUZA`O%#NzX_xNUum+rGpaQ053<$HRQT-V|kc7Ren@nEU%LH$%o~$@^6N6h8Bjd zhDnC0hDQy5Gb}VLHk>nDHrzCpGR7F=jn$3G#@@z(k_l_%TzDIDdA^InjtT6JmLLnf z>7^E)5UvAhML`Y@NQd6`ht)gs%FvP@IoD!be*@Q_lWIXKbs*73AONU7m6E1VTWfd&RLM- z26E6@9cM$OMq%t6czTLj_bncVqF?uX0B7m#MA$3JXJJv?-brWZofL)j-hdQnw#T)6 zhCJl-T%3VY=~~Gw%Q$C1I<0KznJRjs3Qtc-p{J+t>=b%V&rX>kFWU1;&kx}VCOVH) zIv;^D@XQi=Oa4YYD}_=+CF&@VuA(z^)fGI`BXeDN<_e#LSi+)${SNe06z()q=xGgl zBFca>p;lc3O4p+WKk`#h4*CwFIOg3xbbBX$QSZKg zw^!lc3%8HnK92mkp=@Z0boW zGyYuw_bra1lEc}+e2ZF0T1BJJso2v@xp>UJ1*JBhEG+S82pLFOfFp-72C3iw z4>(+Wdlu?ARGf!K?>4OQPzq}Jv5*UY(rBN>Z^WYw#aGcaCBNOtL#pAce=j~$Tno+P z#p!o)kOHoyp5nN6=ed&KsHMmYUlMA=D3&}IY8_z|++Anx%!l)Y)fYmkx0gdU_vjbu zxxo5)qfp!6hr7KJ{Ar|8OD~}X`t6NC$pw5Cjd{u1ksj9Szv|VGw=Yp!{;KDH>cNe0 zZf@tI!oDm5dy`k~OZg{j8*B9$HQVaWqyl>-| zS@`ev0`PZ97&&t>j~&8n_5y0$h*_Ox!A1DC`1V^k&Z3<=S?)QgWhe671GV8k-QC-g z-!b}(ui_S999YU|0k?{1QM-%AB|H)(%L?-)Wro&WDV9Ju$G`fCeug#m8hU((l<@s5 z`WbrK^?GbW+n4y2=Qj8>@E_pTG`vBE$6uEL#vk+%xEzcYGI$xZI5xGk$#ph7}J!Zb*^IQu?wK(N|9CF@M()Y_> zG9B0MxqXgicC-h&j8VH!tBU&q1eeGYs=H)Lxcri7(3%o={`+#}^5QTqX{SSZtzxn)sR12+n{uLzSP8jNEXjC9C{OT>?h^`Jv@4h7=T70LBO0K%@ zJX8D)cS6|1MdMNe*Ts3jl?$VcF@`t~ud)AHUl@l}O1Rz37jRGR&>%{uzrsGBzI_}# z-(@f-h355pt@-JW#`kfoicaHK?eDkdzh9rIMw-Wd;`JZh4evWb_dZAcqBfV*Anr&} zUqavh!#g_k8uk9Q?uVg)LW}VaTh1dHm0RCGYcpKKsv8FwS(ZK8JPe zV(@2aRf?Hu4~}=(uK5Y)KV>~V3+aA}JpX}yFp_D#AM(ZUT*tL>S(rU?fjG1Sb+b*1 znvUOFx9{I0wDuI)XZN2;?|x8CQH`y`{JaJvh0&^-3%)X>TQRJtXk!v&%IKiN#h4g8O5`Iqdw;(Gpj z?rz!r_a%l)z+JQ;%!fXqr}wezF#30);m#}X^^Gh_==p_^&#fp&3G8Bw?m`sC?5>oe z>;7e?SZnUSI7e)^}J>f#c-O#kBQ;$9`*E3H`nLJ~)<tBIOfdo>MGoydzJ9-riG>UFI*=}RS@MsL_o4i z4@zYbuX9M{C8tzbs)l%09qA_CooB$?@9^e3yul9dr=vH+;r&8Uax|XK^T@GsoE$GF z$cb_g5yu9IA~uqnp+p~IBo@@KNO)rw?$kbT6{Sj&8zoo9w<;2LB1qMxUP$XB4VOAf zY53Pq8YNAW`b!T>bEI+7qxd&jdQo~=%9Ix2U$*or{!NvZ;NLW98U9U|R^Z>m(wq1< zLt2Hn=S=Ao-afbrt(K%u(Ar4pG}>E6I)fHRN$1e&fb=D`TKWm?j>j*dCdk-Zf%Yfj z*WiMPonFDE2DuKREBHiwrZPt!C0LXu$cg^^Xg&7ipkI-Qt|{mV-aLnX;=M}fUwNql z@;DI>#WRVVUj@axQ_$=3;JlCn_Jd0eVEr~k?_-fh*Zr9qQ3@S@J`+lD@EPJm-(}QX z@-QHsj&M1D^-1|6(BkkxE&gYJCP`(9kW@mF34hYH#fKj~FL_WqN`5cNTOgnC5eZ3^ zJRX4D=#U^s1rqybhZPbod6a^*OCF^m`|#mJ%*$2O;YLMVh^dE+9C!XDVZ>yhj>bQ!@KoqCvM3{cPvWyx zFxEA2MKs10?`(k-D*}BnjHo!~tD}91_*V`8VsKQ%5dencF+vp}StsitU5Dqo@1l6- zA2PtRH-9=4N(r4I{D;0Lp@x!&gz`cMjnO|pl8`@qggQ$yEqPFC$?u8ye)mCns@-vv zY|}sEOI}+Ak}7#PAU8VbuLdOe&knp32_sW{&^%i5@IdzAgUX~`xS@Y`#tO~8p}z%h9Zc)CYh`njs%R z8}L>(NUnn9Oij(mlwM)FjOm(;^iio&4$~b>_hn2No*}(EnQ|UsdXnjx$&+i;l+H1| z$n*!$T2e04->4WISI>^Msh2;i`-itB#)5C$`8re@?7~j`BizPyjor_Z;^M( z@5o2wkL1tf3-V9$AF^(c4HiRbgVPXesA8yQsBLIqXl7_-=w=vX7;Z>6WEtifo;Ey> ztx~HE8x7kGyA5v}jvGEVTrhlR_=n+l!)>G0Sk_qH7%(OogT_Y2w#Ht@fyUv+F~*0C zS;mKrj~JgczF=HpTxHyBe9O4kc-Z){@pIz^<9EiNjK3QTA`B6x2qmISM1_co5lImZ zBbr9Eis%^8BVt&@#E5ATk48Km@l3??5wAt8jMx^jFXC9l>4@_Y-$(o!p_?L251QPj z5vGaVs$-@|Ws*94N@f~y&4*1&%SuZvLHYdf^hv{~j2oGeHkH4QNKc!THaUGVU(t#$ zPE8AajGC016)I_5>hMVu#;4x#!52&zHDP?(*wi~dxY$YQ<44`W)M`#ip@Q$h73D2z zey!BZ^o$W)e+nlKXPPoR6-^n=G-bqu%+%q-)5d2GFXCGAnGsA|qSdLHBbc^gIixXd z#b?u)wkoS$W%qgAMPX`zocT*4@(ZH7-6H!d~Qf>9;-Hbo_kD&pD>OPw?t zM?1bUooTzGv+Y7vrH4M+g{n#qeRL>M^4Jo5N0tZl4&&XC`;x)5V~IQ&CHRi0Edxhq zzG6Jn&V0pqrkzXV9bba)!flI=tU5oLZlD3E}LneV%^FvX8VLyEIZ8fVa>{B z+OIg{v|_d&pPRBXiBpDUq)#55 zHeyoRsPxI1(DV_cXp_?>Wu*@XyeExqHD%I-DdW>?)M#EKZQSIEsl(IK#`6c4F%egU zQb$ghGO74m=IHcLuF#2b(&|R;i(f#O13(_bJvI| z?lgZR?Iwl?hnUbT046jJloXaD^WiCgzR-ZsXNj>+nJ{tMr1VjvGyU-?Rs6MT)Toh2 zw4T51gfvWoll*c1)|1f9YV9$TO|I@AotZhYVNz0dc6Rm5X%i=)nG;7(tBwLgH#&dl zM)x$`v1(x3?Oy2{sQ`CVJMKB7a6h>$7Z{=pD()Mj3=bRT8P*xj7=ALEj2>eZR=jRnq-=5deXGO^s4Di z(`M5)(-)?1Ouv|JnDWhLvtq7b4wze+2b$B(lgy8rpD`~qFE+nr-eZ2-{J#0P`4jVJ z=5yu?=IiELmPkvKrGmw6@mk_6)hsnFZ7e-3Lo8z~lPyy%Gb~S9p0+$|dBL*Kvc|H> zvcvL$W?Y=nUY!Utoi1M-bz_3}(8FsV&2l|unL6W|eZ|*oJ27I9pFj>Vd^E0o^e|3>d)D8-q)a&Rby{ujf z?Xmh5TP4-5>5WAx-6WcNb%QwXuO>g0@()z;nB=y>qy5u1~tY*P?mX9xcbeJZVXmxBp|qW{r3_(!MSEpNYM{`pJP++jG43kp~wl_A$#Q zugq9HVqv6x~)@|9cHY07sxQw*4jCEVR_EE`O^IvSMj8q;|FhVU4nXH?Z zzP@SI@+Ti#?iDV}OXEg8-_6~@DjMXM5=L=JRMRj0p;_?t12aar;$zAUz1_PeYt%yR zs$H^A6{GZekE;jvi>N(5(O-Mhv_Os3&*_plXVM3l?YqS2{MDxEvu8aq)txnV;gWH_ zuDa7?pE_axp{Xa`R^I}GP12>4Kb-JYR`oOy)T@bsUTgMjQCqJpDvSC36suSqE&7Nh zX0cRjW75Z&^;rEyy^?s*q(6kT{Prem7sY-`%)HSBZxYqbR?$-{XBKbgm%~8kb=7-9E%oi1*`&8K z+iI$#RWZJiVqZK~wP&Q%QY`kxe#M$FTUh-!M7bY77jaf$oi7?eSXFL_hB7|8iuIzu zQ5d7e8)oqwdXXRoLnj97v7(Z`z^kv+S2ohCeQ6e5b=iUZR#8Q_-neKH*3a66ux&|h zt6RM`vDeWxa`Qyf!+Hp7=*D~n$TD7M|RsA_?-4c^1oBxPjRXlFd zpVgO`FdhwrS8rg}AJV;H-YTESR8C+R^13cityh+fRJBzf$l~QwqS7g&csXyHW8A`t zfUUlvpsMN5s<$C8!L)SQ!d2^Br#l{O(xhYW6fgR0nUgvBu}SXH(_i1>6CE&hRMVrN zhTV0wgI?{pKG9}S(s;O4d*KF_kAt`v4*}h#bt8Ehv z^c#@nNtAN(4{=R2C3;S$!4y46H%C1^mSL*shr_1>d? z0|bE^dgFJ~d+GJwsifC6QA+t=OtyYcO}Nku zS425sydhcw6wP(x4c*aj(1^h!0eii!P|sj086`ZrN5orewpXl>b#wH8t!S$MsIAg_ zn{BTs_S}|={d}5gjamuG)e>FplGV`(s?uAuGkJ1hP(aw&wdLLl&oJ z1wmKL?xkAy^=(PbZLY{x(;U^BpaKf&M|w0Wjuy>y^(3b2F{S|)o4i>x!_Raj8?Cy1 zmZ&415_M4HXptxyi^f(F+$-u@t17lc#pYQ5%FC~ZVdb=UIsn>W5WW-v8CukSc-389G;SycU9ZwBZ!{YEGw#DgfTwxhFEG%;J- zh-kg39<4VsS!XG>tk+fR(bXyhC0VzvU-j;)RgceI>V0+mnWn{wT49Wr@Ly4NZn6+MmCwGPN)jA^e0lg${bNZcpwrg5Jhj%6Hv8|d1&KK)PwZPP~mLrx?Q{0WMDGeBf4AHY7^zP zRuO|HK0MoTcK`NWn|xML-lWHxr|9KPR(+Vr6j2&1eru{?LlNh#v8U@2dd9Y$i*EOk ztl)qeg9fZCqh1T%xEBJa>@8}Z;w%!Bfil2khq&KViI1X3zU*jsZ%lAkh48zkwd zBx7U#MhWgF`B_PNT9W=I!K(m=gmhezpEpaJB|K*)zhZ*-NID_OOCzK$5@Ij%N)w*S zl0K5;wMJ>1gh-6EU6MYQM=^aV>N|Jw;rFSK`R;2eN>7pbZ zlCZdybIVBYOVYQJoG-)kB7G;xw~W#Ul5|Nj7z_wQ8Q|F)CmYPNRMu#K*Un)gzbzcI zZW#e7ERhkYg5MO5Cuyi8`6WcAq;v^!E4Ze}zn3LRQzU7O1UHW~R)+UfnjlF}Nm8-| zZgyx}68|n4;M09og6l|{$UeqllA)A@hw!9S3f&-5 z1`m=nUy`1aq~#olnNDt8X*4;75gU`$P{ zLj(;TC6qDJu41lZo?w37yv}^ceBNTVRJDw?EVcY#`7P2A>5FU@*)8&+$eEGP zMdm~vjr{U~(hoFzAo+n;A6TW7QoKqdrG+v`nXkN}d|~ZjU1i;4{kBxiQe8?-Dz%}s zT)J}UmZc|_ex>xv(mP5YDt*powvDvSw!LQCUB*x*qD+@E!^&iqd8W+PGRMk%SLTlg zOFx+M;G++&eDLUl1!ZkzlgjohJG1ONW#5bH5Vg@>!9J^8*>Y3LU3MfoMmjPbPdOGj zRya00-iwx_n?$#d?iM{PdR+AM=*Oeqh<-QvQh8JP=<@O9lgsxhKdt<-^6!`bp@LeW zU4i>I;b4VtoRyr-oEgqN&Lb|TE7n!Z)ynmE*I{>}`!i2tPX|v=&vMUgHCElB z?)G-^_V#Y}p7eg>GyD4aX8GRmedKTCAK*Xc|E1!PiciFtV;aWvh{=w5E#`1Q2{a3I z2#g9$54;#y7T6p3qf*C8{VPqb^hl-GD{ZcHBsL~?Oza!6Kg8aQv&D6c8ydGFF1NCw zvb}OlOHFWuRgo_Gu5{w^+?K0dNJvGjczqwt#Q1D zUNca$Tg|~WAFcUj&77JCYkpqyN-a|@cdfd$y4OmtwY=76wXW8-)*fB^V4Wv|<$^EQ zjjOx4Ua($jy~XwR)w@-HS^eJ{%xiF|;n0TfHoV+uRpV-npKN@riMh$BCQmh4(d1~8 zi%p}OHfWmJ^wp+sH;ZUyX{IzQ-OSdkY_oFB$~SX0d!gCe&HhM^N_MoE*5aua3tOyc zv8~11Ee^N%sKr+;Zl#n;@uVcCG)w86GALzSN@mK8lxI>_rEE`mFXeQK-m-Md_?DgY zf%|V(*e}oDuT|P_)CWdr^KQ<_pJ)E0pF`X<>uvH~CVgOjTSwkw7LlA^$|R<0r5pv1 zS@dMBlxad2hu|DH&9)R(em-xdF`(L(&KEUc7kWe)Q6uW8=qASC=1@=ceoi?WEegz{ z(JyC2sU-F1UVH1V_S&_ht9I`_KTzE}J!isd@AhGxme+Rcx>)`l;!=kQ_^5s z4I7h<8;MO{;t&pt{kn)Zf4FuMpGeQ_>a}g0rzR-2Q}ac#&_wcFMZ75n7>`D`R>mhQ zFQ`YOwGR_j+kjdkZr z`)_-WeCiV)>7VH_!dureb^NGD2D)`)& zIQS(x??X_$)Z2_uYDi-KVMQ_+2z4h1h1>!YY>E)Z2(fYBe zYSSys7R_E)W$}sVWfafOc6@o_&E30wd-g0p`khPbs`tw8Vric-rvK2fE4Qb6VZ|z@ zw);NoD{OAt#&POVtPzez_f{LtU#!ekz;;(fG9`Bx1t<^0&|Rx!7OnL+O)v`Dh*hTi zIMEAjNww&WV6QY1E7^RyMA!5bYq2Ic8XZ(qlt!v86FnJ-1yUzb4_z68t_=K#8Lj~P zx1s?SxJkPC2fdY7KWG-c^{Woi=?BZlZ;kDO0qmJNsx@pJ_e_zjl@%!v^G(sunAbDQ z@r#gCj+nL`TK@5;1OLjx`SQ$)tsi*xQNrNxr(9w?=es|Ibf#7;7F&~_%$%F$P5h>c zZpf`~nwvHGiHF>%ZI)=E*+fczMY~?xAr`%C)>A}V)3M_@-~HqMb=46Wn>YRK#SPwA zI4|yPQrT84o2)_rGcuJLifzbj5!B*DaFQavpH1sq(?t=0G|E?gTMusXCM=))>iU7| zn=9VfbM)iMgO7W20hc4qs;}3rZoP4(YI-zzI4TKCs;H9g{dvlYhsVRmF>b=NJ`J0$ zdAGG!mvo0|mTDWdQjx_>46c|NJzPCHOQdLZv_d`@R;6 zeTE;O{Z+4h#z(^1R;jDnQq`yfz}+~}1vT%|5@tI(tK!vZihXLqc+uTr-*v(=Y}4M6 z7u;QEtNqEGdRS@Ezh5V>ZIVh>iBWtwD^5Wvg?9Na*yU4GLMF{@#lA~#E{uLr&ilTo z-9fF<9(PLnRhRzNU*L4h1?YUYKT5!IDWyi1q8ydpP zq{~(H8Z-z=H>wKfx&1jiw|KKG!GQx4TXb8xzMHqR9%cHQx=?72_JekQkfeUFd)J4@ zcMs_T;B^@^xP#Z$X<3$5PBfXH&AqJw55lekP&2jzMVZ#0>z1bdh7BI=6|bi&`F>>H z(noo&V7#N20=4&IdaR(G>Z3e!t1KqHkM|4Jr@g9o&wt)BaO%S&=RP|BnYms)$}(@o zn@_HF+p14iWXRNbAi6h~m8QHK-A5Ixmp!lOHANF{K~=~+k-AK+5PQsr*DqGZ9?Rhk z_z)KRJ`vUGv~FqKGriY9?|b8Wu1|3{qxSji=RZwXI-#URcl4x_8n${HDz-UFKP5b< zs6emdKowc$&@gs}bWcxH#J+s5qcabv{rtnQU_*mSm(oa5%d|FprP-dF*NsMFnBxDe zgPMh+A-z|)-HpxmBOMj{8X>1Edi&YJDGmtdLzq2hk5n!l6;@x2YI;P`m&|!ujrtl_ zO%zM#EK=+_$*O(gGfHzc3WkTE!I=66tnucx6n(d)Yx>y1gEH11_KMwbKHRX_r%qQ| zvf(MetX(sTtS23!xmjdrZ<+Ld=74@GAWq>P2>nqDZKoX33VG_8zZV<7(>Iz#eKY(~ zjVONya|?YH{89D98k1hrT%W$2YAN0{>7C6sKZfl^?PKGM(PE(aqVRpK`^b5sw->8K zYw?B&?yN?-vypJp+$-AX%S^VuYN6w8;y-b`<=orxHZkOQvpuB9>$Rti>!Ta1#W!lb zs+Ltvy^rq3C_}Yr6VzgVm{_e{N>FvVU`?+g&seOQqJAQ(7T)-qX_@g<+;$;hHaLLU zU>0VB12h}V!fX(utkJRqN=-FKNcEMaT9<&5qJ9h$F0^dWbF|4xNE~iWoXi!4jmumeqt>vSWz?he@qW6?0hEM-}_N zIW$Ghp*d;}Pf~NZUG|5igW9y(3cP8Kz4FQ2K#RE|o#Qg8H7|iinK($}j*Jv|W zsP)wS!c0D^8k!Z(KDe#y`!NDDF#!8X{xd`3pRU)^=JdnR?iS|yir!f3+fTi+TKT=3 zDr@J(C}ZAccBHgbcZS{i`hkL8cR3z+G*R*=X&uAfep|w7#PS$IYKle{a|}@4plNuwN+h#P9E6u^(98M6qAcbHvKFN;cJ8TaU`p zygb>ZqT2qLgEr-r4psVATlK9Ls@Z;Gm}1|UVzF;pg^N$v6vJ)%hRcxky zke?RrnjWvEIod(EJ6}^eEA|5f>RANp0}Sd}g`l39TuIBTqu6>WVr7OSnVqBc{Hi3EpmnMJLiDcYc03tqfWyJyZ3({D!1 zq-N`$TR9GnYxw?2PgcLMGgSq~f#BSLst?e{ z!z+6oUfJ9Z_^h_U{Wz z+9$SXKR85!ZZ&ToH6W*fTQ8>@{CZ1T8irPy=l5*gh49-9RHFTG?E8*bL=4gsu%gfGvlah~p(Vqn4Spklv?uxkFDVO9Ih!!K{#y5IfwrnD|E_(IL&N}m@^pHsvu zd2@zQD7OEdi>+{I$Xw79#oC56eDC6BhB9{`8o{BU1!kD?*UAFNpu(VpMX zp5N|h&vku+$myp}Sgm}8(3(+H`$IG!x4Nj0TN%c{-$XfYX{#Q9KcdEJ0*n2;aC8$9 z4Zrj1welZEIR9OQ^H1!2=hVr4J=?+rYCpIaOnY*kyd|oJ{U?ce^WxQo1q=U&UX(7h zb}ZD?ufn$66}IKR`rp}dOErH$IisH(rMyMnpzlT9{qP5gbNWd~W#y{C(*J+v7V4sI z5uOhZjmFBS?#sO7{A!NYH1B(d{p&fEp6rqqJQxN?66;% zGe`~fdd|PsZ4~=A)&A9-zc6HJ6n6^mo61GebPx6WGn%b)F`NA_yUpwDJ)+TbSQjk` zkK{(~(}jPtOH0tB3-|AkeQ5_RX1G%5fII(NCDAVG1^D1ZZ%lBx3$#}qALPG^_*J1p zPJ8u(>s`!iRDFSEjoQT`UeG%_?B~ym1r065HvW&;8AuIoU1N9Co-!2lq*AwX8 z(6Qz*OR-~b#a`Ud(^b(sJ5Bk5R`R;N;FXXQz|>qhA*wc2f7uNyDqa0hNDGvocLkJu z(^N%NX$sQ|Gk3arQq)gVdTJM|D$@!cE4&gJyiwytgI1zXYti5}H5|GZQF|TsOBCS8 ztcMuC{VGr4_RFE9t4KmkCzmLrMX;sl-crsfugr(lu#%j04vMk#bcJ zqNwk~jtgpp@ImBH#`#WRlHYW1-Sf{`?2k8*~G^$#5O>zpB3JnQJKG!FSm zf5&Y*0YLAr=KGdqr736gUaF?*(YNY4`lyZP!>jj^7z=l*IH^tRtLU#6bS=!OEfQnX z6tR=mAo_gB2HEuwMk)IiD`?bQu5*5IovlzORWVkHdP(vB1Q=dDg|qdr*W~g?=4aEU zOzHMSr2XpS$W~ZyO_3zVljqnkY8y4b_|hS2!_!*Ztbd!Ig|hUuaLT?bs!db(3YSsr z7VlySj-3%Mv;JuQ0F;uB)@#;mk&-RnfcsGEsYSxcVbLphG>P%>K)+*YHrAxKuzbGW zq)!R$JrF*NP2amLOa23%Catt)fLqhjaHL5*46n&2mIfnDdQ;1V9FzV8Tr3wXwi3Q# z@kvWHUxFZm>fN3s@ico8-Y!_|=%ijEVDqhUEj-LxF0W^5JF^wchH)CQ+Fjr>92^N@}91yj=t5fI4u94?dh>Sp@


*Cwfy|$t9wALAZ8r%`8G*a~u+D}PJd-A{xz;s7T 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 JffmY!{{ybjEuH`X literal 0 HcmV?d00001 diff --git a/proxy/web/a3b0d611359e6fa8356cd88aa9035268.otf b/proxy/web/a3b0d611359e6fa8356cd88aa9035268.otf new file mode 100644 index 0000000000000000000000000000000000000000..2aba1fa26308ea4fc5bcd7f3b91818a0ff3808c7 GIT binary patch literal 137592 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 WGK5`0ZyCp$#-g57L9I24ZTuID?_d`I literal 0 HcmV?d00001 diff --git a/proxy/web/ac2944015a17576924af7c56d88751cb.otf b/proxy/web/ac2944015a17576924af7c56d88751cb.otf new file mode 100644 index 0000000000000000000000000000000000000000..ca3528edb55d1c6529967ccf80db4e0e209fc71a GIT binary patch literal 128584 zcmceSo2j zobUI8vzzXnoYSto)`6w3etzbi_wqd7&+mEO=e_8(wjo` z*B6CwXl*ic-GR4%{>g8IX#T??T>KZw0|(#rw%jk?-`p62e>b(|FP7aPfv0KK|h!>a(xuXZxrM-umC(@@HCpk^X(rXnFS7 z(5`xYf60mv8txh&o|zoj)x0Bw70-mI_}Oyt*i>{ZqeY{4NE#=L<>9xiN`6EC{y#%F zXK<=govnQ=Y}N9Q=<|*cdC_g#UVS|^S6Fh@KZW}G=T#Cu_uQZT{8ztgH@(6xmv4md!4Te`2qE>WvOSmdrL?7vGmGBbR{dv#YAG!C=XLAq9uDht z1oiqyNAw3Ai9fhTKRzmJqyF_~T&EVh?rdDIZ}p#z7lre}&1d6=@V4+LXXD1OJpAR^ z_?%D-A3qzvC9I6zel~tulWgYw_E{??uV8+xW z!{>S`Q}3B6jf~EAyrbvRj;&j^Y}sh-?$}cqzHwrBrsI;1zM0{f;mcE%$>Hjzj?vlK zso3Vt3kwUIX5TYa8JQ_gjlO5o(Mma4nH?>b4^GU^6g#e&El!k<+6J+XH_JPI{exJ? z6`Qn;-|)%r49`?cmC0ZK{Bpke<{Hm_qg3rEc4#{{43~>D;~kY7fAh|6>{u8r9Ubi` z7vIw{G~6*WJW{I8>QHXzC{1=89iEvj>i5{(OsRT9>FBIBTix^<4?0^JDiy20UJd{A z(eLUws*3ck%#IFs^iJMz`N66x@7mJQ;mPW7$F7l?;ot z3&ok?j-$m%@8XS>xyc(kDw7kX$>EOT>~F8^&DFW7smjdk=Ha=C;-=Br@`U8KG|d0J zZ0HGH&T0#>uvz~v@c$;2yhmjfZE;3qPHCz4Xz8OWDTkzVRwYHn9pRw1 zGs{xf=yy^7Drvbr+G?M+6w?yFZTSvmj(_=vm%KvTc=MQk{X3WcmTmkFM^x4Jd_2GH z+a3D6s!xmhd2>H+(D%yv_e>a9Sw%JV@2NA_^@5JxM>(q4YkH4<4{5C()bI#foMrEZ z!wo7ev42M?@e#lI@3Ana<-K<|NRMjo-aHbw%fG!1vpRwyeY40>{^oZ6x3uam?Wfz< zUi($8xRrfWz1sg9T`INN)za^~mXjnOak*;~UuN7w1M{`=MM zH~;n9G`cQ2FY1lr(Unn8v^?sI-Vt3Ibw$ajDOwvXjxLTu6h(DWebf*&M(0FtiQXEW z8@(-hdvtA-iqg@_Xp^?@@yH^LD;mQ&;Vs&Sb2Tz(QXl^Iup}%E%ha>42rI++p*ggK z*3cH(qsyX8q76|lx+p4!Rbh2lqxM>>QN)GeqHwXY!g^(|OT%ShL)a)sZBk2Y5%*ie zw$K^6!uDumv_85#I;^8gXmC@Iul}n>2Hy!+iiw@_+2OE14AN$kYR%u*XyQMHKMWrU zw}pGco#C$VaCkgC8NMBkN86)!MOQ`djINHBMLWYUqpi{As52UfMzrpppm9{R&vh4R zWcM%sMTuya{sqvoh3YK__=kBD9g zFGtr$v1m=y5ncih7W}QE&T7{kHbg99s0&6!#BdW!gs?T zMMKeWbYpZwG#Ztn`KS;rL`TD-MN75J1L0QH{*|hyZQ-4&ll|d(x%Q^;zVKgEGk0hm z_iCAk)PjrEddt-2E45dx+U^>)^M$I-4XV%0(G}XCnCfF^v|C=-qZYm{+8-T=4n~Kf z!%@GsS&WWqFUF&CREegeYBU!ei*AZ;iQX6eX>=xfJ*w5U)*Y_JO~` z53B#NqoL#6jujnk9jiOmY4owBBi6CIN?)qab8DD$EuDF_WYgyYR?0E{ts%OQ2T7{@1+mxNJ7wAg8sW5 z4YfnH{k4O&qx$Ku6%^;C{rZ2nc37qT`uCCAK<)aoT2jeTm6dAawGnAa%Q>p@GhQp# zrfUnen`*bzj@7>K#`SMp^TtDOeDaMCzVTNfym8&h(#hh2x`6Mho@Z`I)*@wii&XqRZ*t!(6e z(%I-wl#iT^Zc;wFM;Yl(Wuv>48y-+bdfYiFycGUHc_J0|iiaH`9rlTcBWJl^5Pb#t z+EixADyzsZ?ec%O$ky3n{nFY;>b_h%QTLs2Vcm=R{UQDQu6~{m>*`L|PDHWV59_wp zzFqg2%8IoU^@I9(i+hnLYeP8E0*VO%7pS>Ce7VQb8x^LC~bKPe{ zR_pz0UA}gv?ytkry1%YHS=SZbPMi%(quX?r`JZZ!XuD5Fm)E`@ZK=)G72b^Nzo%tY zUUy4auJ3)q--$k>f1g`>EYi7T-S39QIzQc4pAXm79je`5_eZra)NQVPjpI7Iy?;x* zC|&!n^?zAA^Q+(gmhb%fGCsEd*MGZyeaye@x9eWVR=+NsPrbMuR5!H8|H5z9_Xnyw zx2Nm)fBdaBrry=g)cwEz_m}m(NAQQ*%pUQ2{)gWm;@|&G<$oC(qkA=DArE=GzxB8M zr8dV~zv1_yM7XH_AAbAi_3gFC>u#xi;a`5gxxPC26#x9|-?!midFr?Rmap;Ko4*&= z{TH{F{AjP+ga3=a&5Awz+kV54y=|6$({J-7-^1Cj|IUWD)cry22lW{-_N_O67QI&^ z0sYiH9xjP)7q7SKSW2}Y)y?SV!CI~EM*aIQ!uqRBb$=J?qeSg#{T#1r4O{e6U$;qq+Z5iRW!CEF9d(;(AJg|gR#y@O zrP}G}U^q8ASbI78NNBEmYiO>&S-*3&Kdf6-yRmLn7>-I|I{Jp@h`v#KJo=8d`JLJW z8nvDq{i62w_4kK&)b9-GU;RW=VZY{;uBy8y^hciwd!oMzndt7?Yjq!1?i$xI-5i$G zeN%HW*Mtpqf2;BXp;P5G&91#8`qQu}`f4~*|HZJk;djH{y7fV0FtK`Txb*DLM*VKm z&uaZ_)z1>u*9+kd^*H+R%$xIQl-9pJFZLhwvsa_+t7~6Wd0s#5bywA9R2u5;4_jgE z=i%?e(db<1oW@*tg!hO4Lu0a^h99b5{eXJc4~MTSw|_|EnNMiER~H&;Z>WD^G+#TV zk;8o&-TvnPG}EVLqswmlYzS|=`W5xv^)=64or5l^J)(FSx*T0mJFSwHwU0>8uRSJh zu6;<_QoBRiMtni-ImK&gC#4<4Yl+wK-3zrxQP@Dq<$SuO_Jm5VsJ$fJT6<8sjWu_% z#dosIRp`~|yU=UUYtie_cca&%{e1TbTgej-5EqCCiHpQT#5eG*8_`ip#?T3L5}iV4 z&{=dIJ%-+d-po30VLk69ejoAsiEkzTDDiD9|1sj*iSHo3llbGrcM*Sr_-^7)65m7o zDdKyH?<2mS_|wD>5PydFLE?vqA13}hZSe*4OX#EMS83U=(IQ_bevJ4Vw8-PM(G$eq zB>oohw~4<)e4O~Z#7`1`kNEq2xeVVmB!?%7+{4DWv#LpAIK>Q-{PuSv1tpBIPKO=sb z_!Z()#IHJ5omemR-bNeH%cb?o7}j&pCFnAAIl2-(Ut6r#QNJW@LEE$^^aZ{t2yb@70H&65D(A;bmfbuRfe2w)g7sUVXHdcpZA7bWw=V zbG7G-!V2P*>bVxlX^%)-h+CEM7KyLBrR{3*MRJ#y-$vZ2y;>y7PD#62Lkx|h3A6|8 zMU!X>O`{n!i{{YJqhCP3gg%OXmHqiT`ZW3s`|xApXNjL9exCRR;und3!v4R+e*TpB zXT&cPze0S9_*LS6Aw|hvO6-}&kfvlG zCH7Ba$WXGM5__pJ93ak8evtSOnxo_}vHjMF(;D$uBkpR%SB=5GY7F*OW3aCpgMHN) z?5oCLUo{5%sxjDCjlsTZ4E9xHu&)|}ebtDg8u3yiE^5R-jX0+f&otteMtstULmKf$ zBd%z~4~;mX5f3zmM_BV0(J!N4LI08V{W&f5PsFE*|C#s~j+Hk~N}JFn=t|APH%2X* zd2fu`(00mKp{w~;2YRvcaHHnimPoguozim{1)alq;2dS?Qz~gw4WFaT?0B2DehxX| zoZu18Il&{GbHdYn`V61`nD|-Z=ZK#teu4N!;-By>`}`dBGG2q-evWz>$M*a=>SY|; z`R6DfYP-sQr*wShs{CAXrsjrKel9ulT(af4k+bDuWx^+<=b-26TZ@$sU9t>aj;^5G zYhJ7~rst&1s-?v`>J!p7V)M0Fd>xmrk>3`JFUM<%*YW9v=mttI=hMxsc?+@6o))Y2 z{!Y40y~bkIp4HqfR$lemOx)sd6|q@c9IhrdWsAeRh|SmHV6qkmGqpHeL%C^M9Ihoc zM~lOC#3pEQcsH>LS{%&I;$U_b2UD{+T+gTd)W#9^KTkYBTp%7KE)owB-@vzSL`NwZ zLnqKlbPAn8XVH1|7u7kNAG#PZK{t{2Ag0i60_c@2FXeFLpoqvc++=7_ATy;qUX$QDPQb6BjgqWrJ(GV6uXCedp3%tn(q{X6M0 zbUC_0>uge9`YWktHk!ogA4^*(X{-IIV$W^LZ>33uIyRwA>IY9rH&Ei4ji#`L z_zKFm>I}3=Y(6OMQs3GnD!q(nHkw4D)iWDSBF^fW4c*OzdS;_Z99jF>+as(wPdq?e zAl7WVmMIbs5qoB%NxhPFl#(%Y0-Z#s&>3_Vokx$MH=#GPPS0#Kh4&JBW}_**pV%`S zP2r=&x3T=kh;JvpgZNJ3j}zZT{0ZW_i9bnv5Ammn?I7tk-EkD_0t9lyphUnkZT3hlFJHk!iYw2@~vn!-1UJ+sjizD?|zjizv%*fSeV z;Yni8Y&3=M6MJT(Dg1!gGaF6eDPqrTG=-DIPqW=;@W79WpCx{d_<7hg?dtgbh2bKhTU`enC zmS`;Dee?O(66G$d&%c%gpMNdU2-&gEzm{m6?AYgDOEg+`?DMZB8Z&!6KL1*xv4mrv ze=X5i!m-c4mS`;D*ymqMg3rH}1fPE`QO%!_UhKN!3~Pzbu(YJku&kG(U227;s?|rO z^%_|%)!4*(uKci6YjV5{U5>8MnwP51PfMFs&r4P3FG*WjL!0`SrK)q6c*L?)cR{pD zx1d*OeM?pUF7IafD~V&oJBZ`NJBbs-yNG*qEK9>~;$GrD;v~!LAx;tRB~BCXBhC=- zCq95?DLF`d2+dJ)n7E%K&7%dhh~A987kxkaQS@Wz9q7l=PoSSfKZV|hej5D@`Vjhg z>hlZem(WL1_qI!Qx2|i?z3tNQ81duO;WyE5qsP%F(eI-_K%YWSqEFKzo+nu(d;JuB89jymBcJ{g`p@VYw*DIWI{F4$vue~T|7g@|U4pI@`%5)qUoCAz+bLg# zUf{ioR%_I|G+IO4L42|D>N1F42GP0)RLd`eU=erZ#?zK8L=5 z{)GDZDf%*c3O&PCUPE6;-#}|twb4r=I8v;;or%vum!Qi~&+Y4OF}2qUjqy%P-7YKC zE-vx8*b0s1T)qX}O3609dHDKw2{&@7rm`&n}yEucm8 zX7s)2`_Yf0A4BgzKaPF^{UrJ+^gi^{=x5M}(64fgU*ovGPW%}0H_#{0Z=v5ozl(kk zJ%RoZ{So>!Yj}n=|Csn$;^&B;Cw_tWMPiTqSBN;PNB%2BoYf=$6(Y{+k^c%2XFbDK zUPE6;eT`;?Mlw>hwc0{FKBqhXBK5hNkI-0sC9_p4Mb=5h7btVC)L7lxf%;0#O4@g& z#_EoJEn{W44BbG)P7hQwzFh6dvYZu?_>=z zN_J3k6(w;>c2aURB?(G)QSvTIdMMdVNiT69aguls@ii=&qGT^6*HV(EWFIBhQIer# zKPB&`O&>SU)iLYnLBj^A+hz_AQpf{qU=omVIPNGxj3_6R>qsP#j&|A>= zp|_$Rq$d9c{V@6w^fo@d9laC13%wh?2fY`)AAJCQ5PcZ^Th{Yg^mFJVwBr}iFQZ>U zAE&LqiGCYBjy{QgAN>LP6nYZ%wU3n=Lt1^kW2MH8R(pOWZeNMdSK{!M8XwwwKS%!w zJ&k(iZDsfc`b*Yq7FKFhZ#4@mHLACog_Y{-?~pd3OVH&S;jh#@mCIM57ijdjQs>Cp z6P+VF?jT<47T0LsdLeo->iN2rk>~4HMxL)bUzDAadYpegBgXSJVsuFijiU*)2kk|Z zXbMfE88nOLtlIxG(k65X>T5LTYtOA0OPjUzJEXqO*vxf@X6?y`6#ME!Gglv)x%$wo za}Y1zhI-uFtZeXv)N^ai$_7@?tu^b+-Fl%YZdM+!UWRUFfVb7n-d;)UnYU)ulJ|cHC7yq4){M7Hc2eS5xMt0GyJQz7o{MYN zjJHd6Q_@S^N1PiV-Y(fkiD&AXHRJ7){gimVu32LS?`@Xy zgT#l>93_W|J$KivIS1GC5#l`Y0C9nMkl0sPnl%&dAAaR%{h4ep1W(-oP%S}-8F{~QuBXMJkJnmP9}zVgzn`E$p2 z5Z_7cD=*EOOLw`iyfkY@-LbE{G;3bn@u!IICBBdNe&SCPKS1m&FU^{7_wo-BKTQ0$ z?8#@*&!HY8HETBBF7imJIed}W$EdJ=tx zZ9R)VkLqqgt@9_W`6c3?690_&W#U(ePZ7UL?DLLh$j0b0laEo6WeGC&I%phX$rxR$vL zbp~h&8&PL~7G(gdM*=O%04Jm#3A8X0XkjGKqLF}0w)1H>d+Q9)!rXg{GJyBr8K6Zo zeqLLg5@&!G&HlM0L5VX!3$yVp$^ibBGeAq|C3XgA2}xpSfEMQGTa*F3q%%MZv-B;> z04{L`Xko6tMH#>)&HydU*td`YT9g4??hMePa|dgV5@&!GX75{+0bHNX04*U;>w1m$PI|H;R19*97fR^yL=x5Q-q0Rs; z$^dqYGeCRqT7t#(AcdD{HMf7x1T^w{H!; zvev5W*Zy=1-@SrQx3a};sL%adb)N2Td4%68q8(pFyp!0Y`d0PhF86r8Rs1^cL-(K_ zy|;>1mwVjaDo!1H#NH}G9eb?aDncC}L=T~dQIF4CMWxl()LKQQV_#Ei6_t*CO|4Z_ zI`%cSR#EBL-$lU_BvlfUq|0SYu3obwd(5FgVNQM zc;w&8)v;Dl=6D@?p|njs>>X0ioV1BD>$$qJ&?d?pd;X+Nlv&-wwrS?X>TCCH%<#7{ z>elmjI^H&oy1mW|G=JD8?yMc?T67)Xx={B9w5jKPRC*b@floIQUrxMp^1l}f!9eV`crnxxB*RZ5V;B6w>CD&5o5qO)pcFA>=cm&=ix?S>aN)8Zv z1l}gbU497l2)s=*crLk~B|THrCemG#o-b+>>5e^X)F#p$d+w-Bq&vO=y%8Nn$IuCM z5}iV4&{=dIJ%-+ddM2t(qxU$rR%IQA@7n=*i7&t{gpHfMd^bwJ8HQ_Dols zGJs>xceN=4IR0DqVNGV_rGoGe;vF3ZBzg2*!^#t`d`OiBYq5hoRV*% z-$sw4Pom#Pe}F!Po@!a#rHF}X-3-d^TfVurA>Xb%RNeOQ#NqyQF@!Q zfn$%-+msC)dz9X$KH9No657;9nWg*JrZr;>fYjWZT7& zW1q>kizCNAlWiAAj(sNEE{+`gOtxJdIrf=syEt;}Gud`=OLQxk^2_)n~h_v=3IF?XJ>3Slyqlq9RMOSgq|^{q(_VZP$8+Z+RYXHS>6@na5krJl<;2r*hF}^}N<JiNJM&p*U6R2HS&yOU#VQ98t}KA z0raH5>SQe~xK>B^q~cC_c&(1{G3j(pLW-^I6%yZF|ry&U__y>%LaSP!5F z(L<>3)?23|^_o2wy^dMvbvl+O!a5y`bqVULo$I2N8hx%)ONkt{)P>Sk;x^)Tmh{}q zIdeg zAvOCK!Tv?Ce-Z3oBzO7KpP{dyuUc`}MOxc^ip~CdSXi$f=ak|#s)6FQ@zp)y#VBiI;J|vtE1R60@^jy^l*w(0YwC9h;-|;cDVt#P1?DQ|n=BJxs0F zNYcxjto0g0IyPVHHF|Vx%GPV#=-8~S=W6eIuJ*3yYVUfD75(WE_I3arM2FBD`1D3} zl#(%Y0-Z#s&>3_Vokx$MH=(z%hWDYjqPJ0gJ9;O27kW2(4|*?pKl%XrAo?)+I7jqN z^xNoh^hxyl=nv4R(37ZppY>{et9zgI^gip=`mUd!p|7B?TIEBvqcW#s+FJS3u}2r{ z)$dq+*VB6P$)))1Qv7x)e!CREU5ei>#c!A5w@dNcrTFbq<&7uwei8faQv7x)e$$&z z%5G0UdB2vW1W|=&dXTmWvufu)_EE0)H_b(;mcU(24%ccdYj1> zbgRa_8?^q%r0%&kXe%yp-rJ!5%S%3ndPKTG+qHTWxha_T^=MMm_L`>YCp`oo~?o->ukv)&}}4y(5HptLlG) zvY*v?dxMVg5xuF!z4JzT=Z&gEm$-M{$T4ozF}lRP^G15-jr7hNb#z|Fz4JyLoz=bb zM%Aj-z4J!Zs`U)teGPpbeFLpo$>$r%=NrlA8+CMA8@=;JdgqPg_KoEBjr7hN>76&~ zNFUUaKGKaG=|+xpBYA!!d43~#exr``(Qvtze@t(sakk&2Ua>*C7TthuMxFmRk^eW5 z|2HYmczNglP2~Sg>qVwo6^d|H+^mg=4^e*&n^d9tH^nUaK^g;At^bz!n=$Fy2pzf_U(OYez zx7wtZI;khL{j|a+wUkv?1*PtxHmQel>>g^9+RLB%Zh=jD;{06c8r07$Y*H(@d@IXu zLp#wfsozs}u6{f^-7Ghrl-jYI<;GJ|kES+y3)p)a9 zYV}p)&2p*N;L*`$xzy^>(Pp{sxYVPd&5VCGYd`N(>`}yKMiHACMQl-zc1HIVxzF9A z9?j~fb++gn%Ic?ew(zvh7VZCO#U3SY(VkoVoX!^YUsgYlvqkeE)@#sfQ9nnsMg5WW zdh`f7fDWQVsGp13qFG0)pNrYTb1_?ZE@lhQ#cbiZm@PaPvxVnkw(wlc7M_dQ!gDcO zcrIp(&X2r?ThZH4KT)+s=RsCKMYToeKGu8Cd(r#R2ha!6htX#^-e*xiKe9#jZ*>o{ zMfGoW53)t|FID|(&GOQ@Qq7P_sb{r?%RLIc0)DrO-&1<(-YvCNt>D;w%~rL7W1q=x zRVz5YoOr8RQ175ZeJyD#W4x_m+{?U^Wp)r>MZA;vYT{kQ?;_q!+=uQ#uc3S|@wLSJ zh_55wPyBA;1H=c>L+D}jdOkfuJb(_OL+A~BdLueY$rw6;PNGxj3_6R>qsP#j&|6r; z`_Nm_+bF*sy%W6)y&Js;y%)V7eE@wBeHiuG$5!!W_1VW(wXfAzK(?xVt-k89Rqbna zKG{k>*-Adys(f;X-ooJfE4C`1SXX+@${vn=f5ldK+^U?fHACfAWq!wNy*7<2thBgB zzj_yg9P+5%rR5C2P2M;y^^)7<2dka14HCEEfo|IO=eLpPw~^;BFh-ZG*dQw97WyWgG3XP3`hT*v47OHqJ`6sa;fW zY8RLLyknbMi3hsK&t2r_F7k61`MHby+(mxwk_S%djeyS2T~OIY>vyU3pYxjnDR+ME zB0qP@1CE`ayW|1K&d*))fMe(9E_uMQ^K+LxV0C`(k_Q|+KX=Ikj-8*o zW9R2CdBE!Y+$9hAQ|IR{dBE!Y+@-lntMhZ0`d_Q_bC*0|b$;$r|7&%A?ve+r&d*)y zf342XUGjj{`MFE|uhsdvOLLMgcYf}Y2dvJ|UFv_W&d*))fYtfAOLL4?=jSeY!0NW{ zqOH4V>n_^5i~QV0e(oYacafjF$OB#EfiChum-4`Up-Xwd>TAti@`Ki_JmA>Zn!Cu) zU3jC5{M>~%y2#I6&r?Tl)+GpgCnsAjwB&};A*W;QJiVwR#+~T}NlVMA@%9)N35ut@(DV-{jM+`F87abcJfZJNQjL-8}Es ztt)yTQtUVRbn9B4V?XcKt$H{q_497sstw2P(YnQmOFZA$Ek+z~VY^p|yKeFFpw#D~ z-QvaD_497sqQmOv-MU4D)z7ez4c=~l}+_M3dV)xM7XCZBG# zvg7-R{U)Do&CI*}0b;+&r(5mra=*!^TdnW-^R$KE|5lv+ zpKd+x=GeVPx2UoD{_t*P1FP>3?-oZNkorwN-8xUV`b|FFI#2)ea3yDdSIXy4DE6G> zmGb#k_jZQ;xNok_jZgXI`3$6z@I%Q0Av!Ey|i zW3U{9B>smgBG-hvhgd$6+}R%W+ta!*U#!B>smgBG-hvhgd$6+}R%W+ta!*U#! zB>smgBG-hvhgd$6+}R%W+ta!*U#!B>smgBG-hvhgd$6+}R%W+ta!*U#!kmJ_g?faL@%Ctx`N%L!Oc zz;XhX6R@0skmJ_g?faL@%Ctx`N%L!Ocz;XhX6R@0skmJ_g?faL@%Ctx`N%L!Ocz;XhX z6R@0skmJ_g?faL@%Ctx`N%L!Ocz;XhX6R@0skmJ_h7H=wIWPQY>kmJ_g?faQcZ`hY(5 z7&`&W30O|R@-A531rzQR&#T z9QxZB#GdQu;hwY}QR(<0%02JVqjq=Q`s#m=+THph>UqK*wY$~xggt8aQ+iAOI(=)m zTIUg|?+eidFv@og`@?Zvmf__i0{_Nsq5qh;*dUVPh&Z+r1=FTU-?x4rnb7vJ{c+g^Oz zi*I}JZLfM0ugAXa#kalqwin;_;@e()+pFHh%hQMI)l!l_H8e|?PVsdSG|eXY2Ws$H*sv=_Tt-KeA|m}d+}{AzU{@g zz4*2l-}d6$UVPh&Z+r1=FTU-?x4rnb7vJ{c+g^Ozi*I|?n|Qmvm$Db%_Tt-K^(HR2 zZ+r1=FTU-?x4rV1%kA4MPNG__hz<_Tk$;eA|a_`|xd&u~U+90PBx9!}W2Yoz zrzB&iBx9!}W2YozrzB&iBx9!}W2dAXeo|}j{A7}`Q^&QqrRso$=E3wd44h} zj!sBDKbd6glw|CbWbBk=?385elw|CbWbBk=?385eloVfouJ3w&GRfE}DZc((e<8+q zr|gl>pOAWfa*up|T>O1>O1>O1>O1>O1^P4a;d*PQ!8^P4a;d*PQ!8^P z4a;d*PQ!8^P4a;d*PQ!8yzpS)3BU|K<$bWc z50>|_xBFmuA1q%7%NbbCz;XtbGq9Y25FLu&o1Z z>j2w2z_t#stpjZ90NXmiwhpkZ18nO6+d9Cu4zR5QZ0i8q%91g%WQ;5sBTL4}k}kQ}vSf@b86!)^$dWO#WQ;5sBTL4}k}JJImA{Dv6Vw?!qa^#8}xgtld$dM~@!qa^#8}xgtld$dM~@!qa^#8}xgtld$dM~@!q za^#8}xgtld$dM~@!qa^#8}xgtld z$dM~@aFHWdW-=@nQD%Fccq#;_DSZruRhq>Sw=Lw))Cc zzgV{V>SwL*$H#jn**vh-`upOgB@xPG3D>(~A} zzLMp4pgYlB=x($R-GlB$_o4nPe*L-!-g*%AU-9eLJ@D3kws-{fRi}PYZ1vUBeo<`o zRVV%Zcht|h^ov~U1nTEp`bDmF2AxIyoJ+sRwfZ@ievxbSHKu;iYW4NdesOB`_0WEC zYW4NdesOB`_0WECYW4NdesOB`_0WECYW4NdesOB`_0WECYW4NdesOB`b)|lBYJCWO z82u{xb@Usw)D!5p(C?t%MZbrhK!1q-2z{D1^)re6qRFl7ClmWclVd-h*e{wK`zghK z(d5?mvsC?}$+4fP>K9Fp{ajVQXmaeQtNP_VtDm;+7X?<|Lw-d5IW6`3D2~W2FG>9b ztUP4pAuA7AdC1CZwCp`JS$XwwR+E)izh*UAdG%#h zla*KhWi?rO^;uSvl~+IYlGJ47AuA7AdC1B`RvxnQkd=q5JY?k|D-T(D$jU=j9w@fUE*!6(FksSp~={Kvn^=3XoNRtO8^eAgcgb1;{EuRspgKkX3-J z0%R2+s{mOA$SOcq0kR5^Re-DlWECK*09ggdDnM2NvI>w@fUE*!6(FksSp~={Kvn^= z3XoNRtO8^eAgcgb1;{EuRspgKkX3-J0%R2+s{mOA$SOcq0kR5^Re-DlWECK*09ggd zDnM2NvI>w@fUE*!6(FksSp~={Kvn^=3XoNRtO8^eAgcgb1;{EuRspgKkX3-J0%R2+ zs{mOA$SOcq0kR5^Re-DlWECK*09ggdDnM2NvI>w@fUE*!6(FksSp~={K-M5+4MNr+ zWDP>rAY=_f)*xgJLe?N;4MNr+WDP>rAY=_f)*xgJLe?N;4MNr+WDP>rAY=_f)*xgJ zLe?N;4MNr+WDP>rAY=_f)*xgJLe?N;4MNr+WDP>rAY>IGs|Z;|$SOis5wePqRfMb} zWECN+2w6qQDneEfvWk#ZgsdWD6(Oq#Sw+YyLRJy7ijY-=tRiF;A*%>kMaU{bRuQs_ zkX3}NB4iaIs|Z;|$SOis5wePqRfMb}WECN+2w6qQDneEfvWk#ZgsdWD6(Oq#Sw+Yy zLRJy7ijY-=tRiF;A*%>kMaU{bRuQs_kX3}NB4iaIs|Z;|$SOis5wePqRfMb}WECN+ z2w6qQDneEfvWk#ZgsdWD6(Oq#Sw+YyLRJy7ijY-=tRiF;A*%>kMaU{bRuQs_kX3}N zB4iaIs|Z;|$SOis5wePqRfMb}WECN+2w6jrH3V5hkTnEZLy$EDSwoOD1X)9nH3V5h zkTnEZLy$EDSwoOD1X)9nH3V5hkTnEZLy$EDSwoOD1X)9nH3V5hkTnEZLy$EDSwoOD z1X)9nH3V5hkTnEZLy&beL>dDe)w@+sOIHy4FQy$8M~_JT_mz(7eX1v={)^Q|^+v=q zQs4V`RJGx_Q)7vvs*_Vv|HbN~A%@1$1loi8FIFE7{)^Q|^@eb38qJ_tG>3j3^Gc2sri*nctYD1R~SD1R~SXtdZz&0S|lx$Eqx>i>jF+9~&0 z!%;o4tM5|7M|JO+V?VWhRQH})eTU>Qbv{g;4^!vE%3zPG+;u)ooexvz!_@gObv{g; z4^!vE)cG)VK1`htQ|H6Mbv~>&w_9E3!+KAw)pb5hoexvz!+QI=OI+u}dcV5Wbv~?l z6|3ufm^vS(&WEYLaYan|ee&h1GXckEp+}`flnGwZbW>@1`E1{zo*+=klx2 zt5M&TI-*%VtM8^B(JY_UcTNZ49YuXN^@w^0tM5u3QSV^&U8y7L9jv}9bws^`)pt{m&^wH1md~+g3`R7|=h*WG zBbw!N?Ae16^%sskdoZH@!tou%zMFc4{$fP^g=5bijHthG?Ae16^%sskdoZH@!m(!$ zM$}(8_Uyrk`U}UNJs44c;n=eWBkC_4`>xaxxy$OisYm1}tN9(lMI-oU1m}!uhW1Pt zRqH$=_1)B?V&plg@1`E*uGCSj)8)RKdQ|JQ`fln`t<%f+Zt793)9SmaN4YC?l)F+# zxhr*4^KahDYpCz09@YGt)pw__l;^OZc{gZ%g>Lgl|juwuEm>__l;^OZc{gZ%g>L zgl|j1zAb5X+G^jH@NEg-mhf!}-__l;^OZc{gZ%g>Lgl|juwuEm>__l;^OZc{gZ%g>Lgl|juwuEm> z__l;^OZc{gZ^!WM7``3Dw`2Hr4Bw97+cA7QhHuC4?HIlt!?$Djb`0N+;oC8MJBDw^ z@a-7B9mBU{nm0ZZ#_;VJz8%B2WB7Iq-;UwiF?>6QZ^!WM7``3Dw`2Hr4Bw97+cA7Q zM!p@#x8wMB9N&)P+i`q5j&H~D?Kr+2$G7A7b{yZ1Ld^?VB$MNkrz8%N6Ld^?VB$MNkrz8%N6?}C-ChAzMa6g6Zm!l-%jA$34A+&Zzu5W1iqcXw-fkw z0^d&H+X;L-fo~`9?F7D^z_%0lb^_l{;M)m&JArQ}@a+V?oxryf_;v!{PT<=zzAfY1 zGQKV2+cLf_6@$DqOoy513_;wQCPU721d^?G6C-LnhzOCTf3cju2+X}v|;M)qmt>D`VzOCTf z3cju2+X}v|;M)qmt>D`VzOCTf3cju2+X}v|;M)qmt>D`VzOCTf3cju2+X}v|;M)qm zt>D`VzOCTf3cju2+X}v|;M)qmt>D`VzOCTf3cju2+X}v|;M)qmt>D`VzOCTf3cju2 z+X}v|;M)qmt>D`VzOCTf3cju2+X}v|;M)qmt>D`VzOCTf3cju2+X}v|;M)qmt>D`V zzOCTf3cju2+X}v|;M)qmt>D`VzMaCiQ}}iY-%jD%DSSJHZ>R9>6uzCpw^R6b3g1rQ z+bMiIg>R?u?G(P9!nafSb_(B4;oB*EJB4qj@a+`7ox-RC?G`^k2x6}A`8sARi+i83|jc=#%?KHlf#<$b>b{gMK zRC? zG`^k2x6}A`8sARi+i83|jc=#%?KHlf#<$b>b{gMKRC?G`^k2x6}A`8sARi+i83|jc=#% z?KHlf#<$b>b{gMK0&fwb_d^>}0XYlO|zMa9hGx&A} z-_GFM8GJi~Z)foB48EPgw=?*52H(!$+ZlX2gKuZ>?F_!1!M8K`b_UW7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZh zD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{| zt>W7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a z+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{|t>W7%zOCZhD!#4a+bX`T;@c{|oyE7a z_;wcG&f?oyd^?M8XYuVUzMaLlv-oxv-_GLOS$sQ-Z)frCEWVw^x3lc-!9c-!9Q z_87iBhHsDI+hh3l7`{D*Z;#>IWBB$MzCDI-kKx;6`1aWU!_k|?#&O+g-_6VInCzyTBB8-I*`@SQa<2XSO7=~d4hGB@76&bmDZ{}twqS3%K;24G_ z?&7}6Tr8^95}R;FQDj9?6q#xki)6F9S|(ezlIVM$-_4^xPPdAuPd!VWs#8_)_8`1H z2yYL<+k^1-AiO;YZx6!TgYfnsygdkS55n7n@b)0QJqT|P!rO!Jwv%f;om}hbO!)d* zXTsNdI=R-<$+ezNuJv?st*4V~J)IhdJ$=X5*E%&0+d^Mo>*QKbC)av9xz^LkwVqC{ z^>lKrr;}?vom}hbN^n3lyGU)f>9n$ahr+zQqA^l$0elOl3{a)98FWw>jUe{av zFJF&1q~Gi9_E~hkd6@ljn0_9npNHw^VfuNP zejcWuhw0~G`uS`6d4zr*p`S^z%3B&uZc~>dzIS-^cVD z{dL!Vp1^PP7ma?Nz;E0y_bw%xYd`h9 zOS$ISPkryw`UIoj#?qyvbGx7V-le>A?WewXDfL|YsqbCNKG%NgdzaQN82y%(F0ETI z{)kV1%xL)izg@~ikCNa2+oeo&?f3t7DHC1${l8txL~rw#;KQ^$0zL{p2L1|s9Q6Bt zyOfDWzyG&OnP@!3HvLxaE@h&(@3(SyDHB~kL+$tfb}1A6eZT*=OPT1}@Bi&mCc5_f zf4h{4uKoVsE@h%?zyG&OndsW@|LsyHx*n(Y`+vKXiEj7%f4h{4uKoVsE@h%?zyG&O zuIs&d3S0(HgGKNRSOU+2Ugz1R)%E@@UhUbXHTJH52gm%(+;;1yWCv+|xm8Ogz zpv5b_k4jT+`6%`M)LxrQUDG9A(YVQEAHUUafjmnsV(mt4F0N z*Iv1LRGM<_^{Yo&3v`sVKu1{%bX1!1rw`EE2f>Fxzdh}!wBt{I2|i4V-=20<$CF0C zJ?*HDCykGTPk>K?2f?Snr`f`ZudsHeJw{V}-+ARCeR|4Mw>Wk}=)1$Z<<&+%f4*B> zGWz-R-QtYV&!6uWPmF&4e7EKu{uO?|Mz=iHwcoPQEsu5WcWrdbV_o}=8{OiG|CgUx z-K}|tTOI-Z#*J?A#OOC}bc-iOzj32m9&7X)H@fAq#zSn=&!6v>$9nsI{(QGQ*7Y;g z$Ec6<{T}LG>ON|}m7`l8>+k#B9NqF**M37sw>;Lh-_y}8k9F<0b#%*PUHhFK-SSx1 zesf2+Jl3_}-_b3Pb?vu!bjxGCFP6a~SOU+nA6NKJnR=Dl&!6ws-C^EGe*S#7ywtUy zKi@4cb?s+Xcgss%`17+{(QH*)U}^K-z_h7?dQ*T%S&DR`SacKQrBzz-Rp3m zLcLBMP;XF&)SJ{>ux=Z+RH=8UBkCG;OkJn8mv(D*W3-ocYj$I_mv+lb)dwBns6V

!8{xx7y~mUKlp^zCqu!U*eAoydHo}LE@L?l-xC}m|;6n;Nq~JpeKBVA73O=OZ zLkd2m;6n;Nq~JpeKBVA73O=OZLkd2m;6n;Nq~JpeKBVA73O=OZLkd2m;6n;Nq~Jpe zKBVA73O=OZLkd2m;6n;Nq~JpeKBVA73O=OZLkd2m;6n;Nq~JpeKBVA73O?xb+;t>V z@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok z1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{s zQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uI zAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-K zA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{&@F4{sQt%-KA5!ok1s_uIAq5{& z@F4{sQt%-KA5!ok1s_uIVH14V1RplR2Yn{CM*1fBun9hFf)AVE!zTE!2|jFs51Zh_ zCit)kK5T*yo8ZGH_;5LVNW+ITd`QEGG<-hJVY50)V*!+-Q_4!2_KBVD8 z8a`}>51Zk`X85ofK5T{$o8iM|_^=s1Y=#e;;lpP5uo*sVh7X(J!)ExfS=)UmY=#e4 z$RE=u**EIkVT;IMZABNMZK&^gZP9qQ`abm*jd!cBId9QOxBB|w7VWLocOSNBZ>_#t zy+vc$>O0h1G=8nV6TL;_)atv>TQoMUzQ4Rh_mX>=By zLl2>c(Ie>f=#A*j=m${Wecqz+X!SklEgFwj--+I$@o2ph{Wy9TdN+CxdM|n(`U&(X zdO!LA`bqRb^da*~(Z|roQD6PrqJFpf%J3HTyVX~Qx2WH(zB0T;{eD`1 zlg9U>x2j*Pe$sENddJ?+MQl}y?EOT?R;|tICpxxjZB{=Eu~loczJ~sSpE`~H+8Q-` zE4r3wb$+%gX~(60(r>FWc2w#oBDQjEa4Xjaw<>`r_2=W9y&E4if&b@qnH z-VoUvB6~w*Z;0#-k-Z_ZH$?V^$legy8zOr{WN(P<4UxSevNuHbhREI!*&8BzLu7AA zbAh++>A11>g)|^ zF0eX#Lz)Y$&fbvb0;{t(q`AQA>}?}^+sNKFvbT-wWvGiX)I}NUq6~FWhPo(2U6i3N$^>6`%}^I*sEabx zMH%X%40Tb4x+p_kl%X!lP#0yWi!#(j8720l*5m808S0`8bx}q~=^?fFx@(5ID5Ilf z@822BP#0yWi!#(j8S0`8by0@8C_`P8p)Sf$7iFl6GSo#G>Y@yFQHHuGLtT`iF3M0B zWvGkv_w3lB@0et$i!#(j8S0`8by0@8C_`P8p)Sf$7iFl6GSo#G>Y@yFQHHuGLtT`i zF3M0BWvGiX)I}NUq6~FWhPo(2U6i3N%1{?&sEabxMH%X%40Tb4x+p_kl%X!lP#0yW zi!#(j8S0`8by0@8C_`P8p)Sf$7iFl6GSo#G>Y@yFQHHuGLtT`iF3M0BWvGiX)I}NU zq6~FWhPo(2U6i3N%1{?&sEabxMH%X%40Tb4x+p_kl%X!lP#0yWi!#(j8S0`8by0@8 zC_`P8p)Sf$7iFl6GSo#G>Y|Lsms8~Ht{IIodtZ0WXsp@$x@$%w&feEuGa7gHzV4dQ z=(G2A*Nn!Xy|24wG!pH7-8Dm9l%X!lP#0yWi!vI6PlOD0QHHuGLtT`iF3M0BWvGiX z)I}NUq6~FWMq~Cv`dQaS8S0`8bx}rR_QU#HYrgKfUE}3hsjs_k*GM@b^>x?n)J5C% zuHEkIuG{rat-h|ZUGL6I`nt+?y(6oyyKdLsYHix?LsDONy;A;|{w|yE%Vgn07CvO* zLl!<{;X@WaWZ^>=K4jrT7CvO*Ll!<{;X@WaWZ^>=K4jrT7CvO*Ll!<{;X@WaWZ^>= zK4jrT7CvO*Ll!>h&*rkXzPp-*4_Ww-g%4TykcAIf_>hGUS@@8J4_Ww-g%4TykcAIf z_>hGUS@@9UyeSJGvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5Ey zvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZ zAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1b zAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX} z@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZAqyX}@F5EyvhX1bAF}Wv z3m>xZAqyX}@F5EyvhX1bAF}Wv3m>xZVF!HJ0Uvh2haK=?2YlE8A9lcp9q?fXeAodW zcEE=n@L>mh*a07Qz=s|1VF!G;3O?lELk>RV;6n~RRV;6n~R zRV;6n~RRV;6n~RRV;6n~RRV z;6n~R?1T?H;lob&uoFJ)gbzF6!%q0H6F%&O4?E$*PWZ4BKJ0`KJK@7l_^=Z`?1T?j z!-qV4$is&`e8|IxJbcK*hdg}9!-qV4$is&`e8|IxJbcK*hdg}9!-qV4$is&`e8|Ix zJbcK*hdg}9!-qV4$is&`e8|IxJbcK*hdg}9!-qV4$is&`e8|IxJbcjKzE-`FhYxx9 zkcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdHA5e^R4@;dH9fr4|({IhYxx9kcSU> z_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({I zhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMW zdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9 zkcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdH9fr z4|({IhYxx9kcSU>_>hMWdH9fr4|({IhYxx9kcSU>_>hMWdHApkKJ0=IyWqnv_^=B; z?1B%w;KMHXunRuyf)Bgk!!G!+3qI_E54+&QF8HtuK3oGIcC)SBY-=~$+Re6hv#s51 zYd724&9-*4t=(*EH{06Hwsy0v-E3<&+uF^xcC)Pl6e>WW0u(Ahp#l^tK%oK@DnOwE z6e>WW0u(Ahp#l^tK%oK@DnOwE6e>WW0u(Ahp#l^tK%oK@DnOwE6e>WWg5K{_p#X&n zP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup z0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf z3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%r zr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3 zg$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(v3g$hup0EG%rr~riu zP^bWf3Q(v3g$hup0EG%rr~riuP^bWf3Q(w^vGznLK%oK@(%)&P#ZQ+Npilt{6`)W7 z3KgJG0SXnMPyq@Rpilt{?STw?Aj2NWum>{ifed>f!yd@62Qut|40|BM9>}l*~(tFvX`ywWh;Bx%3ijzm#yq&D|^|>UbeEAt?Xqhd)dlfwz8M4 z>}4x^*-8=q6yZ-1{uJR)5&jh6PZ9nU;ZG6%6yZ-1{uJR)5&jh6PZ9nU;ZG6%6yZ-1 z{uJR)5&jh6PZ9nU;ZG6%6yZ-%@As)tgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7 z_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUc zgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;G zMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2 zQ-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*M zKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7_)~;GMfg*MKSlUcgg-_2Q-nW7 z_*2wadmA7t1E8TLVjeUM=vWY`B8_CbbykYOKWxK{pH7#1IXA#K#z#IX2a zZABNM{;h;z(cqLchWfWzhed-EQr{mO77eVvH$5yGSp8d3!=i!Jcc_O&18W~Y)sGI) z;;YBQB7pb7cdLg*0Q<}E{!7HeB7ocdmxzZ&0DJ!>;$e+?d;cZkVU2ow|0UvKje2|k zCE{U?dVBvR;$e+?>$S8D^S(y#CA{x54r|o={rW!RutvST?=uc-)LVU@aag0?>idkt z8ueD+XB^h3xB5QgutvSr_Zf#Z>aD)dIIL0cb^1QzutvST?{N=n)Z6c??EP6rBbsHrr0*$=kggGOHA13B$kGTY8X-R;Bxi)ojF6KN%?tin|AxzmQepLP zxQvj85%MsiJh;Wb;WDB;Sm)3~=wb8-dOdn0dNb-IjF5p5dVfUy?ls(n-hBauJLXoSx)8j1W_ zMkC^w_K?pq8WGLx{aHpMqQ`Nme{;43LrO5D1Vc(Nq@)_-q+T^cN-(4ZLrSVBPOHTX zDbcef7*e8VOE9DaLrU~-35JyD-x3Tdsek>m?%xt@EWwZxyrbK2+Fr)-SN-(4ZLrO5D1Vc(Nqy$4sFr)-SN-(4ZLrO5DM1D#zq(q8JFr)-S zN-(4ZLrO5D1Vc(Nqy$4sFr)-SN-(4ZLrO5D1Vc(Nqy$4sFr)-SN-(4ZLrO5D1Vc(N zqy$4snw^~!Go%DVN-(4ZLrTi0+s%*?3@O2o5)3K9kP-|j!H^ORDZ!8u3@K@L_K`P3 zN}8ReFr)-SN-$)Uq>aLmQIa+aLq^His4{jcjFPcY7%~b&M#hU|qvUFoM2(WA zQBpKYenv^oD47{0C!;WA6o!n#kWm;iN*+eZ!zc_Hg(0IbWE6&sDi7W(Gh|eGu$m#G z%7fJm86^p$WMGuuAB7>KFl1DH?Pbi6QT4CY3>j6QTFsDA^`q4c8CBm|&5%(TG73XR zVaO;98CAb{88c)QhK$0HQ5Z4`Lq=i9C=3~eA)_#46o!n#kWm;i3PZ{;qzpsKFr*Aa z$}pr1L&`9u3`5E=qzpsK^lTZ1lm(h3>kwVV`OX$hK!M}F>*CV zqQ=P57%3VfKVu|kjLeLYlQ9@F21CYR$QTS6BM)QbVGM?h!H_W+G6qA&V8|E@8G|8X zFk}pdjKPpGk}yUF#_0Vq7%~P!#$d=83>kwVV=!b4hK#|GF&HuiL&jjp7z`PMA!9IP z42F!skTDoC21CYR$QTS6gCS!uWDJIk!H_W+G6qA&V8|E@8G|8XFr)%QDlnu1Ln<(& z0z)b=qyj@KFr)%QDlnu%&sJbag`TazkO~Z`(7zQJQlWno?Islbp545^Tr3Yn?EkO~Z`z>o?Islbp545`473Jj^hkO~Z`z>o^bslbp5`KiE= z3Ms0o?Islbp545`473Jj^hkO~Z`z>o?Islbp545`473Jj^hkO~Z`z>o?I zslbp545`473Jj^hkO~Z`z>o?Islbp545`473Jj^hkO~Z`z>o?Islbp545`473Jj^h zkO~Z`z>o?Islbp53>hbB<1l2Lq>aOnaWXazL&nM2I1CwwA>(9h9EOaOu5ofTPNK%i z(l{v^CqLsPXPnH8lap~6G7dw=VaPZP87B|pk+Z<1l0# zhK$3Iags1j2FB_AaTqcVL&jmqI1CwwA>%M)9EOa;kZ~9?4nxLa$T$ochauxIWE_T! z!;ok+Z<1l2u7;-G^*I&aqE?ulj za=)&No{)CvuIPSo!|ndd#rwsLzn3oK)#WVNr;2DlJ++^n+AkV-ZI|$B62B3j!f(Q- z@tg5m@LTai_-*(Memg#k-+|BJcjEK-UHIK-ftEe^y=ak^efZCz{v_x9T-n>tmA(DC zvgh~vRrH6vU;h>3{TeS;{}to?8Y6!1KBL^PF=FqUaKFZgy(`208YA{T$K0<^d-ghi ziT=tOHLKd$uP2ACzT&iBeP?~Q*H4e^SC4o}KefAGPY$096ZFmmy)!}YOwcy)z+(+q-ur#Bh7}&V(3l@7|fvC#6{3I}`f66npp1gsAQo_s#^@ zT_?EiIzjJD&^r_K&IG+PA+jCUlJ1=edS`;(nV@$j=$#3AXM*0Dpm!$doe6qpg5H^+ zcP8ka34Ip#i7-L$OwcZ&EX()mQl@H8Wa$m2Xlrqt#dWCN(o!eU)!gGo#g4`6e|pS|3OK+XR!MtMx_n zW%MNa3i>MgnsiG2@`BXA$ugyJbVBOiWSQc(38utqd;ccOl-6eTZ?a4&hgSb4%apQb z^>4CF@!JGb{5HW9zfCZu)M+dHHo+9XO)#a@9aoEglVwV&J1R93rbyiszfCZutJx<* zmF!i?UX|=s$zGN0Rhe_EWUos0s${Q9_NrvBO7^N`uS)i+dUvO_W@oQT_NrvBO7^N` zuS)i+WUos0s${Q9_NrvBO7^N`uS)i+WUos0s${Q9_NrvBO7^N`uS)i+WUos0s${Q9 z_NrvBO7^N`uS)i+WUs2K%zN(aRaKQ)oxLjAtCGDc*{hPhD%q=&y(-zOlD#U~tCGDc z*{hPhD%q=&y(-zOlD#U~tCGDc*{hPhD%q=&y{gjUJ#qG`WUs2U*gJbwrN!#(Rh5?0 zVVdkslf7xOH%<1Y$=)>Cn`jxsX|gv> z_NK|+G})Ubd(&iZn(R%Jy&1AML-uCK-VE8BA$v1qZ-(s6ki8kQH$(Pj$leUun<0BM zWN(J-&5*qrvNuEaX2{+Q*_$DIGh}au?9Gt98L~G+_GZZ54B49@doyHjhV0Fdy&1AM zL-uCK-VE8BA$v1qZ-(s6ki8kQH$(Pj$leUun<0BMWN(J-&5*qrvNuEaX2{+Q*_$DI zGh}au?9Gt98L~G+_GZZ54B49@doyHjhV0Fdy&1AML-uCK-VE8BA$v1qZ-(s6ki8kQ zH$(Pj$leUun<0BMWN(J-&5*rWvNuciX35?x*_$PMvt)0U?9GzBS+X}v_GZc6EZLhS zd$VM3mh8=vy;-t1OZH~T-YnUhC3~}EZpt8c%QLMd&b+{&etI|Yg;mo5|`v|6oJaU91n!E3}{ z{pa^j?PxR-Bdu1eB)-S@dwfY8$H|VhbP3rsP1D2~pE(nc&zy0_>Yu6ti*gFb)M`7>Y)@qp)`r_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t4ffh# zuMPIvV6P4K+F-8@_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t4ffh#uMPIvV6P4K+F-8@ z_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t4ffh#uMPIv zV6P4K+F-8@_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t4ffh#uMPIvV6P4K+F-8@_S#^t z4ffh#uMPIvV6P4K+F-8@_Kv~cG1xl>d&gk!80;N`y<@O<4EBz}-Z9ua27AX~?-=YI zgS}(0cMSH9!QL_0I|h5lVDA|09fQ4Nuy+jhj=|nB*lUNqcGzo&y>{4ZhrM>#Ylppd z*lUNqcGzo&y>{4ZhrM>#Ylppd*lUNqcGzo&y>{4ZhrM>#Ylppd*lUNqcGzo&y>{4Z zhrM>#Ylppd*lUNqcGzo&y>{4ZhrM>#Ylppd*lUNqcGzo&y>{4ZhrM>#Ylppd*lUNq zcGzo&y>{4ZhrM>#Ylppd*lUNqcGzo&y>{4ZhrM>#Ylppd*lUNqcGzo&y>{4ZhrM># zYlppd*lUNqcGzo&y>{4ZhrM>#Ylppd*gFn;$6@a{>>Y=_OuohrQ#lcO3SP!`^Y&I}UrtVXp)BI$*B@_Bvp% z1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvV6OxA zI$*B@_Bvp%1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&# zuLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvV6OxAI$*B@ z_Bvp%1NJ&#uLJfvV6OxAI$*B@_Bvp%1NJ&#uLJfvVDAL%oq)X)uy+FXPQcy?*gFAx zCt&Xc?45wU6R>vz_D;aw3D`RUdnaJ;1nixFy%Vr^0`^Y8-U-+{0edH4?*#0ffW1yu z{ySOu?_}k_GvVtpovi$Kvhv@_%D;Y{Sl1moS^4i|<-b$M6|2Q}i*@RV9Q(RVCoBJ* zto(Pf^54nIendH zGMySDtFOy+YK*L2gY9IDIyFW+iIWG zD4a}ukoFIwA45NZej5D@`dRb~=$Fy2qF+b9fqoPH7J8Na7Eu4j?n!a$J^D9xPl{g0 z{*B#}V%V{NWA~&;cI-RQPSSfPx$=9G-aE;a-;?y-Nv`~!r1ws$XLQu+lQ{7c>1Lvf ze(0hfy6A^4`k{+^47%utF8ZO1e(0hfy6A^4y=U|xZNdG}m2f|F>77qj_d}Q7mSJ^2 zbS2ymT?zL?SHk_!m2f|FCEO2P3HL*nXxW##AG$=#j@13oML%@W4_)*_7yZyhKXlO# zUGzg2{m?}}bkPr8^g|c@&_zFV(GOkpLl^zYV)<+y5C`{u$f+nYMX1@iT30QtB=As1oi-e_z+2d*sE| z6#7T#BdD)j_b>`QJkismvAC<2x1!F<9%^HcT-)*6l-E6SZO48WcaQFS@m~B}6+QB9 zxA>PCd-QC=E$LtKzy7`T9v$7L)YY{|$LQGaP3ob#_Q=`&SAIK64>h(&F7K9)(&B5Z zJ#u`v_zl%P)Y~4pzgs>4$$MeuDUW#NQ|W zH{u@<`?r~TG}Ev?Ny}5{)95qk5%ef}3_XsXK!1#$WSc)>J6**7704dVG(7J9Eyy0t zG#sDh^L@nq!~?{G#6!fx#3RJ#h)0RXh{uU1h$o4sh^L8Xh-ZoCi06qHhN# z-*Mfer-U5)9oId2O31O_aowY*gdF=F*FAbl$nh5OJ;*E)ZxaW^CE}2{Ol%kEQP!Je zKg-agtaR*W8G4kPj{Ph{k22KpA$$1^`djpO=xbKpb7FlP`VN0y_X1hpDeWZ(d&$9G z<=`!~I0t)`gN~hjy~;kv&c5End)0@%%0cU2qOLH#%0a8Ig!Ynmz2sdl8P`k3^)jpJ zCD(e%vR<;Rmsw3Onbk{9^^#M)%w&2s_x66BN4?}xFB#NJ2KACbz2r_WGnrnprdRWG z|CN6iwO4a;tADwySMzYIv!j>n=v8*O#lKwEt9iK9zg*UND)z6UoZ{T=ln8X}XK+s80;j~GTi#8}dx+nsK0hUQo0Gc!pAvf) zr61ydKZ1T7{UrK1^o!_M(66E2M!&;1^nDtqbROsL`~>m$h<%^NDV@i;-S=sn5)|QQ zf=tK`<69x#C60)z#4&M=*!A#~?uWFx9-iW<$x}Qvc}nvcanke_A6=90raRTtf%x7UftJ>>Nn)xiuXJI}I^I4eBs>b>=W%x7UftF;U7%gkprqi}5Ivzk#jHuG7nT{t%LS*=|-HuG7n zT{t%LS*=|-HuG7nT{t%LS*=|-HuG7nT{t%LS(wkld=}=jFrS6_EX-$NJ`3|%%^W`8>?$VLlJ@ zd6>_`d>-cWFrSC{Jj~}|J`eMGn9sv}9_I5fpNIK8%;#Y~5A%7L&%=Bk=JPP0hxt6r z=V3k%^Ld!h!+aj*^Dv)>`8>?$VLlJ@d6>_`d>-cWFrSC{Jj~}|J`eMGn9sv}9_I5f zpNIK8%;#Y~5A%7L&%=Bk=JPP0hxt6r=V3k%^Ld!h!+aj*^Dv)>`8>?$VLlJ@d6>_` zd>-cWFrSC{Jj~}|J`eMGn9sv}9_I5fpNIK8%;#Y~5A%7L&%=Bk=JPP0hxt6r=V3k% z^Ld!h!+aj*^Dv)>`8>?$VLlJ@d6>_`d>-cWFrSC{Jj~}|J`eMGn9sxfb0Tmj@tg>Z zrC#}Yjub9#++h5*>Q$5^fRn(ok{#H zpY+olXSAZ_zw+|}XS9~(*lSs5w2I~U6U3h)_WIQstzWs_&kLN<`jz9)5`Ui9D_3W9 z)xhmvCjKX4KQC~Gv+Ofkr}F=Lo$3td+Gn&*06^0i_GH`>}+orC+6m(a`T71Zb8 zXH_4pzT5n)c(D3z^Rwc?>bFdv6%SUwcjBygus&eR`{)6B$aa2%{uccm>gUJL>bN$g zKKnk)dG}eaQk~T?o>PmD@hr!9R>v4C_S#DyjP=1-AB^?ESRah_!B`)R^}$#ljP=1- zAB^?ESYN`7^}$#ljP=1-AB^?ESRah_X^r${ebS8e!B`)R^}$#ljP+@C)Soe9eK6Js zV|`i?b-NksgRwps>w~dA80&+vJ{aqRu|62<(<qH?sfOQ`nz23@>w~dA80&+v zJ{ap$jh)kH%vhi5s@073!B`)R^}$#ljP=1-AB^?ESRah_(f@t)e;{ zjP=7xZ#^ z80&|zeqHhO_RUzo{KDHYWBu|As~PK;Ur1rBAIAD&tRKeuVXU8H?B^K!VXPm<24HLe z#s*+)0LBJjYyidvU~B-!24HLe#s*+)0LBJjYyidvU~B-!24HLe#s*+)0LBJjYyidv zU~B-!24HLe#s*+)0LBJjYyidvU~B-!24HLe#s*+)0LBJjYyidvU~B-!24HLe#s*+) z0LBJjYyidvU~B-!24HLe#s*+)0LBJjYyidvU~B-!24HLe#s*+)0LBLB{{i}c0LBJk zY!JoQ z2*!qBYzW4NU~CA+hG1+6#)e>Q2*!qBYzW4NU~CA+hG1+6#)e>Q2*!qBYzW4NU~CA+ zhG1+6#)e>Q2*!qBYzW4NU~CA+hG1+6#)e>Q2*!qBYzW4NU~CA+hG1+6#)e>Q2*!qB zYzW4NU~CA+hG1+6#)e>Q2*!qBYzW4NU~CA+hG1+6#)e>Q2*!r!{~`K+2*!qCY#7Fd zVQd)2hGA?N#)e^R7{-QSY#7FdVQd)2hGA?N#)e^R7{-QSY#7FdVQd)2hGA?N#)e^R z7{-QSY#7FdVQd)2hGA?N#)e^R7{-QSY#7FdVQiRV9Of8@VQd)2Ms!ZMpBT|Ooz+hZ zj_91u`Uv_M`Zo0KsMkqGbiQWwTJ(s{*R1bH{j}hSddBJ}wnlWOX8kz&Nz`u)8_}7X z^(*Mt&~KyPLA@e3qBAw?6X^F)ugHz)OwH<5=n|I#cuZy$U^|Gc~JMp+|J4W?ew< zp?+d(L=;)e=nlGzR?(XDoW>=PdX9Ha+}@S?X~A>cO>_<>&%xw5m^=rQ=ftEx;84))H$-Z`=7cF)sBsc)myw^8cb zDD`cW`Zh{^8>PODQr||YZ==+=QR>?$^=*{;HcEXPrM`_)-$to#qtv%i>f0#wZIt>p zN_`upzKv4fMyYS3)VERU+bH#Il=?PGeH*2|jZ)u6sc)myw^8cbDD`cW`Zh{^8>POD zQr||YZ==+=QR>?$^=*{;HcEXPrM`_)-$to#qtv%i>f0#wZIt>pN_`upzKv4fMyYS3 z>VNeu^=*{;HcJ1G(*L8>w=wG581-$8`Zh*=8-tTE>f4w&xtkcHzKv1e#;9*&)VDF} z+Zgq2jQTbPOJlG!21{eGG)8?JqrQz%-^QqKW7M}X>f0FgZH)RhMtvKjzKv1e#;9*& zINBY!b%w`)Ra$O=A+qCShz6#wKBG62>NB zY!b#MVQdn{CShz6#wKBG62>NBY!b#MVQdn{CShz6#wKBG62>NBY!b#MVQdn{CShz6 z#wKBG62>NBY!b#MVQdn{CShz6#wO|iN&0^h#-?Cw3dW{jYzoGvU~CG;reJIe#-?Cw z3dW{jYzoGvU~CG;reJIe#-?Cw3dW{jYzoGvU~CG;reJIe#-?Cw3dW{jYzoGvU~CG; zreJIe#-?Cw3dW{jY>H!?;uxo3YzoGvVQd=4reSOv#-?Fx8pft!Y#PR}}gfUyM_TY#|z7+Zj`1sGd^ zu>}}gfUyM_TY#|z7+Zj`1sGd^u>}}gfUyM_TY#|z7+Zj`1sGd^u>}}gfUyM_TY#|z z7+c^N7dXZR7+Zj`MKKm67RA`1^es9YS`=5Y^ikS<$I&8Jq8GUmy~vg5#l)ZLj{QZh zL@y@1va!gO=*7hQX#ZRO)_2w|iaKxK_ZlsVI>)}_Xi?NT_I*c-qRX-GK3WuAj(rc( zqUdt$JCPPemt)_Lv?#6|{|oASlNPyJy~ygvB3GyvS@Brp+VmpVrWd(3y~v8kA}bz? ztavQ4;<3nz$092pi>!Dovf{DGipL^Xr5Cv#y~vg5MOHQzS<_f#HDi%=j73&37FoMk zWYuDk^@>GSDi&FzSY&l#G4UdOwTb%e<%{Cn>Nl1zigW9Ijb%D8Q0n!l^BOzHUXMDjQFH7ShVx?B`a%B6D^cfFCAg$ zqv`MV1p0mS2dLMt&a-}XUZd&HJcT}uK7$@XkD|xW(e&2( z(Lr<=J%^5=6X+B=gU+D~=mWO1j~-Z6d0vqwQQzrzUT^vPW9eHH@07L>KT7;Aor#=R zp5B$dpZ32(KY;$VbcsA&B2Smd(2r^~DuFO#Rsw!2|8rdAdxVE|aIr9R)C|LZ(m)@WLt zr^^~mtMhbOqiJ=XF0;bCOr9>2r_1E&GI_eJ(e!7Wr^^~mtMhbOqiJ=XE^9Qc&eLU$ zrqy}6ELXKUPnXHlW%6`cGlW;v;yhg@PnXHlWxb8_ooaEOE|aIr zJY6AASIE;9@^pnfT_I0b$kP?_bcH-!Ax~Gx(-rb`g*;s$Pgls(74me2JY6AASIE;9 z@^pnfT_I0b$kP?_bcH-!Ax~Gx(-rb`g*;s$Pgls(74me2JY6AASIE;9@^pnfT_I0b z$kP?_bcH-!Ax~Gx(-rb`g*;s$Pgls(74me2JY6AASIE;9@^pnfT_I0b$kP?_bcH-! zAx~Gx(-rb`g*;s$Pgls(74me2JY6AASIE;9@^pnfT_I0b$kP?_bcH-!Ax~Gx(-rb` zg*;s$Pgls(Rq}L|JY6MESIN^=@^qCvT_sOf$ytOXxqL|BU_%dVxLqZMPS6 zeq`N1ud=Tf`AmU$lX#2RPitNf`Tjn>@9u*5ckH|GE+`8e`yRXt$^{>tuU=hHMmY90 ztP9Eu$G(zvLD}Kh*Rw9@+{)kK0moP;-Y0Gl9}piB{|5an>bplSaE5Y0XDEs_E<1^f zI=9-F`rfLG^yfwT^P>7QP>cKXB6)OC=T`oVpKrRTb1Ul=^hMP7y8Q?#aYbE_#@Q-!yhqBT`@t0`JjJ-3>oHJxQ!P0<<@t?4Y=-^~=Q>0H~f zDOywIbnO0IgQ7Khbq$Kv=-V|YTBC>8plFSLUW1}FdV39u*68y!C|aZE*Pv((iq>?V z?(buY)^xV+*c7dCp1a0*?i%O0YnCbg2TBldnp=h1HU5BD|dUzd**6HVUC|akt*P&>gK3|8Tb$Wgsiq@fM z9g5bWXdQ~yp=ce7)}d$}iq@fM9g5bWXdQ|!L(yd@x=epwrav!3(PjGcG8A2gqRUWp z8Hz4L(Pb#Q3`LhY>dPGOWsdYR$9S2eyUcN2=7=tHESI6^G8A2gqRUWp8Hz4L(Pb#Q z3`Lir=rR;thN8<*v;jpMP_zL>8&I?XMH^7G0Yw{7v;jpMP_)5OZ*bHbP_)5OZ$Qxo z6m3A!1{7^T(FPQ4K+y&iZ9vfm6m39}eyvxPM8BDdx)yCf(FPQ4K+y&iZ9vfm6m3A! z1{7`3pBqrLL9cE=(FT3H0Yw}1@CFoZ(9auCv_WrgK+y($z5zuW^!x@CZ9vfm6m3A! z1{7^T(FPQ4K+y&iZ9vfm6m3A!1{7U^qAO5zh5o!ke_ny2EA;0TD7pegSD@$$6kUO$ zD^PR=imq_fS2*4)9O)H~@d`(Gh2y%y5nbU}u0YWhD7pegSD@$$6kUO$D^PR=impJ> z6)3s_MOUEcswg_0xT-sy?n>W?KJ?muC{7Xo5&8)F#~RbCuyj>3KlI)F@1GODhyVQx;`i$Ag{yj6{7~v=3a+Xrt-dGcs(R9~ z*Q~CJOn=)CviA?Mg}pV% z=lJC3Y54*zU!>(rw0xPCuh8;Ow0xD8uhH^#;(w<78^qs4|Am%s5r3OceurcHE@+;ve!?KSH0R+ z#0$jd`6kQgDtZAvFT&Cq@g?GQ;>*Mv#8-&_6W)G_{tA5s{V(*t(f>jJ7rl%68TqTq zQ>&kmzp6a7`WgAF%2TVKk-w@uwR#qPm2ACA&ACd>UZv(-C3CM*bFNZzu2OTZQgg0S zbFS(<=;w*6IuEj@P`^RtsD!3kPW%qdIQQRJO)a|3c-9 z%2um?q4GuLsnxUG7j-^s{Sf*Q^yBC!(a)h@M8AT54gEIiU!r_bXPs9666K3J>$Lt5 z{So>k`V{&!`V4vmJ&GPf{VQ@W>a5fHWArEJv*=IJvuHm$hz_IY&@prZ^{>disIyM% z9O_?@dr{|-4@nwYxSJbT6pYwXq-tNo;@Viy8iixm#)4KV9J@9a1v1?;N_rW@LZ7k?MSjVo71>Fbh z*tM~s`(PcrHWqXrtYg>4g6@NL?Aln+eXx#Q8wrCsNVql@60VH}&F9Uh zYhyw4F~_cr1 z#sammKy55g8w*XYjRk6Bf!bK0HWqY+bWZKAjRk6Bf!bKm+R@LohUnV3Np0MuHf~ZI zH>r)A)W%I}<0iFnQ`zLtyEbkrYpkw~o5}*KYvZP9x4JfNieam3<0iFnliIjRZQK;G zZg*|m6tPy<#!V4xb#2@fu~yf{O%ZE#ZQP_bZi-dMu8o`G)9Tu|DfXe{G# zMN!wrO>t#)ZQP_bZi*ts)W%I} zddM$S_pJX&%jeNAq5p*bGx{%95vaY0Kx+zpm-IjNtu_-cv-g+T`^)V8W%m9udw-d| zzpR>kSD*CWUsml6q~80>?EPicShsucFRPYXz4w<@Ev4-JW%m9udw*Gd5+{Di-mkIu zYwZ0Rd%wosud(-Q?EM;hzsBCLvG;52{Th3}#@?^7_iOC^8hgLS-mkIuYwZ0Rd%wos zf5qOfv-j)l{W^QU&fc%H_v`HaI(xs)-mkOw>+JnHd%w=!ue0~-?EN}>zs}yTv-j)l z{W^QU&fZ^P?>E@{4fcM6z29K(H`x0P_I`uC-(c@I*!vCkeuKT=VDC5B`wjMfgT3Ei z?>E@{4fcM6z29K(|Ha;KviFHRHR@+QY` zCw>R9->y3Ii`SMs+9TyR8g0p`9s7+&Tk>ni&(Y`4qc5PRQNQVEOKv`wNIY{X z(e%i%?gTzu(eIp<_RVzonHz$9@)ni<#+`<{-`|U$xlMOvJITT5M@% z>ez1)+tSR`>bHn(X=ZBmTNSrdCw?yVS^HMgAJXzL>NEH)%~Cg|kD-t2jAu)8E4RFz z*zZ={(k#{bPSms1d#VR_rH^Sl_f!u8>D!6lLF_l}-Bb3v-S0fUmw2yw_@3ryRzH1s zPg!pDirPJ8`JwcKZ1Y33e3=5Py~U zYs6nC{s#I@^jqk+`QPvI&7VNOkNyDtA^-a$^hsKtLZ3#TL64wE(PQXw^aT22^e1fL zS@fsqS=#&2L39{BhmN5W=oC7G&Y=tFMf&y26xc*~jvYda!GBdEEsepSS;iuhF#zbYo|S4DB_|FvHgMXzJ~RZ;67Zn0k# z@v9{mtnswn4oi~XvIUllbAaEtw_h+h>oBXEoT zs)%0|@v9a~uZlXGwA!zVI-9iG zuZlXGwA!zVI-9iGuZlXGwA!zV_*D_VD&ki~{Hlmw74fU0);~Nh_N$`SKdknvB7RlG zp^7+E5r-<`P(>W7h(i@|s3Hzk#G#5fR1t?N;!s5#s)$1sai}5=Rm7o+I8+gbD&kN@ z9IB}G4}Tv!R8i|6X3q{))cS{GJ5*8YACB!%MXi50wnG)UHdW-RR8eao-hv&fsI?HQ z9jd6c5UU-ksI?HQ9jd6c5UU-ksIy)ZYlkZ0P(>W7h(i@|s3Hzk#G#5fR1t?N;!s5# zs)$1sai}5=Rm7o+I8+gbD&kN@9IA*z6>+E{4pqdVia1mehbrPwMI5S#Llv9sP({sZ ze=fB{6>+Gd>dY<0cBmo_Rcx|D6>+E{4pmg0`FUa+huX%WwsEL!9BNw?AkhEXp|)|T zZ5(PFhuX%WwsEL!9BLbf+Qy-_aj0!&wExx)wXIxsY=_!b7CW{>Z7Y8r+o86VvsOFQ zwzAdjcBpOTsbf3TwldVQ9co*->DUgnt*o@#p|+KeRy)+TGSNq2huT*5S?y5U$~*tB z9co*7=N3EEw(`zuhuT)&S?y5U$~&taYFl|{wL@(yJ5+!}1vpfILj^cgfI|g1RDeSTI8=Z` z1vpfILj^cgfI|g1RDeV2tVlVia|Klic@(kFq4bZqMC@~@0EY^2r~rowaHs%>3UH_Z zhYE100EY^2r~rowaHs%>3UH_ZhYE100EY^2r~rowaHs%>3UH_ZhYE100EY^2r~row zaHs%>3UH_ZhYE100EY^2s1goU!l6nyR0)SF;ZP+Us)R$8aHtXvRl=c4I8+ITD&bHi z9IAvvm2jvM4pqXTN;p&rhbrMvB^;`RLzQr-5)M_up-MPZ35P1-P$e9yghQ2Zs1goU z!l6nyR0)SF;ZP+Us)R$8aHtXvRl=c4I8+ITD&bHi9IAvvm2jvM4pqXTN;p&rhbrMv zB^;`RLzQr-5)M_up-MPZ35P1-P$e9yghQ2Zs1goU!l6nyR0)SF;ZP+Us)R$8aHtXv zRl=c4I8+ITD&bHi9IAvvm2jvM4pqXTN;p&rhbrMvB^;`RLzQr-5)M_up-MPZ35P1- zP$e9yghQ2Zs1goU!l6nyRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0 zh(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3 zg*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=q zRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4* zLxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@`I8=y3g*a4*Lxnh0h(m=qRER@` zI8=y3g*a4*Lxr3}g*a4*Lxnh0h(m=qRER@`I8?|vRER@`I8=y3g*a4*Lxnh0h(m=q zRER@`I8=y3g*a4*Lxnh0h(m=qRER@`%GryF5QhqJs1Sz=ai|c73UR0qhYE415QhqJ zs1Sz=ai|c73UR0qhYE415QhqJs8H1)&>rnjA?Hvb=TIRI72;4K4i(~1Ar2MdP$3Q# z;!q(D72;4K4i(~1Ar2MdP$3Q#;!q(D72;4K4i(~1Ar2MdP$3Q#;!q(D72;4K4i(~1 zAr2MdP$3Q#;!q(D72;539IA{%m2s#t4pqjX$~aURhbrSxWgM!ELzQu;G7eS7p~^T^ z8HXz4P-Psdj6;=is4@;!#-YkMR2hdV<4|QBs*FRGai}s5RmP#pI8+&jD&tUP9IA{% zm2s#t4pqjX$~aURhbrSxWgM!ELzQu;G7eS7p~^T^8HXz4P-Psdj6;=is4@;!#-YkM zR2hdV<4|QBs*FRGai}s5RmP#pI8+&jD&tUP9IA{%m2s#t4pqjX$~aURhbrSxWgM!E zLzQu;G7eS7p~^T^8HXz4P-Psdj6;=is4@;!#-YkMR2hdV<4|QBs*FRGai}s5RmP#p zI8+&jD&tUP9IA{%m2s&1a;X1E+?PYmN#BS*^qPK&PY&glKSCct|5)es_vKJK(zl{5 zI{&?oL*2)r?u*Z#tK~6W*Sar0z2&zPzk~QsHAB8HO8vio#y0;S`fmRB&xzl||NaH> zd)eCi*vnti;@|ALFOqeCuSj<6Uv9ZClKpM}mhF6yzxoi{`8!%ZOv^`T`6w+PqvhkY z{5>t7pyiXae2SJ&)AA3*pCSH7;?EL)j!%A`mM_rqMOwZ@%a>{S3N8Oc%U5an8ZBQZ z{%6|1LHtehUugLj@wfTpcQ~%^(*Cc+PY{2P`1{2FM*IWfAM#f}LZ77NDfDUd8T1Hx z6g`F>M^B(XMo+TMpRk=S;%AAwiGND`9P#t$3+QR|40@LB^bz+H4-gL$4-pR&j}V_D z9wi-%t5!Jnb*THQ7><4S=zY}da~B+lb#z>^m0ktIk;8iM~s}b+e-ia7+4_ zym&_y;I8!T#P1+}C-J+9-$VRf9nlUBwSzw7 ziaT;B$G%H(M-JuK_b2Yip{%|qaYqj2cHfP-BZqSA`w(~JP>y{E;*K23vF||KkwaO1 z@8OOd%KB~o_q%-aC(!SsKR|!T|NaPll9s2?r_pE7Bj{1|7g!NDIFv?%|MlI^qBhM2^+>7w^cS^mZK_Y6pkf z!J&3=s0t2M!J#TRR7K}d`h8d&s)9pRbPhGA7CTf0hpOOE6`e!fRg3SNsNhf)9IApt zRdA>Z4pq?%>Ob@uJ5&XSs^Cx+okMxccBo3i4pq_2O24Y3b127lsEW>^ycauEMI>L8 z+My~qR0W5s;7}DDsv@5KS9Yk1&Y`?zJ5)tfyTuMw5!-IDLsfJR4pkB7 zZm~mEM7v`w#ST>w|8B8ERdf#J7CTf$S>P5sR7K}dZnr~K zlnYinR7Dx#*bY_EIh2pu4pq@Plw&(oMdwhC?NAk+LpioXRWz6LU)iB5n#;Mx4pq@y z&T5CMXf9{9Lsc}Fv)Z95n#)=3P!*j+d7E~qiq4@N+o38thjMI(s^}cbu^p^9NVEPI)`#>hpOlt%CQ})qH`$6cBqQZp&Z+xDmsU9Y=^4o z9LljBs-kl!$9AZS&Y>LJp(;9ua%_jH=p4#whpK2k>Atl?RWz$~Y=^37Zt2(#RnZL7 zu^p;{Lsf97iq4_D9XnJ-=TKHVR7K}dRy$Nh=TKHVR7K}d&I>zKMdwhC?NAjQs)9pR zaHxtZgWK&;6&$L9Lsf973Jz7lp(;331&6BOP!$}if-xIqy z)GiLSi$m?=P`j!CclEz^s9oi|V>{HYa(qYXJ0*5;s9hXt7l+!#p>}boT^wpxxqM5X zv_tLUP`fzPE)KPeL+#>FyExP?4z-Iz?cz|oIMgl-8EqMd+Qp%Eaj0D! zY8Qvv#i4d_s9hXt7l+!#p>}boT^wo`hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Pr zs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1 zhl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFO zaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h z2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4} zig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Pr zs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1 zhl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFO zaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h2#1Prs0fFOaHt4}ig2h1hl+5h z2#1Prs0fFOaHt4}ig2h1hpOUGRUE2{LsfC8Dh^e}p{h7k6^E+gP*ohNibGX#s45Os z#i6P=R27G+;!sr_s)|EZai}T|RmGvII8+sfs^U;p9IA>#RdJ{)4pqgWsyI{?hpOUG zRUE2{LsfC8Dh^e}p{h7k6^E+gP*ohNibGX#s45Os#i6P=R27G+;!sr_s)|EZai}T| zRmGvII8+sfs^U;p9IA>#RdJ{)4pqgWsyI{?hpOUGRUE2{LsfC8Dh^e}p{h7k6^E+g zP*ohNibGX#s45Os#i6P=R27G+;!sr_s)|EZai}T|RmGvII8+sfs^U;p9IA>#RdJ{) z4pqgWsyI{?hpOUGRUE2{L&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7 z#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZ zRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-q zL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H# zI8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W+-qL&Z2$j6=mZRE$H#I8=;7#W<9Hhfik; z`t3c`=TI>Y72{C)Q zp<)~=#-U;yD#oE=94f}4VjL>Qp<*0LZ!*%{TW{pi`H|jPL+o>?7>9~+D7}G#cArD( zDPPS$^*kHuRX#l*h58&S#-U;yD#oE=94f}4VjN0OWoSOBJ7;x%q3U{6)rvEOa5CtCbhKSKTd z?w)9|`uW{G(PH)UyL+O=>gRX&M2pqW@9v2f>q)lh_tfsGN_+dy5_c2-l=uv>pX=RI zHTGxxbnl+3v132uyQgaG*iZWIsTw=>^S*mJUvNA|JWlLqfA>_4-R>uV_f(A?`#In} zRb$6~Q^KCAv130Iyr^rNRuQ-(^^*>JqVBHrPtkWuABYxJPiT1{S{$2}2jawP zP9BI8tKV$#KvY=$^!5W$VfEA74^&UAetP?XsIdC!?FXtAR+I1m1|Bf_4>bC2@zdK6 zR4c3={RfQx14jP=qyK=>f57NJVDuj_`VScW2dWkRD?h#cK()f^QGUSqK44@YFs2U} z%?FI*1Jw$D#$)$@QG396Jz%6BsK*Wy57cAU|D(GN>ttV@?5mS~bhye_?5orNb+WHc_SNbCI{ja#|LgRBo&K-W|8@GmPXE{G z|2q9&C;RFe1%DrBU!Cl$YmVgD*;m(G$g#(zPWIIqojTc9XN>A(U!9SvlYMo@t4{XS z8MV6RLf($Yu1@yV8NoW)S7#jSWM7@ptdo6p#SSM??5mS~b+WHc_SH4J(Duo`I@wnz`|4z0T{Zu1VxR2W zhn9V^Zy#Fr$-aF!*(dw<$-aHEZ=dYjC;RrvzJ0Q9pX}Qw`}WDceR$Z1gnby;XY}{U zzJ0Q9pV8lE^!FM4eMWzu(cfqE_Zj_tMt`5t-)Hpq$-aHEZ=dYb@9AoE^y{an>*_vZ zs^4ZKb`{-c1os)ceMW7c@!Dsk_Q}3|vTvX4Ymj{nvadn*HORgO+1DWZ8f0IC>}$}U z4YIF6e>TXz2HDr3R~uwsgY0XNeGRg&LH0Gsz6ROXAp06*UxVyxkbMoZuR-=T$i4=> z-5~oK^m&8qYtZuzvadn^H^{yQ+1H@|8}xsJ{%_F#4f?-9|2OFW2L0cl{~PpwgY0XN zeGRg&LH0Gsz6ROXAp07OOM~odFggvguR-=T$i4<6)gb#Cj8}u~Ymj{nvai9|HORgO zBiJDO8jNFu>}xQZ4YIGnm^R412HDpj`x<0lgY0XNeGRg&LH0Gsz6ROXAp06*UxVyx zkbMoZuR-=T$i4>I*C6{EWM6~qYmj{nvadn*HORgLvhM&|4#>U(XgMJJ4&dZ~>^mU) z4#>U(vhRTGJ0SZG$i4%z?||$(Ao~vB;Q$g2VBmn!KOp-K$i4$c|A5gyVDt|d{R2k- zfYCo-^bZ*Q14jRV(LW&j4#>U(vhRRVK45$g7}*2H^nlSkU>pw^!2`zbfKfYOybc(t z1G4Xc>^mU)UR90+iC2{))(@y^y{b%c{5Q(wS2co;eQ)8b8bNCr-9dNJDq2Gy@K^h& z-%avrlYi;)Rn4ERDb#N(c~$daxA+&iU)6kA`(-}-D)Zr2^@ft2#IMQUU+cRaD)#fa zzb1=+t#9R)ZM1}zQO~J<4OhR0t6#&_q0ZNImPqwD6c77~J##)34_42a55HeHwiRJ%S!ZkD67}~H#H@+^rS6}H^vNBmkNqKMy)=m`>lMFCpMSHwUiZz& z>#gqdH_Pj-x-KdG6MdgICz|y=->fy*f0w?MmPcQER@#P^ofLsvMMlhb?~> z{a5q}^n2*{(SJjKfGRijS33WdK1s_{=+o#k=n?cNdJH{|o634_f z;zRcG8}zs6@6gw*cJO7*5Jx+-`=Gn#owra8ffF zs~JveCSx_jNzG)eW;p42tkeuA?KM&}oV4Re&2Un_V>QD`&2y|~IH}o=)eI*!=dqgM zq-H)=Gn~}?$7+U?ngv-6?z$7VR0 zFvH1&8BQk5a57C$%>2*bFB%H}+o4a8h$)s~JveZY+i2Bn&5EI0?f^ z82&?F;cEIrU*VFP>Ob^KzEo@Y(g4-nxr*=ezZEn>W2?5Tm2|fAFxz>U?L5qO9%efa zvz>>%{;yAZI}hu)tlrMUIu#PMNXy2sT4VtBBxU1REnHRky9yhDn(AE$f*=Ll_IB7#PMNXy2 zsT4VtBBxU1REnHRky9yhDn(AE$f*=Ll_IB7#PMNXy2sT4VtBBxU1REnHRky9yhDn(AE z$f*=Ll_IB7#PMNXy2sT4VtBBve^r5BqX5uet#Dx)6}pL5dpi}OcB+K$vSkVn)f{!9Vg z;*XvK_rCtt-@iGL(Hyv0+2j_zb4L39*It(Xm1fJ$IwI=_`OJsW zkD;GHKaG9{{Ve(g^vmd1(XXT5K);E83;m9cx0#%3CYzecqh`o&hWTb_Z-(<`2yce% zW~gq4=VnN5hT&%DZHC)sh;4?|W=5o0l=|pAF3qCUu`7Qwlr}?YGn6(%X)}~ILuoUV zHbZH%DBaXw-J@qbrp=<%z2q@%7Nw3orp=<%vB$Jolsfj9Hfu~BdrX@(rj9+P%^Fk3 zx*{O`4XP^wigiUmsx?WSP3cX0(uZCRO{ z{tv$o7S$72igi!BRQIt@V_oYj9FS=CspG$Smxm0(UOLbSd&U-y-EsR(j(XmIZMf-K^QETxN$5M}4i=Q}_demCL=4IO*bTJ${~d(>LAMq%}+wJ>Tex_0aqk6H_(*5WlW#U8a5uZc-LYAtd) zt4FPcQETx!m|~Aw3!~P;sI_<JOwMQ8>z1v(p|ETY%k$Th~Wz-&J)E;Hj9%a-XWz-&J)E;Hj z9%a-JKu+e@`>FV(ueRO|Lqt=mhrZZFlkz4Rw+;aT*j=vmseZm<8-JKu+e@`>FI_;d(vt;ri=Mnkdy#mXI3O+&hs0&#`}Fn>Jys#! zC60)z#4&MA@#At~Jt65UywX2W`{SI0JkB}D;~K$DwLGd7lE-!Z*Pr(}$m6=3&iX#| z{aSy1T;t{Kd_ZR z-rW=u!m@OhUIHQX4xzV@1QG}&Bq0e9LPSLrQ9+R+z1Pr@5{igQ6KO(35T2qaMg>IX z#)Wuviz^ zAweSi6SX~$TJ$r8f1&WN6uv{@yA-}h;opc#cw#E@{!U>$Hx*$>Bu5UC zBL~TmgXG9Ta^xU6a*!N3NRAvNM-J%T{m3ii$N|lH4N%CD1N|<-LXI5hcM%qH{;gdF*i9QlzP`H>v?ksSG9hAi$1Ir75{SwJC2eppioDCEcw zvt}|35F63BN$Gw1HsM& zyAkY3urI*@1WyqrpAi&1=}$cAPdw>QJn2t7=}$cAPdw>QJn0V_3Ty>W`h$idEO^o% zG!$XMlm4Kg2n(L{2Mt9l-~|T!ox%?&%qR?xu+AT&InwBa-_swSL;*_y&j6xc08uZ1 zs24!g3n1zR5cL9xdI3be0HR(1Q7?d~7eLetAnFAW^#Z`XqGUn60C2B>f_eeqUI7L5 z0>Hfj3hD)bdj%BK3jp^DD5w_zJ`_+;FMy~QK-3E$>ID$>0*HD6M7;o_UI0-qfT$Nh z)C(Z$1rYTDhR!dVxf}K%!nCQ7@3F7f93#BID+@ z0*QKoM7=R!dVxf} zK%!nCQ7@3F7f93#BID+@0*QJ-px#Vf5Y|Mw zfF^pp!YC=y)WG;2 zBsmG<&1ML@C|rx~)~0YB`1^vOnMKLn*rkeW`KCV86e(o28j2Y0pk5;fOx+d zAl`2Vh^MClW>7g(DV#}RypIC$SrlGQlwV13HNmw6@qBNj!TZes@$^(cyx$BEZ=e9g z`^^BiP#EtwLl|$M0L1&v0P*xxK)l}!5O1IW#QV(v@dgS&yx$BEZ=e9g`^^CH1`0sD z-wf~oh4FqfgbxuWM+hDz_z`jGG2*C?Df|hAKc(<-3ZJ0xNeZ7Pt~*2UJe6>f;3a~& z1g{XhO7LrfHwb=1PSin4jzYx4b@E*b6sIL3O$-h(h0fiZbH41Z* zpaOz_68wwcLjkci1U0Z92D?mjdXbCdI*8;t2>W?fAV#Kml4wZ!1H_cZI2DBbDk6Q* z!x7kBB&0r=q&}GBJ(%P@7?uzbFLtK{lO-e=8g(YZVs}a~bg2l7wMnpq9ZG<8LC;|5 z)%}1CfPXNgRY1Yj!NkwO#L2M;0(uj~^L7x% zlXd|82#S48A<(*cfTCYQutE_rwFu%3AP9?fN(lN$KsV-fAy}b^G%X0WCMfn?g58lLT)P{GQ+s1aA|}qrUis;2nbZ0G(v3bds&o2~K!`7_p1YNft{dSuCC8J#k_z z7V!>(egwsCF(>hZllZ|&mPsf0LBtDwaDpF1SgeDb7-vQKI5P#!-Ko2L^aqewrBU@XBg1jQa6C)qrm zWb<^A&C^LXPbb+to!~T)W-`Gk1TzSVJv>gVmjx7ic$^p+1r&RDoMiKKlFideHcuzn zJe_3obdt@}Nj6U>**u-#G?7c};c;2nbZ0A0jsF5)y7ahi)b z%|)E%B2IIG$L=Df@YA`Va|9ILIv03Mln^Wh0t$bt3p^&Euw1#oV*&~rql5a+WH7QQ(b^pAk?1ch(T1+EY~euCL|E+Xa)B#ESa5|4Tp_}OD_qb& zA}n@xxxf`7EOvIez!f4ac6PbI6(W3q!Z{QcwmTPD8(d^(aFK<Lz}06F<1&)m0GFn931)#!Won#+pl%EVPZA_`!|!mxvKM#|@n$N(-eJp?TcU zJR&BHVub#2V-7FU3oYcv9A1QlE^=cm6Dd1WjL=AK;wv}SZX%7)OK!~JMVg)zBeav7 z_{~k)$&ER@NGW{xZqiY1%;80h@ZGzisYG6}&(KZU$xV96O&ZBfyyu2S5^01+a)b8- z6dK7*8p%x>$xRx`O&ZBf8p%x>$xRx`OZ5N$0pp+qg;3xJkpfNw>Jc zKcW_~C(uor#7#QHP1?gvwkbF9iJSPuO?={p2U+yd8Nenqdu)n1=UrV>nsYYA4D$iP zV$XIn#ODEuz1hul27)p{6XKgAWuC4zO1P`*k2H2bBgV)6n4Lb5bdn?~QY$H1()-~f zS>hv8#!Ehu7veDyD!i}j+q;XO0g=h|x=m zp{t~;dY(!TmikHY(hTVhX|A+c+K)GF-4;8-bs@Uiy1u$Gx)j};x&^vy-Co^E-A%o$ zZ>VppkJgXZXXy9qkL$1K^9*`JDTBq}XJ}+-AsI0{&V!vnJlFC8_92zi*>E~ThK$S= zF{JanK>?eXuj5Grn71RX4)Sq}QY}XQ2grXxst;;r0o{{(f@e0n2AV%0T zP$H*0L1Mm)3+GA1X%d_z@sxW^G9mrU!g2*(-yjcmN(2RL^i8R=w!*i~N&HHp3VIBy{CgBIex7s|kXf8-Z)pdjGw zIcFeF8Hh6mo;xDfT?yv|s4kpW08WBO1^0*dF-`s~M@Rx_O=mR{YhqpYx zMC`*e5AOm8PzKk9hu@&Y#RyTH$bcB!eclJ@z7c;&cfUBzLs$_#zly$bU(`{E140+@ z{0`KK`cV^o=b;?nQ1T;U@UC}(%^CcOT2Ml9nMG-zjw!nHtklK#JfUK2i|#xfQ7rJeU3`Ur=Ar=28Drt%Z~nu@A4|60|>q z3l^BdQfK4WHsT+=*YtTGaMMo$(M9D6tUUeqsJ5b8CB8)q zF{021)Bx8$`9X?2k~BOSnq=qN!^5EM8I--2C{O(lIYn<3=Pj-itu2zxf7cSq`~0>R zmn=e_c2P)BV7})r@CO%^{2(39SR#ec6c4~FLiYEA=frh^`06gcJ$!VbSUwR`)bDs> z5}p)HAMn%elBH7*<$>#tK?}`A`D>wzh3=YvZcZ$Y<$HoaytG z&Nq-7K_Q_-ibjX0%YkS0@lyW-`safFnEQEj+vB+le^o?J(uep5vsNL&|CawrLPVCw zxQAv1Mc8{vEQZDNXKJBG|2}*EOk*n2V{VVMM3LfhJfY|52+}{q-M|A9{A9ku+>hzt zqBH_?50@6j6s9gAL;q-Og?tLB7p0Y?*WyprYbFDj{IEhWmoD@Hr;rkHWT_fV4mo{8CWN8XarSEBNRCmbct1Ek zw0;rmU!nPgWMkLg^GbSFyqE=}U;p76;8`U;FHX>>=pJ!@;mQSZkLDvq_y6;6qPnmV zl~}(&o*Q+Q7z07Ke;{)x;|Zz?{quBeQU5%S!QcM^{U0kIB|o*=@Raf_?fV~;UuzcF_6>Jr9|H)#K^XOZN5Ccb|?aD=&fHHG)8xvn+J za=-^-LQRTd+ zPMVItWa%Ago|GcZ$6uPX5P#{?68ue)mg8@-v=V<)q}BM#kk-P}HdQ){XHu;NzLInv zc$Shb0Ml~PMPTbKT>-{{(pLg&=||ulg7>gFb@1i`e;3|+P>;gf%O2NCMpe1;A5ZYN5RKtl)sS46mg$EAj-zdEbh|}_Db!CL? zpaXUwOHHv>Y=+hcAx`9b8X8cFxSqb_iLucg5%&Dnq2`j89`WKTD(ByQi*#PVxablX z|J}zZsYDS$6%S>KzD3^R%MUFtc?mp9{w^6dfj&i7DNw59RT^{?7aS*`y6@j!c)AmM zruZrYYL~pqg7!sMRjC1btmxCcC{Xy_7~c&c72c8sfAFH>Q=6b9HNyJPN|(4Vq(@w0 zo+vCqO@wzxa^tFxs~)b$KXuS!I&ht++f{hW^IhsuLh;*0cSBH5E#$DFUn_wEg02#% zFN)C7O}`;;ST1e-|#9F9eh-c~u16#3eqpK*7Jegw8B^;i(wt zrQ!>xv(aasOOzS(=uhyKM0_LS$)*K}6Nu0>H2}q@EI}i9tu|ytT;fv=GAk}8{Yl_& zFN!wxRJbwpts3KL3jEql_77$!caD9B-=tyZB!94_X;uE6c zrK8Cr<#B>%2wqH1u3JyKLhuH`?*Z#ec?9nf)Bqbue+j7bBB%g1)RiY#iQo%>Ze0Mu z5Q0K(g|-uPc=B6^mWw+jp(l-?qmHOq1O=T1C5oX~7wTwrSOkSu)RAs1f?`bcjEqH4 z&|61T7f=Dc?cllE&?~K^_ELB3u^5K?BF)J{yuK;?9a>m>tHR&$h2LWezheu(M-_fY z7k-b#_cmP<0dbWA#%0itIDHN7{|j{lfG;1?H=d6O8U;uNfI-rqfFa0{h3j$nF7D{0 z_rM2w={@j`H+Z%wJln0Mwo)gI?Y+^8L6|+%!~J(X_jN-bOVOk7zE0|hGzvIRk6e8K z`(b_{>cbfe{Na=j{wfHl6TEB&-c6+Dpj8{>>;iiA!kl6t?&v8b($&YWvdHszN=k=0 zP4Qivg?Ox_f#NQ@7;V$(%63RdiH#grDdS$x=p(6x({?8>W=F^*Im+G)BULXUB~r0y-8nIUsWHZuc5D{Z=i3g zZ>TEkYuZo>h?Cx&x|%Z6))Zw)^h zelz^(rS~#=DPHBgs(AT()$wZP)ygZ}tE*QZuaRDfUX#40d%fcIhSwagMP94Cc6#M_ zo%Fikb=B)TuV1~mv6QjA(bpJlOf*jHRU1kol0anC#FQ8jYBMq^CN(Cq1f=^>aY<1V z$Bl}QNvEIDaWP3T$#Kb)Bb+iv#(2I)Cq<@uN*Wg#m6R|(^06<6F2?iKfl3%nutQYBxN(sl z3`Um-cX(9N=trTBBO{Yyado1caRfU(y4%T9Rh;Lmlc%aU&sUccC66r;?n?BCC)kzR z5>K#ei8S#g!d+2YJg)APV?4p`lw&->?j_QWFA?rRxF!(n5jzo`m^5)*eB{KGgpxmc zcu-I9eDz3$a&IGcGwX zGAbr!Jbh6aiOAuJ9hERKsrXk)Y@8=mY-C&#CGQ^5HFngPK*JHRSR5Yt9?-;SCf%oHgYQS-gEVi?Y@0ed%kLa_yrpZhm(x zv`GV{X`eRr?Phj4)5bcoimVE&?NV56Ze^8t2i}oa|?FT*{W!Yxgc)_UeoU_7qe9 zabu(GW`kBa!^YbFeB-xI96W;QjQz)t8r{jaRm7?9UCQ;tXRn;v7CUf_okcLC@j=hP zOT4x(kKv7ZT^{3j&BVvCmOPmC1IEXu+E}HpKmI<)!JGbQjGdU07Uer^^sZwr<-@JJ z4{TeN7Q58W8s9SBjBIp*m+|H8c^O`n*Aj))Vr6+{)(nMMf8TTBvV-OFTinUYgqvQR zH1U-v-x}>d|HY-;{_NcMA0L_+z0b}nv--x*T03`&awhPmg~*thJm>6oX7phdcsE}6 zf@yZ_q)FXgDP?&}Wpfv*`4L8*As;O0Wjn=Mo#L&GW*ciRvxdyXryLePD#$lKy4lCL zK;czcsF633EjI2ew;0gkkddo0Q@CrPA|suzeC5!U0Y;|ETwyLF?qvz) zd)3Bz$(LB>MV@J7y=7}IYp(4#@-cERo@BJ{?Z{G$yp!BX{K)OY5{-PEY;L8@R?^j1 zRBK`{)w(T2HM5zE}j^!CylRs^|FZvD%}ckb@7F-_%dO93yIHq8OWi$LnXJlYHYd~e z_3oWJw>iwV*6MJzgVI3-tIfHc!41gK{2ZjOmVQ^;ui&pZG1|9$iB%4MzgTKnYPalt=+X9?HCxf=R+5yk_F4m2?iW>IAs{`wAam> z8xi%>MWclq=6%(bmGZSb$Y4?IEQ^9ve}Ft5sUFc+NVVnEaHaD_W?*T2z{N?5x$`fh zS+%8hb83FiH1l}gh}AmInz1&l4zI&nm~B7E7ua~?TfCOZ!penR=B8GChYyRjn+u%F z$EfD5KN{IS|aiHjj3bOTd{XRzP#rhu^ zxmC8_?5Z%^Z_LEnfW4bnLl;zOf+_1LJ9{fZ^h@0@pDzR;x|IUKd zzJ-jFpyrQ%Q#Jc^QO$hxn~FKZ$jX_xEn^9@8F>|X3Ab_EA|o$nG8fdF#U}rYP1bE- z8HNq)>=MPCs_jWLbNf`*lMP@!%{*Whh|!z1N9`_|HD{%H+)<;MWw6OmTjokE&CF6V zSyd>fh8KTz|L{2&s}`$gZh4bcjA8-4<|P?y6g$aAA%6zzDDs30b=5!G>^)G07GT-a zY)3zwzjUj^Y?Z9r%&f)?)tujxXPSE`yCMCtSrpTG7aWY$`-91N*KX>&6g8Y&BV$=iFm&S5$c9$&D{UXpAvufHD^^~Z=xG6 z192O($gG-XH@?kZGMT-z*;oJ+4i<-PGx_xZVS-5be7K3QA!4ot2yTA?0uuZ_BBtK zuy(hZx4dJP`2n-_Dpah=n%CCc<0ZwMpUzymY^|-qyaiZ(FpG^~d)WvxU$8JWe-uhV zf2~G;tv3Hr-^e>agr@^Fm=wzEUX`Q+z9LD$@LfqdBuQUMx{C%( z+TcFX0gpA zublL;Bz+_43UshXNZ(4jzYNl+5>EN(^?LYZ^e}gg)9GbcV+?v2v1~?R@P?HV4-Uls z;Uo!O8<-Jchml4|lAi=OjT9%ri33ZGFn6U&(nLubBfWlJu&iOBWMmVe2|5eFCGC0>4sgT?|e^ zt;J;dknT5FU`pvb>vtK-7-|{bGpsS}G+Z%U^QwSJaW$_{uQ0DMUddjoy}tF*jMa_3 zjD0Zeeb2bW_=j9ccE|(erSg7ETbr5UF**IbRJl?EN=23$Q|k3nb4qP5b*psU(mhM3 zl-^YOOzFRraHXR%Pg$beRWx%Iv%?&2PB0%Z-z$?|=46?hWy_RpUpBgIR@wa)*;32W z&obTek>#A_Ys;N-=5nLUeOT^dxxDgq%Ey-`@yyUa@ESgmFrh-QMp6q z)XLeF_f$Sy`9$TH(thCAl@8T=;red|Be|FeLW0Urjo4IC6WIdEa%N7c$#b5(0y ztxL7&YKhfmRC}k|@u2EKO@qRN`Ugb^O%9q7lp7oz93K2m@cY5*f?0J#^&!<)Ro_(o zgX*7DKVSW3^*bTvkRc&sL()QKgv<}w5VAkybjbA@ZEI|=amDH5bUWX09;)eGvti9w zYTj~1xmMOP)|y;vQSAn`H`Lxy`)KWxwa?XlP)AoMsLruEx9gU#8(;T$J-MEvUYmNo z>W!&4x!&S>AJ@BD@2C3u`c>=Kt>3=>kow8>U$1|(K5I~+fvdr+2H!PY?e60KrqP>? zy&AvS_@gFjljcn(Hgz|Bt?6IQ1~>b>d7b8cTU2eas>NR|+qHbRmAh59R%2VuZMC7* zg;oz**K6Ikb$aU)txvc9y!H9k7g}Fx{blQ`t*?g;37r}`J9J~{mM~jb<*?wehGFf( zdWQ`RiwsK)%L;olY)M#l*paYvVK>5l4SNvwuwA)!wc0gr*Q;G*yX1B=+AVK)m=8Jl zN0o!RSqHUh2Mv6Pmp1c{jDnf+`GGd}hs-+^_!#++f{wQQmrX3R07Fo^R>t<{%O)PG zl`$sturW&Uhis{8z^ z_14&}+NCuI4}CpCIWTE!(rWvzk=<7~eG6WYG2*PV{d~uCaP{PPOkm@aCl9m-@i%P0 znXLDjA|G0vIu6m}CZrCqTar}WDmJ~EYFVm|SJ+sVW!U-LX|l{R3tqOdy*o?~&JGVo z5y9<;``IlmRozZD*-%}vbXlItCb7;p*^u#y0duZN>?_upe|3}HXG03UmMu9MNs4Z& z%4V?ygXYe#1*`8XmSf2D78}N9r2&C4St|0q#m4ZrSmtDv&*Ed)ES@P_hAK@|3-_PO z25Ae@bnGLRZeZ_DwOv2A?!W=Z;ls;M-ty7HczQtx)1V1sqhltl+@5IXwYbgL`cQ5J z^YOK;PFHqjsl8Q8-C1miHWQVhrF|3&Ym6Jf^a`6Qnm&pBDl<2qZF~z~Y_^gA%BEsE zG1J7I{BL4w|wW!8(? zzGE#hC2Pj5U-RyE{y8Ygf5Lq1l|$0tgk5G)f=2tZ)chUa+QN<- zcN|-J_R830dl3#nMyJZDG?f&zf%VS1hOB zPtA`=(`DsvHn24_Y%E1)+r&!xJ(<5ypz;?q)yNmg7N=rao32dHpKh35i7k|w7wgOn zyt9!lmHCT|V=?-pkuQ{kc=KS^+{l;8SPbMD1*@?)veep&C0Wre$@h1wmU_x?g_-NC z){J(lHOEh}X7t1NcdT-tY6(;rY#c7-#^E*G?R7P36pj2d#W|P zCF{{i9joeQD25;v>6<9ly-g9{k)`F2$4c;Z(~j7oTbuZDTOc>_HlPviD|T!8W!57= zwX{=oQHp_`1Ihnp1vpV@t<+=xvK^eecGGs>og2sXf7@Z!h&cudyqG_v8rF~V|5+c zTRg2`mTA!BDUtTcysA8N)#e$SeJAB-4TWrD&8J(U8u}|1tp8GDR14ej64ACCIty3D z7to9xQSnu_+q7@Pn$4TnP8e$EyK(!;-vuUX4&he1ao?E!L+u}r>%FOsZ)jiO>A;K| zh`z5r*%s^G9w5$T-0P_52C4>s)sm+4E9za;owsGB!jk0o)JF?7U{Z3aX3aa3ps>#h zN_A32PLTMf)?lTQ-|tP;dbQhAz1&nGD}vqqz+)e?<`rAWtXHv`9;bM30pBectuTjd zJw8FPE{IXA>zN)n@{XCXg=}Qi2PxJYY+a@eCYq3&XPFrS>D6RAw{NlcT{vy-dn1(h z=FM5L?_B!WkL?$juW@Im`YY@C@_?Ehc^M&%#v7xUJb#e;AdHz=GbVOxvusx< zdn+hl>y4M8x#v%trg~onB8h3R>oixaiLWb`7D{);n$E^$+H#NX+MDgL?rqyl;X6%3 z;uGWI64vgwvz=gV^g}u?ccC>i*)4q+r)vAtbhGm91~viqrD&N=5H_W0a(%wG0b6V2 z(`CyrMOdKH)u$~`XCJdbZ7XSkI$LOgf{kJpTf^TTqk6xr-A9ilGOZG92-a=99b3b~ z*cu~$Mefe^J(%9eUz1@aSi^A{*(>sKL|OW(-f!j$HcMm^1=o6i{4onW;$XeBw~c&? z+>q~bv0VaV>ozu~V1@COY13ZI^i7RfuyUlM6R%^mCdM5`?XG3mf|Pp7M%eun*0xY5 zO@U520G%`iI_UuEq_tYC&6?I)wN4qXTGKix)&m{X+Uie{R^C@2mE#h{?E9n@CJY36z+dVGVH=~C+{n^|ZfYQuoqA)q!4s2w8I zcu#GN6UeM*p+F=Xh>RgbhCKt3Y=OvlLWK9z>N`c%Qx!HKLlIg4M#c;n8FNC^NG-FW z!c(}jp#n|4nK_3m+!QbD(P@*Qs+I%|w#ou4&GwKP_8 zv=p#RqRQ%~Jznk+QSOodS-D3Dr!I9Qoe5E$CFL-hfvw-ZSG#_3EYGNvAeh?&|3W^`}5PULkp`}Ei z>vu5AFtrI1Rzkupk63Z&GibdjY$^mvtzB1*=$X)gWgTq#G!++YF*;!<8B=f2rCH38A z8mwB+Wbvac8}o+o0*fBJR;pI2pE68kEd>Uk$c}vbT-CZA^`@xS&z>eq(U4)?-qB>; zu`OD$e!;(B-(!~0NXf0Vd-J9P2R4t5j2ts|@Zd3KhDGd!=Aq5^ zznZoxjWt7cV~((<`ErQTNIAzEkqI%3>G_0X#t?qZ)>(NRx2ahy>5t0e1d{xPzs?rg zrT;y)6I09tvo4 zh|0TYlVF6M2P3R?S6f641jRRxQWmgrG;2%)(LVsq(?IeMNE+N)Of=MU1E}XP(m{T~ z%nu529f%)8x~KosJ&(Jf{Adz~I$A9h5QhR{!jz&_VAK3L&>2P3%r@FDHE=5%=0sW} zvI&3Gs3~r5V5N8|7TPDxd+~dU^>mPGy~tAY7mZMtEKSwkVxvTIgI0yNu^qr7s@lRE zUmp3f>Ob(qbwoXtnKRnnx+Z)F_BYaYrD{gjlWI+5AI($l%|H9$p0BF@PknP3%PqNF zVy0+&^AID}z}d_xaNf##S5xcf&xugb#;M8-Wg6>>jyj75{?JVO1*5}KbtiNE!-XDj=qrCcJ(ezDswV^sh*?JqfGuTS)mJLn; zgZ$LQKj)EzXP|uT*2lMdVICF5gG`?kEP$9lTClUYo#^iW-P(ZHWy@#eMmwc&y5JopM%zpO$=bvEV4`BZOKsLOm`Pm1OyUe?5|=ut zEk$n>)~YRFeL>xJ%KAslNfqDvPbz-aqR09ZjQd^5$#P3LS$-;Xvi#N+tu3ziUprl@ zs5I2m&b)tIT>;<0mODk8roy;@l?}~O{;007FLpLmtPcw3C#Y+xvY3tHr7`0uH%qbp z_>XIR5W$w$5sje=lUZ-{lU7}Uk!a-32y~#Qq72qG71iAS$JN}&T5dUHr=<#qX$I_C zlTptPXxBdM6e#i~3g@u=zhy-`Tiyr+Jjkq~7OrXyi(2%e0$ircmV=>swIjGP?~=((Ut_0l$8fEq-Fy zhO_G$t0#~-hEdxETne~4Y*rfcKb4l2s#^DG$Mbz`@&7Vf zvjZm@t$SXYJALl-Ii>hUdBdbl6E`Gx$*i)`%}T9Wm#}i&;>4;eV@JQ=%a>QK8_es8 z)n0p6o|l0oqzkJ6SK<)+Y!j<6_(9w2cHXUEcsPW!c;|+75AEF`!{25oh$n1+nfY%) zQ*Jx1bJw>Y(QE>t{Y;b+;rb^OeJ_+dP(l z?#~p4M(ea-%nIIDtbbMGXKmHhZkV*!{p8FrbusIfM3c5(vQYEaS*ZG#tiP+9>GJ(- z)?XzqztTR28+~{M6LP_>RaZuAnEYDyk|ihRl%iH+WSNf%VDEPcnF2!QFCbI!zQT24 zq!FlK{jiL6O%$_PU~vsdY$?RS`tx%QD%R|FnryRfVO^P1wr2CLa*-+Z{Jm(%pYOgmGtndYP0WZVE! zIhqq=&21heMv-2wj|*-I)6~@`EH@St8EMyxAtg>(x21+MRQZ_IZlW?pj0Zi{!>nzn z%8Z+usY|iLq={MsnzN_+Aqx#vgSI%;cNFhouPUDH5lr1_v)=Ty><6^WdWWaHsaSvT z#M}{WMb4?pFcw~ur8!x+&?vOyfmPZfa)t|<{J_JJb2J8T&+j|Z?0o zu3Ftq!KMcE)Eh6sGR6s_Ir*%q)0$P|071wtn44<3Y=9oCT^Fs%R1+8VU-?0f9MVqv_k z%zr4DXM?GoFMtVf7waf2df6<*zz(rpHmr6#@(`IXDu~7UIe+|ICEjD8*ZrEMYAKq* z#)g}CaCal?!!!AAQ>(E?KHQYM$;hL%PuUQD?RS%fFGXMGr0IUgz89@2dthUOObud; zEFRXQ&qRn1G=00x$P-}YJ8OE}de0UK>iru_9*f*vL%GyK{gkE}MMi(^1Wh;QsgGtG z!m5d$UMGx;pVmVFmcUc61ZuO{7@9?_6SIg-g|mpAU6o6o-iIS$E$g-lI|u%#tFVQF z{C`zfdvsGgI|zz|aJ(ot73Gdcxerh-8~P`MDifHE!i0ekTcMzcN!eYLdFm*o5TR_5 z@eDF%BjXv7F?<_l{(CU<&kj>OzKiN+@WoKzn>(l-#actu$>X)7F14eW zR-wXNf5H3lT3silfI{t+q4Z)|V9R@csx@z^cJz_?26@E9Js@5Qz|!PAa^}6S)vW_3 zF!oSk{xRqrYk8UtLa6V2;qMZ2k!-D7C9MFr?_Xw@FjikW&wj;N{j1Ek@&F#pqs6Ef z#T;B^8|~KA7ug_NQ2WE!ym$9(&RzQl{22C7?9Rl_m4>X>2frS~#*%s%+i4rnC>DaT zJ)WJaTKHs|f+lg8*L*Q%ZW=CP0-nDL}DLdfmn;tWz5K0Tz4w0H@&x zSPVbFX5j~5It>=F>v7&`%Y}O5p#`O%RoFhPc7#*mT~A@hP}sXgg=w|e$X?1k z&*<{$GzCKorbdg|R0!Ii@Cr^83XWqm`_nU;@kiUxtbZ=f*F9YwwrA2v^=YPXqwpcL zA8VAS<|NcS3N_yr%~<~@drh@|CyI?y|9|-zo%wG;bN+vGq}0}auAvmQZ5wm_x8100 z8XVu#{BNj{xbwYAG= z8R=QGZ1s4>y_d1+lUcW^D^+WX@Q+(3|F=Bk)|3gDmDb?rF@?Ym{A;vu@;C#%m$Jyg ztXl+&gvh2)Cr|z_baDzh`M#5uV}-tYVN~(B>)8#>N3fmn8g9BjL)~=)sHDSlm;=vY z`s*-%eWbw}HU<-A`1rlCK{As^zXU)3x<5}r2i*7Q06yQ-uIy>*3>5>D*vL5qg~X$f zAt>Z3uguTctXHb58Ou}evQX^Y2<4${B~+H!zOh1iMY-$QzHvir-@rr%8#uni299QM zAODOUm)H-}>gin^X$tEBC$w?sGZ9{P9&w%b|p|D5XyBbPQ zG3}uL^Xz^|a9+yAErM6J8k_u3`m-d}g zB$=upMa>MQCJMTTg6^-#pJB7!^Q@rmV+BPks@tC5_r!_{B}`Q|V8&k=mL=g@nN-3v zyYD%k*-3?-S#W9@?K>Ot(9&x%mReYNP4xVlBo_-2Vj(A(=*wtLWF+MUVmG8 zclJAT=hpL(L%G1fF0}g_#T8D>>T3xvF))$Gvjp8Qy9SMaZLVx9)F?T?Fv4papx+u#htX zy@9!`QSLw>_$B(~0k8XqS0A+Ykl0f$YHD_o`JxvRv8&uVRVvX32c_q9!c^%|FJz6( z9~-PV6)jdQYleXp)9R=!4+FeblQzAqNc)(%yl4H9hZ7o;u=QnxjC~PzSUG;jh%mI> zB(V|Z6*+|8#2F24WZxV4Fqs?q_fUl)>?ZlVf5g+5kCWskwyy|`?+SMPh=tIsO^ z>SLwnJYM?M!qT;iuy+<(J5dQr%!((6?bH5zY@H}^q9muJKmTf>KVR#;rH-J-Ua`V2 zqQ_rY=Rew|vtG*rsrss5#+u5?{3$h*)t=R!XA@5iEz70$6?Tf6ieLT|rz-9ODfg>N zZDA`_wX8?zA{p*D2;GdobN}Z&+x?&6asRUl`BUmBkC24Tsd^aDAS8F?PidqU?JZ(& zXcvKhJRE>&o(%)6pVqmCk}M{4p6y54f&6%=(|C0Y3-u(?rfUy+Q4*()&1b#cDtkq{ z7@>$Hh#AJZy1_bHXP9mMGFiQAzg}bwb?@WMMhF{aU|Y10Y+PwIC_KW!EKcLLty`Av z^3Bv ziHe!feTLn_s!vfFQm;^GKT{6&GhLmnYOM-PwrWaj?9@TseY)_Lr)0~r9$1b9@qkGx zYXE(CX*!n78+NY8mG?C@?+_6C`q>!;BC9jl zaF)x4>(*g4H3}OVH3>)OVwpF_!wBpHis0qZak2RG=Aj(t?%>BO&s(uroYEU^>pJ4I zpRgTu*Qt{y_jIb+K&d&hOIN#vZ(UCN>%c9O4J@P*o17nkA%Ms9-p$)Ed9~5fd=|{d zH=tc>r+I5$EF)cATuJ)|XPVZ?tio5u>mMHb_`wLpdKM=`Oh564Jh*8@^=5V~H!B-Y ze7tS-PT!p?Cyq;;oH#t*!T0cJqor{Mi(o%sx2c=Cy)|!^in0DI`vOg=!>U|oHPI4% zhvNb3?AUcvk6~JOmbnYEd1to3#A|cQ#z5mQ@`()-rAaSuby`6ieo@EFE?Hz%HPUj?C+O=Iv6x>vOo}GQ0H-cBLM^IzqYc zcNMtTsME7U4?B+0RWpi_6lJ5I12=QvY84 zRv+$X=crxOJy_H|Wft3tlTVGbW+0b|rKRJ5N&@;lk(Is9nl{!Nb2Q_20k&*4F|zN( zUZonsU0#EAH}dW#ODIss5faxC)=l>r>x6SfsRs5T@NUnl-eQeFo9bNof|u$$G9zV_ z{q66K>^kdKFk4P5keGkCan0t9OZNEYY@RR@7{-hp-=}wbGK zjE@~^x738$?=2RgTcw>Bdw1u`?3lLP$l4X02a{evyEAd9#*f+1_6FYbSPB-8(JYun z<2wa?caMFJ{g9nl`RmN$Qf~G=*lxYuns;Pv&VgKL7ZW#K1v<^R3I7e0Ryl)@B-*X_ zTE`FU-w3({x~zO7)(IK3Fs~8g*6(mB+3Poc@WJ}{*ak}UxbY*9map)NNX*W5Dcd(~ z$jR9>E~bGJmpD4YE~wSYk{*<$qXBf3~V2$mB1`u&&lYKGI7@j9I_wj*J(4? z`QnJJttM|SC{yK5BW6B%WX+BpcK1tBLqdJ~4_cBv)DeuWK?BZRi+|v|T??=c9lK?( zOWC(!+rE99VupfT;{>@1n$KFURvHgmadY0{WrdYu{)SDwMRPSyE!g9Q_&9a$pCg;A z%y$+`#~GpYBlKS}QM+DgmddyAblamZl);89SJ{vyVhgoq(H++;2KFXvZ2RrTje9QT zUZWdtbJqA4V9QN zjMe<=?DE|w?ABafOMAhVwl-_Usu9YjCCk^WUOZ`h17+Nl@zH5wX2)}EQ4>~daVab2 zEnmIFo)==AHZkR;R9{O$g;}hlwm5C3dY_HAVKbyGpJO+S%*p3+r^$Nuy@LJ8pj!nn z++x;orn*mCoUB@JWc}IG#^%D;5RSxLmc#iCEFoKN%5a*pEeDf zC?^*90t4P+8f^PFSV!-_y*pkF!oWL$bIN#ScyeO13SeIwNm-~CanasiDFr3 znrr~m58hqk3EE=;d|L<(eOSkxP~utUvN?As50Sy^3J)CnG1T$H#`$hV=* z)rQNomvu|EuMJwnvXR(C!)F>_GS%WU5w68Y7#o-@lwyHM(K}Y*Wn0=X?94R2W8(PY zbz9>6c`J^~Xep4WEOx@cLPc4H`90AKM0CqocrXsKB-R}wdk4oIlWdqbcjtF-E;O8_ zu+F*-S}dYdY+5YqTo4PRaD*p1{|ZItUtyj9ydqlyU?(o6driAzc#Su-X?Iwu0#Qa& zUh$9my21H+!(d(!heBkn#|pJDHV&~`El+fTi2j)p-)5~0w?%BLKkD;Vn6F@GPNIR` zk;2F3%0v`h_CDRdLpj3lb7NOkMrSia9!Ylg42$CtiQ;pLq^s+4+K_N zoDYk`CLe|O&a>C!K1OC~{9yxb@!^&Td^NUP-ojcn!f=pRvS9#s@G#8X!kDALOU4~c z6eFNo#I5}E1ztF49afOT!(_|5Ds!=c2CW-v+QiBlxwIsG^~r^AZd&ehapdlnOYL7S z-L?DT@|l|!`kY+4nn_FSV@0a?$*m)J>5MmrO!jFrD7~fq75>5;`OBR2Hjc?Nhh+Hh z(w8Gx{A9Z*-XF#1h<3y;zWgC8y=dnC#Xeu;EdA0xhrRHM+;Y&;FC2^C+`q_&m2UkZ zk6&yb%gY*>G-+v4*Qqndruwwq75Qbly=D5y$hN6(j-Be$H9d(-lQ3s|jW^oKT7TV= zHN^n~cLl+ogo~@>j6)A(Tx77c|9D zo>w3RwRt_*CaMf<-+gr2s*NjVFM4ySV=qp)^jV+T!MG=B_}1>eylf3#jt4ochk1qE zCcl4*8N)8S^?Lu6`=Y<`#c_7?cbHX2Vl#3$f0HlZJ^27Wlh0(`Fyt*nrqNmj+xX<= z+xKtS`N8^CsWC&wMGbdYScQz8c))-OgEUUI?$jOG&C0UMT9w@ftv-gG;do#`3pNnL z&OlxtR*vELYlx}!Kuq@rviiIk8*bm}#XEBqjSok%a5(!yAWNNbq&k>~BUv~mEFrv$ zeJ-nPyLEWqvCR(uPmKvv($YrxMvmK(gVAXHwmn;yr6(-3|9;Z=>6m^y+`in>s2*)x zy#Mdf#8DoH4SVo+%lFP7#6ux&wcl6G&fCb$ z#(UZRm2KLxY^s=uBu>m2Q;61_TbDq63*l9h+3sVnhxNaJR|^&hyqJEi`~}yGbMy6B zW#j%8>vtR-q3oQtK4qnSZQ}679ejCDfom7rrH@SOmrY9suF2_{@zCPmv4W+a=WRXo z=~CUiWfxBzJaK%P0al&@TVC#0w=ovnZhfVOvsH7K{dJS;a*LnsOT8L&I(Gv%Zk##) z&9|S0H^PlZ9osduH~ZXn;_w1FyT9?AJmREr<-CPU*8A)pyQ06no_wOAZR=XoqIa-) zefldI4$BO!(zVv?IF97kX?<eSUxK9Ts>GHjFk|EEl8l9of1fi`6o{D`I%9 zd(*{EWo(K(WBdBZ&eJFQt!%N#F?P=Mx8L=7=bg6~t=}>|6|=EfSqIM=k#2qL@P$2m z8xI}Yv-78E=cYO~zx?j2(|xADG-J}}=y_|#*!y-e#_c#Z>4YyZd4U~o@U8dHcUgIX z00uFtoz;@xRZuMs6HHflDnD+!%M!o;mTznDJ(TZu_KD`l>!fW=V@=Y$-_~kFre}iJ zKe4fjavZD1q#&bpz!@xG1NX4NJssgSvNqvT&=ywB$ScZQcr`BFMT(9vX#|eofg{c! zfEWuu01v;8)%p$VAQlbRx%?tq$tuOFtkNRfU6-zGXAcalMkQ87o`in4c~09`$ym%P zitR*Ikh036$-LrX;rv@9j@>hyzPF^;VDIy4soEw;YcrPIJI#9^i~Qub>c0j3c!~`H z)nAv`$r`rbWNYWppG~aZ{Cl}#32p6oguUQ8%$skvUo+*rcqDC4{7=kP#o8;h%gbYaVC|a4EC0}!g~!<&n>x>HzoyNBAYQYIb(D0YCzE2C z;l)xtwU=$PP1fkFWlP@AdBfh!gq!`}&6vO3$2#)}mP#MkUNfam${6~Z{i^BE^aWX| zK9;aqtnCdJe4mZb-NhntT_x>n)|O}Az+v@ZK4PW3X6~|u3+)RREPH2_@Al2<32Pk~ zlbRS0^=-B_(6?U4a z`}hNm6DG!{4EMF}85*~I3!aZr`7U=Zk{2`Q-Tzm~nLtHxrF*=a=2msOOzTi7HFUa~ z3{exnxZoC762%zBUE+p{Xk37xh(Zeubb}zMDA3SAi_(Y-;u7P&KQ;PHUKUXkLnJyb znP=jAv>UJ%+@ArNG|BrR%_tfs)dc<^M->Q{c zEynHZk>}|`yBx&udMP7_ZlE~{NK4jAG-jcyT(RQA7?`noQaJRj-}#rJ9gjJPXR-?m z=JACu5mv=99h=Jn=v>u!M&~fB>w^381$Vlazk?ZBEscSpoA7qLu|RF`$&Y_PFxJ-x)n)7Y;N`j4mQgBrZyIEzcXFVRn> zFs|k+0!Lo#V5eDZ%wQlCXtA`!zw{i7eaK}GBP@``-pnymE&e)ljM6<4?FgVjR!`i$ zoG}#cxK_KFwq`>7!q#&51?wGCQ2dk!1k z+Vb+2PLJ~Jj+I9;6V7VN$w!F~P2#<8>F3hwMdg+8mMPWqs$o{#x~05v%YikHqw>X^ zV>woAYF)i11w-)_T6^#8XCIw??>^GL*H|;{@Cp4L`u~5_q=ZNZcDc8CEJ;w&4dajH z?_OCi?^wRDdV=Zgg?TwkEcJs(<<9NpO{RmjS<5U%d}&T%*$Pwi+{8)f`NYF;Vu?z3 z)>Wd{?y+keb{R$uQdVwdZG>SKcJ;>;MdW}kyY^QtruTCo{Yd}?ZHl^Kb{quX{g z?rK;*Uq(14OT|du>^kQ$9D6()4XGGdWyb#6n_z#~N;Z1C#$hgO0YU|P-Q2rV_PuYxp zKx-s1T2pNBAd(2D=ao>cOF5*2BW&Rf^+G8HrgNCAj7z)7{qIlMWy@afi88gP0{qI8k zkQcNd#<7=`o7ziCxlZ}yvP2j2thtpow-PM*%2^BmQRu4L2Ian@M?A!{G3$tUU;~XL>LA>_fkm=08weZD z(=i*?u}DH=xOMoDj!_j3ulf$MS9zmvy84fvG8%n)qi?p+*KB-@EA@hnMzW6S^a}0Y zN+WFJg>p&DLZMcscWh^wq$2x zW9lyFp5n0U@K?9RS#~STVJ-hQMHwnAPy*rfj@SWwh)Yvjt zXJ@ar;67i#J8K9X$T_pgVrYCtt)|l@P7Da_lpX)p``Padv+<(Vu3^bE3ZHe-xQCv+ z$%!OT<7QEu7}!Z;yBRkWE9{+Y9Btevx%uMKilQ=;tF&x0m|eU`G}_Iem#whdk=8-8 zHF+f^g%%vZ-uIfcHhXPOVQy_w*W7~K2C|N`6*%&8Oqsdv`mN5*?kY>ZyP(1yTUt5Zm3el5Sc5zA~)=Y4B9Q6Hj7&E1BDkPywvoE=yQ4ACsb|8~uU6H+-EL}|7s zkv&dcZ8~QSF9wXUuh>J9@_DK~fqqslLDyaTNjc|Imn!!YCzl;Z@;UoHoB;b$EL}&o zUJTG`DqW=&Rl%-8XTB^3Xzcj~`F4w_A7giv=9TBj?x|A7L6VoZCMPG@R_>^9mOHCU zWwDbc5Ot7FQrV_WrKM{(7Fg^Y)@d_&F-j9MGfS#0b5=MDDjW`+g}k!-N((&P-g%h! z>giP-)hjKp_}^A3Il3yP1@&Cz23?^=6#1HtMk_ZanAOIgscmga%K)?6uwQ8j!;A8c zcgbzEz()=sRl_DKo?6r<~ethC5%SdyrdB4{hffwbSpE{wc=1qsN{e%*Z-g(nes`pwK8FnbsFgnCj(VOY>B5Cv52KHm~)UDx!Zaeo?3BXfLld*5J)nE63Ug zYS~!#;3vaWbDJVci&XJ=9R{Z_R1wGPNQ8fn`VHL$-_<3GBCeT>U)tsJeUFS1~{k|!NV5P5-gBO?I$i6=|R3X(+%$wpF3-X~|szmqHE z2JvzMTu06f!sSrzb#5FtiJQhHfO5HvOXG650M#10KUhfBruH8wtu+4A$6wluiE;4`#}ivyKfc`3GVbz_A>$?vmp|`(xM|O! zLrqBu3CT$d79{UEEF0m2dGr(m45*!zskN)*8EfKm7ufV-TGT(YH9zTs-FdDEl0Q%C zj>N6=UHbZl>fL*S)n3SOSgJj-h`XZbGrrPLGg{44N~M47*ORJC<1fkuRT6;+>nW0m z=D!gw9Qa$&LUX%lL1;JqTmMbpl;E_ih`7FzXJtxy2N7njgsBB6| za{PLn_61xSOwplis%Bpjx)4#AjeP_tBK-&wc}{rJiQ7+reP}cr{$Nx(CK3&w^;7IvgUqQ|Qf*QYup2=`!2>IGn6Bu-)Ep;`UVRXbf&0{bAp}qbCfJ1;76L z6*}1I$7lvAfPy9%teq(^4Azr?M83-*L|4A}dlC5K83@`-d@)D^Q70*5PELT+I=U~= zh(rF&c-j?@RJ1{$BYAsTT0y#LvDJOpg4}2jj1NJW6K62VwJ17$fXuIo2eoOhMk{*F?*C-bIh9_r%1I1#cvZ)ihz*<%CjF8efG*5U50{a+uIK@sm~CC;O`cK@x=dfpSE-! zYfwR!#|2mekuh8#aI>*R0pDlS%-PAW>jl3KJV@BL%q-MNv?q-x_f^zz{FB8jVG?9Q z4xl9U-%Ur%{pj!P0fH7PQ-n@=I)O&-qtOEMcyjRd?ARiM7b-ouxS^jtd+xvF25>85 z@6xb8(Ro59{1YHXO%nh^5UrEV;_*!Y5Tn81KDfMZvq3mfo!G!ggRuJ(r@Z<$VVw(r zYqg|f<}s1Z5{8kohtM=5 z3Sa+2rs3aWnzyKigm8jqomsg34Jekvp-cnLQ;I-i!e~yI->dztFb(y}kNGy(5F2I#iskz1=IPnD*CJD@mLb3%VEQ?ksH@7`<0`x$b3~dA( z%|OG1Ye>g$;I0AjBKVE%0|c6a{RCyBgCZvo`nG_{W>gz_6A0;%KuD*^0w}yjDa9Gx-y1D literal 0 HcmV?d00001 diff --git a/proxy/web/bceda3fae660177ae570735feec62811.otf b/proxy/web/bceda3fae660177ae570735feec62811.otf new file mode 100644 index 0000000000000000000000000000000000000000..6ec2c240651d838b25eb88af66dd2c55d12e551c GIT binary patch literal 125704 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 literal 0 HcmV?d00001 diff --git a/proxy/web/cb0da8a8999c06735455bf5056a5cd78.png b/proxy/web/cb0da8a8999c06735455bf5056a5cd78.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8b4cca4f427eb5c6aa310565aa72aea3140093 GIT binary patch literal 23869 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�IQVI5oGjhDm;oh=<3adPECj!TO|P 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

t=Wz7{h&FVLsL04mD6$2yjrZOoMz=l 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 { + margin-bottom: 25px +} + +.modal-body .warning-content>p.warning { + font-weight: 700 +} + +.modal-body .warning-content ul.warning-list { + list-style-type: disc; + margin-left: 15px +} + +.modal-body .warning-content ul.warning-list>li { + color: #666 +} + +.modal-body .checkbox-content .checkbox { + padding-top: 25px +} + +.modal-body .warning-separator { + padding-top: 30px +} + +.modal-footer .btn-close { + color: #666 +} + +.modal-footer .btn-close:focus, +.modal-footer .btn-close:hover { + color: #000 +} + +.modal-center, +.modal-footer .col-xs-6 { + text-align: center +} + +.modal-center { + padding: 0 !important +} + +.modal-center .modal-dialog { + display: inline-block; + text-align: left; + vertical-align: middle +} + +.modal-center .modal-dialog.modal-lg { + width: 90% +} + +.modal-center:before { + content: ""; + display: inline-block; + height: 100%; + vertical-align: middle; + margin-right: -2px +} + +.modal-verification p { + padding-top: 25px +} + +.modal-error .modal-header { + background-color: #c00; + color: #fff +} + +.modal-error .modal-header .error-item { + margin: 5px 0 0 +} + +.modal-caution .modal-header { + background-color: #ffb641; + color: #fff +} + +.modal-caution .modal-header .error-item { + margin: 5px 0 0 +} + +.modal-fullscreen { + background: transparent +} + +.modal-fullscreen .modal-content { + background: transparent; + border: 0; + box-shadow: none +} + +.modal-fullscreen .modal-dialog { + margin: 0 auto; + width: 100% +} + +.modal-backdrop { + position: relative !important +} + +.modal-backdrop.modal-backdrop-fullscreen { + background: #fff +} + +.modal-backdrop.modal-backdrop-fullscreen.in { + opacity: .97; + filter: alpha(opacity=97) +} + +.modal-no-borders .modal-header { + border-bottom: none +} + +.modal-no-borders .modal-footer { + border-top: none +} + +@media(max-width:767px) { + .scan-modal .modal-dialog { + width: 90% + } +} + +@media(min-width:768px) { + .modal-fullscreen .modal-dialog { + width: 750px + } +} + +@media(min-width:992px) { + .modal-fullscreen .modal-dialog { + width: 970px + } +} + +@media(min-width:1200px) { + .modal-fullscreen .modal-dialog { + width: 1170px + } +} + +.error-boundary>p { + color: #c00 +} + +.tds-icon { + height: 36px; + width: 36px; + color: #333 +} + +.tds-icon-inline { + width: 1.75em; + height: 1.75em; + vertical-align: -.5em; + color: #333 +} + +.header { + padding-top: 25px; + padding-bottom: 25px; + position: relative +} + +.header .title { + font-weight: 300 +} + +.header p { + line-height: 20px +} + +.header p.wizard-progress { + float: right; + color: #ccc !important; + font-size: 13px +} + +.header.header-default { + background-color: #35454c; + color: #fff +} + +.header.header-default p { + color: #f7f7f7 +} + +.header.header-default a { + color: #fff !important; + text-decoration: underline +} + +.header.header-subview { + background-color: #f7f7f7; + color: #000; + border-bottom: 1px solid #ccc +} + +.header.header-subview a { + color: #000 !important; + text-decoration: underline +} + +.header.header-blank { + background-color: #fff +} + +.header.error { + background-color: #c00; + color: #fff +} + +ul.detailed-errors { + margin: 0 +} + +ul.detailed-errors>li { + padding-bottom: 10px +} + +.banner-container { + letter-spacing: .3px; + top: 0; + left: 0; + right: 0; + background-color: #f3a83d; + flex-direction: column; + margin: 0 auto; + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + z-index: 10 +} + +.banner-container .banner-close { + top: 5px; + right: 5px +} + +.footer { + position: fixed; + background-color: hsla(0, 0%, 96.9%, .95); + height: 60px; + bottom: 0; + width: 100%; + z-index: 400; + transform: translateZ(0) +} + +.footer.footer-default, +.footer.footer-subview { + border-top: 1px solid #ccc +} + +.footer.footer-subview { + background-color: #fff +} + +.footer a { + display: block; + line-height: 60px; + font-weight: 600; + font-size: 13px; + color: #666; + white-space: nowrap; + cursor: pointer; + transition: color .15s ease-in-out +} + +.footer a svg { + transition: stroke .15s ease-in-out +} + +.footer a:focus, +.footer a:hover { + text-decoration: none +} + +.footer a.btn-text:focus, +.footer a.btn-text:hover { + cursor: default; + color: #666 +} + +.footer a.cancel-link.btn-text { + text-align: center +} + +.footer a.back-link { + float: left +} + +.footer a.back-link svg { + stroke: #666; + margin-right: 7px +} + +.footer a.back-link:focus, +.footer a.back-link:hover { + color: #000 +} + +.footer a.back-link:focus svg, +.footer a.back-link:hover svg { + stroke: #000 +} + +.footer a.cancel-link { + margin: 0 auto; + text-align: center +} + +.footer a.forward-link { + float: right +} + +.footer a.forward-link svg { + stroke: #666; + margin-left: 7px +} + +.footer a.forward-link.disabled svg { + stroke: #ccc +} + +.footer a.forward-link.btn-action { + line-height: 36px; + padding: 2px 12px; + margin-top: 10px +} + +.footer a.forward-link.btn-action svg { + stroke: #fff +} + +.footer .back-section .tooltip { + left: auto !important +} + +.toast { + width: 85%; + overflow: hidden; + font-size: 14px; + background-color: #fff; + background-clip: initial; + box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .25); + border-radius: 3px; + transition: all .1s ease-out; + margin: 0 auto +} + +.toast:hover { + box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .5) +} + +.toast:not(:last-child) { + margin-bottom: 10px +} + +@media(min-width:768px) { + .toast { + width: 360px + } +} + +.toast .toast-link { + width: 100%; + font-size: 14px; + margin-bottom: 0 +} + +.toast .toast-link-indicator { + max-height: 14px; + margin: auto 0 +} + +.toast .toast-title { + margin-right: auto +} + +.toast .toast-header { + display: flex; + align-items: center; + color: #fff +} + +.toast .toast-warning-header { + background-color: #c53929 +} + +.toast .toast-standard-header { + background-color: #35454c +} + +.toast .toast-standard-header .toast-close { + color: #fff; + opacity: .4; + text-shadow: 0 1px 0 #333 +} + +.toast .toast-standard-header .toast-close:hover { + opacity: 1 +} + +.toast .toast-body { + display: flex; + justify-content: space-between +} + +.toast-list { + position: fixed; + z-index: 20; + top: 10px; + right: 0; + left: 0; + display: flex; + justify-content: center; + flex-direction: column +} + +@media(min-width:768px) { + .toast-list { + left: auto; + right: 25px + } +} + +@font-face { + font-family: Gotham; + src: url(/124f233cfa9945f861dcaca7acedd308.otf); + font-weight: 100; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/2bf15a1686c7a1bf7b577337a07d7049.otf); + font-weight: 100; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/86a6894da889a3db781418529403290f.otf); + font-weight: 200; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/a3b0d611359e6fa8356cd88aa9035268.otf); + font-weight: 200; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/bceda3fae660177ae570735feec62811.otf); + font-weight: 300; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/d859fee2eba0e67c75c4c92e719d0630.otf); + font-weight: 300; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/eca1317ee8a99162d0d0e2df77330cec.otf); + font-weight: 400; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/befdfda70624c396169873b05de57f8a.otf); + font-weight: 400; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/e19c20e966bde501f94e41cd0322dbe8.otf); + font-weight: 600; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/653969a51632a4df33358a39d7012f79.otf); + font-weight: 600; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/722c5f898bbca8b2eb3fce0287688326.otf); + font-weight: 700; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/ec89c09b066f57efc7687540c998845b.otf); + font-weight: 700; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/89aec2cc0b804667e95b1adc02e1ac4a.otf); + font-weight: 800; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/ec6b35b07448e1624cb09323b5fb6e32.otf); + font-weight: 800; + font-style: italic +} + +@font-face { + font-family: Gotham; + src: url(/b8d72cb0ef934ba1fe847c692d9dfed1.otf); + font-weight: 900; + font-style: normal +} + +@font-face { + font-family: Gotham; + src: url(/ac2944015a17576924af7c56d88751cb.otf); + font-weight: 900; + font-style: italic +} + +.text-extra-large { + font-size: 32px +} + +.text-larger { + font-size: 22px +} + +.text-large { + font-size: 19px +} + +.text-medium { + font-size: 16px +} + +.text-small { + font-size: 12px +} + +.text-break { + overflow-wrap: break-word; + -webkit-hyphens: auto; + hyphens: auto +} + +.flex { + display: flex !important +} + +.m-1 { + margin: 5px !important +} + +.mx-1 { + margin-left: 5px !important; + margin-right: 5px !important +} + +.my-1 { + margin-bottom: 5px !important +} + +.mt-1, +.my-1 { + margin-top: 5px !important +} + +.mb-1 { + margin-bottom: 5px !important +} + +.ml-1 { + margin-left: 5px !important +} + +.mr-1 { + margin-right: 5px !important +} + +.p-1 { + padding: 5px !important +} + +.px-1 { + padding-left: 5px !important; + padding-right: 5px !important +} + +.py-1 { + padding-bottom: 5px !important +} + +.pt-1, +.py-1 { + padding-top: 5px !important +} + +.pb-1 { + padding-bottom: 5px !important +} + +.pl-1 { + padding-left: 5px !important +} + +.pr-1 { + padding-right: 5px !important +} + +.m-2 { + margin: 10px !important +} + +.mx-2 { + margin-left: 10px !important; + margin-right: 10px !important +} + +.my-2 { + margin-bottom: 10px !important +} + +.mt-2, +.my-2 { + margin-top: 10px !important +} + +.mb-2 { + margin-bottom: 10px !important +} + +.ml-2 { + margin-left: 10px !important +} + +.mr-2 { + margin-right: 10px !important +} + +.p-2 { + padding: 10px !important +} + +.px-2 { + padding-left: 10px !important; + padding-right: 10px !important +} + +.py-2 { + padding-bottom: 10px !important +} + +.pt-2, +.py-2 { + padding-top: 10px !important +} + +.pb-2 { + padding-bottom: 10px !important +} + +.pl-2 { + padding-left: 10px !important +} + +.pr-2 { + padding-right: 10px !important +} + +.m-3 { + margin: 15px !important +} + +.mx-3 { + margin-left: 15px !important; + margin-right: 15px !important +} + +.my-3 { + margin-bottom: 15px !important +} + +.mt-3, +.my-3 { + margin-top: 15px !important +} + +.mb-3 { + margin-bottom: 15px !important +} + +.ml-3 { + margin-left: 15px !important +} + +.mr-3 { + margin-right: 15px !important +} + +.p-3 { + padding: 15px !important +} + +.px-3 { + padding-left: 15px !important; + padding-right: 15px !important +} + +.py-3 { + padding-bottom: 15px !important +} + +.pt-3, +.py-3 { + padding-top: 15px !important +} + +.pb-3 { + padding-bottom: 15px !important +} + +.pl-3 { + padding-left: 15px !important +} + +.pr-3 { + padding-right: 15px !important +} + +.m-4 { + margin: 20px !important +} + +.mx-4 { + margin-left: 20px !important; + margin-right: 20px !important +} + +.my-4 { + margin-bottom: 20px !important +} + +.mt-4, +.my-4 { + margin-top: 20px !important +} + +.mb-4 { + margin-bottom: 20px !important +} + +.ml-4 { + margin-left: 20px !important +} + +.mr-4 { + margin-right: 20px !important +} + +.p-4 { + padding: 20px !important +} + +.px-4 { + padding-left: 20px !important; + padding-right: 20px !important +} + +.py-4 { + padding-bottom: 20px !important +} + +.pt-4, +.py-4 { + padding-top: 20px !important +} + +.pb-4 { + padding-bottom: 20px !important +} + +.pl-4 { + padding-left: 20px !important +} + +.pr-4 { + padding-right: 20px !important +} + +.m-5 { + margin: 25px !important +} + +.mx-5 { + margin-left: 25px !important; + margin-right: 25px !important +} + +.my-5 { + margin-bottom: 25px !important +} + +.mt-5, +.my-5 { + margin-top: 25px !important +} + +.mb-5 { + margin-bottom: 25px !important +} + +.ml-5 { + margin-left: 25px !important +} + +.mr-5 { + margin-right: 25px !important +} + +.p-5 { + padding: 25px !important +} + +.px-5 { + padding-left: 25px !important; + padding-right: 25px !important +} + +.py-5 { + padding-bottom: 25px !important +} + +.pt-5, +.py-5 { + padding-top: 25px !important +} + +.pb-5 { + padding-bottom: 25px !important +} + +.pl-5 { + padding-left: 25px !important +} + +.pr-5 { + padding-right: 25px !important +} + +.absolute { + position: absolute !important +} + +.relative { + position: relative !important +} + +@keyframes fade-out { + 0% { + opacity: 1 + } + to { + opacity: 0 + } +} + +@keyframes slide-in-top { + 0% { + transform: translateY(-150%) + } + to { + transform: translateY(0) + } +} + +@keyframes slide-out-top { + 0% { + transform: translateY(0) + } + to { + transform: translateY(-150%) + } +} + +.fade-in { + animation: fade-in .3s ease-in-out 1 normal forwards +} + +.fade-out { + animation: fade-out .3s ease-in-out 1 normal forwards +} + +.slide-in-top { + animation: slide-in-top .2s ease-in-out 1 normal forwards +} + +.slide-out-top { + animation: slide-out-top .2s ease-in-out 1 normal forwards +} + +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * bootstrap-sass (https://github.com/twbs/bootstrap-sass) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block +} + +audio, +canvas, +progress, +video { + vertical-align: initial +} + +a:active, +a:hover { + outline: 0 +} + +b, +strong { + font-weight: 700 +} + +mark { + background: #ff0 +} + +img { + border: 0 +} + +pre { + overflow: auto +} + +button, +input, +optgroup, +select, +textarea { + color: inherit +} + +button { + overflow: visible +} + +button, +html input[type=button], +input[type=reset], +input[type=submit] { + -webkit-appearance: button; + cursor: pointer +} + +button[disabled], +html input[disabled] { + cursor: default +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0 +} + +input { + line-height: normal +} + +input[type=checkbox], +input[type=radio] { + box-sizing: border-box; + padding: 0 +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + height: auto +} + +input[type=search] { + -webkit-appearance: textfield; + box-sizing: initial +} + +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +table { + border-collapse: collapse; + border-spacing: 0 +} + +td, +th { + padding: 0 +} + +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ + +@media print { + *, + :after, + :before { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important + } + a, + a:visited { + text-decoration: underline + } + a[href]:after { + content: " (" attr(href) ")" + } + abbr[title]:after { + content: " (" attr(title) ")" + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: "" + } + blockquote, + pre { + border: 1px solid #999; + page-break-inside: avoid + } + thead { + display: table-header-group + } + img, + tr { + page-break-inside: avoid + } + img { + max-width: 100% !important + } + h2, + h3, + p { + orphans: 3; + widows: 3 + } + h2, + h3 { + page-break-after: avoid + } + .navbar { + display: none + } + .btn>.caret, + .dropup>.btn>.caret { + border-top-color: #000 !important + } + .label { + border: 1px solid #000 + } + .table { + border-collapse: collapse !important + } + .table td, + .table th { + background-color: #fff !important + } + .table-bordered td, + .table-bordered th { + border: 1px solid #ddd !important + } +} + +@font-face { + font-family: Glyphicons Halflings; + src: url(/f4769f9bdb7466be65088239c12046d1.eot); + src: url(/f4769f9bdb7466be65088239c12046d1.eot?#iefix) format("embedded-opentype"), url(/448c34a56d699c29117adc64c43affeb.woff2) format("woff2"), url(/fa2772327f55d8198301fdb8bcfc8158.woff) format("woff"), url(/e18bbf611f2a2e43afc071aa2f4e1512.ttf) format("truetype"), url(/89889688147bd7575d6327160d64e760.svg#glyphicons_halflingsregular) format("svg") +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: Glyphicons Halflings; + font-style: normal; + font-weight: 400; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +.glyphicon-asterisk:before { + content: "*" +} + +.glyphicon-plus:before { + content: "+" +} + +.glyphicon-eur:before, +.glyphicon-euro:before { + content: "€" +} + +.glyphicon-minus:before { + content: "−" +} + +.glyphicon-cloud:before { + content: "☁" +} + +.glyphicon-envelope:before { + content: "✉" +} + +.glyphicon-pencil:before { + content: "✏" +} + +.glyphicon-glass:before { + content: "" +} + +.glyphicon-music:before { + content: "" +} + +.glyphicon-search:before { + content: "" +} + +.glyphicon-heart:before { + content: "" +} + +.glyphicon-star:before { + content: "" +} + +.glyphicon-star-empty:before { + content: "" +} + +.glyphicon-user:before { + content: "" +} + +.glyphicon-film:before { + content: "" +} + +.glyphicon-th-large:before { + content: "" +} + +.glyphicon-th:before { + content: "" +} + +.glyphicon-th-list:before { + content: "" +} + +.glyphicon-ok:before { + content: "" +} + +.glyphicon-remove:before { + content: "" +} + +.glyphicon-zoom-in:before { + content: "" +} + +.glyphicon-zoom-out:before { + content: "" +} + +.glyphicon-off:before { + content: "" +} + +.glyphicon-signal:before { + content: "" +} + +.glyphicon-cog:before { + content: "" +} + +.glyphicon-trash:before { + content: "" +} + +.glyphicon-home:before { + content: "" +} + +.glyphicon-file:before { + content: "" +} + +.glyphicon-time:before { + content: "" +} + +.glyphicon-road:before { + content: "" +} + +.glyphicon-download-alt:before { + content: "" +} + +.glyphicon-download:before { + content: "" +} + +.glyphicon-upload:before { + content: "" +} + +.glyphicon-inbox:before { + content: "" +} + +.glyphicon-play-circle:before { + content: "" +} + +.glyphicon-repeat:before { + content: "" +} + +.glyphicon-refresh:before { + content: "" +} + +.glyphicon-list-alt:before { + content: "" +} + +.glyphicon-lock:before { + content: "" +} + +.glyphicon-flag:before { + content: "" +} + +.glyphicon-headphones:before { + content: "" +} + +.glyphicon-volume-off:before { + content: "" +} + +.glyphicon-volume-down:before { + content: "" +} + +.glyphicon-volume-up:before { + content: "" +} + +.glyphicon-qrcode:before { + content: "" +} + +.glyphicon-barcode:before { + content: "" +} + +.glyphicon-tag:before { + content: "" +} + +.glyphicon-tags:before { + content: "" +} + +.glyphicon-book:before { + content: "" +} + +.glyphicon-bookmark:before { + content: "" +} + +.glyphicon-print:before { + content: "" +} + +.glyphicon-camera:before { + content: "" +} + +.glyphicon-font:before { + content: "" +} + +.glyphicon-bold:before { + content: "" +} + +.glyphicon-italic:before { + content: "" +} + +.glyphicon-text-height:before { + content: "" +} + +.glyphicon-text-width:before { + content: "" +} + +.glyphicon-align-left:before { + content: "" +} + +.glyphicon-align-center:before { + content: "" +} + +.glyphicon-align-right:before { + content: "" +} + +.glyphicon-align-justify:before { + content: "" +} + +.glyphicon-list:before { + content: "" +} + +.glyphicon-indent-left:before { + content: "" +} + +.glyphicon-indent-right:before { + content: "" +} + +.glyphicon-facetime-video:before { + content: "" +} + +.glyphicon-picture:before { + content: "" +} + +.glyphicon-map-marker:before { + content: "" +} + +.glyphicon-adjust:before { + content: "" +} + +.glyphicon-tint:before { + content: "" +} + +.glyphicon-edit:before { + content: "" +} + +.glyphicon-share:before { + content: "" +} + +.glyphicon-check:before { + content: "" +} + +.glyphicon-move:before { + content: "" +} + +.glyphicon-step-backward:before { + content: "" +} + +.glyphicon-fast-backward:before { + content: "" +} + +.glyphicon-backward:before { + content: "" +} + +.glyphicon-play:before { + content: "" +} + +.glyphicon-pause:before { + content: "" +} + +.glyphicon-stop:before { + content: "" +} + +.glyphicon-forward:before { + content: "" +} + +.glyphicon-fast-forward:before { + content: "" +} + +.glyphicon-step-forward:before { + content: "" +} + +.glyphicon-eject:before { + content: "" +} + +.glyphicon-chevron-left:before { + content: "" +} + +.glyphicon-chevron-right:before { + content: "" +} + +.glyphicon-plus-sign:before { + content: "" +} + +.glyphicon-minus-sign:before { + content: "" +} + +.glyphicon-remove-sign:before { + content: "" +} + +.glyphicon-ok-sign:before { + content: "" +} + +.glyphicon-question-sign:before { + content: "" +} + +.glyphicon-info-sign:before { + content: "" +} + +.glyphicon-screenshot:before { + content: "" +} + +.glyphicon-remove-circle:before { + content: "" +} + +.glyphicon-ok-circle:before { + content: "" +} + +.glyphicon-ban-circle:before { + content: "" +} + +.glyphicon-arrow-left:before { + content: "" +} + +.glyphicon-arrow-right:before { + content: "" +} + +.glyphicon-arrow-up:before { + content: "" +} + +.glyphicon-arrow-down:before { + content: "" +} + +.glyphicon-share-alt:before { + content: "" +} + +.glyphicon-resize-full:before { + content: "" +} + +.glyphicon-resize-small:before { + content: "" +} + +.glyphicon-exclamation-sign:before { + content: "" +} + +.glyphicon-gift:before { + content: "" +} + +.glyphicon-leaf:before { + content: "" +} + +.glyphicon-fire:before { + content: "" +} + +.glyphicon-eye-open:before { + content: "" +} + +.glyphicon-eye-close:before { + content: "" +} + +.glyphicon-warning-sign:before { + content: "" +} + +.glyphicon-plane:before { + content: "" +} + +.glyphicon-calendar:before { + content: "" +} + +.glyphicon-random:before { + content: "" +} + +.glyphicon-comment:before { + content: "" +} + +.glyphicon-magnet:before { + content: "" +} + +.glyphicon-chevron-up:before { + content: "" +} + +.glyphicon-chevron-down:before { + content: "" +} + +.glyphicon-retweet:before { + content: "" +} + +.glyphicon-shopping-cart:before { + content: "" +} + +.glyphicon-folder-close:before { + content: "" +} + +.glyphicon-folder-open:before { + content: "" +} + +.glyphicon-resize-vertical:before { + content: "" +} + +.glyphicon-resize-horizontal:before { + content: "" +} + +.glyphicon-hdd:before { + content: "" +} + +.glyphicon-bullhorn:before { + content: "" +} + +.glyphicon-bell:before { + content: "" +} + +.glyphicon-certificate:before { + content: "" +} + +.glyphicon-thumbs-up:before { + content: "" +} + +.glyphicon-thumbs-down:before { + content: "" +} + +.glyphicon-hand-right:before { + content: "" +} + +.glyphicon-hand-left:before { + content: "" +} + +.glyphicon-hand-up:before { + content: "" +} + +.glyphicon-hand-down:before { + content: "" +} + +.glyphicon-circle-arrow-right:before { + content: "" +} + +.glyphicon-circle-arrow-left:before { + content: "" +} + +.glyphicon-circle-arrow-up:before { + content: "" +} + +.glyphicon-circle-arrow-down:before { + content: "" +} + +.glyphicon-globe:before { + content: "" +} + +.glyphicon-wrench:before { + content: "" +} + +.glyphicon-tasks:before { + content: "" +} + +.glyphicon-filter:before { + content: "" +} + +.glyphicon-briefcase:before { + content: "" +} + +.glyphicon-fullscreen:before { + content: "" +} + +.glyphicon-dashboard:before { + content: "" +} + +.glyphicon-paperclip:before { + content: "" +} + +.glyphicon-heart-empty:before { + content: "" +} + +.glyphicon-link:before { + content: "" +} + +.glyphicon-phone:before { + content: "" +} + +.glyphicon-pushpin:before { + content: "" +} + +.glyphicon-usd:before { + content: "" +} + +.glyphicon-gbp:before { + content: "" +} + +.glyphicon-sort:before { + content: "" +} + +.glyphicon-sort-by-alphabet:before { + content: "" +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "" +} + +.glyphicon-sort-by-order:before { + content: "" +} + +.glyphicon-sort-by-order-alt:before { + content: "" +} + +.glyphicon-sort-by-attributes:before { + content: "" +} + +.glyphicon-sort-by-attributes-alt:before { + content: "" +} + +.glyphicon-unchecked:before { + content: "" +} + +.glyphicon-expand:before { + content: "" +} + +.glyphicon-collapse-down:before { + content: "" +} + +.glyphicon-collapse-up:before { + content: "" +} + +.glyphicon-log-in:before { + content: "" +} + +.glyphicon-flash:before { + content: "" +} + +.glyphicon-log-out:before { + content: "" +} + +.glyphicon-new-window:before { + content: "" +} + +.glyphicon-record:before { + content: "" +} + +.glyphicon-save:before { + content: "" +} + +.glyphicon-open:before { + content: "" +} + +.glyphicon-saved:before { + content: "" +} + +.glyphicon-import:before { + content: "" +} + +.glyphicon-export:before { + content: "" +} + +.glyphicon-send:before { + content: "" +} + +.glyphicon-floppy-disk:before { + content: "" +} + +.glyphicon-floppy-saved:before { + content: "" +} + +.glyphicon-floppy-remove:before { + content: "" +} + +.glyphicon-floppy-save:before { + content: "" +} + +.glyphicon-floppy-open:before { + content: "" +} + +.glyphicon-credit-card:before { + content: "" +} + +.glyphicon-transfer:before { + content: "" +} + +.glyphicon-cutlery:before { + content: "" +} + +.glyphicon-header:before { + content: "" +} + +.glyphicon-compressed:before { + content: "" +} + +.glyphicon-earphone:before { + content: "" +} + +.glyphicon-phone-alt:before { + content: "" +} + +.glyphicon-tower:before { + content: "" +} + +.glyphicon-stats:before { + content: "" +} + +.glyphicon-sd-video:before { + content: "" +} + +.glyphicon-hd-video:before { + content: "" +} + +.glyphicon-subtitles:before { + content: "" +} + +.glyphicon-sound-stereo:before { + content: "" +} + +.glyphicon-sound-dolby:before { + content: "" +} + +.glyphicon-sound-5-1:before { + content: "" +} + +.glyphicon-sound-6-1:before { + content: "" +} + +.glyphicon-sound-7-1:before { + content: "" +} + +.glyphicon-copyright-mark:before { + content: "" +} + +.glyphicon-registration-mark:before { + content: "" +} + +.glyphicon-cloud-download:before { + content: "" +} + +.glyphicon-cloud-upload:before { + content: "" +} + +.glyphicon-tree-conifer:before { + content: "" +} + +.glyphicon-tree-deciduous:before { + content: "" +} + +.glyphicon-cd:before { + content: "" +} + +.glyphicon-save-file:before { + content: "" +} + +.glyphicon-open-file:before { + content: "" +} + +.glyphicon-level-up:before { + content: "" +} + +.glyphicon-copy:before { + content: "" +} + +.glyphicon-paste:before { + content: "" +} + +.glyphicon-alert:before { + content: "" +} + +.glyphicon-equalizer:before { + content: "" +} + +.glyphicon-king:before { + content: "" +} + +.glyphicon-queen:before { + content: "" +} + +.glyphicon-pawn:before { + content: "" +} + +.glyphicon-bishop:before { + content: "" +} + +.glyphicon-knight:before { + content: "" +} + +.glyphicon-baby-formula:before { + content: "" +} + +.glyphicon-tent:before { + content: "⛺" +} + +.glyphicon-blackboard:before { + content: "" +} + +.glyphicon-bed:before { + content: "" +} + +.glyphicon-apple:before { + content: "" +} + +.glyphicon-erase:before { + content: "" +} + +.glyphicon-hourglass:before { + content: "⌛" +} + +.glyphicon-lamp:before { + content: "" +} + +.glyphicon-duplicate:before { + content: "" +} + +.glyphicon-piggy-bank:before { + content: "" +} + +.glyphicon-scissors:before { + content: "" +} + +.glyphicon-bitcoin:before, +.glyphicon-btc:before, +.glyphicon-xbt:before { + content: "" +} + +.glyphicon-jpy:before, +.glyphicon-yen:before { + content: "¥" +} + +.glyphicon-rub:before, +.glyphicon-ruble:before { + content: "₽" +} + +.glyphicon-scale:before { + content: "" +} + +.glyphicon-ice-lolly:before { + content: "" +} + +.glyphicon-ice-lolly-tasted:before { + content: "" +} + +.glyphicon-education:before { + content: "" +} + +.glyphicon-option-horizontal:before { + content: "" +} + +.glyphicon-option-vertical:before { + content: "" +} + +.glyphicon-menu-hamburger:before { + content: "" +} + +.glyphicon-modal-window:before { + content: "" +} + +.glyphicon-oil:before { + content: "" +} + +.glyphicon-grain:before { + content: "" +} + +.glyphicon-sunglasses:before { + content: "" +} + +.glyphicon-text-size:before { + content: "" +} + +.glyphicon-text-color:before { + content: "" +} + +.glyphicon-text-background:before { + content: "" +} + +.glyphicon-object-align-top:before { + content: "" +} + +.glyphicon-object-align-bottom:before { + content: "" +} + +.glyphicon-object-align-horizontal:before { + content: "" +} + +.glyphicon-object-align-left:before { + content: "" +} + +.glyphicon-object-align-vertical:before { + content: "" +} + +.glyphicon-object-align-right:before { + content: "" +} + +.glyphicon-triangle-right:before { + content: "" +} + +.glyphicon-triangle-left:before { + content: "" +} + +.glyphicon-triangle-bottom:before { + content: "" +} + +.glyphicon-triangle-top:before { + content: "" +} + +.glyphicon-console:before { + content: "" +} + +.glyphicon-superscript:before { + content: "" +} + +.glyphicon-subscript:before { + content: "" +} + +.glyphicon-menu-left:before { + content: "" +} + +.glyphicon-menu-right:before { + content: "" +} + +.glyphicon-menu-down:before { + content: "" +} + +.glyphicon-menu-up:before { + content: "" +} + +*, +:after, +:before { + box-sizing: border-box +} + +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0) +} + +body { + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333; + background-color: #fff +} + +button, +input, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit +} + +a { + color: #337ab7; + text-decoration: none +} + +a:focus, +a:hover { + color: #23527c; + text-decoration: underline +} + +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +figure { + margin: 0 +} + +img { + vertical-align: middle +} + +.img-responsive { + display: block; + max-width: 100%; + height: auto +} + +.img-rounded { + border-radius: 6px +} + +.img-thumbnail { + padding: 4px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + transition: all .2s ease-in-out; + display: inline-block; + max-width: 100%; + height: auto +} + +.img-circle { + border-radius: 50% +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0 +} + +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto +} + +[role=button] { + cursor: pointer +} + +.h1, +.h2, +.h3, +.h4, +.h5, +.h6, +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit +} + +.h1 .small, +.h1 small, +.h2 .small, +.h2 small, +.h3 .small, +.h3 small, +.h4 .small, +.h4 small, +.h5 .small, +.h5 small, +.h6 .small, +.h6 small, +h1 .small, +h1 small, +h2 .small, +h2 small, +h3 .small, +h3 small, +h4 .small, +h4 small, +h5 .small, +h5 small, +h6 .small, +h6 small { + font-weight: 400; + line-height: 1; + color: #777 +} + +.h1, +.h2, +.h3, +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px +} + +.h1 .small, +.h1 small, +.h2 .small, +.h2 small, +.h3 .small, +.h3 small, +h1 .small, +h1 small, +h2 .small, +h2 small, +h3 .small, +h3 small { + font-size: 65% +} + +.h4, +.h5, +.h6, +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px +} + +.h4 .small, +.h4 small, +.h5 .small, +.h5 small, +.h6 .small, +.h6 small, +h4 .small, +h4 small, +h5 .small, +h5 small, +h6 .small, +h6 small { + font-size: 75% +} + +.h1, +h1 { + font-size: 36px +} + +.h2, +h2 { + font-size: 30px +} + +.h3, +h3 { + font-size: 24px +} + +.h4, +h4 { + font-size: 18px +} + +.h5, +h5 { + font-size: 14px +} + +.h6, +h6 { + font-size: 12px +} + +p { + margin: 0 0 10px +} + +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4 +} + +@media(min-width:768px) { + .lead { + font-size: 21px + } +} + +.small, +small { + font-size: 85% +} + +.mark, +mark { + padding: .2em; + background-color: #fcf8e3 +} + +.text-left { + text-align: left +} + +.text-right { + text-align: right +} + +.text-center { + text-align: center +} + +.text-justify { + text-align: justify +} + +.text-nowrap { + white-space: nowrap +} + +.initialism, +.text-uppercase { + text-transform: uppercase +} + +.text-capitalize { + text-transform: capitalize +} + +.text-muted { + color: #777 +} + +.text-primary { + color: #337ab7 +} + +a.text-primary:focus, +a.text-primary:hover { + color: #286090 +} + +.text-success { + color: #3c763d +} + +a.text-success:focus, +a.text-success:hover { + color: #2b542c +} + +.text-info { + color: #31708f +} + +a.text-info:focus, +a.text-info:hover { + color: #245269 +} + +.text-warning { + color: #8a6d3b +} + +a.text-warning:focus, +a.text-warning:hover { + color: #66512c +} + +.text-danger { + color: #a94442 +} + +a.text-danger:focus, +a.text-danger:hover { + color: #843534 +} + +.bg-primary { + color: #fff; + background-color: #337ab7 +} + +a.bg-primary:focus, +a.bg-primary:hover { + background-color: #286090 +} + +.bg-success { + background-color: #dff0d8 +} + +a.bg-success:focus, +a.bg-success:hover { + background-color: #c1e2b3 +} + +.bg-info { + background-color: #d9edf7 +} + +a.bg-info:focus, +a.bg-info:hover { + background-color: #afd9ee +} + +.bg-warning { + background-color: #fcf8e3 +} + +a.bg-warning:focus, +a.bg-warning:hover { + background-color: #f7ecb5 +} + +.bg-danger { + background-color: #f2dede +} + +a.bg-danger:focus, +a.bg-danger:hover { + background-color: #e4b9b9 +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee +} + +ol, +ul { + margin-top: 0; + margin-bottom: 10px +} + +ol ol, +ol ul, +ul ol, +ul ul { + margin-bottom: 0 +} + +.list-inline, +.list-unstyled { + padding-left: 0; + list-style: none +} + +.list-inline { + margin-left: -5px +} + +.list-inline>li { + display: inline-block; + padding-right: 5px; + padding-left: 5px +} + +dl { + margin-top: 0; + margin-bottom: 20px +} + +dd, +dt { + line-height: 1.428571429 +} + +dt { + font-weight: 700 +} + +dd { + margin-left: 0 +} + +.dl-horizontal dd:after, +.dl-horizontal dd:before { + display: table; + content: " " +} + +.dl-horizontal dd:after { + clear: both +} + +@media(min-width:768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap + } + .dl-horizontal dd { + margin-left: 180px + } +} + +abbr[data-original-title], +abbr[title] { + cursor: help +} + +.initialism { + font-size: 90% +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee +} + +blockquote ol:last-child, +blockquote p:last-child, +blockquote ul:last-child { + margin-bottom: 0 +} + +blockquote .small, +blockquote footer, +blockquote small { + display: block; + font-size: 80%; + line-height: 1.428571429; + color: #777 +} + +blockquote .small:before, +blockquote footer:before, +blockquote small:before { + content: "— " +} + +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0 +} + +.blockquote-reverse .small:before, +.blockquote-reverse footer:before, +.blockquote-reverse small:before, +blockquote.pull-right .small:before, +blockquote.pull-right footer:before, +blockquote.pull-right small:before { + content: "" +} + +.blockquote-reverse .small:after, +.blockquote-reverse footer:after, +.blockquote-reverse small:after, +blockquote.pull-right .small:after, +blockquote.pull-right footer:after, +blockquote.pull-right small:after { + content: " —" +} + +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429 +} + +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, Courier New, monospace +} + +code { + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px +} + +code, +kbd { + padding: 2px 4px; + font-size: 90% +} + +kbd { + color: #fff; + background-color: #333; + border-radius: 3px; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25) +} + +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + box-shadow: none +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: initial; + border-radius: 0 +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll +} + +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto +} + +.container:after, +.container:before { + display: table; + content: " " +} + +.container:after { + clear: both +} + +@media(min-width:768px) { + .container { + width: 750px + } +} + +@media(min-width:992px) { + .container { + width: 970px + } +} + +@media(min-width:1200px) { + .container { + width: 1170px + } +} + +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto +} + +.container-fluid:after, +.container-fluid:before { + display: table; + content: " " +} + +.container-fluid:after { + clear: both +} + +.row { + margin-right: -15px; + margin-left: -15px +} + +.row:after, +.row:before { + display: table; + content: " " +} + +.row:after { + clear: both +} + +.row-no-gutters { + margin-right: 0; + margin-left: 0 +} + +.row-no-gutters [class*=col-] { + padding-right: 0; + padding-left: 0 +} + +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11, +.col-lg-12, +.col-md-1, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-10, +.col-md-11, +.col-md-12, +.col-sm-1, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left +} + +.col-xs-1 { + width: 8.3333333333% +} + +.col-xs-2 { + width: 16.6666666667% +} + +.col-xs-3 { + width: 25% +} + +.col-xs-4 { + width: 33.3333333333% +} + +.col-xs-5 { + width: 41.6666666667% +} + +.col-xs-6 { + width: 50% +} + +.col-xs-7 { + width: 58.3333333333% +} + +.col-xs-8 { + width: 66.6666666667% +} + +.col-xs-9 { + width: 75% +} + +.col-xs-10 { + width: 83.3333333333% +} + +.col-xs-11 { + width: 91.6666666667% +} + +.col-xs-12 { + width: 100% +} + +.col-xs-pull-0 { + right: auto +} + +.col-xs-pull-1 { + right: 8.3333333333% +} + +.col-xs-pull-2 { + right: 16.6666666667% +} + +.col-xs-pull-3 { + right: 25% +} + +.col-xs-pull-4 { + right: 33.3333333333% +} + +.col-xs-pull-5 { + right: 41.6666666667% +} + +.col-xs-pull-6 { + right: 50% +} + +.col-xs-pull-7 { + right: 58.3333333333% +} + +.col-xs-pull-8 { + right: 66.6666666667% +} + +.col-xs-pull-9 { + right: 75% +} + +.col-xs-pull-10 { + right: 83.3333333333% +} + +.col-xs-pull-11 { + right: 91.6666666667% +} + +.col-xs-pull-12 { + right: 100% +} + +.col-xs-push-0 { + left: auto +} + +.col-xs-push-1 { + left: 8.3333333333% +} + +.col-xs-push-2 { + left: 16.6666666667% +} + +.col-xs-push-3 { + left: 25% +} + +.col-xs-push-4 { + left: 33.3333333333% +} + +.col-xs-push-5 { + left: 41.6666666667% +} + +.col-xs-push-6 { + left: 50% +} + +.col-xs-push-7 { + left: 58.3333333333% +} + +.col-xs-push-8 { + left: 66.6666666667% +} + +.col-xs-push-9 { + left: 75% +} + +.col-xs-push-10 { + left: 83.3333333333% +} + +.col-xs-push-11 { + left: 91.6666666667% +} + +.col-xs-push-12 { + left: 100% +} + +.col-xs-offset-0 { + margin-left: 0 +} + +.col-xs-offset-1 { + margin-left: 8.3333333333% +} + +.col-xs-offset-2 { + margin-left: 16.6666666667% +} + +.col-xs-offset-3 { + margin-left: 25% +} + +.col-xs-offset-4 { + margin-left: 33.3333333333% +} + +.col-xs-offset-5 { + margin-left: 41.6666666667% +} + +.col-xs-offset-6 { + margin-left: 50% +} + +.col-xs-offset-7 { + margin-left: 58.3333333333% +} + +.col-xs-offset-8 { + margin-left: 66.6666666667% +} + +.col-xs-offset-9 { + margin-left: 75% +} + +.col-xs-offset-10 { + margin-left: 83.3333333333% +} + +.col-xs-offset-11 { + margin-left: 91.6666666667% +} + +.col-xs-offset-12 { + margin-left: 100% +} + +@media(min-width:768px) { + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left + } + .col-sm-1 { + width: 8.3333333333% + } + .col-sm-2 { + width: 16.6666666667% + } + .col-sm-3 { + width: 25% + } + .col-sm-4 { + width: 33.3333333333% + } + .col-sm-5 { + width: 41.6666666667% + } + .col-sm-6 { + width: 50% + } + .col-sm-7 { + width: 58.3333333333% + } + .col-sm-8 { + width: 66.6666666667% + } + .col-sm-9 { + width: 75% + } + .col-sm-10 { + width: 83.3333333333% + } + .col-sm-11 { + width: 91.6666666667% + } + .col-sm-12 { + width: 100% + } + .col-sm-pull-0 { + right: auto + } + .col-sm-pull-1 { + right: 8.3333333333% + } + .col-sm-pull-2 { + right: 16.6666666667% + } + .col-sm-pull-3 { + right: 25% + } + .col-sm-pull-4 { + right: 33.3333333333% + } + .col-sm-pull-5 { + right: 41.6666666667% + } + .col-sm-pull-6 { + right: 50% + } + .col-sm-pull-7 { + right: 58.3333333333% + } + .col-sm-pull-8 { + right: 66.6666666667% + } + .col-sm-pull-9 { + right: 75% + } + .col-sm-pull-10 { + right: 83.3333333333% + } + .col-sm-pull-11 { + right: 91.6666666667% + } + .col-sm-pull-12 { + right: 100% + } + .col-sm-push-0 { + left: auto + } + .col-sm-push-1 { + left: 8.3333333333% + } + .col-sm-push-2 { + left: 16.6666666667% + } + .col-sm-push-3 { + left: 25% + } + .col-sm-push-4 { + left: 33.3333333333% + } + .col-sm-push-5 { + left: 41.6666666667% + } + .col-sm-push-6 { + left: 50% + } + .col-sm-push-7 { + left: 58.3333333333% + } + .col-sm-push-8 { + left: 66.6666666667% + } + .col-sm-push-9 { + left: 75% + } + .col-sm-push-10 { + left: 83.3333333333% + } + .col-sm-push-11 { + left: 91.6666666667% + } + .col-sm-push-12 { + left: 100% + } + .col-sm-offset-0 { + margin-left: 0 + } + .col-sm-offset-1 { + margin-left: 8.3333333333% + } + .col-sm-offset-2 { + margin-left: 16.6666666667% + } + .col-sm-offset-3 { + margin-left: 25% + } + .col-sm-offset-4 { + margin-left: 33.3333333333% + } + .col-sm-offset-5 { + margin-left: 41.6666666667% + } + .col-sm-offset-6 { + margin-left: 50% + } + .col-sm-offset-7 { + margin-left: 58.3333333333% + } + .col-sm-offset-8 { + margin-left: 66.6666666667% + } + .col-sm-offset-9 { + margin-left: 75% + } + .col-sm-offset-10 { + margin-left: 83.3333333333% + } + .col-sm-offset-11 { + margin-left: 91.6666666667% + } + .col-sm-offset-12 { + margin-left: 100% + } +} + +@media(min-width:992px) { + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left + } + .col-md-1 { + width: 8.3333333333% + } + .col-md-2 { + width: 16.6666666667% + } + .col-md-3 { + width: 25% + } + .col-md-4 { + width: 33.3333333333% + } + .col-md-5 { + width: 41.6666666667% + } + .col-md-6 { + width: 50% + } + .col-md-7 { + width: 58.3333333333% + } + .col-md-8 { + width: 66.6666666667% + } + .col-md-9 { + width: 75% + } + .col-md-10 { + width: 83.3333333333% + } + .col-md-11 { + width: 91.6666666667% + } + .col-md-12 { + width: 100% + } + .col-md-pull-0 { + right: auto + } + .col-md-pull-1 { + right: 8.3333333333% + } + .col-md-pull-2 { + right: 16.6666666667% + } + .col-md-pull-3 { + right: 25% + } + .col-md-pull-4 { + right: 33.3333333333% + } + .col-md-pull-5 { + right: 41.6666666667% + } + .col-md-pull-6 { + right: 50% + } + .col-md-pull-7 { + right: 58.3333333333% + } + .col-md-pull-8 { + right: 66.6666666667% + } + .col-md-pull-9 { + right: 75% + } + .col-md-pull-10 { + right: 83.3333333333% + } + .col-md-pull-11 { + right: 91.6666666667% + } + .col-md-pull-12 { + right: 100% + } + .col-md-push-0 { + left: auto + } + .col-md-push-1 { + left: 8.3333333333% + } + .col-md-push-2 { + left: 16.6666666667% + } + .col-md-push-3 { + left: 25% + } + .col-md-push-4 { + left: 33.3333333333% + } + .col-md-push-5 { + left: 41.6666666667% + } + .col-md-push-6 { + left: 50% + } + .col-md-push-7 { + left: 58.3333333333% + } + .col-md-push-8 { + left: 66.6666666667% + } + .col-md-push-9 { + left: 75% + } + .col-md-push-10 { + left: 83.3333333333% + } + .col-md-push-11 { + left: 91.6666666667% + } + .col-md-push-12 { + left: 100% + } + .col-md-offset-0 { + margin-left: 0 + } + .col-md-offset-1 { + margin-left: 8.3333333333% + } + .col-md-offset-2 { + margin-left: 16.6666666667% + } + .col-md-offset-3 { + margin-left: 25% + } + .col-md-offset-4 { + margin-left: 33.3333333333% + } + .col-md-offset-5 { + margin-left: 41.6666666667% + } + .col-md-offset-6 { + margin-left: 50% + } + .col-md-offset-7 { + margin-left: 58.3333333333% + } + .col-md-offset-8 { + margin-left: 66.6666666667% + } + .col-md-offset-9 { + margin-left: 75% + } + .col-md-offset-10 { + margin-left: 83.3333333333% + } + .col-md-offset-11 { + margin-left: 91.6666666667% + } + .col-md-offset-12 { + margin-left: 100% + } +} + +@media(min-width:1200px) { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left + } + .col-lg-1 { + width: 8.3333333333% + } + .col-lg-2 { + width: 16.6666666667% + } + .col-lg-3 { + width: 25% + } + .col-lg-4 { + width: 33.3333333333% + } + .col-lg-5 { + width: 41.6666666667% + } + .col-lg-6 { + width: 50% + } + .col-lg-7 { + width: 58.3333333333% + } + .col-lg-8 { + width: 66.6666666667% + } + .col-lg-9 { + width: 75% + } + .col-lg-10 { + width: 83.3333333333% + } + .col-lg-11 { + width: 91.6666666667% + } + .col-lg-12 { + width: 100% + } + .col-lg-pull-0 { + right: auto + } + .col-lg-pull-1 { + right: 8.3333333333% + } + .col-lg-pull-2 { + right: 16.6666666667% + } + .col-lg-pull-3 { + right: 25% + } + .col-lg-pull-4 { + right: 33.3333333333% + } + .col-lg-pull-5 { + right: 41.6666666667% + } + .col-lg-pull-6 { + right: 50% + } + .col-lg-pull-7 { + right: 58.3333333333% + } + .col-lg-pull-8 { + right: 66.6666666667% + } + .col-lg-pull-9 { + right: 75% + } + .col-lg-pull-10 { + right: 83.3333333333% + } + .col-lg-pull-11 { + right: 91.6666666667% + } + .col-lg-pull-12 { + right: 100% + } + .col-lg-push-0 { + left: auto + } + .col-lg-push-1 { + left: 8.3333333333% + } + .col-lg-push-2 { + left: 16.6666666667% + } + .col-lg-push-3 { + left: 25% + } + .col-lg-push-4 { + left: 33.3333333333% + } + .col-lg-push-5 { + left: 41.6666666667% + } + .col-lg-push-6 { + left: 50% + } + .col-lg-push-7 { + left: 58.3333333333% + } + .col-lg-push-8 { + left: 66.6666666667% + } + .col-lg-push-9 { + left: 75% + } + .col-lg-push-10 { + left: 83.3333333333% + } + .col-lg-push-11 { + left: 91.6666666667% + } + .col-lg-push-12 { + left: 100% + } + .col-lg-offset-0 { + margin-left: 0 + } + .col-lg-offset-1 { + margin-left: 8.3333333333% + } + .col-lg-offset-2 { + margin-left: 16.6666666667% + } + .col-lg-offset-3 { + margin-left: 25% + } + .col-lg-offset-4 { + margin-left: 33.3333333333% + } + .col-lg-offset-5 { + margin-left: 41.6666666667% + } + .col-lg-offset-6 { + margin-left: 50% + } + .col-lg-offset-7 { + margin-left: 58.3333333333% + } + .col-lg-offset-8 { + margin-left: 66.6666666667% + } + .col-lg-offset-9 { + margin-left: 75% + } + .col-lg-offset-10 { + margin-left: 83.3333333333% + } + .col-lg-offset-11 { + margin-left: 91.6666666667% + } + .col-lg-offset-12 { + margin-left: 100% + } +} + +table { + background-color: initial +} + +table col[class*=col-] { + position: static; + display: table-column; + float: none +} + +table td[class*=col-], +table th[class*=col-] { + position: static; + display: table-cell; + float: none +} + +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777 +} + +caption, +th { + text-align: left +} + +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px +} + +.table>tbody>tr>td, +.table>tbody>tr>th, +.table>tfoot>tr>td, +.table>tfoot>tr>th, +.table>thead>tr>td, +.table>thead>tr>th { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #ddd +} + +.table>thead>tr>th { + vertical-align: bottom; + border-bottom: 2px solid #ddd +} + +.table>caption+thead>tr:first-child>td, +.table>caption+thead>tr:first-child>th, +.table>colgroup+thead>tr:first-child>td, +.table>colgroup+thead>tr:first-child>th, +.table>thead:first-child>tr:first-child>td, +.table>thead:first-child>tr:first-child>th { + border-top: 0 +} + +.table>tbody+tbody { + border-top: 2px solid #ddd +} + +.table .table { + background-color: #fff +} + +.table-condensed>tbody>tr>td, +.table-condensed>tbody>tr>th, +.table-condensed>tfoot>tr>td, +.table-condensed>tfoot>tr>th, +.table-condensed>thead>tr>td, +.table-condensed>thead>tr>th { + padding: 5px +} + +.table-bordered, +.table-bordered>tbody>tr>td, +.table-bordered>tbody>tr>th, +.table-bordered>tfoot>tr>td, +.table-bordered>tfoot>tr>th, +.table-bordered>thead>tr>td, +.table-bordered>thead>tr>th { + border: 1px solid #ddd +} + +.table-bordered>thead>tr>td, +.table-bordered>thead>tr>th { + border-bottom-width: 2px +} + +.table-striped>tbody>tr:nth-of-type(odd) { + background-color: #f9f9f9 +} + +.table-hover>tbody>tr:hover, +.table>tbody>tr.active>td, +.table>tbody>tr.active>th, +.table>tbody>tr>td.active, +.table>tbody>tr>th.active, +.table>tfoot>tr.active>td, +.table>tfoot>tr.active>th, +.table>tfoot>tr>td.active, +.table>tfoot>tr>th.active, +.table>thead>tr.active>td, +.table>thead>tr.active>th, +.table>thead>tr>td.active, +.table>thead>tr>th.active { + background-color: #f5f5f5 +} + +.table-hover>tbody>tr.active:hover>td, +.table-hover>tbody>tr.active:hover>th, +.table-hover>tbody>tr:hover>.active, +.table-hover>tbody>tr>td.active:hover, +.table-hover>tbody>tr>th.active:hover { + background-color: #e8e8e8 +} + +.table>tbody>tr.success>td, +.table>tbody>tr.success>th, +.table>tbody>tr>td.success, +.table>tbody>tr>th.success, +.table>tfoot>tr.success>td, +.table>tfoot>tr.success>th, +.table>tfoot>tr>td.success, +.table>tfoot>tr>th.success, +.table>thead>tr.success>td, +.table>thead>tr.success>th, +.table>thead>tr>td.success, +.table>thead>tr>th.success { + background-color: #dff0d8 +} + +.table-hover>tbody>tr.success:hover>td, +.table-hover>tbody>tr.success:hover>th, +.table-hover>tbody>tr:hover>.success, +.table-hover>tbody>tr>td.success:hover, +.table-hover>tbody>tr>th.success:hover { + background-color: #d0e9c6 +} + +.table>tbody>tr.info>td, +.table>tbody>tr.info>th, +.table>tbody>tr>td.info, +.table>tbody>tr>th.info, +.table>tfoot>tr.info>td, +.table>tfoot>tr.info>th, +.table>tfoot>tr>td.info, +.table>tfoot>tr>th.info, +.table>thead>tr.info>td, +.table>thead>tr.info>th, +.table>thead>tr>td.info, +.table>thead>tr>th.info { + background-color: #d9edf7 +} + +.table-hover>tbody>tr.info:hover>td, +.table-hover>tbody>tr.info:hover>th, +.table-hover>tbody>tr:hover>.info, +.table-hover>tbody>tr>td.info:hover, +.table-hover>tbody>tr>th.info:hover { + background-color: #c4e3f3 +} + +.table>tbody>tr.warning>td, +.table>tbody>tr.warning>th, +.table>tbody>tr>td.warning, +.table>tbody>tr>th.warning, +.table>tfoot>tr.warning>td, +.table>tfoot>tr.warning>th, +.table>tfoot>tr>td.warning, +.table>tfoot>tr>th.warning, +.table>thead>tr.warning>td, +.table>thead>tr.warning>th, +.table>thead>tr>td.warning, +.table>thead>tr>th.warning { + background-color: #fcf8e3 +} + +.table-hover>tbody>tr.warning:hover>td, +.table-hover>tbody>tr.warning:hover>th, +.table-hover>tbody>tr:hover>.warning, +.table-hover>tbody>tr>td.warning:hover, +.table-hover>tbody>tr>th.warning:hover { + background-color: #faf2cc +} + +.table>tbody>tr.danger>td, +.table>tbody>tr.danger>th, +.table>tbody>tr>td.danger, +.table>tbody>tr>th.danger, +.table>tfoot>tr.danger>td, +.table>tfoot>tr.danger>th, +.table>tfoot>tr>td.danger, +.table>tfoot>tr>th.danger, +.table>thead>tr.danger>td, +.table>thead>tr.danger>th, +.table>thead>tr>td.danger, +.table>thead>tr>th.danger { + background-color: #f2dede +} + +.table-hover>tbody>tr.danger:hover>td, +.table-hover>tbody>tr.danger:hover>th, +.table-hover>tbody>tr:hover>.danger, +.table-hover>tbody>tr>td.danger:hover, +.table-hover>tbody>tr>th.danger:hover { + background-color: #ebcccc +} + +.table-responsive { + min-height: .01%; + overflow-x: auto +} + +@media screen and (max-width:767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd + } + .table-responsive>.table { + margin-bottom: 0 + } + .table-responsive>.table>tbody>tr>td, + .table-responsive>.table>tbody>tr>th, + .table-responsive>.table>tfoot>tr>td, + .table-responsive>.table>tfoot>tr>th, + .table-responsive>.table>thead>tr>td, + .table-responsive>.table>thead>tr>th { + white-space: nowrap + } + .table-responsive>.table-bordered { + border: 0 + } + .table-responsive>.table-bordered>tbody>tr>td:first-child, + .table-responsive>.table-bordered>tbody>tr>th:first-child, + .table-responsive>.table-bordered>tfoot>tr>td:first-child, + .table-responsive>.table-bordered>tfoot>tr>th:first-child, + .table-responsive>.table-bordered>thead>tr>td:first-child, + .table-responsive>.table-bordered>thead>tr>th:first-child { + border-left: 0 + } + .table-responsive>.table-bordered>tbody>tr>td:last-child, + .table-responsive>.table-bordered>tbody>tr>th:last-child, + .table-responsive>.table-bordered>tfoot>tr>td:last-child, + .table-responsive>.table-bordered>tfoot>tr>th:last-child, + .table-responsive>.table-bordered>thead>tr>td:last-child, + .table-responsive>.table-bordered>thead>tr>th:last-child { + border-right: 0 + } + .table-responsive>.table-bordered>tbody>tr:last-child>td, + .table-responsive>.table-bordered>tbody>tr:last-child>th, + .table-responsive>.table-bordered>tfoot>tr:last-child>td, + .table-responsive>.table-bordered>tfoot>tr:last-child>th { + border-bottom: 0 + } +} + +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0 +} + +legend { + display: block; + width: 100%; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5 +} + +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 700 +} + +input[type=search] { + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none +} + +input[type=checkbox], +input[type=radio] { + margin: 4px 0 0; + margin-top: 1px\9; + line-height: normal +} + +fieldset[disabled] input[type=checkbox], +fieldset[disabled] input[type=radio], +input[type=checkbox].disabled, +input[type=checkbox][disabled], +input[type=radio].disabled, +input[type=radio][disabled] { + cursor: not-allowed +} + +input[type=file] { + display: block +} + +input[type=range] { + display: block; + width: 100% +} + +select[multiple], +select[size] { + height: auto +} + +input[type=checkbox]:focus, +input[type=file]:focus, +input[type=radio]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +output { + padding-top: 7px +} + +.form-control, +output { + display: block; + font-size: 14px; + line-height: 1.428571429; + color: #555 +} + +.form-control { + width: 100%; + height: 34px; + padding: 6px 12px; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6) +} + +.form-control::-moz-placeholder { + color: #999; + opacity: 1 +} + +.form-control:-ms-input-placeholder { + color: #999 +} + +.form-control::-webkit-input-placeholder { + color: #999 +} + +.form-control::-ms-expand { + background-color: initial; + border: 0 +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1 +} + +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed +} + +textarea.form-control { + height: auto +} + +@media screen and (-webkit-min-device-pixel-ratio:0) { + input[type=date].form-control, + input[type=datetime-local].form-control, + input[type=month].form-control, + input[type=time].form-control { + line-height: 34px + } + .input-group-sm>.input-group-btn>input[type=date].btn, + .input-group-sm>.input-group-btn>input[type=datetime-local].btn, + .input-group-sm>.input-group-btn>input[type=month].btn, + .input-group-sm>.input-group-btn>input[type=time].btn, + .input-group-sm input[type=date], + .input-group-sm input[type=datetime-local], + .input-group-sm input[type=month], + .input-group-sm input[type=time], + input[type=date].input-sm, + input[type=datetime-local].input-sm, + input[type=month].input-sm, + input[type=time].input-sm { + line-height: 30px + } + .input-group-lg>.input-group-btn>input[type=date].btn, + .input-group-lg>.input-group-btn>input[type=datetime-local].btn, + .input-group-lg>.input-group-btn>input[type=month].btn, + .input-group-lg>.input-group-btn>input[type=time].btn, + .input-group-lg input[type=date], + .input-group-lg input[type=datetime-local], + .input-group-lg input[type=month], + .input-group-lg input[type=time], + input[type=date].input-lg, + input[type=datetime-local].input-lg, + input[type=month].input-lg, + input[type=time].input-lg { + line-height: 46px + } +} + +.form-group { + margin-bottom: 15px +} + +.checkbox, +.radio { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px +} + +.checkbox.disabled label, +.radio.disabled label, +fieldset[disabled] .checkbox label, +fieldset[disabled] .radio label { + cursor: not-allowed +} + +.checkbox label, +.radio label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + cursor: pointer +} + +.checkbox-inline input[type=checkbox], +.checkbox input[type=checkbox], +.radio-inline input[type=radio], +.radio input[type=radio] { + position: absolute; + margin-top: 4px\9; + margin-left: -20px +} + +.checkbox+.checkbox, +.radio+.radio { + margin-top: -5px +} + +.checkbox-inline, +.radio-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + vertical-align: middle; + cursor: pointer +} + +.checkbox-inline.disabled, +.radio-inline.disabled, +fieldset[disabled] .checkbox-inline, +fieldset[disabled] .radio-inline { + cursor: not-allowed +} + +.checkbox-inline+.checkbox-inline, +.radio-inline+.radio-inline { + margin-top: 0; + margin-left: 10px +} + +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0 +} + +.form-control-static.input-lg, +.form-control-static.input-sm, +.input-group-lg>.form-control-static.form-control, +.input-group-lg>.form-control-static.input-group-addon, +.input-group-lg>.input-group-btn>.form-control-static.btn, +.input-group-sm>.form-control-static.form-control, +.input-group-sm>.form-control-static.input-group-addon, +.input-group-sm>.input-group-btn>.form-control-static.btn { + padding-right: 0; + padding-left: 0 +} + +.input-group-sm>.form-control, +.input-group-sm>.input-group-addon, +.input-group-sm>.input-group-btn>.btn, +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.input-group-sm>.input-group-btn>select.btn, +.input-group-sm>select.form-control, +.input-group-sm>select.input-group-addon, +select.input-sm { + height: 30px; + line-height: 30px +} + +.input-group-sm>.input-group-btn>select[multiple].btn, +.input-group-sm>.input-group-btn>textarea.btn, +.input-group-sm>select[multiple].form-control, +.input-group-sm>select[multiple].input-group-addon, +.input-group-sm>textarea.form-control, +.input-group-sm>textarea.input-group-addon, +select[multiple].input-sm, +textarea.input-sm { + height: auto +} + +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.form-group-sm select.form-control { + height: 30px; + line-height: 30px +} + +.form-group-sm select[multiple].form-control, +.form-group-sm textarea.form-control { + height: auto +} + +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5 +} + +.input-group-lg>.form-control, +.input-group-lg>.input-group-addon, +.input-group-lg>.input-group-btn>.btn, +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px +} + +.input-group-lg>.input-group-btn>select.btn, +.input-group-lg>select.form-control, +.input-group-lg>select.input-group-addon, +select.input-lg { + height: 46px; + line-height: 46px +} + +.input-group-lg>.input-group-btn>select[multiple].btn, +.input-group-lg>.input-group-btn>textarea.btn, +.input-group-lg>select[multiple].form-control, +.input-group-lg>select[multiple].input-group-addon, +.input-group-lg>textarea.form-control, +.input-group-lg>textarea.input-group-addon, +select[multiple].input-lg, +textarea.input-lg { + height: auto +} + +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px +} + +.form-group-lg select.form-control { + height: 46px; + line-height: 46px +} + +.form-group-lg select[multiple].form-control, +.form-group-lg textarea.form-control { + height: auto +} + +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333 +} + +.has-feedback { + position: relative +} + +.has-feedback .form-control { + padding-right: 42.5px +} + +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none +} + +.form-group-lg .form-control+.form-control-feedback, +.input-group-lg+.form-control-feedback, +.input-group-lg>.form-control+.form-control-feedback, +.input-group-lg>.input-group-addon+.form-control-feedback, +.input-group-lg>.input-group-btn>.btn+.form-control-feedback, +.input-lg+.form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px +} + +.form-group-sm .form-control+.form-control-feedback, +.input-group-sm+.form-control-feedback, +.input-group-sm>.form-control+.form-control-feedback, +.input-group-sm>.input-group-addon+.form-control-feedback, +.input-group-sm>.input-group-btn>.btn+.form-control-feedback, +.input-sm+.form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px +} + +.has-success .checkbox, +.has-success .checkbox-inline, +.has-success.checkbox-inline label, +.has-success.checkbox label, +.has-success .control-label, +.has-success .help-block, +.has-success .radio, +.has-success .radio-inline, +.has-success.radio-inline label, +.has-success.radio label { + color: #3c763d +} + +.has-success .form-control { + border-color: #3c763d; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) +} + +.has-success .form-control:focus { + border-color: #2b542c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168 +} + +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d +} + +.has-success .form-control-feedback { + color: #3c763d +} + +.has-warning .checkbox, +.has-warning .checkbox-inline, +.has-warning.checkbox-inline label, +.has-warning.checkbox label, +.has-warning .control-label, +.has-warning .help-block, +.has-warning .radio, +.has-warning .radio-inline, +.has-warning.radio-inline label, +.has-warning.radio label { + color: #8a6d3b +} + +.has-warning .form-control { + border-color: #8a6d3b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) +} + +.has-warning .form-control:focus { + border-color: #66512c; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b +} + +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b +} + +.has-warning .form-control-feedback { + color: #8a6d3b +} + +.has-error .checkbox, +.has-error .checkbox-inline, +.has-error.checkbox-inline label, +.has-error.checkbox label, +.has-error .control-label, +.has-error .help-block, +.has-error .radio, +.has-error .radio-inline, +.has-error.radio-inline label, +.has-error.radio label { + color: #a94442 +} + +.has-error .form-control { + border-color: #a94442; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075) +} + +.has-error .form-control:focus { + border-color: #843534; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483 +} + +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442 +} + +.has-error .form-control-feedback { + color: #a94442 +} + +.has-feedback label~.form-control-feedback { + top: 25px +} + +.has-feedback label.sr-only~.form-control-feedback { + top: 0 +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373 +} + +@media(min-width:768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + .form-inline .form-control-static { + display: inline-block + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle + } + .form-inline .input-group .form-control, + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn { + width: auto + } + .form-inline .input-group>.form-control { + width: 100% + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle + } + .form-inline .checkbox, + .form-inline .radio { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle + } + .form-inline .checkbox label, + .form-inline .radio label { + padding-left: 0 + } + .form-inline .checkbox input[type=checkbox], + .form-inline .radio input[type=radio] { + position: relative; + margin-left: 0 + } + .form-inline .has-feedback .form-control-feedback { + top: 0 + } +} + +.form-horizontal .checkbox, +.form-horizontal .checkbox-inline, +.form-horizontal .radio, +.form-horizontal .radio-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0 +} + +.form-horizontal .checkbox, +.form-horizontal .radio { + min-height: 27px +} + +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px +} + +.form-horizontal .form-group:after, +.form-horizontal .form-group:before { + display: table; + content: " " +} + +.form-horizontal .form-group:after { + clear: both +} + +@media(min-width:768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right + } +} + +.form-horizontal .has-feedback .form-control-feedback { + right: 15px +} + +@media(min-width:768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px + } +} + +@media(min-width:768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px + } +} + +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: 400; + text-align: center; + white-space: nowrap; + vertical-align: middle; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + border-radius: 4px; + -webkit-user-select: none; + user-select: none +} + +.btn.active.focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn:active:focus, +.btn:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px +} + +.btn.focus, +.btn:focus, +.btn:hover { + color: #333; + text-decoration: none +} + +.btn.active, +.btn:active { + background-image: none; + outline: 0; + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + opacity: .65; + box-shadow: none +} + +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none +} + +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc +} + +.btn-default.focus, +.btn-default:focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c +} + +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad +} + +.btn-default.active, +.btn-default:active, +.open>.btn-default.dropdown-toggle { + color: #333; + background-color: #e6e6e6; + background-image: none; + border-color: #adadad +} + +.btn-default.active.focus, +.btn-default.active:focus, +.btn-default.active:hover, +.btn-default:active.focus, +.btn-default:active:focus, +.btn-default:active:hover, +.open>.btn-default.dropdown-toggle.focus, +.open>.btn-default.dropdown-toggle:focus, +.open>.btn-default.dropdown-toggle:hover { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c +} + +.btn-default.disabled.focus, +.btn-default.disabled:focus, +.btn-default.disabled:hover, +.btn-default[disabled].focus, +.btn-default[disabled]:focus, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default.focus, +fieldset[disabled] .btn-default:focus, +fieldset[disabled] .btn-default:hover { + background-color: #fff; + border-color: #ccc +} + +.btn-default .badge { + color: #fff; + background-color: #333 +} + +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4 +} + +.btn-primary.focus, +.btn-primary:focus { + color: #fff; + background-color: #286090; + border-color: #122b40 +} + +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74 +} + +.btn-primary.active, +.btn-primary:active, +.open>.btn-primary.dropdown-toggle { + color: #fff; + background-color: #286090; + background-image: none; + border-color: #204d74 +} + +.btn-primary.active.focus, +.btn-primary.active:focus, +.btn-primary.active:hover, +.btn-primary:active.focus, +.btn-primary:active:focus, +.btn-primary:active:hover, +.open>.btn-primary.dropdown-toggle.focus, +.open>.btn-primary.dropdown-toggle:focus, +.open>.btn-primary.dropdown-toggle:hover { + color: #fff; + background-color: #204d74; + border-color: #122b40 +} + +.btn-primary.disabled.focus, +.btn-primary.disabled:focus, +.btn-primary.disabled:hover, +.btn-primary[disabled].focus, +.btn-primary[disabled]:focus, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary.focus, +fieldset[disabled] .btn-primary:focus, +fieldset[disabled] .btn-primary:hover { + background-color: #337ab7; + border-color: #2e6da4 +} + +.btn-primary .badge { + color: #337ab7; + background-color: #fff +} + +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c +} + +.btn-success.focus, +.btn-success:focus { + color: #fff; + background-color: #449d44; + border-color: #255625 +} + +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439 +} + +.btn-success.active, +.btn-success:active, +.open>.btn-success.dropdown-toggle { + color: #fff; + background-color: #449d44; + background-image: none; + border-color: #398439 +} + +.btn-success.active.focus, +.btn-success.active:focus, +.btn-success.active:hover, +.btn-success:active.focus, +.btn-success:active:focus, +.btn-success:active:hover, +.open>.btn-success.dropdown-toggle.focus, +.open>.btn-success.dropdown-toggle:focus, +.open>.btn-success.dropdown-toggle:hover { + color: #fff; + background-color: #398439; + border-color: #255625 +} + +.btn-success.disabled.focus, +.btn-success.disabled:focus, +.btn-success.disabled:hover, +.btn-success[disabled].focus, +.btn-success[disabled]:focus, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success.focus, +fieldset[disabled] .btn-success:focus, +fieldset[disabled] .btn-success:hover { + background-color: #5cb85c; + border-color: #4cae4c +} + +.btn-success .badge { + color: #5cb85c; + background-color: #fff +} + +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da +} + +.btn-info.focus, +.btn-info:focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85 +} + +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc +} + +.btn-info.active, +.btn-info:active, +.open>.btn-info.dropdown-toggle { + color: #fff; + background-color: #31b0d5; + background-image: none; + border-color: #269abc +} + +.btn-info.active.focus, +.btn-info.active:focus, +.btn-info.active:hover, +.btn-info:active.focus, +.btn-info:active:focus, +.btn-info:active:hover, +.open>.btn-info.dropdown-toggle.focus, +.open>.btn-info.dropdown-toggle:focus, +.open>.btn-info.dropdown-toggle:hover { + color: #fff; + background-color: #269abc; + border-color: #1b6d85 +} + +.btn-info.disabled.focus, +.btn-info.disabled:focus, +.btn-info.disabled:hover, +.btn-info[disabled].focus, +.btn-info[disabled]:focus, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info.focus, +fieldset[disabled] .btn-info:focus, +fieldset[disabled] .btn-info:hover { + background-color: #5bc0de; + border-color: #46b8da +} + +.btn-info .badge { + color: #5bc0de; + background-color: #fff +} + +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236 +} + +.btn-warning.focus, +.btn-warning:focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d +} + +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512 +} + +.btn-warning.active, +.btn-warning:active, +.open>.btn-warning.dropdown-toggle { + color: #fff; + background-color: #ec971f; + background-image: none; + border-color: #d58512 +} + +.btn-warning.active.focus, +.btn-warning.active:focus, +.btn-warning.active:hover, +.btn-warning:active.focus, +.btn-warning:active:focus, +.btn-warning:active:hover, +.open>.btn-warning.dropdown-toggle.focus, +.open>.btn-warning.dropdown-toggle:focus, +.open>.btn-warning.dropdown-toggle:hover { + color: #fff; + background-color: #d58512; + border-color: #985f0d +} + +.btn-warning.disabled.focus, +.btn-warning.disabled:focus, +.btn-warning.disabled:hover, +.btn-warning[disabled].focus, +.btn-warning[disabled]:focus, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning.focus, +fieldset[disabled] .btn-warning:focus, +fieldset[disabled] .btn-warning:hover { + background-color: #f0ad4e; + border-color: #eea236 +} + +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff +} + +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a +} + +.btn-danger.focus, +.btn-danger:focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19 +} + +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925 +} + +.btn-danger.active, +.btn-danger:active, +.open>.btn-danger.dropdown-toggle { + color: #fff; + background-color: #c9302c; + background-image: none; + border-color: #ac2925 +} + +.btn-danger.active.focus, +.btn-danger.active:focus, +.btn-danger.active:hover, +.btn-danger:active.focus, +.btn-danger:active:focus, +.btn-danger:active:hover, +.open>.btn-danger.dropdown-toggle.focus, +.open>.btn-danger.dropdown-toggle:focus, +.open>.btn-danger.dropdown-toggle:hover { + color: #fff; + background-color: #ac2925; + border-color: #761c19 +} + +.btn-danger.disabled.focus, +.btn-danger.disabled:focus, +.btn-danger.disabled:hover, +.btn-danger[disabled].focus, +.btn-danger[disabled]:focus, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger.focus, +fieldset[disabled] .btn-danger:focus, +fieldset[disabled] .btn-danger:hover { + background-color: #d9534f; + border-color: #d43f3a +} + +.btn-danger .badge { + color: #d9534f; + background-color: #fff +} + +.btn-link { + font-weight: 400; + color: #337ab7; + border-radius: 0 +} + +.btn-link, +.btn-link.active, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: initial; + box-shadow: none +} + +.btn-link, +.btn-link:active, +.btn-link:focus, +.btn-link:hover { + border-color: transparent +} + +.btn-link:focus, +.btn-link:hover { + color: #23527c; + text-decoration: underline; + background-color: initial +} + +.btn-link[disabled]:focus, +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:focus, +fieldset[disabled] .btn-link:hover { + color: #777; + text-decoration: none +} + +.btn-group-lg>.btn, +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px +} + +.btn-group-sm>.btn, +.btn-sm { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.btn-group-xs>.btn, +.btn-xs { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px +} + +.btn-block { + display: block; + width: 100% +} + +.btn-block+.btn-block { + margin-top: 5px +} + +input[type=button].btn-block, +input[type=reset].btn-block, +input[type=submit].btn-block { + width: 100% +} + +.fade { + opacity: 0; + transition: opacity .15s linear +} + +.fade.in { + opacity: 1 +} + +.collapse { + display: none +} + +.collapse.in { + display: block +} + +tr.collapse.in { + display: table-row +} + +tbody.collapse.in { + display: table-row-group +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + transition-property: height, visibility; + transition-duration: .35s; + transition-timing-function: ease +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid\9; + border-right: 4px solid transparent; + border-left: 4px solid transparent +} + +.dropdown, +.dropup { + position: relative +} + +.dropdown-toggle:focus { + outline: 0 +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + box-shadow: 0 6px 12px rgba(0, 0, 0, .175) +} + +.dropdown-menu.pull-right { + right: 0; + left: auto +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5 +} + +.dropdown-menu>li>a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: 400; + line-height: 1.428571429; + color: #333; + white-space: nowrap +} + +.dropdown-menu>li>a:focus, +.dropdown-menu>li>a:hover { + color: #262626; + text-decoration: none; + background-color: #f5f5f5 +} + +.dropdown-menu>.active>a, +.dropdown-menu>.active>a:focus, +.dropdown-menu>.active>a:hover { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0 +} + +.dropdown-menu>.disabled>a, +.dropdown-menu>.disabled>a:focus, +.dropdown-menu>.disabled>a:hover { + color: #777 +} + +.dropdown-menu>.disabled>a:focus, +.dropdown-menu>.disabled>a:hover { + text-decoration: none; + cursor: not-allowed; + background-color: initial; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false) +} + +.open>.dropdown-menu { + display: block +} + +.open>a { + outline: 0 +} + +.dropdown-menu-right { + right: 0; + left: auto +} + +.dropdown-menu-left { + right: auto; + left: 0 +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #777; + white-space: nowrap +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990 +} + +.pull-right>.dropdown-menu { + right: 0; + left: auto +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid\9 +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px +} + +@media(min-width:768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto + } + .navbar-right .dropdown-menu-left { + left: 0; + right: auto + } +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle +} + +.btn-group-vertical>.btn, +.btn-group>.btn { + position: relative; + float: left +} + +.btn-group-vertical>.btn.active, +.btn-group-vertical>.btn:active, +.btn-group-vertical>.btn:focus, +.btn-group-vertical>.btn:hover, +.btn-group>.btn.active, +.btn-group>.btn:active, +.btn-group>.btn:focus, +.btn-group>.btn:hover { + z-index: 2 +} + +.btn-group .btn+.btn, +.btn-group .btn+.btn-group, +.btn-group .btn-group+.btn, +.btn-group .btn-group+.btn-group { + margin-left: -1px +} + +.btn-toolbar { + margin-left: -5px +} + +.btn-toolbar:after, +.btn-toolbar:before { + display: table; + content: " " +} + +.btn-toolbar:after { + clear: both +} + +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left +} + +.btn-toolbar>.btn, +.btn-toolbar>.btn-group, +.btn-toolbar>.input-group { + margin-left: 5px +} + +.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0 +} + +.btn-group>.btn:first-child { + margin-left: 0 +} + +.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.btn-group>.btn:last-child:not(:first-child), +.btn-group>.dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group>.btn-group { + float: left +} + +.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn { + border-radius: 0 +} + +.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child, +.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0 +} + +.btn-group>.btn+.dropdown-toggle { + padding-right: 8px; + padding-left: 8px +} + +.btn-group-lg.btn-group>.btn+.dropdown-toggle, +.btn-group>.btn-lg+.dropdown-toggle { + padding-right: 12px; + padding-left: 12px +} + +.btn-group.open .dropdown-toggle { + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125) +} + +.btn-group.open .dropdown-toggle.btn-link { + box-shadow: none +} + +.btn .caret { + margin-left: 0 +} + +.btn-group-lg>.btn .caret, +.btn-lg .caret { + border-width: 5px 5px 0 +} + +.dropup .btn-group-lg>.btn .caret, +.dropup .btn-lg .caret { + border-width: 0 5px 5px +} + +.btn-group-vertical>.btn, +.btn-group-vertical>.btn-group, +.btn-group-vertical>.btn-group>.btn { + display: block; + float: none; + width: 100%; + max-width: 100% +} + +.btn-group-vertical>.btn-group:after, +.btn-group-vertical>.btn-group:before { + display: table; + content: " " +} + +.btn-group-vertical>.btn-group:after { + clear: both +} + +.btn-group-vertical>.btn-group>.btn { + float: none +} + +.btn-group-vertical>.btn+.btn, +.btn-group-vertical>.btn+.btn-group, +.btn-group-vertical>.btn-group+.btn, +.btn-group-vertical>.btn-group+.btn-group { + margin-top: -1px; + margin-left: 0 +} + +.btn-group-vertical>.btn:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.btn-group-vertical>.btn:first-child:not(:last-child) { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px +} + +.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn { + border-radius: 0 +} + +.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child, +.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: initial +} + +.btn-group-justified>.btn, +.btn-group-justified>.btn-group { + display: table-cell; + float: none; + width: 1% +} + +.btn-group-justified>.btn-group .btn { + width: 100% +} + +.btn-group-justified>.btn-group .dropdown-menu { + left: auto +} + +[data-toggle=buttons]>.btn-group>.btn input[type=checkbox], +[data-toggle=buttons]>.btn-group>.btn input[type=radio], +[data-toggle=buttons]>.btn input[type=checkbox], +[data-toggle=buttons]>.btn input[type=radio] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none +} + +.input-group { + position: relative; + display: table; + border-collapse: initial +} + +.input-group[class*=col-] { + float: none; + padding-right: 0; + padding-left: 0 +} + +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0 +} + +.input-group .form-control:focus { + z-index: 3 +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0 +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle +} + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: 400; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px +} + +.input-group-addon.input-sm, +.input-group-sm>.input-group-addon, +.input-group-sm>.input-group-btn>.input-group-addon.btn { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px +} + +.input-group-addon.input-lg, +.input-group-lg>.input-group-addon, +.input-group-lg>.input-group-btn>.input-group-addon.btn { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px +} + +.input-group-addon input[type=checkbox], +.input-group-addon input[type=radio] { + margin-top: 0 +} + +.input-group-addon:first-child, +.input-group-btn:first-child>.btn, +.input-group-btn:first-child>.btn-group>.btn, +.input-group-btn:first-child>.dropdown-toggle, +.input-group-btn:last-child>.btn-group:not(:last-child)>.btn, +.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle), +.input-group .form-control:first-child { + border-top-right-radius: 0; + border-bottom-right-radius: 0 +} + +.input-group-addon:first-child { + border-right: 0 +} + +.input-group-addon:last-child, +.input-group-btn:first-child>.btn-group:not(:first-child)>.btn, +.input-group-btn:first-child>.btn:not(:first-child), +.input-group-btn:last-child>.btn, +.input-group-btn:last-child>.btn-group>.btn, +.input-group-btn:last-child>.dropdown-toggle, +.input-group .form-control:last-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0 +} + +.input-group-addon:last-child { + border-left: 0 +} + +.input-group-btn { + font-size: 0; + white-space: nowrap +} + +.input-group-btn, +.input-group-btn>.btn { + position: relative +} + +.input-group-btn>.btn+.btn { + margin-left: -1px +} + +.input-group-btn>.btn:active, +.input-group-btn>.btn:focus, +.input-group-btn>.btn:hover { + z-index: 2 +} + +.input-group-btn:first-child>.btn, +.input-group-btn:first-child>.btn-group { + margin-right: -1px +} + +.input-group-btn:last-child>.btn, +.input-group-btn:last-child>.btn-group { + z-index: 2; + margin-left: -1px +} + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none +} + +.nav:after, +.nav:before { + display: table; + content: " " +} + +.nav:after { + clear: both +} + +.nav>li, +.nav>li>a { + position: relative; + display: block +} + +.nav>li>a { + padding: 10px 15px +} + +.nav>li>a:focus, +.nav>li>a:hover { + text-decoration: none; + background-color: #eee +} + +.nav>li.disabled>a { + color: #777 +} + +.nav>li.disabled>a:focus, +.nav>li.disabled>a:hover { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: initial +} + +.nav .open>a, +.nav .open>a:focus, +.nav .open>a:hover { + background-color: #eee; + border-color: #337ab7 +} + +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5 +} + +.nav>li>a>img { + max-width: none +} + +.nav-tabs { + border-bottom: 1px solid #ddd +} + +.nav-tabs>li { + float: left; + margin-bottom: -1px +} + +.nav-tabs>li>a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0 +} + +.nav-tabs>li>a:hover { + border-color: #eee #eee #ddd +} + +.nav-tabs>li.active>a, +.nav-tabs>li.active>a:focus, +.nav-tabs>li.active>a:hover { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid; + border-color: #ddd #ddd transparent +} + +.nav-pills>li { + float: left +} + +.nav-pills>li>a { + border-radius: 4px +} + +.nav-pills>li+li { + margin-left: 2px +} + +.nav-pills>li.active>a, +.nav-pills>li.active>a:focus, +.nav-pills>li.active>a:hover { + color: #fff; + background-color: #337ab7 +} + +.nav-stacked>li { + float: none +} + +.nav-stacked>li+li { + margin-top: 2px; + margin-left: 0 +} + +.nav-justified, +.nav-tabs.nav-justified { + width: 100% +} + +.nav-justified>li, +.nav-tabs.nav-justified>li { + float: none +} + +.nav-justified>li>a, +.nav-tabs.nav-justified>li>a { + margin-bottom: 5px; + text-align: center +} + +.nav-justified>.dropdown .dropdown-menu { + top: auto; + left: auto +} + +@media(min-width:768px) { + .nav-justified>li, + .nav-tabs.nav-justified>li { + display: table-cell; + width: 1% + } + .nav-justified>li>a, + .nav-tabs.nav-justified>li>a { + margin-bottom: 0 + } +} + +.nav-tabs-justified, +.nav-tabs.nav-justified { + border-bottom: 0 +} + +.nav-tabs-justified>li>a, +.nav-tabs.nav-justified>li>a { + margin-right: 0; + border-radius: 4px +} + +.nav-tabs-justified>.active>a, +.nav-tabs-justified>.active>a:focus, +.nav-tabs-justified>.active>a:hover, +.nav-tabs.nav-justified>.active>a { + border: 1px solid #ddd +} + +@media(min-width:768px) { + .nav-tabs-justified>li>a, + .nav-tabs.nav-justified>li>a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0 + } + .nav-tabs-justified>.active>a, + .nav-tabs-justified>.active>a:focus, + .nav-tabs-justified>.active>a:hover, + .nav-tabs.nav-justified>.active>a { + border-bottom-color: #fff + } +} + +.tab-content>.tab-pane { + display: none +} + +.tab-content>.active { + display: block +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent +} + +.navbar:after, +.navbar:before { + display: table; + content: " " +} + +.navbar:after { + clear: both +} + +@media(min-width:768px) { + .navbar { + border-radius: 4px + } +} + +.navbar-header:after, +.navbar-header:before { + display: table; + content: " " +} + +.navbar-header:after { + clear: both +} + +@media(min-width:768px) { + .navbar-header { + float: left + } +} + +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .1); + -webkit-overflow-scrolling: touch +} + +.navbar-collapse:after, +.navbar-collapse:before { + display: table; + content: " " +} + +.navbar-collapse:after { + clear: both +} + +.navbar-collapse.in { + overflow-y: auto +} + +@media(min-width:768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important + } + .navbar-collapse.in { + overflow-y: visible + } + .navbar-fixed-bottom .navbar-collapse, + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse { + padding-right: 0; + padding-left: 0 + } +} + +.navbar-fixed-bottom, +.navbar-fixed-top { + position: fixed; + right: 0; + left: 0; + z-index: 1030 +} + +.navbar-fixed-bottom .navbar-collapse, +.navbar-fixed-top .navbar-collapse { + max-height: 340px +} + +@media(max-device-width:480px)and (orientation:landscape) { + .navbar-fixed-bottom .navbar-collapse, + .navbar-fixed-top .navbar-collapse { + max-height: 200px + } +} + +@media(min-width:768px) { + .navbar-fixed-bottom, + .navbar-fixed-top { + border-radius: 0 + } +} + +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0 +} + +.container-fluid>.navbar-collapse, +.container-fluid>.navbar-header, +.container>.navbar-collapse, +.container>.navbar-header { + margin-right: -15px; + margin-left: -15px +} + +@media(min-width:768px) { + .container-fluid>.navbar-collapse, + .container-fluid>.navbar-header, + .container>.navbar-collapse, + .container>.navbar-header { + margin-right: 0; + margin-left: 0 + } +} + +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px +} + +@media(min-width:768px) { + .navbar-static-top { + border-radius: 0 + } +} + +.navbar-brand { + float: left; + height: 50px; + padding: 15px; + font-size: 18px; + line-height: 20px +} + +.navbar-brand:focus, +.navbar-brand:hover { + text-decoration: none +} + +.navbar-brand>img { + display: block +} + +@media(min-width:768px) { + .navbar>.container-fluid .navbar-brand, + .navbar>.container .navbar-brand { + margin-left: -15px + } +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-right: 15px; + margin-top: 8px; + margin-bottom: 8px; + background-color: initial; + background-image: none; + border: 1px solid transparent; + border-radius: 4px +} + +.navbar-toggle:focus { + outline: 0 +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px +} + +.navbar-toggle .icon-bar+.icon-bar { + margin-top: 4px +} + +@media(min-width:768px) { + .navbar-toggle { + display: none + } +} + +.navbar-nav { + margin: 7.5px -15px +} + +.navbar-nav>li>a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px +} + +@media(max-width:767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: initial; + border: 0; + box-shadow: none + } + .navbar-nav .open .dropdown-menu .dropdown-header, + .navbar-nav .open .dropdown-menu>li>a { + padding: 5px 15px 5px 25px + } + .navbar-nav .open .dropdown-menu>li>a { + line-height: 20px + } + .navbar-nav .open .dropdown-menu>li>a:focus, + .navbar-nav .open .dropdown-menu>li>a:hover { + background-image: none + } +} + +@media(min-width:768px) { + .navbar-nav { + float: left; + margin: 0 + } + .navbar-nav>li { + float: left + } + .navbar-nav>li>a { + padding-top: 15px; + padding-bottom: 15px + } +} + +.navbar-form { + padding: 10px 15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .1), 0 1px 0 hsla(0, 0%, 100%, .1); + margin: 8px -15px +} + +@media(min-width:768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle + } + .navbar-form .form-control-static { + display: inline-block + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle + } + .navbar-form .input-group .form-control, + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn { + width: auto + } + .navbar-form .input-group>.form-control { + width: 100% + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle + } + .navbar-form .checkbox, + .navbar-form .radio { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle + } + .navbar-form .checkbox label, + .navbar-form .radio label { + padding-left: 0 + } + .navbar-form .checkbox input[type=checkbox], + .navbar-form .radio input[type=radio] { + position: relative; + margin-left: 0 + } + .navbar-form .has-feedback .form-control-feedback { + top: 0 + } +} + +@media(max-width:767px) { + .navbar-form .form-group { + margin-bottom: 5px + } + .navbar-form .form-group:last-child { + margin-bottom: 0 + } +} + +@media(min-width:768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + box-shadow: none + } +} + +.navbar-nav>li>.dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0 +} + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px +} + +.btn-group-sm>.navbar-btn.btn, +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px +} + +.btn-group-xs>.navbar-btn.btn, +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px +} + +.navbar-text { + margin-top: 15px; + margin-bottom: 15px +} + +@media(min-width:768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px + } +} + +@media(min-width:768px) { + .navbar-left { + float: left !important + } + .navbar-right { + float: right !important; + margin-right: -15px + } + .navbar-right~.navbar-right { + margin-right: 0 + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7 +} + +.navbar-default .navbar-brand { + color: #777 +} + +.navbar-default .navbar-brand:focus, +.navbar-default .navbar-brand:hover { + color: #5e5e5e; + background-color: initial +} + +.navbar-default .navbar-nav>li>a, +.navbar-default .navbar-text { + color: #777 +} + +.navbar-default .navbar-nav>li>a:focus, +.navbar-default .navbar-nav>li>a:hover { + color: #333; + background-color: initial +} + +.navbar-default .navbar-nav>.active>a, +.navbar-default .navbar-nav>.active>a:focus, +.navbar-default .navbar-nav>.active>a:hover { + color: #555; + background-color: #e7e7e7 +} + +.navbar-default .navbar-nav>.disabled>a, +.navbar-default .navbar-nav>.disabled>a:focus, +.navbar-default .navbar-nav>.disabled>a:hover { + color: #ccc; + background-color: initial +} + +.navbar-default .navbar-nav>.open>a, +.navbar-default .navbar-nav>.open>a:focus, +.navbar-default .navbar-nav>.open>a:hover { + color: #555; + background-color: #e7e7e7 +} + +@media(max-width:767px) { + .navbar-default .navbar-nav .open .dropdown-menu>li>a { + color: #777 + } + .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus, + .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover { + color: #333; + background-color: initial + } + .navbar-default .navbar-nav .open .dropdown-menu>.active>a, + .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus, + .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover { + color: #555; + background-color: #e7e7e7 + } + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a, + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus, + .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover { + color: #ccc; + background-color: initial + } +} + +.navbar-default .navbar-toggle { + border-color: #ddd +} + +.navbar-default .navbar-toggle:focus, +.navbar-default .navbar-toggle:hover { + background-color: #ddd +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #888 +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7 +} + +.navbar-default .navbar-link { + color: #777 +} + +.navbar-default .navbar-link:hover { + color: #333 +} + +.navbar-default .btn-link { + color: #777 +} + +.navbar-default .btn-link:focus, +.navbar-default .btn-link:hover { + color: #333 +} + +.navbar-default .btn-link[disabled]:focus, +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:focus, +fieldset[disabled] .navbar-default .btn-link:hover { + color: #ccc +} + +.navbar-inverse { + background-color: #222; + border-color: #090909 +} + +.navbar-inverse .navbar-brand { + color: #9d9d9d +} + +.navbar-inverse .navbar-brand:focus, +.navbar-inverse .navbar-brand:hover { + color: #fff; + background-color: initial +} + +.navbar-inverse .navbar-nav>li>a, +.navbar-inverse .navbar-text { + color: #9d9d9d +} + +.navbar-inverse .navbar-nav>li>a:focus, +.navbar-inverse .navbar-nav>li>a:hover { + color: #fff; + background-color: initial +} + +.navbar-inverse .navbar-nav>.active>a, +.navbar-inverse .navbar-nav>.active>a:focus, +.navbar-inverse .navbar-nav>.active>a:hover { + color: #fff; + background-color: #090909 +} + +.navbar-inverse .navbar-nav>.disabled>a, +.navbar-inverse .navbar-nav>.disabled>a:focus, +.navbar-inverse .navbar-nav>.disabled>a:hover { + color: #444; + background-color: initial +} + +.navbar-inverse .navbar-nav>.open>a, +.navbar-inverse .navbar-nav>.open>a:focus, +.navbar-inverse .navbar-nav>.open>a:hover { + color: #fff; + background-color: #090909 +} + +@media(max-width:767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header { + border-color: #090909 + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #090909 + } + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a { + color: #9d9d9d + } + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus, + .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover { + color: #fff; + background-color: initial + } + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a, + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus, + .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover { + color: #fff; + background-color: #090909 + } + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a, + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus, + .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover { + color: #444; + background-color: initial + } +} + +.navbar-inverse .navbar-toggle { + border-color: #333 +} + +.navbar-inverse .navbar-toggle:focus, +.navbar-inverse .navbar-toggle:hover { + background-color: #333 +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010 +} + +.navbar-inverse .navbar-link { + color: #9d9d9d +} + +.navbar-inverse .navbar-link:hover { + color: #fff +} + +.navbar-inverse .btn-link { + color: #9d9d9d +} + +.navbar-inverse .btn-link:focus, +.navbar-inverse .btn-link:hover { + color: #fff +} + +.navbar-inverse .btn-link[disabled]:focus, +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:focus, +fieldset[disabled] .navbar-inverse .btn-link:hover { + color: #444 +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px +} + +.breadcrumb>li { + display: inline-block +} + +.breadcrumb>li+li:before { + padding: 0 5px; + color: #ccc; + content: "/ " +} + +.breadcrumb>.active { + color: #777 +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px +} + +.pagination>li { + display: inline +} + +.pagination>li>a, +.pagination>li>span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd +} + +.pagination>li>a:focus, +.pagination>li>a:hover, +.pagination>li>span:focus, +.pagination>li>span:hover { + z-index: 2; + color: #23527c; + background-color: #eee; + border-color: #ddd +} + +.pagination>li:first-child>a, +.pagination>li:first-child>span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px +} + +.pagination>li:last-child>a, +.pagination>li:last-child>span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px +} + +.pagination>.active>a, +.pagination>.active>a:focus, +.pagination>.active>a:hover, +.pagination>.active>span, +.pagination>.active>span:focus, +.pagination>.active>span:hover { + z-index: 3; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7 +} + +.pagination>.disabled>a, +.pagination>.disabled>a:focus, +.pagination>.disabled>a:hover, +.pagination>.disabled>span, +.pagination>.disabled>span:focus, +.pagination>.disabled>span:hover { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd +} + +.pagination-lg>li>a, +.pagination-lg>li>span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333 +} + +.pagination-lg>li:first-child>a, +.pagination-lg>li:first-child>span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px +} + +.pagination-lg>li:last-child>a, +.pagination-lg>li:last-child>span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px +} + +.pagination-sm>li>a, +.pagination-sm>li>span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5 +} + +.pagination-sm>li:first-child>a, +.pagination-sm>li:first-child>span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px +} + +.pagination-sm>li:last-child>a, +.pagination-sm>li:last-child>span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none +} + +.pager:after, +.pager:before { + display: table; + content: " " +} + +.pager:after { + clear: both +} + +.pager li { + display: inline +} + +.pager li>a, +.pager li>span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px +} + +.pager li>a:focus, +.pager li>a:hover { + text-decoration: none; + background-color: #eee +} + +.pager .next>a, +.pager .next>span { + float: right +} + +.pager .previous>a, +.pager .previous>span { + float: left +} + +.pager .disabled>a, +.pager .disabled>a:focus, +.pager .disabled>a:hover, +.pager .disabled>span { + color: #777; + cursor: not-allowed; + background-color: #fff +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: initial; + border-radius: .25em +} + +.label:empty { + display: none +} + +.btn .label { + position: relative; + top: -1px +} + +a.label:focus, +a.label:hover { + color: #fff; + text-decoration: none; + cursor: pointer +} + +.label-default { + background-color: #777 +} + +.label-default[href]:focus, +.label-default[href]:hover { + background-color: #5e5e5e +} + +.label-primary { + background-color: #337ab7 +} + +.label-primary[href]:focus, +.label-primary[href]:hover { + background-color: #286090 +} + +.label-success { + background-color: #5cb85c +} + +.label-success[href]:focus, +.label-success[href]:hover { + background-color: #449d44 +} + +.label-info { + background-color: #5bc0de +} + +.label-info[href]:focus, +.label-info[href]:hover { + background-color: #31b0d5 +} + +.label-warning { + background-color: #f0ad4e +} + +.label-warning[href]:focus, +.label-warning[href]:hover { + background-color: #ec971f +} + +.label-danger { + background-color: #d9534f +} + +.label-danger[href]:focus, +.label-danger[href]:hover { + background-color: #c9302c +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777; + border-radius: 10px +} + +.badge:empty { + display: none +} + +.btn .badge { + position: relative; + top: -1px +} + +.btn-group-xs>.btn .badge, +.btn-xs .badge { + top: 0; + padding: 1px 5px +} + +.list-group-item.active>.badge, +.nav-pills>.active>a>.badge { + color: #337ab7; + background-color: #fff +} + +.list-group-item>.badge { + float: right +} + +.list-group-item>.badge+.badge { + margin-right: 5px +} + +.nav-pills>li>a>.badge { + margin-left: 3px +} + +a.badge:focus, +a.badge:hover { + color: #fff; + text-decoration: none; + cursor: pointer +} + +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + background-color: #eee +} + +.jumbotron, +.jumbotron .h1, +.jumbotron h1 { + color: inherit +} + +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200 +} + +.jumbotron>hr { + border-top-color: #d5d5d5 +} + +.container-fluid .jumbotron, +.container .jumbotron { + padding-right: 15px; + padding-left: 15px; + border-radius: 6px +} + +.jumbotron .container { + max-width: 100% +} + +@media screen and (min-width:768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px + } + .container-fluid .jumbotron, + .container .jumbotron { + padding-right: 60px; + padding-left: 60px + } + .jumbotron .h1, + .jumbotron h1 { + font-size: 63px + } +} + +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.428571429; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + transition: border .2s ease-in-out +} + +.thumbnail>img, +.thumbnail a>img { + display: block; + max-width: 100%; + height: auto; + margin-right: auto; + margin-left: auto +} + +.thumbnail .caption { + padding: 9px; + color: #333 +} + +a.thumbnail.active, +a.thumbnail:focus, +a.thumbnail:hover { + border-color: #337ab7 +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px +} + +.alert h4 { + margin-top: 0; + color: inherit +} + +.alert .alert-link { + font-weight: 700 +} + +.alert>p, +.alert>ul { + margin-bottom: 0 +} + +.alert>p+p { + margin-top: 5px +} + +.alert-dismissable, +.alert-dismissible { + padding-right: 35px +} + +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit +} + +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6 +} + +.alert-success hr { + border-top-color: #c9e2b3 +} + +.alert-success .alert-link { + color: #2b542c +} + +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1 +} + +.alert-info hr { + border-top-color: #a6e1ec +} + +.alert-info .alert-link { + color: #245269 +} + +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc +} + +.alert-warning hr { + border-top-color: #f7e1b5 +} + +.alert-warning .alert-link { + color: #66512c +} + +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1 +} + +.alert-danger hr { + border-top-color: #e4b9c0 +} + +.alert-danger .alert-link { + color: #843534 +} + +@keyframes progress-bar-stripes { + 0% { + background-position: 40px 0 + } + to { + background-position: 0 0 + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1) +} + +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + transition: width .6s ease +} + +.progress-bar-striped, +.progress-striped .progress-bar { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent); + background-size: 40px 40px +} + +.progress-bar.active, +.progress.active .progress-bar { + animation: progress-bar-stripes 2s linear infinite +} + +.progress-bar-success { + background-color: #5cb85c +} + +.progress-striped .progress-bar-success { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent) +} + +.progress-bar-info { + background-color: #5bc0de +} + +.progress-striped .progress-bar-info { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent) +} + +.progress-bar-warning { + background-color: #f0ad4e +} + +.progress-striped .progress-bar-warning { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent) +} + +.progress-bar-danger { + background-color: #d9534f +} + +.progress-striped .progress-bar-danger { + background-image: linear-gradient(45deg, hsla(0, 0%, 100%, .15) 25%, transparent 0, transparent 50%, hsla(0, 0%, 100%, .15) 0, hsla(0, 0%, 100%, .15) 75%, transparent 0, transparent) +} + +.media { + margin-top: 15px +} + +.media:first-child { + margin-top: 0 +} + +.media, +.media-body { + overflow: hidden; + zoom: 1 +} + +.media-body { + width: 10000px +} + +.media-object { + display: block +} + +.media-object.img-thumbnail { + max-width: none +} + +.media-right, +.media>.pull-right { + padding-left: 10px +} + +.media-left, +.media>.pull-left { + padding-right: 10px +} + +.media-body, +.media-left, +.media-right { + display: table-cell; + vertical-align: top +} + +.media-middle { + vertical-align: middle +} + +.media-bottom { + vertical-align: bottom +} + +.media-heading { + margin-top: 0; + margin-bottom: 5px +} + +.media-list { + padding-left: 0; + list-style: none +} + +.list-group { + padding-left: 0; + margin-bottom: 20px +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd +} + +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px +} + +.list-group-item.disabled, +.list-group-item.disabled:focus, +.list-group-item.disabled:hover { + color: #777; + cursor: not-allowed; + background-color: #eee +} + +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading { + color: inherit +} + +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text { + color: #777 +} + +.list-group-item.active, +.list-group-item.active:focus, +.list-group-item.active:hover { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7 +} + +.list-group-item.active .list-group-item-heading, +.list-group-item.active .list-group-item-heading>.small, +.list-group-item.active .list-group-item-heading>small, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading>.small, +.list-group-item.active:focus .list-group-item-heading>small, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading>.small, +.list-group-item.active:hover .list-group-item-heading>small { + color: inherit +} + +.list-group-item.active .list-group-item-text, +.list-group-item.active:focus .list-group-item-text, +.list-group-item.active:hover .list-group-item-text { + color: #c7ddef +} + +a.list-group-item, +button.list-group-item { + color: #555 +} + +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333 +} + +a.list-group-item:focus, +a.list-group-item:hover, +button.list-group-item:focus, +button.list-group-item:hover { + color: #555; + text-decoration: none; + background-color: #f5f5f5 +} + +button.list-group-item { + width: 100%; + text-align: left +} + +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8 +} + +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d +} + +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit +} + +a.list-group-item-success:focus, +a.list-group-item-success:hover, +button.list-group-item-success:focus, +button.list-group-item-success:hover { + color: #3c763d; + background-color: #d0e9c6 +} + +a.list-group-item-success.active, +a.list-group-item-success.active:focus, +a.list-group-item-success.active:hover, +button.list-group-item-success.active, +button.list-group-item-success.active:focus, +button.list-group-item-success.active:hover { + color: #fff; + background-color: #3c763d; + border-color: #3c763d +} + +.list-group-item-info { + color: #31708f; + background-color: #d9edf7 +} + +a.list-group-item-info, +button.list-group-item-info { + color: #31708f +} + +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit +} + +a.list-group-item-info:focus, +a.list-group-item-info:hover, +button.list-group-item-info:focus, +button.list-group-item-info:hover { + color: #31708f; + background-color: #c4e3f3 +} + +a.list-group-item-info.active, +a.list-group-item-info.active:focus, +a.list-group-item-info.active:hover, +button.list-group-item-info.active, +button.list-group-item-info.active:focus, +button.list-group-item-info.active:hover { + color: #fff; + background-color: #31708f; + border-color: #31708f +} + +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3 +} + +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b +} + +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit +} + +a.list-group-item-warning:focus, +a.list-group-item-warning:hover, +button.list-group-item-warning:focus, +button.list-group-item-warning:hover { + color: #8a6d3b; + background-color: #faf2cc +} + +a.list-group-item-warning.active, +a.list-group-item-warning.active:focus, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active, +button.list-group-item-warning.active:focus, +button.list-group-item-warning.active:hover { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b +} + +.list-group-item-danger { + color: #a94442; + background-color: #f2dede +} + +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442 +} + +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit +} + +a.list-group-item-danger:focus, +a.list-group-item-danger:hover, +button.list-group-item-danger:focus, +button.list-group-item-danger:hover { + color: #a94442; + background-color: #ebcccc +} + +a.list-group-item-danger.active, +a.list-group-item-danger.active:focus, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active, +button.list-group-item-danger.active:focus, +button.list-group-item-danger.active:hover { + color: #fff; + background-color: #a94442; + border-color: #a94442 +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3 +} + +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: 0 1px 1px rgba(0, 0, 0, .05) +} + +.panel-body { + padding: 15px +} + +.panel-body:after, +.panel-body:before { + display: table; + content: " " +} + +.panel-body:after { + clear: both +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px +} + +.panel-heading>.dropdown .dropdown-toggle, +.panel-title { + color: inherit +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px +} + +.panel-title>.small, +.panel-title>.small>a, +.panel-title>a, +.panel-title>small, +.panel-title>small>a { + color: inherit +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px +} + +.panel>.list-group, +.panel>.panel-collapse>.list-group { + margin-bottom: 0 +} + +.panel>.list-group .list-group-item, +.panel>.panel-collapse>.list-group .list-group-item { + border-width: 1px 0; + border-radius: 0 +} + +.panel>.list-group:first-child .list-group-item:first-child, +.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px +} + +.panel>.list-group:last-child .list-group-item:last-child, +.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px +} + +.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0 +} + +.list-group+.panel-footer, +.panel-heading+.list-group .list-group-item:first-child { + border-top-width: 0 +} + +.panel>.panel-collapse>.table, +.panel>.table, +.panel>.table-responsive>.table { + margin-bottom: 0 +} + +.panel>.panel-collapse>.table caption, +.panel>.table-responsive>.table caption, +.panel>.table caption { + padding-right: 15px; + padding-left: 15px +} + +.panel>.table-responsive:first-child>.table:first-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child, +.panel>.table:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child, +.panel>.table:first-child>thead:first-child>tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px +} + +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child, +.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child, +.panel>.table:first-child>thead:first-child>tr:first-child td:first-child, +.panel>.table:first-child>thead:first-child>tr:first-child th:first-child { + border-top-left-radius: 3px +} + +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child, +.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child, +.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child, +.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child, +.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child, +.panel>.table:first-child>thead:first-child>tr:first-child td:last-child, +.panel>.table:first-child>thead:first-child>tr:first-child th:last-child { + border-top-right-radius: 3px +} + +.panel>.table-responsive:last-child>.table:last-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child, +.panel>.table:last-child, +.panel>.table:last-child>tbody:last-child>tr:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px +} + +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child, +.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child, +.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child { + border-bottom-left-radius: 3px +} + +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child, +.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child, +.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child, +.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child, +.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child, +.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child { + border-bottom-right-radius: 3px +} + +.panel>.panel-body+.table, +.panel>.panel-body+.table-responsive, +.panel>.table+.panel-body, +.panel>.table-responsive+.panel-body { + border-top: 1px solid #ddd +} + +.panel>.table>tbody:first-child>tr:first-child td, +.panel>.table>tbody:first-child>tr:first-child th { + border-top: 0 +} + +.panel>.table-bordered, +.panel>.table-responsive>.table-bordered { + border: 0 +} + +.panel>.table-bordered>tbody>tr>td:first-child, +.panel>.table-bordered>tbody>tr>th:first-child, +.panel>.table-bordered>tfoot>tr>td:first-child, +.panel>.table-bordered>tfoot>tr>th:first-child, +.panel>.table-bordered>thead>tr>td:first-child, +.panel>.table-bordered>thead>tr>th:first-child, +.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child, +.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child, +.panel>.table-responsive>.table-bordered>thead>tr>td:first-child, +.panel>.table-responsive>.table-bordered>thead>tr>th:first-child { + border-left: 0 +} + +.panel>.table-bordered>tbody>tr>td:last-child, +.panel>.table-bordered>tbody>tr>th:last-child, +.panel>.table-bordered>tfoot>tr>td:last-child, +.panel>.table-bordered>tfoot>tr>th:last-child, +.panel>.table-bordered>thead>tr>td:last-child, +.panel>.table-bordered>thead>tr>th:last-child, +.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child, +.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child, +.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child, +.panel>.table-responsive>.table-bordered>thead>tr>td:last-child, +.panel>.table-responsive>.table-bordered>thead>tr>th:last-child { + border-right: 0 +} + +.panel>.table-bordered>tbody>tr:first-child>td, +.panel>.table-bordered>tbody>tr:first-child>th, +.panel>.table-bordered>tbody>tr:last-child>td, +.panel>.table-bordered>tbody>tr:last-child>th, +.panel>.table-bordered>tfoot>tr:last-child>td, +.panel>.table-bordered>tfoot>tr:last-child>th, +.panel>.table-bordered>thead>tr:first-child>td, +.panel>.table-bordered>thead>tr:first-child>th, +.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td, +.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th, +.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td, +.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th, +.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td, +.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th, +.panel>.table-responsive>.table-bordered>thead>tr:first-child>td, +.panel>.table-responsive>.table-bordered>thead>tr:first-child>th { + border-bottom: 0 +} + +.panel>.table-responsive { + margin-bottom: 0; + border: 0 +} + +.panel-group { + margin-bottom: 20px +} + +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px +} + +.panel-group .panel+.panel { + margin-top: 5px +} + +.panel-group .panel-heading { + border-bottom: 0 +} + +.panel-group .panel-heading+.panel-collapse>.list-group, +.panel-group .panel-heading+.panel-collapse>.panel-body { + border-top: 1px solid #ddd +} + +.panel-group .panel-footer { + border-top: 0 +} + +.panel-group .panel-footer+.panel-collapse .panel-body { + border-bottom: 1px solid #ddd +} + +.panel-default { + border-color: #ddd +} + +.panel-default>.panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd +} + +.panel-default>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #ddd +} + +.panel-default>.panel-heading .badge { + color: #f5f5f5; + background-color: #333 +} + +.panel-default>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #ddd +} + +.panel-primary { + border-color: #337ab7 +} + +.panel-primary>.panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7 +} + +.panel-primary>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #337ab7 +} + +.panel-primary>.panel-heading .badge { + color: #337ab7; + background-color: #fff +} + +.panel-primary>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #337ab7 +} + +.panel-success { + border-color: #d6e9c6 +} + +.panel-success>.panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6 +} + +.panel-success>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #d6e9c6 +} + +.panel-success>.panel-heading .badge { + color: #dff0d8; + background-color: #3c763d +} + +.panel-success>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #d6e9c6 +} + +.panel-info { + border-color: #bce8f1 +} + +.panel-info>.panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1 +} + +.panel-info>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #bce8f1 +} + +.panel-info>.panel-heading .badge { + color: #d9edf7; + background-color: #31708f +} + +.panel-info>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #bce8f1 +} + +.panel-warning { + border-color: #faebcc +} + +.panel-warning>.panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc +} + +.panel-warning>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #faebcc +} + +.panel-warning>.panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b +} + +.panel-warning>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #faebcc +} + +.panel-danger { + border-color: #ebccd1 +} + +.panel-danger>.panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1 +} + +.panel-danger>.panel-heading+.panel-collapse>.panel-body { + border-top-color: #ebccd1 +} + +.panel-danger>.panel-heading .badge { + color: #f2dede; + background-color: #a94442 +} + +.panel-danger>.panel-footer+.panel-collapse>.panel-body { + border-bottom-color: #ebccd1 +} + +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden +} + +.embed-responsive .embed-responsive-item, +.embed-responsive embed, +.embed-responsive iframe, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0 +} + +.embed-responsive-16by9 { + padding-bottom: 56.25% +} + +.embed-responsive-4by3 { + padding-bottom: 75% +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05) +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15) +} + +.well-lg { + padding: 24px; + border-radius: 6px +} + +.well-sm { + padding: 9px; + border-radius: 3px +} + +.close { + float: right; + font-size: 21px; + font-weight: 700; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2 +} + +.close:focus, +.close:hover { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5 +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none +} + +.modal, +.modal-open { + overflow: hidden +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + -webkit-overflow-scrolling: touch; + outline: 0 +} + +.modal.fade .modal-dialog { + transform: translateY(-25%); + transition: transform .3s ease-out +} + +.modal.in .modal-dialog { + transform: translate(0) +} + +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto +} + +.modal-dialog { + position: relative; + width: auto; + margin: 10px +} + +.modal-content { + position: relative; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + outline: 0 +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000 +} + +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0 +} + +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5 +} + +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5 +} + +.modal-header:after, +.modal-header:before { + display: table; + content: " " +} + +.modal-header:after { + clear: both +} + +.modal-header .close { + margin-top: -2px +} + +.modal-title { + margin: 0; + line-height: 1.428571429 +} + +.modal-body { + position: relative; + padding: 15px +} + +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5 +} + +.modal-footer:after, +.modal-footer:before { + display: table; + content: " " +} + +.modal-footer:after { + clear: both +} + +.modal-footer .btn+.btn { + margin-bottom: 0; + margin-left: 5px +} + +.modal-footer .btn-group .btn+.btn { + margin-left: -1px +} + +.modal-footer .btn-block+.btn-block { + margin-left: 0 +} + +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll +} + +@media(min-width:768px) { + .modal-dialog { + width: 600px; + margin: 30px auto + } + .modal-content { + box-shadow: 0 5px 15px rgba(0, 0, 0, .5) + } + .modal-sm { + width: 300px + } +} + +@media(min-width:992px) { + .modal-lg { + width: 900px + } +} + +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.428571429; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 12px; + filter: alpha(opacity=0); + opacity: 0 +} + +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9 +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000 +} + +.tooltip.top-left .tooltip-arrow { + right: 5px +} + +.tooltip.top-left .tooltip-arrow, +.tooltip.top-right .tooltip-arrow { + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000 +} + +.tooltip.top-right .tooltip-arrow { + left: 5px +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000 +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000 +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000 +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000 +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000 +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: Helvetica Neue, Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.428571429; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 14px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + box-shadow: 0 5px 10px rgba(0, 0, 0, .2) +} + +.popover.top { + margin-top: -10px +} + +.popover.right { + margin-left: 10px +} + +.popover.bottom { + margin-top: 10px +} + +.popover.left { + margin-left: -10px +} + +.popover>.arrow { + border-width: 11px +} + +.popover>.arrow, +.popover>.arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid +} + +.popover>.arrow:after { + content: ""; + border-width: 10px +} + +.popover.top>.arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0 +} + +.popover.top>.arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0 +} + +.popover.right>.arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0 +} + +.popover.right>.arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0 +} + +.popover.bottom>.arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25) +} + +.popover.bottom>.arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff +} + +.popover.left>.arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25) +} + +.popover.left>.arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0 +} + +.popover-content { + padding: 9px 14px +} + +.carousel, +.carousel-inner { + position: relative +} + +.carousel-inner { + width: 100%; + overflow: hidden +} + +.carousel-inner>.item { + position: relative; + display: none; + transition: left .6s ease-in-out +} + +.carousel-inner>.item>a>img, +.carousel-inner>.item>img { + display: block; + max-width: 100%; + height: auto; + line-height: 1 +} + +@media (-webkit-transform-3d), +(transform-3d) { + .carousel-inner>.item { + transition: transform .6s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + perspective: 1000px + } + .carousel-inner>.item.active.right, + .carousel-inner>.item.next { + transform: translate3d(100%, 0, 0); + left: 0 + } + .carousel-inner>.item.active.left, + .carousel-inner>.item.prev { + transform: translate3d(-100%, 0, 0); + left: 0 + } + .carousel-inner>.item.active, + .carousel-inner>.item.next.left, + .carousel-inner>.item.prev.right { + transform: translateZ(0); + left: 0 + } +} + +.carousel-inner>.active, +.carousel-inner>.next, +.carousel-inner>.prev { + display: block +} + +.carousel-inner>.active { + left: 0 +} + +.carousel-inner>.next, +.carousel-inner>.prev { + position: absolute; + top: 0; + width: 100% +} + +.carousel-inner>.next { + left: 100% +} + +.carousel-inner>.prev { + left: -100% +} + +.carousel-inner>.next.left, +.carousel-inner>.prev.right { + left: 0 +} + +.carousel-inner>.active.left { + left: -100% +} + +.carousel-inner>.active.right { + left: 100% +} + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + background-color: transparent; + filter: alpha(opacity=50); + opacity: .5 +} + +.carousel-control.left { + background-image: linear-gradient(90deg, rgba(0, 0, 0, .5) 0, rgba(0, 0, 0, .0001)); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000", endColorstr="#00000000", GradientType=1); + background-repeat: repeat-x +} + +.carousel-control.right { + right: 0; + left: auto; + background-image: linear-gradient(90deg, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .5)); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000", endColorstr="#80000000", GradientType=1); + background-repeat: repeat-x +} + +.carousel-control:focus, +.carousel-control:hover { + color: #fff; + text-decoration: none; + outline: 0; + filter: alpha(opacity=90); + opacity: .9 +} + +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right, +.carousel-control .icon-next, +.carousel-control .icon-prev { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px +} + +.carousel-control .glyphicon-chevron-left, +.carousel-control .icon-prev { + left: 50%; + margin-left: -10px +} + +.carousel-control .glyphicon-chevron-right, +.carousel-control .icon-next { + right: 50%; + margin-right: -10px +} + +.carousel-control .icon-next, +.carousel-control .icon-prev { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1 +} + +.carousel-control .icon-prev:before { + content: "‹" +} + +.carousel-control .icon-next:before { + content: "›" +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000\9; + background-color: transparent; + border: 1px solid #fff; + border-radius: 10px +} + +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6) +} + +.carousel-caption .btn { + text-shadow: none +} + +@media screen and (min-width:768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next, + .carousel-control .icon-prev { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px + } + .carousel-indicators { + bottom: 20px + } +} + +.clearfix:after, +.clearfix:before { + display: table; + content: " " +} + +.clearfix:after { + clear: both +} + +.center-block { + display: block; + margin-right: auto; + margin-left: auto +} + +.pull-right { + float: right !important +} + +.pull-left { + float: left !important +} + +.hide { + display: none !important +} + +.show { + display: block !important +} + +.invisible { + visibility: hidden +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: initial; + border: 0 +} + +.hidden { + display: none !important +} + +.affix { + position: fixed +} + +.visible-lg, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block, +.visible-md, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-sm, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-xs, +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block { + display: none !important +} + +@media(max-width:767px) { + .visible-xs { + display: block !important + } + table.visible-xs { + display: table !important + } + tr.visible-xs { + display: table-row !important + } + td.visible-xs, + th.visible-xs { + display: table-cell !important + } +} + +@media(max-width:767px) { + .visible-xs-block { + display: block !important + } +} + +@media(max-width:767px) { + .visible-xs-inline { + display: inline !important + } +} + +@media(max-width:767px) { + .visible-xs-inline-block { + display: inline-block !important + } +} + +@media(min-width:768px)and (max-width:991px) { + .visible-sm { + display: block !important + } + table.visible-sm { + display: table !important + } + tr.visible-sm { + display: table-row !important + } + td.visible-sm, + th.visible-sm { + display: table-cell !important + } +} + +@media(min-width:768px)and (max-width:991px) { + .visible-sm-block { + display: block !important + } +} + +@media(min-width:768px)and (max-width:991px) { + .visible-sm-inline { + display: inline !important + } +} + +@media(min-width:768px)and (max-width:991px) { + .visible-sm-inline-block { + display: inline-block !important + } +} + +@media(min-width:992px)and (max-width:1199px) { + .visible-md { + display: block !important + } + table.visible-md { + display: table !important + } + tr.visible-md { + display: table-row !important + } + td.visible-md, + th.visible-md { + display: table-cell !important + } +} + +@media(min-width:992px)and (max-width:1199px) { + .visible-md-block { + display: block !important + } +} + +@media(min-width:992px)and (max-width:1199px) { + .visible-md-inline { + display: inline !important + } +} + +@media(min-width:992px)and (max-width:1199px) { + .visible-md-inline-block { + display: inline-block !important + } +} + +@media(min-width:1200px) { + .visible-lg { + display: block !important + } + table.visible-lg { + display: table !important + } + tr.visible-lg { + display: table-row !important + } + td.visible-lg, + th.visible-lg { + display: table-cell !important + } +} + +@media(min-width:1200px) { + .visible-lg-block { + display: block !important + } +} + +@media(min-width:1200px) { + .visible-lg-inline { + display: inline !important + } +} + +@media(min-width:1200px) { + .visible-lg-inline-block { + display: inline-block !important + } +} + +@media(max-width:767px) { + .hidden-xs { + display: none !important + } +} + +@media(min-width:768px)and (max-width:991px) { + .hidden-sm { + display: none !important + } +} + +@media(min-width:992px)and (max-width:1199px) { + .hidden-md { + display: none !important + } +} + +@media(min-width:1200px) { + .hidden-lg { + display: none !important + } +} + +.visible-print { + display: none !important +} + +@media print { + .visible-print { + display: block !important + } + table.visible-print { + display: table !important + } + tr.visible-print { + display: table-row !important + } + td.visible-print, + th.visible-print { + display: table-cell !important + } +} + +.visible-print-block { + display: none !important +} + +@media print { + .visible-print-block { + display: block !important + } +} + +.visible-print-inline { + display: none !important +} + +@media print { + .visible-print-inline { + display: inline !important + } +} + +.visible-print-inline-block { + display: none !important +} + +@media print { + .visible-print-inline-block { + display: inline-block !important + } +} + +@media print { + .hidden-print { + display: none !important + } +} + +.checkbox-inline label, +.checkbox label { + padding-left: 28px +} + +.checkbox-inline input[type=checkbox], +.checkbox input[type=checkbox] { + visibility: hidden; + margin-top: 0; + margin-left: -28px; + width: 20px; + cursor: pointer +} + +.checkbox-inline input[type=checkbox]:after, +.checkbox input[type=checkbox]:after { + content: ""; + visibility: visible; + border: 1px solid #666; + display: block; + position: absolute; + margin: auto; + height: 20px; + width: 20px; + background: #f7f7f7; + transition: background .15s ease-in-out +} + +.checkbox-inline input[type=checkbox]~span, +.checkbox input[type=checkbox]~span { + transition: color .15s ease-in-out +} + +.checkbox-inline input[type=checkbox]:checked:after, +.checkbox input[type=checkbox]:checked:after { + content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAMCAYAAAC5tzfZAAAAAXNSR0IArs4c6QAAAL1JREFUKBWNi7EJAkEQRU8PNDqMBTNBjA2swcwGRLADMyswNLIEExsQEyPDA8ECLEAQEzHRwPUN7MqIP3DgsbP/v8myPyeEUE3qZ0mBejlokB95x6qXGfIabErIpeRDpInZzA3avpM7UgfuYDOSkg+RanAwm1n5LiMoYAs9X/BfgM0JCt/Z0dwa5gFTK3kH8IIn9L8OolCnWEKaDcs5fmY/Bz5AGsI1yvbsoOIduSO1YA8XaEpJhcg5dFWXsjdWD8DwycyU8QAAAABJRU5ErkJggg=="); + color: #fff; + border: 1px solid #00a2e8; + background: #00a2e8; + text-align: center; + line-height: 20px +} + +.checkbox-inline input[type=checkbox]:checked~span, +.checkbox input[type=checkbox]:checked~span { + color: #000 +} + +.container { + max-width: 768px +} + +.modal-open .modal { + display: block +} + +.modal-backdrop.in { + opacity: .8 +} + +.modal-body, +.modal-footer { + padding-top: 25px +} + +.modal-footer { + padding-bottom: 25px +} + +.modal-content { + border-radius: 0; + border: none +} + +.form-control { + height: 48px; + border-radius: 0; + font-weight: 400; + color: #000; + font-size: 16px; + background-color: #f7f7f7; + border-color: #ccc; + box-shadow: none; + transition: border-color .15s ease-in-out +} + +.form-control:focus, +.form-control:hover { + box-shadow: none; + border-color: #666 +} + +.form-control-feedback { + width: 48px; + height: 48px; + line-height: 48px +} + +.form-group { + margin-bottom: 25px +} + +.form-group label { + margin-bottom: 8px +} + +.input-group.focus input, +.input-group:active input, +.input-group:hover input { + border: 1px solid #666; + border-right-color: #ccc +} + +.input-group.focus .input-group-addon, +.input-group:active .input-group-addon, +.input-group:hover .input-group-addon { + border: 1px solid #666; + border-left: 0 +} + +.input-group-addon { + border-radius: 0; + transition: border-color .15s ease-in-out +} + +.input-group-addon:active, +.input-group-addon:focus, +.input-group-addon:hover { + cursor: pointer +} + +.has-error .form-control, +.has-error .form-control:focus, +.has-error .form-control:hover, +.has-success .form-control, +.has-success .form-control:focus, +.has-success .form-control:hover, +.has-warning .form-control, +.has-warning .form-control:focus, +.has-warning .form-control:hover { + box-shadow: none +} + +.has-error .input-group.focus input, +.has-error .input-group:active input, +.has-error .input-group:hover input, +.has-success .input-group.focus input, +.has-success .input-group:active input, +.has-success .input-group:hover input, +.has-warning .input-group.focus input, +.has-warning .input-group:active input, +.has-warning .input-group:hover input { + border-right: 1px solid #ccc +} + +.has-error .input-group.focus .input-group-addon, +.has-error .input-group:active .input-group-addon, +.has-error .input-group:hover .input-group-addon, +.has-success .input-group.focus .input-group-addon, +.has-success .input-group:active .input-group-addon, +.has-success .input-group:hover .input-group-addon, +.has-warning .input-group.focus .input-group-addon, +.has-warning .input-group:active .input-group-addon, +.has-warning .input-group:hover .input-group-addon { + border-left: 0 +} + +.has-error .input-group-addon, +.has-success .input-group-addon, +.has-warning .input-group-addon { + background-color: #00a2e8 +} + +.has-error .help-block, +.has-success .help-block, +.has-warning .help-block { + font-size: 14px +} + +.has-error .help-block .warning, +.has-success .help-block .warning, +.has-warning .help-block .warning { + margin-right: 7px +} + +.has-error .form-control { + border-color: #c00 +} + +.has-error .form-control:focus, +.has-error .form-control:hover { + border-color: #ad0404 +} + +.has-error .input-group.focus .input-group-addon, +.has-error .input-group.focus input, +.has-error .input-group:active .input-group-addon, +.has-error .input-group:active input, +.has-error .input-group:hover .input-group-addon, +.has-error .input-group:hover input { + border: 1px solid #c00 +} + +.has-error .input-group.focus .input-verified, +.has-error .input-group:active .input-verified, +.has-error .input-group:hover .input-verified { + border-right: 1px solid #c00 !important +} + +.has-error .input-group-addon { + color: #c00; + border-color: #c00 +} + +.has-error .control-label { + color: #c00 +} + +.has-error .dropdown .dropdown-toggle { + border-color: #c00 +} + +.has-error .help-block { + color: #c00 +} + +.has-warning .form-control { + border-color: #ad9100 +} + +.has-warning .form-control:focus, +.has-warning .form-control:hover { + border-color: #8c7500 +} + +.has-warning .input-group.focus .input-group-addon, +.has-warning .input-group.focus input, +.has-warning .input-group:active .input-group-addon, +.has-warning .input-group:active input, +.has-warning .input-group:hover .input-group-addon, +.has-warning .input-group:hover input { + border: 1px solid #ad9100 +} + +.has-warning .input-group.focus .input-verified, +.has-warning .input-group:active .input-verified, +.has-warning .input-group:hover .input-verified { + border-right: 1px solid #ad9100 !important +} + +.has-warning .input-group-addon { + color: #ad9100; + border-color: #ad9100 +} + +.has-warning .control-label { + color: #ad9100 +} + +.has-warning .dropdown .dropdown-toggle { + border-color: #ad9100 +} + +.has-warning .help-block { + color: #ad9100 +} + +.has-success .form-control { + border-color: #029c36 +} + +.has-success .form-control:focus, +.has-success .form-control:hover { + border-color: #01591f +} + +.has-success .input-group.focus .input-group-addon, +.has-success .input-group.focus input, +.has-success .input-group:active .input-group-addon, +.has-success .input-group:active input, +.has-success .input-group:hover .input-group-addon, +.has-success .input-group:hover input { + border: 1px solid #029c36 +} + +.has-success .input-group.focus .input-verified, +.has-success .input-group:active .input-verified, +.has-success .input-group:hover .input-verified { + border-right: 1px solid #029c36 !important +} + +.has-success .input-group-addon { + color: #029c36; + border-color: #029c36 +} + +.has-success .control-label { + color: #029c36 +} + +.has-success .dropdown .dropdown-toggle { + border-color: #029c36 +} + +.checkbox label, +.radio label { + font-size: 16px; + line-height: 16px; + display: inline +} + +.checkbox label span, +.radio label span { + color: grey +} + +.radio-inline label, +.radio label { + padding-left: 25px +} + +.radio-inline input[type=radio], +.radio input[type=radio] { + visibility: hidden; + margin-top: 0; + margin-left: -25px; + cursor: pointer +} + +.radio-inline input[type=radio]:after, +.radio input[type=radio]:after { + content: ""; + visibility: visible; + border: 1px solid #666; + display: block; + position: absolute; + margin: auto; + height: 17px; + width: 17px; + border-radius: 50%; + background: #f7f7f7; + transition: border .15s ease-in-out +} + +.radio-inline input[type=radio]~span, +.radio input[type=radio]~span { + transition: color .3s ease-in-out +} + +.radio-inline input[type=radio]:checked:after, +.radio input[type=radio]:checked:after { + border: 4.5px solid #00a2e8 +} + +.radio-inline input[type=radio]:checked~span, +.radio input[type=radio]:checked~span { + color: #000 +} + +.radio-inline { + padding-left: 25px +} + +.btn { + padding: 6px 15px; + border-radius: 0 +} + +.btn.disabled { + background-color: initial +} + +.btn.btn-success { + font-weight: 600; + background-color: #04e04e; + border-color: #04e04e +} + +.btn.btn-success:hover { + background-color: #029c36; + border-color: #029c36 +} + +.btn.btn-success:active { + background-color: #01591f; + border-color: #01591f +} + +.btn.btn-danger { + font-weight: 600; + background-color: #c00; + border-color: #c00 +} + +.btn.btn-danger:hover { + background-color: #ad0404; + border-color: #ad0404 +} + +.btn.btn-danger:active { + background-color: #8a0707; + border-color: #8a0707 +} + +.tooltip { + font-family: Gotham +} + +.tooltip.top .tooltip-arrow { + border-top-color: #666 +} + +.tooltip-inner { + background-color: #666 +} + +.label { + vertical-align: middle; + font-size: 60% +} + +.label .badge { + margin-left: 5px; + padding: 1px 4px +} + +.label-danger .badge { + background-color: #fff; + color: #d9534f +} + +.label-success .badge { + background-color: #fff; + color: #5cb85c +} + +.label-default .badge { + background-color: #fff; + color: #777 +} + +.well { + padding: 0 +} + +@media(min-width:480px) { + .well { + padding: 19px + } +} + +@media(min-width:768px) { + .form-horizontal .control-label { + padding-top: 0; + margin-bottom: 8px + } + .form-horizontal .form-group.has-error .control-label { + margin-bottom: 0 + } + .form-horizontal .form-group label { + text-align: left; + height: 48px; + display: flex; + align-items: center; + justify-content: flex-start + } + .form-horizontal .form-group .radio>label, + .form-horizontal .form-group label.radio-label { + height: auto + } +} + +input[type=number] { + -moz-appearance: textfield !important +} + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0 +} + +/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */ + +html { + font-family: sans-serif; + line-height: 1.15; + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100% +} + +body { + margin: 0 +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +menu, +nav, +section, +summary { + display: block +} + +audio, +canvas, +progress, +video { + display: inline-block +} + +audio:not([controls]) { + display: none; + height: 0 +} + +progress { + vertical-align: initial +} + +[hidden], +template { + display: none +} + +a { + background-color: initial; + -webkit-text-decoration-skip: objects +} + +a:active, +a:hover { + outline-width: 0 +} + +abbr[title] { + border-bottom: none; + text-decoration: underline; + text-decoration: underline dotted +} + +b, +strong { + font-weight: inherit; + font-weight: bolder +} + +dfn { + font-style: italic +} + +h1 { + font-size: 2em; + margin: .67em 0 +} + +mark { + background-color: #ff0; + color: #000 +} + +small { + font-size: 80% +} + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: initial +} + +sub { + bottom: -.25em +} + +sup { + top: -.5em +} + +img { + border-style: none +} + +svg:not(:root) { + overflow: hidden +} + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em +} + +figure { + margin: 1em 40px +} + +hr { + box-sizing: initial; + height: 0; + overflow: visible +} + +button, +input, +optgroup, +select, +textarea { + font: inherit; + margin: 0 +} + +optgroup { + font-weight: 700 +} + +button, +input { + overflow: visible +} + +button, +select { + text-transform: none +} + +[type=reset], +[type=submit], +button, +html [type=button] { + -webkit-appearance: button +} + +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner, +button::-moz-focus-inner { + border-style: none; + padding: 0 +} + +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring, +button:-moz-focusring { + outline: 1px dotted ButtonText +} + +fieldset { + border: 1px solid silver; + margin: 0 2px; + padding: .35em .625em .75em +} + +legend { + box-sizing: border-box; + color: inherit; + display: table; + max-width: 100%; + padding: 0; + white-space: normal +} + +textarea { + overflow: auto +} + +[type=checkbox], +[type=radio] { + box-sizing: border-box; + padding: 0 +} + +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px +} + +[type=search]::-webkit-search-cancel-button, +[type=search]::-webkit-search-decoration { + -webkit-appearance: none +} + +::-webkit-input-placeholder { + color: inherit; + opacity: .54 +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit +} + +@keyframes spin { + to { + transform: rotate(1turn) + } +} + +@keyframes ellipsis { + to { + width: 20px + } +} + +html { + box-sizing: border-box +} + +body, +html { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + color: #333; + margin: 0; + padding: 0; + font-size: 16px; + font-family: Gotham; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale +} + +*, +:after, +:before { + box-sizing: inherit +} + +h2 { + font-size: 30px; + font-weight: 300; + letter-spacing: .3px; + line-height: 35px +} + +p.bold, +span.bold { + font-weight: 600 +} + +p { + font-size: 16px; + letter-spacing: .3px +} + +p.bold { + font-weight: 600 +} + +p.note { + font-size: 14px; + font-style: italic; + color: grey +} + +p.check { + font-size: 12px; + margin-left: 2px +} + +p.check-connected { + color: #04e04e +} + +p.check-intermittent { + color: #f2ca00 +} + +p.check-disconnected { + color: #c00 +} + +p.double-check-text { + padding-top: 15px +} + +p.loading:after { + overflow: hidden; + display: inline-block; + vertical-align: bottom; + content: "…"; + width: 0; + animation: ellipsis .9s steps(4) infinite +} + +span.delete-icon { + color: #c00 +} + +span.delete-icon:hover { + color: #ad0404 +} + +span.delete-icon:active { + color: #8a0707 +} + +span.active-connected { + color: #000 !important +} + +span.checkmark { + color: #04e04e !important +} + +span.caret { + margin-left: 5px +} + +a, +button { + -webkit-user-select: none; + user-select: none +} + +a:active, +a:focus, +button:active, +button:focus { + outline: none !important +} + +a.btn-link, +button.btn-link { + font-weight: 600; + color: #00a2e8; + font-size: 13px; + line-height: 15px; + letter-spacing: .3px; + transition: color .15s ease-in-out +} + +a.btn-link:hover, +button.btn-link:hover { + text-decoration: none; + color: #0487c0 +} + +a.btn-link:focus, +button.btn-link:focus { + text-decoration: none; + color: #00a2e8 +} + +a.btn-link:active, +button.btn-link:active { + text-decoration: none; + color: #005175 +} + +a.btn-error, +button.btn-error { + font-weight: 600; + color: #c00 +} + +a.btn-error:hover, +button.btn-error:hover { + text-decoration: none; + color: #ad0404 +} + +a.btn-error:focus, +button.btn-error:focus { + text-decoration: none; + color: #c00 +} + +a.btn-error:active, +button.btn-error:active { + text-decoration: none; + color: #8a0707 +} + +a.btn-clear, +button.btn-clear { + border: 1px solid #fff; + border-radius: 0; + color: #fff; + font-weight: 500; + line-height: 15px; + letter-spacing: .3px; + padding: 10px 0; + background-color: initial; + transition: background-color .15s ease-in-out +} + +a.btn-clear:hover, +button.btn-clear:hover { + background-color: hsla(0, 0%, 100%, .05); + color: #fff +} + +a.btn-clear:focus, +button.btn-clear:focus { + background-color: initial; + color: #fff +} + +a.btn-clear:active, +button.btn-clear:active { + background-color: hsla(0, 0%, 100%, .15); + color: #fff +} + +a.btn-anchor-bottom, +button.btn-anchor-bottom { + position: absolute; + left: 0; + right: 0; + bottom: 85px +} + +a.refresh, +button.refresh { + color: grey; + text-decoration: underline +} + +a.default-cursor, +button.default-cursor { + cursor: auto !important +} + +a.btn-delete, +button.btn-delete { + padding-top: 0; + padding-bottom: 0; + float: right +} + +a.left, +button.left { + float: left +} + +a.right, +button.right { + float: right +} + +ul { + padding-left: 0; + list-style: none +} + +label { + font-weight: 400; + font-size: 13px; + letter-spacing: .3px; + line-height: 15px; + color: #666; + margin-bottom: 15px +} + +label.item-label { + border-bottom: 1px solid #efefef; + padding-bottom: 15px; + letter-spacing: .27px; + display: block +} + +label img.input-info { + margin-left: 10px +} + +input:not([type=checkbox]):not([type=radio]) { + -webkit-appearance: none +} + +input:-webkit-autofill { + -webkit-box-shadow: 0 0 0 1000px #f1fafe inset !important; + -webkit-text-fill-color: #000 !important +} + +button[type=submit], +input[type=file] { + opacity: 0; + width: 0; + height: 0; + overflow: hidden; + position: absolute; + padding: 0; + border: none +} + +form.show-submit button[type=submit] { + opacity: 1; + width: auto; + height: auto; + overflow: initial; + position: static; + padding: initial; + border: initial +} + +img.spinner { + animation: spin 1s linear infinite +} + +img.spinner.xs { + width: 20px; + height: 20px +} + +img.spinner.sm { + width: 40px; + height: 40px +} + +img.info.md, +img.warning.md { + width: 25px; + height: 25px +} + +img.info.sm, +img.warning.sm { + width: 18px; + height: 18px +} + +img.caution.md { + width: 26.79px; + height: 25px +} + +img.caution.sm { + width: 19.29px; + height: 18px +} + +.btn-action { + color: #fff !important; + border-radius: 0 +} + +.btn-action, +.btn-action.disabled { + background-color: #00a2e8; + border-color: #00a2e8 +} + +.btn-action:hover { + background-color: #0487c0; + border-color: #0487c0 +} + +.btn-action:active { + background-color: #005175; + border-color: #005175 +} + +.disabled, +.uneditable { + pointer-events: none !important; + cursor: default !important +} + +.disabled:active, +.disabled:focus, +.uneditable:active, +.uneditable:focus { + text-decoration: none !important +} + +.disabled { + color: #ccc !important +} + +.uneditable { + color: #666 !important +} + +.line-breaks { + white-space: pre-wrap +} + +.no-margin { + margin: 0 !important +} + +.no-padding { + padding: 0 !important +} + +.no-padding-bottom { + padding-bottom: 0 !important +} + +.no-horizontal-padding { + padding-left: 0 !important; + padding-right: 0 !important +} + +.no-border { + border: none !important +} + +.no-cursor { + cursor: default !important +} + +.hand { + cursor: pointer +} + +.vertical-align { + display: flex; + align-items: center +} + +.horizontal-row-align { + flex-direction: row +} + +.center-align, +.horizontal-row-align { + display: flex; + justify-content: center; + align-items: center +} + +.position-relative { + position: relative +} + +.inline-block { + display: inline-block +} + +.ellipsis { + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden +} + +.input-group span.connect { + color: #fff; + font-weight: 600 +} + +.input-group.focus .input-verified, +.input-group:active .input-verified, +.input-group:hover .input-verified { + border-right: 1px solid #666 !important +} + +.advanced-settings-toggle { + -webkit-user-select: none; + user-select: none; + margin-bottom: 15px; + cursor: pointer; + display: inline-block +} + +.advanced-settings-toggle .advanced-settings-text { + font-weight: 400; + font-size: 13px; + color: #35454c; + display: inline +} + +.advanced-settings-toggle .advanced-settings-input-fields { + margin-top: 12px +} + +.clipboard-image { + width: 20px; + pointer-events: none +} + +.success-checkmark-image { + width: 50px; + height: auto +} + +.vertical-spacing { + margin-top: 25px; + margin-bottom: 25px +} + +.full-width { + width: 100% +} + +.text-black { + color: #000 !important +} + +.text-lowercase { + text-transform: lowercase +} + +.required-field-helper-text { + color: #c00; + text-align: right; + font-size: 12px; + padding-top: 12.5px +} + +@media(min-width:360px) { + .required-field-helper-text { + margin-bottom: 25px + } +} + +.required-field-asterisk:after { + content: "*"; + padding: 4px; + font-size: 16px; + font-weight: 700; + color: #c00 +} + +.modal-header { + padding-top: 30px; + padding-bottom: 30px +} + +.modal-body { + padding-top: 50px; + padding-bottom: 25px +} + +.modal-footer { + padding-top: 30px; + padding-bottom: 30px +} + +.app { + height: 100%; + display: flex; + flex-direction: column; + overflow-x: hidden; + overflow-y: scroll; + -webkit-overflow-scrolling: touch +} + +.core-layout__viewport { + flex: 1; + padding-bottom: 60px; + position: relative +} + +.core-layout__viewport.wizard-container { + background-image: linear-gradient(180deg, #fff 0, #e7e7e7); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF", endColorstr="#FFE7E7E7", GradientType=0); + background-repeat: repeat-x +} + +.core-layout__viewport.success-container { + background-color: #35454c +} + +.core-layout__viewport>.container { + flex: 1 +} + +@media(min-width:768px) { + .app { + overflow-x: auto + } +} + +.input-group-action { + padding: 6px 22px; + background-color: #00a2e8; + border-color: #00a2e8; + transition: background-color .15s ease-in-out, border-color .15s ease-in-out +} + +.input-group-action:active, +.input-group-action:focus { + background-color: #005175; + border-color: #005175 +} + +.input-group-default { + padding: 6px 22px; + background-color: #fff +} + +.input-group-blend, +.input-group-default, +.input-group-validation { + transition: background-color .15s ease-in-out, border-color .15s ease-in-out +} + +.input-group-blend { + padding: 6px 18px; + background-color: #f7f7f7 +} + +.input-group-blend:focus, +.input-group-blend:hover { + cursor: default +} + +.password-input button[type=submit] { + opacity: 0; + width: 0; + height: 0; + overflow: hidden; + position: absolute; + padding: 0; + border: none +} + +.password-input .eye-icon { + position: absolute; + top: 0; + bottom: 0; + margin: auto; + z-index: 20; + opacity: .8; + right: 15px +} + +.password-input .eye-icon-submittable { + right: 70px +} + +.password-input .password-field-with-icon { + padding-right: 60px +} + +@keyframes fade-in { + 0% { + opacity: 0 + } + to { + opacity: 1 + } +} + +.dropdown { + display: inline-block; + width: 100% +} + +.dropdown select { + position: absolute; + -webkit-appearance: menulist-button; + width: 100%; + height: 100% +} + +.dropdown select:focus { + outline: none +} + +.dropdown .dropdown-toggle { + height: 48px; + width: 100%; + border: 1px solid #ccc; + background-color: #f7f7f7; + text-align: left; + padding: 2px 25px 3px 10px; + position: relative; + font-size: 16px; + color: #000; + overflow: hidden; + text-overflow: ellipsis +} + +.dropdown .dropdown-toggle.ios { + pointer-events: none +} + +.dropdown .dropdown-toggle img { + position: absolute; + right: 10px; + top: 50%; + margin-top: -4px +} + +.dropdown .dropdown-menu { + margin-top: 0; + border: 1px solid #666; + border-top: none; + border-radius: 0; + width: 100%; + padding: 0 0 10px; + box-shadow: none; + background-color: #f7f7f7; + min-width: 0; + max-height: 50vh; + overflow-y: scroll; + animation: fade-in .15s ease-in-out +} + +@media(max-height:720px) { + .dropdown .dropdown-menu { + max-height: 35vh + } +} + +.dropdown .dropdown-menu::-webkit-scrollbar { + -webkit-overflow-scrolling: auto; + -webkit-appearance: none; + background-color: #f7f7f7 +} + +.dropdown .dropdown-menu::-webkit-scrollbar:vertical { + width: 11px +} + +.dropdown .dropdown-menu::-webkit-scrollbar:horizontal { + height: 11px +} + +.dropdown .dropdown-menu::-webkit-scrollbar-thumb { + border-radius: 8px; + border: 2px solid #f7f7f7; + background-color: #666 +} + +.dropdown .dropdown-menu>li { + height: 48px +} + +.dropdown .dropdown-menu>li>a { + font-size: 16px; + color: #000; + padding: 0 10px; + line-height: 48px; + overflow: hidden; + text-overflow: ellipsis +} + +.dropdown .dropdown-menu>li>a:hover { + background-color: #efefef +} + +.dropdown .dropdown-menu>li>a:focus { + background-color: #00a2e8; + color: #fff +} + +.dropdown.open .dropdown-toggle { + border: 1px solid; + border-color: #666 #666 #ccc; + color: #ccc +} + +.caret-down { + transform: rotate(180deg) +} + +@includes keyframes(Select-animation-fadeIn) { + 0% { + opacity: 0 + } + to { + opacity: 1 + } +} + +.Select { + position: relative +} + +.Select.disabled .Select-placeholder { + color: #ccc !important +} + +.Select, +.Select div, +.Select input, +.Select span { + box-sizing: border-box +} + +.Select.is-disabled>.Select-control { + background-color: #f7f7f7 +} + +.Select.is-disabled>.Select-control:hover { + box-shadow: none +} + +.Select.is-disabled .Select-arrow-zone { + cursor: default; + pointer-events: none; + opacity: .35 +} + +.Select-control { + background-color: #f7f7f7; + border: 1px solid #ccc; + font-size: 16px; + color: #000; + padding: 2px 2px 3px 10px; + text-align: left; + cursor: default; + border-spacing: 0; + border-collapse: initial; + min-height: 48px; + outline: none; + overflow: hidden; + position: relative; + width: 100% +} + +.Select-control .Select-input:focus { + outline: none +} + +.is-searchable.is-open>.Select-control { + cursor: text; + border: 1px solid #666 +} + +.is-open>.Select-control { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + background: #f7f7f7; + border-color: #b3b3b3 #ccc #d9d9d9 +} + +.is-open>.Select-control .Select-arrow { + top: -2px; + border-color: transparent transparent #999; + border-width: 0 5px 5px +} + +.is-searchable.is-focused:not(.is-open)>.Select-control { + cursor: text +} + +.Select--single>.Select-control .Select-value, +.Select-placeholder { + bottom: 0; + color: #000; + left: 0; + padding: 12px 10px 3px; + position: absolute; + right: 0; + top: 0; + max-width: 100%; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap +} + +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value .Select-value-label, +.has-value.Select--single>.Select-control .Select-value .Select-value-label { + color: #000 +} + +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label, +.has-value.Select--single>.Select-control .Select-value a.Select-value-label { + cursor: pointer; + text-decoration: none +} + +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:focus, +.has-value.is-pseudo-focused.Select--single>.Select-control .Select-value a.Select-value-label:hover, +.has-value.Select--single>.Select-control .Select-value a.Select-value-label:focus, +.has-value.Select--single>.Select-control .Select-value a.Select-value-label:hover { + outline: none; + text-decoration: underline +} + +.Select-input { + font-size: 16px; + color: #000; + background-color: #f7f7f7; + width: 100%; + vertical-align: middle +} + +.Select-input>input { + width: 100%; + background: none transparent; + border: 0; + box-shadow: none; + cursor: default; + display: inline-block; + font-family: inherit; + font-size: inherit; + margin: 3px 0 0; + outline: none; + line-height: 36px; + padding: 0; + -webkit-appearance: none +} + +.is-focused .Select-input>input { + cursor: text +} + +.has-value.is-pseudo-focused .Select-input { + opacity: 0 +} + +.Select-control:not(.is-searchable)>.Select-input { + outline: none +} + +.Select-loading-zone { + cursor: pointer; + text-align: center +} + +.Select-loading, +.Select-loading-zone { + position: relative; + vertical-align: middle; + width: 16px +} + +.Select-loading { + animation: Select-animation-spin .4s linear infinite; + height: 16px; + box-sizing: border-box; + border-radius: 50%; + border: 2px solid #ccc; + border-right-color: #000; + display: inline-block +} + +.Select-clear-zone { + animation: Select-animation-fadeIn .2s; + color: #999; + cursor: pointer; + position: absolute; + text-align: center; + vertical-align: middle; + width: 17px; + right: 30px; + top: 27% +} + +.Select-clear-zone:hover { + color: #d0021b +} + +.Select-clear { + display: inline-block; + font-size: 18px; + line-height: 1 +} + +.Select--multi .Select-clear-zone { + width: 17px +} + +.Select-arrow-zone { + cursor: pointer; + position: absolute; + text-align: center; + vertical-align: middle; + width: 25px; + right: 4px; + top: 24% +} + +.Select-arrow { + border-color: #999 transparent transparent; + border-style: solid; + border-width: 5px 5px 2.5px; + display: inline-block; + height: 0; + width: 0; + position: relative +} + +.is-open .Select-arrow, +.Select-arrow-zone:hover>.Select-arrow { + border-top-color: #666 +} + +.Select--multi .Select-multi-value-wrapper { + display: inline-block +} + +.Select .Select-aria-only { + display: inline-block; + height: 1px; + width: 1px; + margin: -1px; + clip: rect(0, 0, 0, 0); + overflow: hidden; + float: left +} + +.Select-menu-outer { + background-color: #f7f7f7; + border: 1px solid #666; + border-top-color: #ccc; + box-shadow: none; + box-sizing: border-box; + margin-top: -1px; + margin-bottom: 48px; + max-height: 300px; + position: absolute; + top: 100%; + width: 100%; + z-index: 3; + -webkit-overflow-scrolling: touch +} + +.Select-menu { + max-height: 298px; + overflow-y: auto +} + +.Select-option { + box-sizing: border-box; + background-color: #f7f7f7; + color: #000; + cursor: pointer; + display: block; + padding: 0 10px; + line-height: 48px; + animation: fade-in .15s ease-in-out +} + +.Select-option.is-focused, +.Select-option.is-selected { + background-color: #efefef; + color: #000 +} + +.Select-option.is-disabled { + color: #ccc; + cursor: default +} + +.Select-noresults { + box-sizing: border-box; + color: #999; + cursor: default; + display: block; + padding: 8px 10px +} + +.Select-noresults:focus, +.Select-noresults:hover { + background-color: #efefef +} + +.Select--multi .Select-input { + vertical-align: middle; + margin-left: 0; + padding: 0 +} + +.Select--multi.has-value .Select-input { + margin-left: 5px +} + +.Select--multi .Select-value { + background-color: #efefef; + background-color: rgba(0, 126, 255, .08); + border: 1px solid #ccc; + border: 1px solid rgba(0, 126, 255, .24); + color: #007eff; + display: inline-block; + font-size: 16px; + line-height: 1.4; + margin-left: 5px; + margin-top: 5px; + vertical-align: top +} + +.Select--multi .Select-value-icon, +.Select--multi .Select-value-label { + display: inline-block; + vertical-align: middle +} + +.Select--multi .Select-value-label { + border-bottom-right-radius: 2px; + border-top-right-radius: 2px; + cursor: default; + padding: 2px 5px +} + +.Select--multi a.Select-value-label { + cursor: pointer; + text-decoration: none +} + +.Select--multi a.Select-value-label:hover { + text-decoration: underline +} + +.is-open .Select-control>.Select-multi-value-wrapper>.Select-value>.Select-value-label { + color: #ccc +} + +.Select--multi .Select-value-icon { + cursor: pointer; + border-bottom-left-radius: 2px; + border-top-left-radius: 2px; + border-right: 1px solid #c2e0ff; + border-right: 1px solid rgba(0, 126, 255, .24); + padding: 1px 5px 3px +} + +.Select--multi .Select-value-icon:focus, +.Select--multi .Select-value-icon:hover { + background-color: #f7f7f7; + background-color: rgba(0, 113, 230, .08) +} + +.Select--multi .Select-value-icon:active { + background-color: #f7f7f7; + background-color: rgba(0, 126, 255, .24) +} + +.Select--multi.is-disabled .Select-value { + background-color: #f7f7f7; + border: 1px solid #e3e3e3; + color: #000 +} + +.Select--multi.is-disabled .Select-value-icon { + cursor: not-allowed; + border-right: 1px solid #e3e3e3 +} + +.Select--multi.is-disabled .Select-value-icon:active, +.Select--multi.is-disabled .Select-value-icon:focus, +.Select--multi.is-disabled .Select-value-icon:hover { + background-color: #f7f7f7 +} + +@keyframes Select-animation-spin { + to { + transform: rotate(1turn) + } +} + +.Select-not-listed { + line-height: 36px; + color: #000; + cursor: pointer +} + +@media(max-width:580px) { + .Select-clear-zone { + animation: Select-animation-fadeIn .2s; + color: #999; + cursor: pointer; + position: relative; + text-align: center; + vertical-align: middle; + width: 17px; + right: 0; + top: 0 + } + .Select-option { + border-bottom: 1px solid hsla(0, 0%, 40%, .3); + word-wrap: break-word; + line-height: 24px; + padding: 11.5px 10px + } + .Select-option:last-of-type { + border-bottom: none + } +} + +.Select-create-option-placeholder { + font-style: italic +} + +.login label { + color: #666 +} + +.login label>.info-icon { + padding-left: 5px; + vertical-align: bottom +} + +.login input { + background-color: #fff +} + +.login .forgot-form { + margin-bottom: 0 +} + +.login .forgot-form #forgot-password { + text-align: right +} + +.login .form-group { + margin-bottom: 15px +} + +@media(min-width:768px) { + .login .form-group { + margin-bottom: 25px + } +} + +.modal-banner-container { + display: flex; + flex-direction: column; + align-items: center; + overflow: hidden; + width: 100%; + padding: 25px; + color: #fff; + background: #5f85e7 +} + +.modal-banner-container .banner-content-container { + display: flex; + flex-direction: row; + margin-bottom: 15px +} + +.modal-banner-container .banner-content-container .banner-img-container { + display: flex; + flex-direction: column; + justify-content: space-around; + padding-right: 25px; + padding-left: 30px; + border-radius: 25px +} + +.modal-banner-container .banner-content-container .banner-img-container img { + height: 75px; + width: 75px; + border-radius: 20%; + overflow: hidden +} + +.modal-banner-container .banner-content-container .banner-text-container { + display: flex; + flex-direction: column; + justify-content: center; + max-width: 200px +} + +.modal-banner-container .banner-content-container .banner-text-container h4, +.modal-banner-container .banner-content-container .banner-text-container span { + font-weight: 700; + font-size: 16px; + padding: 0; + line-height: 1.5 +} + +.modal-banner-container .banner-content-button { + padding: 10px 20px; + border: 0; + border-radius: 4px; + min-width: 300px; + background-color: #fff; + color: #000 +} + +.energy-icon, +.energy-icon .centered { + display: flex; + flex-direction: column +} + +.energy-icon .centered { + align-items: center; + justify-content: center +} + +.energy-icon .icon-container { + border-width: 1px; + border-style: solid +} + +.energy-icon .icon-container.default-icon-container { + border-style: dotted +} + +.grid-services { + border-radius: 25px; + background-color: #f3f3f3; + padding: 0 10px; + position: relative; + top: -25px; + text-align: center; + margin: auto; + width: 150px +} + +.grid-services>span.grid-services-text { + font-size: 12px; + color: grey +} + +.circle:before { + content: "●"; + font-size: 20px +} + +.circle { + font-size: 20px; + vertical-align: middle; + margin-right: 3px; + color: #029c36 +} + +.collapsible-container { + width: 100% +} + +.collapsible-container:last-child { + border-bottom: none +} + +.collapsible-container>.collapsible-header { + cursor: pointer; + position: relative; + display: flex; + flex-direction: row; + text-align: left; + justify-content: space-between; + align-items: center +} + +.rotate-90 { + transform: rotate(90deg) +} + +.system-container { + display: flex; + flex-direction: column; + margin: 10px +} + +.system-container .system-loading-spinner { + margin: 24px auto +} + +.system-sitecontroller { + padding-bottom: 15px; + margin-bottom: 15px; + border-bottom: 1px solid grey +} + +.system-sitecontroller:last-child { + margin-bottom: 0; + border-bottom: none +} + +.system-device-header { + margin-top: 12px; + margin-bottom: 6px; + width: 95% +} + +.system-device-body { + margin-left: 20px +} + +.system-device-update-progress progress { + display: block; + width: 100% +} + +.vitals-section { + margin: 10px 0 0 -15px; + font-weight: 700; + font-size: 14px +} + +.powerwall-plus-section { + margin-left: 15px +} + +.inverter-power-buttons { + display: flex; + flex-direction: row; + margin: 8px 0 +} + +.inverter-power-buttons button { + padding: 8px 12px; + border-width: 0; + margin: 0 1px; + font-weight: 700; + font-size: 14px; + color: #000 +} + +.inverter-power-buttons .inverter-power-button-selected { + background-color: #00a2e8 +} + +.inverter-power-buttons .inverter-power-button-left { + border-top-left-radius: 8px; + border-bottom-left-radius: 8px +} + +.inverter-power-buttons .inverter-power-button-right { + border-top-right-radius: 8px; + border-bottom-right-radius: 8px +} + +.inverter-power-buttons button:disabled { + background-color: #ccc; + color: #aaa +} + +.inverter-power-buttons button:disabled.inverter-power-button-selected { + background-color: #8bb9cc; + color: #888 +} + +.inverter-reset-button { + border-radius: 8px; + padding: 8px 12px; + border-width: 0; + margin: 0 1px; + font-weight: 700; + font-size: 14px; + color: #000 +} + +.vitals-value { + font-size: 14px; + margin-bottom: 0 +} + +.vitals-value-selftest { + font-weight: 700; + color: #00a2e8 +} + +.vitals-value-fault { + font-weight: 700; + color: #c00 +} + +.vitals-value-muted { + color: #aaa +} + +.vitals-value-error { + color: #c00 +} + +.vitals-value-warning { + color: #00a2e8 +} + +.vitals-heading { + color: #666; + font-size: 16px; + margin-top: 0 +} + +.vitals-item { + margin-right: 15px; + margin-left: 15px; + margin-top: 25px +} + +.vitals-item:last-child { + margin-bottom: 25px +} + +.device-alert { + color: red; + margin: 8px +} + +.device-alert-note { + color: #000; + margin-left: 24px; + font-size: smaller; + font-style: italic +} + +.device-attention { + display: inline-block; + width: 1em; + height: 1em; + line-height: 1em; + border-radius: 50%; + text-align: center; + font-weight: 700; + color: #fff; + background-color: red; + margin: 0 2px +} + +.device-attention:before { + content: "!" +} + +.system-warning-subtitle { + font-size: larger; + font-weight: 700; + color: red +} + +.powerwall-pairing-container { + margin: 20px 0 10px +} + +.powerwall-pairing-container .powerwall-pairing-link { + display: block; + text-transform: uppercase; + font-size: smaller; + font-weight: 700 +} + +.powerwall-pairing-container .powerwall-pairing-link:before { + content: "+ " +} + +.powerwall-pairing-container .powerwall-pairing-column { + position: relative; + display: flex; + flex-direction: column +} + +.powerwall-pairing-container .powerwall-pairing-row { + display: flex; + flex-direction: row; + justify-content: space-around; + flex: 1 +} + +.powerwall-pairing-container .powerwall-pairing-message { + color: #000 +} + +.powerwall-pairing-container .powerwall-pairing-success { + color: green +} + +.powerwall-pairing-container .powerwall-pairing-error { + color: red +} + +.powerwall-pairing-container .progress-bar { + width: 100% +} + +.powerwall-scanning-link { + display: block; + text-transform: uppercase; + font-size: smaller; + font-weight: 700 +} + +.powerwall-scanning-link-disabled { + color: #666 +} + +.installation-problem { + margin: 5px 0; + padding: 10px; + border: 2px solid red; + background: #fff; + color: #000; + max-width: 768px +} + +.installation-problem .installation-problem-title { + font-weight: 700 +} + +.installation-problem .installation-problem-title:before { + content: "⚠️"; + font-size: 32px; + margin-right: 8px; + float: right +} + +.installation-problem .installation-problem-image { + margin: 0 +} + +.installation-problem .installation-problem-image img { + width: 100% +} + +.installation-problem .installation-problem-details { + font-style: italic; + margin-left: 10px +} + +.installation-problem .installation-problem-details ul { + list-style: unset +} + +.installation-problem .installation-problem-details ul li { + margin-left: 20px +} + +@keyframes opacity-pulse { + 0% { + opacity: .12 + } + 5% { + opacity: 0 + } + 15% { + opacity: .12 + } + 25% { + opacity: .2 + } + to { + opacity: .2 + } +} + +.power-flow { + display: flex; + flex-direction: column; + align-items: center; + position: relative +} + +.power-flow .glow-container { + position: absolute; + border-style: solid; + margin: 0 auto; + box-sizing: initial; + animation: opacity-pulse 1s ease-in-out infinite +} + +.power-flow .label-container { + position: absolute; + z-index: 5; + margin: 0 auto +} + +.power-flow .label-container p { + text-align: center; + font-weight: 600; + margin: 0 +} + +.power-flow .label-container.label-inactive p { + color: #ccc; + opacity: .5 +} + +.power-flow .label-container img.label-image { + margin-right: 5px; + vertical-align: sub +} + +.power-flow .label-container #missing-meter-label { + font-size: 28px +} + +.power-flow .islanded-container { + position: absolute; + z-index: 4; + margin: 0 auto +} + +.power-flow .grid-row-container { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center +} + +.power-flow p.icon-text { + font-size: 14px; + padding-top: 5px; + color: #fff +} + +.power-flow .inactive { + opacity: .5 +} + +.power-flow .compact-btn-row { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center +} + +.power-flow .btn-sitemaster { + margin-top: 25px; + margin-bottom: 25px +} + +.power-flow .btn-sitemaster.btn-stop { + background-color: #c00; + border-color: #c00 +} + +.power-flow .btn-sitemaster.btn-stop:hover { + background-color: #ad0404; + border-color: #ad0404 +} + +.power-flow .btn-sitemaster.btn-stop:active { + background-color: #8a0707; + border-color: #8a0707 +} + +.power-flow .btn-sitemaster.btn-stop:disabled { + background-color: #ccc; + border-color: #ccc +} + +.power-flow .btn-sitemaster.btn-start { + background-color: #04e04e; + border-color: #04e04e +} + +.power-flow .btn-sitemaster.btn-start:hover { + background-color: #029c36; + border-color: #029c36 +} + +.power-flow .btn-sitemaster.btn-start:active { + background-color: #01591f; + border-color: #01591f +} + +.power-flow .btn-sitemaster.btn-start:disabled { + background-color: #ccc; + border-color: #ccc +} + +.power-flow .disabled-explanation { + display: block; + text-align: center; + margin-top: -19px; + margin-bottom: 6px +} + +.power-flow circle { + fill: inherit +} + +.power-flow .powerwall-soe { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: 0 auto +} + +.power-flow-grid { + background-color: #f7f7f7; + width: 100vw; + left: 50%; + right: 50%; + margin-left: -50vw; + margin-right: -50vw; + position: relative +} + +.power-flow-grid.error { + background-color: #fff !important; + border-bottom: 1px solid #efefef +} + +.power-flow-grid.active { + background-color: #35454c +} + +.auto-config { + margin: 15px 0 +} + +.auto-config button { + border-radius: 3px; + color: #000; + font-weight: 700 +} + +.auto-config-done-button { + display: block; + margin-left: auto; + margin-right: 50px +} + +.auto-config-state { + margin-top: 8px; + margin-left: 20px +} + +.auto-config-complete, +.auto-config-pending { + color: green; + font-weight: 700 +} + +.auto-config-error-state { + color: red +} + +.auto-config-action { + margin: 10px; + color: #000; + font-size: smaller; + font-style: italic +} + +.auto-config-throbber { + animation-name: auto-config-throb; + animation-duration: 2.5s; + animation-iteration-count: infinite +} + +@keyframes auto-config-throb { + 0% { + color: #000 + } + 50% { + color: transparent + } + to { + color: #000 + } +} + +.menu-item { + border-bottom: 1px solid #efefef +} + +.menu-item>a { + display: block; + position: relative; + color: #000; + text-decoration: initial; + padding: 15px 0 +} + +.menu-item>a:hover { + cursor: pointer; + text-decoration: none +} + +.menu-item>a>img { + position: absolute; + right: 5px; + top: 50% +} + +.menu-item>a>img.caret-right { + margin-top: -7px +} + +.menu-item>a>img.caret-down, +.menu-item>a>img.caret-up { + margin-top: -4px +} + +.menu-item>a>img.no-float { + position: inherit; + right: inherit; + top: inherit +} + +.menu-item>a>.delete-icon { + font-size: 30px; + position: absolute; + right: 5px; + top: 50%; + margin-top: -20px +} + +.menu-item .single-title { + margin: 0; + padding: 10px 0 +} + +.menu-item .single-title, +.menu-item .subtitle, +.menu-item .title { + font-size: 16px; + letter-spacing: .3px +} + +.menu-item .title { + color: #000; + font-weight: 400 +} + +.menu-item .title>span { + color: grey +} + +.menu-item .subtitle { + color: #666 +} + +ul.menu-items { + margin: 0 +} + +ul.menu-items>li .subtitle { + color: grey +} + +.power-flow-header { + background-color: #35454c; + position: absolute; + top: 15px; + left: 0; + right: 0; + z-index: 2 +} + +.power-flow-header p.name { + font-weight: 600; + text-align: center; + color: #fff; + margin: 0 +} + +.power-flow-header p.name.not-connected { + color: red +} + +.power-flow-header p.name.connected { + color: green +} + +.power-flow-header p.name.scanning, +.power-flow-header p.name.updating { + animation: scanning-updating-throb 2.5s infinite +} + +.power-flow-header.inactive { + background-color: #f7f7f7 +} + +.power-flow-header.inactive p.name { + color: #666 +} + +@keyframes scanning-updating-throb { + 0% { + color: #ff0 + } + 50% { + color: rgba(255, 255, 0, .5) + } + to { + color: #ff0 + } +} + +.power-flow-grid { + padding-top: 64px +} + +.power-flow-grid~ul.overview-menu>li:first-child { + border-top: 1px solid #efefef +} + +.home .btn-link { + margin: 25px 0 +} + +.home .compliance-row { + display: flex; + align-items: center; + margin-bottom: 24px +} + +.home .download-logo-button { + display: flex; + align-items: center; + margin-left: auto; + padding: 15px 0 0 +} + +.home .align-image-right { + height: 15%; + width: 15%; + margin-left: auto; + padding-right: 10px +} + +.home .footer { + position: absolute; + left: 0 +} + +.home .footer a.cancel-link { + cursor: auto +} + +.home .footer a.cancel-link:hover { + color: #666 +} + +.home .navigation-row { + padding-top: 60px +} + +.modal-sitemaster .modal-footer { + text-align: left +} + +.soft-blocker-container { + z-index: 2000; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: #eaeaea; + padding: 30px +} + +.carousel-display-container { + position: fixed; + top: 0; + left: 0; + display: flex; + flex-direction: column; + align-items: center; + padding: 30px; + width: 100% +} + +.carousel-display-container img { + max-height: 90vh +} + +.carousel-display-container .carousel-toggle-left { + position: fixed; + top: 0; + left: 0; + width: 25%; + height: 65% +} + +.carousel-display-container .carousel-toggle-right { + position: fixed; + top: 0; + left: 75%; + width: 25%; + height: 65% +} + +.carousel-menu-container { + z-index: 2001; + position: fixed; + bottom: 0; + left: 0; + background-color: #fff; + width: 100%; + height: 35%; + padding: 30px +} + +.carousel-menu-container h3 { + margin-top: 0; + font-size: 16px; + font-weight: 600 +} + +.carousel-menu-container p { + font-size: 12px +} + +.carousel-menu-container .menu-carousel-tabs { + display: flex; + flex-direction: row; + justify-content: center; + gap: 10px; + padding-bottom: 30px +} + +.carousel-menu-container .button-continue { + position: fixed; + bottom: 30px; + background-color: #3e6ae1; + color: #fff; + padding: 10px; + width: calc(100% - 60px); + border-radius: 4px; + border-style: none; + text-align: center; + font-size: 12px +} + +@media(min-width:600px) { + .carousel-menu-container .button-continue { + width: 94px; + left: calc(50% - 47px) + } +} + +.confirm-checkbox { + text-align: center; + margin: 30px +} + +.confirm-checkbox-input { + margin-top: -3px !important +} + +.password-generate-container { + display: flex; + flex-direction: column; + margin: 10px +} + +.password-generate-container .password-generate-help-text { + margin: 36px 0 +} + +.password-generate-container .password-generate-spinner { + margin-left: 12px; + width: 24px; + height: 24px +} + +.password-generate-container .password-generate-notice { + font-weight: 700 +} + +.password-generate-container .password-generate-error { + font-weight: 700; + color: #c00 +} + +.service-container { + display: flex; + flex-direction: column; + margin: 10px +} + +.factory-reset-modal-button, +.factory-reset-modal-container { + text-align: center; + margin: 1em +} \ No newline at end of file diff --git a/proxy/web/app.js b/proxy/web/app.js new file mode 100644 index 0000000..d77b730 --- /dev/null +++ b/proxy/web/app.js @@ -0,0 +1,21982 @@ +!(function (e) { + function t(t) { + for (var n, r, s = t[0], _ = t[1], l = t[2], c = 0, u = []; c < s.length; c++) (r = s[c]), Object.prototype.hasOwnProperty.call(a, r) && a[r] && u.push(a[r][0]), (a[r] = 0); + for (n in _) Object.prototype.hasOwnProperty.call(_, n) && (e[n] = _[n]); + for (d && d(t); u.length; ) u.shift()(); + return o.push.apply(o, l || []), i(); + } + function i() { + for (var e, t = 0; t < o.length; t++) { + for (var i = o[t], n = !0, r = 1; r < i.length; r++) { + var _ = i[r]; + 0 !== a[_] && (n = !1); + } + n && (o.splice(t--, 1), (e = s((s.s = i[0])))); + } + return e; + } + var n = {}, + r = { 9: 0 }, + a = { 9: 0 }, + o = []; + function s(t) { + if (n[t]) return n[t].exports; + var i = (n[t] = { i: t, l: !1, exports: {} }); + return e[t].call(i.exports, i, i.exports, s), (i.l = !0), i.exports; + } + (s.e = function (e) { + var t = []; + r[e] + ? t.push(r[e]) + : 0 !== r[e] && + { 2: 1, 4: 1, 5: 1, 6: 1, 7: 1, 10: 1, 11: 1, 12: 1, 13: 1, 14: 1, 15: 1, 16: 1, 17: 1, 18: 1, 19: 1, 20: 1, 21: 1, 22: 1, 23: 1, 24: 1, 25: 1, 27: 1, 30: 1, 31: 1, 32: 1, 33: 1, 34: 1, 35: 1, 36: 1, 37: 1, 38: 1 }[e] && + t.push( + (r[e] = new Promise(function (t, i) { + for (var n = e + ".17c71172308436a079d1.css", a = s.p + n, o = document.getElementsByTagName("link"), _ = 0; _ < o.length; _++) { + var l = (d = o[_]).getAttribute("data-href") || d.getAttribute("href"); + if ("stylesheet" === d.rel && (l === n || l === a)) return t(); + } + var c = document.getElementsByTagName("style"); + for (_ = 0; _ < c.length; _++) { + var d; + if ((l = (d = c[_]).getAttribute("data-href")) === n || l === a) return t(); + } + var u = document.createElement("link"); + (u.rel = "stylesheet"), + (u.type = "text/css"), + (u.onload = t), + (u.onerror = function (t) { + var n = (t && t.target && t.target.src) || a, + o = new Error("Loading CSS chunk " + e + " failed.\n(" + n + ")"); + (o.code = "CSS_CHUNK_LOAD_FAILED"), (o.request = n), delete r[e], u.parentNode.removeChild(u), i(o); + }), + (u.href = a), + document.getElementsByTagName("head")[0].appendChild(u); + }).then(function () { + r[e] = 0; + })) + ); + var i = a[e]; + if (0 !== i) + if (i) t.push(i[2]); + else { + var n = new Promise(function (t, n) { + i = a[e] = [t, n]; + }); + t.push((i[2] = n)); + var o, + _ = document.createElement("script"); + (_.charset = "utf-8"), + (_.timeout = 120), + s.nc && _.setAttribute("nonce", s.nc), + (_.src = (function (e) { + return ( + s.p + + "" + + ({ + 2: "advanced-settings~control~meter-validation~settings", + 3: "batteries~powerwall~summary", + 4: "advanced-settings~settings", + 5: "batteries", + 6: "legal~registration", + 7: "advanced-settings", + 8: "alert", + 10: "client-protocols", + 11: "compliance", + 12: "components", + 13: "control", + 14: "cts", + 15: "diagnostics", + 16: "generation", + 17: "grid", + 18: "installation", + 19: "inverter", + 20: "legal", + 21: "meter", + 22: "meter-validation", + 23: "modbus", + 24: "network", + 25: "network-switch", + 26: "open-loop-meter-validation", + 27: "phase", + 28: "powerwall", + 29: "registration", + 30: "security", + 31: "self-test-log-viewer", + 32: "settings", + 33: "success", + 34: "summary", + 35: "timezone", + 36: "update", + 37: "upgrade", + 38: "wizard", + }[e] || e) + + ".17c71172308436a079d1.js" + ); + })(e)); + var l = new Error(); + o = function (t) { + (_.onerror = _.onload = null), clearTimeout(c); + var i = a[e]; + if (0 !== i) { + if (i) { + var n = t && ("load" === t.type ? "missing" : t.type), + r = t && t.target && t.target.src; + (l.message = "Loading chunk " + e + " failed.\n(" + n + ": " + r + ")"), (l.name = "ChunkLoadError"), (l.type = n), (l.request = r), i[1](l); + } + a[e] = void 0; + } + }; + var c = setTimeout(function () { + o({ type: "timeout", target: _ }); + }, 12e4); + (_.onerror = _.onload = o), document.head.appendChild(_); + } + return Promise.all(t); + }), + (s.m = e), + (s.c = n), + (s.d = function (e, t, i) { + s.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: i }); + }), + (s.r = function (e) { + "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); + }), + (s.t = function (e, t) { + if ((1 & t && (e = s(e)), 8 & t)) return e; + if (4 & t && "object" == typeof e && e && e.__esModule) return e; + var i = Object.create(null); + if ((s.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e)) + for (var n in e) + s.d( + i, + n, + function (t) { + return e[t]; + }.bind(null, n) + ); + return i; + }), + (s.n = function (e) { + var t = + e && e.__esModule + ? function () { + return e.default; + } + : function () { + return e; + }; + return s.d(t, "a", t), t; + }), + (s.o = function (e, t) { + return Object.prototype.hasOwnProperty.call(e, t); + }), + (s.p = "/"), + (s.oe = function (e) { + throw (console.error(e), e); + }); + var _ = (window.webpackJsonp = window.webpackJsonp || []), + l = _.push.bind(_); + (_.push = t), (_ = _.slice()); + for (var c = 0; c < _.length; c++) t(_[c]); + var d = l; + o.push([1050, 0]), i(); +})([ + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "LOCATION_CHANGE", function () { + return n; + }), + i.d(t, "SHOW_NAVIGATION", function () { + return r; + }), + i.d(t, "UPDATE_NAVIGATION", function () { + return a; + }), + i.d(t, "SHOW_BACK", function () { + return o; + }), + i.d(t, "HIDE_BACK", function () { + return s; + }), + i.d(t, "SHOW_CANCEL", function () { + return _; + }), + i.d(t, "HIDE_CANCEL", function () { + return l; + }), + i.d(t, "SHOW_FORWARD", function () { + return c; + }), + i.d(t, "HIDE_FORWARD", function () { + return d; + }), + i.d(t, "RESET_NAVIGATION", function () { + return u; + }), + i.d(t, "SHOW_MODAL", function () { + return m; + }), + i.d(t, "UPDATE_MODAL", function () { + return p; + }), + i.d(t, "HIDE_MODAL", function () { + return g; + }), + i.d(t, "DESTROY_MODAL", function () { + return w; + }), + i.d(t, "SHOW_HEADER", function () { + return v; + }), + i.d(t, "UPDATE_HEADER", function () { + return f; + }), + i.d(t, "RESET_HEADER", function () { + return h; + }), + i.d(t, "SHOW_BANNER", function () { + return E; + }), + i.d(t, "DESTROY_BANNER", function () { + return b; + }), + i.d(t, "DESTROY_ALL_BANNERS", function () { + return y; + }), + i.d(t, "REQUEST_CONFIG_INITIALIZED", function () { + return S; + }), + i.d(t, "RECEIVE_CONFIG_INITIALIZED", function () { + return R; + }), + i.d(t, "RECEIVE_CONFIG_INITIALIZED_ERROR", function () { + return T; + }), + i.d(t, "REQUEST_SYNC_CONFIG", function () { + return A; + }), + i.d(t, "RECEIVE_SYNC_CONFIG_SUCCESS", function () { + return C; + }), + i.d(t, "RECEIVE_SYNC_CONFIG_ERROR", function () { + return I; + }), + i.d(t, "CHANGE_USERNAME", function () { + return O; + }), + i.d(t, "CHANGE_LOGIN_TYPE", function () { + return N; + }), + i.d(t, "REQUEST_LOGIN", function () { + return k; + }), + i.d(t, "RECEIVE_LOGIN_SUCCESS", function () { + return P; + }), + i.d(t, "RECEIVE_LOGIN_ERROR", function () { + return D; + }), + i.d(t, "REQUEST_GENERATE_PASSWORD", function () { + return L; + }), + i.d(t, "RECEIVE_GENERATE_PASSWORD_SUCCESS", function () { + return M; + }), + i.d(t, "RECEIVE_GENERATE_PASSWORD_ERROR", function () { + return z; + }), + i.d(t, "REQUEST_RESET_PASSWORD", function () { + return U; + }), + i.d(t, "RECEIVE_RESET_PASSWORD_SUCCESS", function () { + return V; + }), + i.d(t, "RECEIVE_RESET_PASSWORD_ERROR", function () { + return G; + }), + i.d(t, "REQUEST_CHANGE_PASSWORD", function () { + return j; + }), + i.d(t, "RECEIVE_CHANGE_PASSWORD_SUCCESS", function () { + return W; + }), + i.d(t, "RECEIVE_CHANGE_PASSWORD_ERROR", function () { + return F; + }), + i.d(t, "REQUEST_LOGOUT", function () { + return q; + }), + i.d(t, "RECEIVE_LOGOUT_ERROR", function () { + return x; + }), + i.d(t, "RESET_AUTHENTICATION", function () { + return B; + }), + i.d(t, "REQUEST_START_TOGGLE_AUTH", function () { + return H; + }), + i.d(t, "RECEIVE_START_TOGGLE_AUTH_SUCCESS", function () { + return K; + }), + i.d(t, "RECEIVE_START_TOGGLE_AUTH_ERROR", function () { + return Y; + }), + i.d(t, "REQUEST_CANCEL_TOGGLE_AUTH", function () { + return Q; + }), + i.d(t, "RECEIVE_CANCEL_TOGGLE_AUTH_SUCCESS", function () { + return Z; + }), + i.d(t, "RECEIVE_CANCEL_TOGGLE_AUTH_ERROR", function () { + return J; + }), + i.d(t, "REQUEST_TOGGLE_AUTH_LOGIN", function () { + return X; + }), + i.d(t, "RECEIVE_TOGGLE_AUTH_LOGIN_SUCCESS", function () { + return $; + }), + i.d(t, "RECEIVE_TOGGLE_AUTH_LOGIN_ERROR", function () { + return ee; + }), + i.d(t, "REQUEST_SUPPORTS_TOGGLE_AUTH", function () { + return te; + }), + i.d(t, "RECEIVE_SUPPORTS_TOGGLE_AUTH_SUCCESS", function () { + return ie; + }), + i.d(t, "RECEIVE_SUPPORTS_TOGGLE_AUTH_ERROR", function () { + return ne; + }), + i.d(t, "REQUEST_NETWORKS", function () { + return re; + }), + i.d(t, "RECEIVE_NETWORKS_SUCCESS", function () { + return ae; + }), + i.d(t, "RECEIVE_NETWORKS_ERROR", function () { + return oe; + }), + i.d(t, "REQUEST_ACCESS_POINTS", function () { + return se; + }), + i.d(t, "RECEIVE_ACCESS_POINTS_SUCCESS", function () { + return _e; + }), + i.d(t, "RECEIVE_ACCESS_POINTS_ERROR", function () { + return le; + }), + i.d(t, "REQUEST_CONNECT_ETHERNET", function () { + return ce; + }), + i.d(t, "RECEIVE_CONNECT_ETHERNET_SUCCESS", function () { + return de; + }), + i.d(t, "RECEIVE_CONNECT_ETHERNET_ERROR", function () { + return ue; + }), + i.d(t, "REQUEST_SCAN_WIFI_NETWORKS", function () { + return me; + }), + i.d(t, "RECEIVE_SCAN_WIFI_NETWORKS_SUCCESS", function () { + return pe; + }), + i.d(t, "RECEIVE_SCAN_WIFI_NETWORKS_ERROR", function () { + return ge; + }), + i.d(t, "REQUEST_CONNECT_WIFI", function () { + return we; + }), + i.d(t, "RECEIVE_CONNECT_WIFI_SUCCESS", function () { + return ve; + }), + i.d(t, "RECEIVE_CONNECT_WIFI_ERROR", function () { + return fe; + }), + i.d(t, "REQUEST_DISCONNECT_NETWORK", function () { + return he; + }), + i.d(t, "RECEIVE_DISCONNECT_NETWORK_SUCCESS", function () { + return Ee; + }), + i.d(t, "RECEIVE_DISCONNECT_NETWORK_ERROR", function () { + return be; + }), + i.d(t, "REQUEST_DELETE_NETWORK", function () { + return ye; + }), + i.d(t, "RECEIVE_DELETE_NETWORK_SUCCESS", function () { + return Se; + }), + i.d(t, "RECEIVE_DELETE_NETWORK_ERROR", function () { + return Re; + }), + i.d(t, "RESET_NETWORK_CONFIG", function () { + return Te; + }), + i.d(t, "CANCEL_NETWORK", function () { + return Ae; + }), + i.d(t, "REQUEST_CLIENT_PROTOCOLS", function () { + return Ce; + }), + i.d(t, "RECEIVE_CLIENT_PROTOCOLS_SUCCESS", function () { + return Ie; + }), + i.d(t, "RECEIVE_CLIENT_PROTOCOLS_ERROR", function () { + return Oe; + }), + i.d(t, "RECEIVE_CHECK_UPDATE", function () { + return Ne; + }), + i.d(t, "REQUEST_INSTALL_UPDATE", function () { + return ke; + }), + i.d(t, "RECEIVE_CHECK_UPDATE_ERROR", function () { + return Pe; + }), + i.d(t, "RECEIVE_START_UPDATE_ERROR", function () { + return De; + }), + i.d(t, "DOWNLOAD_STALLED_ERROR", function () { + return Le; + }), + i.d(t, "DOWNLOAD_PROGRESSING", function () { + return Me; + }), + i.d(t, "REQUEST_UPDATE", function () { + return ze; + }), + i.d(t, "RECEIVE_UPDATE_ERROR", function () { + return Ue; + }), + i.d(t, "CANCEL_UPDATE", function () { + return Ve; + }), + i.d(t, "SAVE_SYSTEM_INFO", function () { + return Ge; + }), + i.d(t, "RESET_SYSTEM_INFO", function () { + return je; + }), + i.d(t, "REQUEST_CHECK_UPDATE_URGENCY", function () { + return We; + }), + i.d(t, "RECEIVE_CHECK_UPDATE_URGENCY", function () { + return Fe; + }), + i.d(t, "RECEIVE_CHECK_UPDATE_URGENCY_ERROR", function () { + return qe; + }), + i.d(t, "FACTORY_RESET", function () { + return xe; + }), + i.d(t, "RESET_ALL", function () { + return Be; + }), + i.d(t, "ADD_METER", function () { + return He; + }), + i.d(t, "REMOVE_METER", function () { + return Ke; + }), + i.d(t, "RESET_METER_CONFIG", function () { + return Ye; + }), + i.d(t, "RESET_METER_CURRENT_TRANSFORMER_READINGS", function () { + return Qe; + }), + i.d(t, "REQUEST_DETECT_METER", function () { + return Ze; + }), + i.d(t, "RECEIVE_DETECT_METER_SUCCESS", function () { + return Je; + }), + i.d(t, "RECEIVE_DETECT_METER_ERROR", function () { + return Xe; + }), + i.d(t, "REQUEST_CREATE_METER", function () { + return $e; + }), + i.d(t, "RECEIVE_CREATE_METER_SUCCESS", function () { + return et; + }), + i.d(t, "RECEIVE_CREATE_METER_ERROR", function () { + return tt; + }), + i.d(t, "REQUEST_DELETE_METER", function () { + return it; + }), + i.d(t, "RECEIVE_DELETE_METER_SUCCESS", function () { + return nt; + }), + i.d(t, "RECEIVE_DELETE_METER_ERROR", function () { + return rt; + }), + i.d(t, "REQUEST_COMMISSION_METER", function () { + return at; + }), + i.d(t, "RECEIVE_COMMISSION_METER_UPDATE", function () { + return ot; + }), + i.d(t, "RECEIVE_COMMISSION_METER_SUCCESS", function () { + return st; + }), + i.d(t, "RECEIVE_COMMISSION_METER_ERROR", function () { + return _t; + }), + i.d(t, "REQUEST_METER_CONFIG", function () { + return lt; + }), + i.d(t, "RECEIVE_METER_CONFIG_UPDATE", function () { + return ct; + }), + i.d(t, "RECEIVE_METER_CONFIG_SUCCESS", function () { + return dt; + }), + i.d(t, "RECEIVE_METER_CONFIG_ERROR", function () { + return ut; + }), + i.d(t, "REQUEST_SET_METER_CTS", function () { + return mt; + }), + i.d(t, "RECEIVE_SET_METER_CTS_SUCCESS", function () { + return pt; + }), + i.d(t, "RECEIVE_SET_METER_CTS_ERROR", function () { + return gt; + }), + i.d(t, "REQUEST_DELETE_METER_CTS", function () { + return wt; + }), + i.d(t, "RECEIVE_DELETE_METER_CTS_SUCCESS", function () { + return vt; + }), + i.d(t, "RECEIVE_DELETE_METER_CTS_ERROR", function () { + return ft; + }), + i.d(t, "REQUEST_METER_READINGS", function () { + return ht; + }), + i.d(t, "RECEIVE_METER_READINGS_SUCCESS", function () { + return Et; + }), + i.d(t, "RECEIVE_METER_READINGS_ERROR", function () { + return bt; + }), + i.d(t, "REQUEST_METER_FLIP_CT", function () { + return yt; + }), + i.d(t, "RECEIVE_METER_FLIP_CT_SUCCESS", function () { + return St; + }), + i.d(t, "RECEIVE_METER_FLIP_CT_ERROR", function () { + return Rt; + }), + i.d(t, "REQUEST_METER_AGGREGATES", function () { + return Tt; + }), + i.d(t, "RECEIVE_METER_AGGREGATES_SUCCESS", function () { + return At; + }), + i.d(t, "RECEIVE_METER_AGGREGATES_ERROR", function () { + return Ct; + }), + i.d(t, "CANCEL_METER", function () { + return It; + }), + i.d(t, "REQUEST_METER_AMP_RATINGS", function () { + return Ot; + }), + i.d(t, "RECEIVE_METER_AMP_RATINGS_SUCCESS", function () { + return Nt; + }), + i.d(t, "RECEIVE_METER_AMP_RATINGS_ERROR", function () { + return kt; + }), + i.d(t, "REQUEST_SET_METER_AMP_RATINGS", function () { + return Pt; + }), + i.d(t, "RECEIVE_SET_METER_AMP_RATINGS_SUCCESS", function () { + return Dt; + }), + i.d(t, "RECEIVE_SET_METER_AMP_RATINGS_ERROR", function () { + return Lt; + }), + i.d(t, "REQUEST_SYNC_CT_VOLTAGE_REFERENCES", function () { + return Mt; + }), + i.d(t, "RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS", function () { + return zt; + }), + i.d(t, "RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR", function () { + return Ut; + }), + i.d(t, "REQUEST_SET_SYNC_CT_VOLTAGE_REFERENCES", function () { + return Vt; + }), + i.d(t, "RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS", function () { + return Gt; + }), + i.d(t, "RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR", function () { + return jt; + }), + i.d(t, "REQUEST_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS", function () { + return Wt; + }), + i.d(t, "RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_SUCCESS", function () { + return Ft; + }), + i.d(t, "RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_ERROR", function () { + return qt; + }), + i.d(t, "REQUEST_ENABLE_INVERTER_METER_READINGS", function () { + return xt; + }), + i.d(t, "RECEIVE_ENABLE_INVERTER_METER_READINGS_SUCCESS", function () { + return Bt; + }), + i.d(t, "RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR", function () { + return Ht; + }), + i.d(t, "REQUEST_GRID_CODES", function () { + return Kt; + }), + i.d(t, "RECEIVE_GRID_CODES_SUCCESS", function () { + return Yt; + }), + i.d(t, "RECEIVE_GRID_CODES_ERROR", function () { + return Qt; + }), + i.d(t, "REQUEST_SAVE_GRID_CODE", function () { + return Zt; + }), + i.d(t, "RECEIVE_SAVE_GRID_CODE_SUCCESS", function () { + return Jt; + }), + i.d(t, "RECEIVE_SAVE_GRID_CODE_ERROR", function () { + return Xt; + }), + i.d(t, "REQUEST_GRID_STATUS", function () { + return $t; + }), + i.d(t, "RECEIVE_GRID_STATUS_SUCCESS", function () { + return ei; + }), + i.d(t, "RECEIVE_GRID_STATUS_ERROR", function () { + return ti; + }), + i.d(t, "REQUEST_SAVE_OFF_GRID", function () { + return ii; + }), + i.d(t, "RECEIVE_SAVE_OFF_GRID_SUCCESS", function () { + return ni; + }), + i.d(t, "RECEIVE_SAVE_OFF_GRID_ERROR", function () { + return ri; + }), + i.d(t, "REQUEST_SAVE_GRID_PHASE", function () { + return ai; + }), + i.d(t, "RECEIVE_SAVE_GRID_PHASE_SUCCESS", function () { + return oi; + }), + i.d(t, "RECEIVE_SAVE_GRID_PHASE_ERROR", function () { + return si; + }), + i.d(t, "RESET_GRID_CODE_CONFIG", function () { + return _i; + }), + i.d(t, "SCAN_POWERWALLS", function () { + return li; + }), + i.d(t, "REQUEST_POWERWALLS", function () { + return ci; + }), + i.d(t, "RECEIVE_POWERWALLS", function () { + return di; + }), + i.d(t, "RECEIVE_POWERWALLS_ERROR", function () { + return ui; + }), + i.d(t, "REQUEST_SOE", function () { + return mi; + }), + i.d(t, "RECEIVE_SOE_SUCCESS", function () { + return pi; + }), + i.d(t, "RECEIVE_SOE_ERROR", function () { + return gi; + }), + i.d(t, "REQUEST_POWERWALLS_UPDATE", function () { + return wi; + }), + i.d(t, "RECEIVE_POWERWALLS_UPDATE_SUCCESS", function () { + return vi; + }), + i.d(t, "RECEIVE_POWERWALLS_UPDATE_ERROR", function () { + return fi; + }), + i.d(t, "REQUEST_POWERWALLS_STATUS", function () { + return hi; + }), + i.d(t, "RECEIVE_POWERWALLS_STATUS_SUCCESS", function () { + return Ei; + }), + i.d(t, "RECEIVE_POWERWALLS_STATUS_ERROR", function () { + return bi; + }), + i.d(t, "RESET_POWERWALL_CONFIG", function () { + return yi; + }), + i.d(t, "REQUEST_START_PHASE_DETECTION", function () { + return Si; + }), + i.d(t, "RECEIVE_START_PHASE_DETECTION_SUCCESS", function () { + return Ri; + }), + i.d(t, "RECEIVE_START_PHASE_DETECTION_ERROR", function () { + return Ti; + }), + i.d(t, "REQUEST_FETCH_PHASE_INFORMATION", function () { + return Ai; + }), + i.d(t, "RECEIVE_FETCH_PHASE_INFORMATION_SUCCESS", function () { + return Ci; + }), + i.d(t, "RECEIVE_FETCH_PHASE_INFORMATION_ERROR", function () { + return Ii; + }), + i.d(t, "REQUEST_SAVE_PHASE_USAGES", function () { + return Oi; + }), + i.d(t, "RECEIVE_SAVE_PHASE_USAGES_SUCCESS", function () { + return Ni; + }), + i.d(t, "RECEIVE_SAVE_PHASE_USAGES_ERROR", function () { + return ki; + }), + i.d(t, "REQUEST_ENABLE_INVERTER_SOLAR_METER_READINGS", function () { + return Pi; + }), + i.d(t, "RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_SUCCESS", function () { + return Di; + }), + i.d(t, "RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_ERROR", function () { + return Li; + }), + i.d(t, "REQUEST_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS", function () { + return Mi; + }), + i.d(t, "RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS", function () { + return zi; + }), + i.d(t, "RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS_ERROR", function () { + return Ui; + }), + i.d(t, "ADD_SOLAR", function () { + return Vi; + }), + i.d(t, "REMOVE_SOLAR", function () { + return Gi; + }), + i.d(t, "REQUEST_SOLAR_CONFIG", function () { + return ji; + }), + i.d(t, "RECEIVE_SOLAR_CONFIG_SUCCESS", function () { + return Wi; + }), + i.d(t, "RECEIVE_SOLAR_CONFIG_ERROR", function () { + return Fi; + }), + i.d(t, "REQUEST_SOLAR_BRANDS", function () { + return qi; + }), + i.d(t, "RECEIVE_SOLAR_BRANDS_SUCCESS", function () { + return xi; + }), + i.d(t, "RECEIVE_SOLAR_BRANDS_ERROR", function () { + return Bi; + }), + i.d(t, "REQUEST_SOLAR_MODELS", function () { + return Hi; + }), + i.d(t, "RECEIVE_SOLAR_MODELS_SUCCESS", function () { + return Ki; + }), + i.d(t, "RECEIVE_SOLAR_MODELS_ERROR", function () { + return Yi; + }), + i.d(t, "REQUEST_SAVE_SOLAR_INVERTERS", function () { + return Qi; + }), + i.d(t, "RECEIVE_SAVE_SOLAR_INVERTER_SUCCESS", function () { + return Zi; + }), + i.d(t, "RECEIVE_SAVE_SOLAR_INVERTERS_SUCCESS", function () { + return Ji; + }), + i.d(t, "RECEIVE_SAVE_SOLAR_INVERTER_ERROR", function () { + return Xi; + }), + i.d(t, "RECEIVE_SAVE_SOLAR_INVERTERS_ERROR", function () { + return $i; + }), + i.d(t, "REQUEST_DELETE_SOLAR_INVERTER", function () { + return en; + }), + i.d(t, "RECEIVE_DELETE_SOLAR_INVERTER_SUCCESS", function () { + return tn; + }), + i.d(t, "RECEIVE_DELETE_SOLAR_INVERTER_ERROR", function () { + return nn; + }), + i.d(t, "REQUEST_CONNECT_SOLAR_INVERTER", function () { + return rn; + }), + i.d(t, "RECEIVE_CONNECT_SOLAR_INVERTER_SUCCESS", function () { + return an; + }), + i.d(t, "RECEIVE_CONNECT_SOLAR_INVERTER_ERROR", function () { + return on; + }), + i.d(t, "RESET_SOLAR_CONFIG", function () { + return sn; + }), + i.d(t, "REQUEST_GENERATOR_CONFIG", function () { + return _n; + }), + i.d(t, "RECEIVE_GENERATOR_CONFIG_SUCCESS", function () { + return ln; + }), + i.d(t, "RECEIVE_GENERATOR_CONFIG_ERROR", function () { + return cn; + }), + i.d(t, "REQUEST_GENERATOR_DISCONNECT_TYPES", function () { + return dn; + }), + i.d(t, "RECEIVE_GENERATOR_DISCONNECT_TYPES_SUCCESS", function () { + return un; + }), + i.d(t, "RECEIVE_GENERATOR_DISCONNECT_TYPES_ERROR", function () { + return mn; + }), + i.d(t, "REQUEST_SAVE_GENERATORS", function () { + return pn; + }), + i.d(t, "RECEIVE_SAVE_GENERATORS_SUCCESS", function () { + return gn; + }), + i.d(t, "RECEIVE_SAVE_GENERATORS_ERROR", function () { + return wn; + }), + i.d(t, "REQUEST_DELETE_GENERATOR", function () { + return vn; + }), + i.d(t, "RECEIVE_DELETE_GENERATOR_SUCCESS", function () { + return fn; + }), + i.d(t, "RECEIVE_DELETE_GENERATOR_ERROR", function () { + return hn; + }), + i.d(t, "ADD_GENERATOR", function () { + return En; + }), + i.d(t, "REMOVE_GENERATOR", function () { + return bn; + }), + i.d(t, "RESET_GENERATOR_CONFIG", function () { + return yn; + }), + i.d(t, "REQUEST_SITE_INFO", function () { + return Sn; + }), + i.d(t, "RECEIVE_SITE_INFO_SUCCESS", function () { + return Rn; + }), + i.d(t, "RECEIVE_SITE_INFO_ERROR", function () { + return Tn; + }), + i.d(t, "REQUEST_SAVE_SITE_NAME", function () { + return An; + }), + i.d(t, "RECEIVE_SAVE_SITE_NAME_SUCCESS", function () { + return Cn; + }), + i.d(t, "RECEIVE_SAVE_SITE_NAME_ERROR", function () { + return In; + }), + i.d(t, "REQUEST_SITE_NAME", function () { + return On; + }), + i.d(t, "RECEIVE_SITE_NAME_SUCCESS", function () { + return Nn; + }), + i.d(t, "RECEIVE_SITE_NAME_ERROR", function () { + return kn; + }), + i.d(t, "REQUEST_SAVE_EXPORT_MODE", function () { + return Pn; + }), + i.d(t, "RECEIVE_SAVE_EXPORT_MODE_SUCCESS", function () { + return Dn; + }), + i.d(t, "RECEIVE_SAVE_EXPORT_MODE_ERROR", function () { + return Ln; + }), + i.d(t, "REQUEST_OPERATION_SETTINGS", function () { + return Mn; + }), + i.d(t, "RECEIVE_OPERATION_SETTINGS_SUCCESS", function () { + return zn; + }), + i.d(t, "RECEIVE_OPERATION_SETTINGS_ERROR", function () { + return Un; + }), + i.d(t, "REQUEST_SAVE_OPERATION_SETTINGS", function () { + return Vn; + }), + i.d(t, "RECEIVE_SAVE_OPERATION_SETTINGS_SUCCESS", function () { + return Gn; + }), + i.d(t, "RECEIVE_SAVE_OPERATION_SETTINGS_ERROR", function () { + return jn; + }), + i.d(t, "REQUEST_TIMEZONE", function () { + return Wn; + }), + i.d(t, "RECEIVE_TIMEZONE_SUCCESS", function () { + return Fn; + }), + i.d(t, "RECEIVE_TIMEZONE_ERROR", function () { + return qn; + }), + i.d(t, "REQUEST_SAVE_TIMEZONE", function () { + return xn; + }), + i.d(t, "RECEIVE_SAVE_TIMEZONE_SUCCESS", function () { + return Bn; + }), + i.d(t, "RECEIVE_SAVE_TIMEZONE_ERROR", function () { + return Hn; + }), + i.d(t, "RESET_OPERATION_SETTINGS", function () { + return Kn; + }), + i.d(t, "REQUEST_GET_EXTRA_PROGRAMS", function () { + return Yn; + }), + i.d(t, "RECEIVE_GET_EXTRA_PROGRAMS_SUCCESS", function () { + return Qn; + }), + i.d(t, "RECEIVE_GET_EXTRA_PROGRAMS_ERROR", function () { + return Zn; + }), + i.d(t, "REQUEST_POST_EXTRA_PROGRAM", function () { + return Jn; + }), + i.d(t, "RECEIVE_POST_EXTRA_PROGRAM_SUCCESS", function () { + return Xn; + }), + i.d(t, "RECEIVE_POST_EXTRA_PROGRAM_ERROR", function () { + return $n; + }), + i.d(t, "REQUEST_SITEMASTER_SETTINGS", function () { + return er; + }), + i.d(t, "RECEIVE_SITEMASTER_SETTINGS_SUCCESS", function () { + return tr; + }), + i.d(t, "RECEIVE_SITEMASTER_SETTINGS_ERROR", function () { + return ir; + }), + i.d(t, "REQUEST_START_SITEMASTER", function () { + return nr; + }), + i.d(t, "RECEIVE_START_SITEMASTER_SUCCESS", function () { + return rr; + }), + i.d(t, "RECEIVE_START_SITEMASTER_ERROR", function () { + return ar; + }), + i.d(t, "REQUEST_STOP_SITEMASTER", function () { + return or; + }), + i.d(t, "RECEIVE_STOP_SITEMASTER_SUCCESS", function () { + return sr; + }), + i.d(t, "RECEIVE_STOP_SITEMASTER_ERROR", function () { + return _r; + }), + i.d(t, "REQUEST_SITEMASTER_FOR_COMMISSIONING", function () { + return lr; + }), + i.d(t, "RECEIVE_SITEMASTER_FOR_COMMISSIONING_SUCCESS", function () { + return cr; + }), + i.d(t, "RECEIVE_SITEMASTER_FOR_COMMISSIONING_ERROR", function () { + return dr; + }), + i.d(t, "RESET_SITEMASTER_SETTINGS", function () { + return ur; + }), + i.d(t, "REQUEST_RUN_INVERTER_TEST", function () { + return mr; + }), + i.d(t, "RECEIVE_RUN_INVERTER_TEST_SUCCESS", function () { + return pr; + }), + i.d(t, "RECEIVE_RUN_INVERTER_TEST_ERROR", function () { + return gr; + }), + i.d(t, "REQUEST_TEST_RESULTS", function () { + return wr; + }), + i.d(t, "RECEIVE_TEST_RESULTS", function () { + return vr; + }), + i.d(t, "RECEIVE_TEST_RESULTS_ERROR", function () { + return fr; + }), + i.d(t, "REQUEST_CANCEL_TEST", function () { + return hr; + }), + i.d(t, "RECEIVE_CANCEL_TEST_SUCCESS", function () { + return Er; + }), + i.d(t, "RECEIVE_CANCEL_TEST_ERROR", function () { + return br; + }), + i.d(t, "REQUEST_TEST_ALERTS", function () { + return yr; + }), + i.d(t, "RECEIVE_TEST_ALERTS_SUCCESS", function () { + return Sr; + }), + i.d(t, "RECEIVE_TEST_ALERTS_ERROR", function () { + return Rr; + }), + i.d(t, "RESET_TESTS", function () { + return Tr; + }), + i.d(t, "REQUEST_START_DIAGNOSTIC_TESTS", function () { + return Ar; + }), + i.d(t, "RECEIVE_START_DIAGNOSTIC_TESTS_SUCCESS", function () { + return Cr; + }), + i.d(t, "RECEIVE_START_DIAGNOSTIC_TESTS_ERROR", function () { + return Ir; + }), + i.d(t, "REQUEST_STOP_DIAGNOSTIC_TEST", function () { + return Or; + }), + i.d(t, "RECEIVE_STOP_DIAGNOSTIC_TEST_SUCCESS", function () { + return Nr; + }), + i.d(t, "RECEIVE_STOP_DIAGNOSTIC_TEST_ERROR", function () { + return kr; + }), + i.d(t, "REQUEST_DIAGNOSTIC_TEST_RESULTS", function () { + return Pr; + }), + i.d(t, "RECEIVE_DIAGNOSTIC_TEST_RESULTS_SUCCESS", function () { + return Dr; + }), + i.d(t, "RECEIVE_DIAGNOSTIC_TEST_RESULTS_ERROR", function () { + return Lr; + }), + i.d(t, "RESET_DIAGNOSTICS", function () { + return Mr; + }), + i.d(t, "REQUEST_INSTALLATION_INFORMATION", function () { + return zr; + }), + i.d(t, "RECEIVE_INSTALLATION_INFORMATION_SUCCESS", function () { + return Ur; + }), + i.d(t, "RECEIVE_INSTALLATION_INFORMATION_ERROR", function () { + return Vr; + }), + i.d(t, "REQUEST_SAVE_INSTALLATION_INFORMATION", function () { + return Gr; + }), + i.d(t, "RECEIVE_SAVE_INSTALLATION_INFORMATION_SUCCESS", function () { + return jr; + }), + i.d(t, "RECEIVE_SAVE_INSTALLATION_INFORMATION_ERROR", function () { + return Wr; + }), + i.d(t, "CHANGE_COMPANY", function () { + return Fr; + }), + i.d(t, "CHANGE_PHONE", function () { + return qr; + }), + i.d(t, "CHANGE_EMAIL", function () { + return xr; + }), + i.d(t, "SAVE_PHOTOS", function () { + return Br; + }), + i.d(t, "RESET_INSTALLATION_INFORMATION", function () { + return Hr; + }), + i.d(t, "REQUEST_COMPANY_INFORMATION", function () { + return Kr; + }), + i.d(t, "RECEIVE_COMPANY_INFORMATION_SUCCESS", function () { + return Yr; + }), + i.d(t, "RECEIVE_COMPANY_INFORMATION_ERROR", function () { + return Qr; + }), + i.d(t, "REQUEST_SAVE_LEGAL_INFORMATION", function () { + return Zr; + }), + i.d(t, "RECEIVE_SAVE_LEGAL_INFORMATION_SUCCESS", function () { + return Jr; + }), + i.d(t, "RECEIVE_SAVE_LEGAL_INFORMATION_ERROR", function () { + return Xr; + }), + i.d(t, "REQUEST_CUSTOMER_INFORMATION_CONFIG", function () { + return $r; + }), + i.d(t, "RECEIVE_CUSTOMER_INFORMATION_CONFIG_SUCCESS", function () { + return ea; + }), + i.d(t, "RECEIVE_CUSTOMER_INFORMATION_CONFIG_ERROR", function () { + return ta; + }), + i.d(t, "REQUEST_REGISTER_CUSTOMER_INFORMATION", function () { + return ia; + }), + i.d(t, "RECEIVE_REGISTER_CUSTOMER_INFORMATION_SUCCESS", function () { + return na; + }), + i.d(t, "RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR", function () { + return ra; + }), + i.d(t, "RESET_CUSTOMER_INFORMATION", function () { + return aa; + }), + i.d(t, "REQUEST_REGISTRATION", function () { + return oa; + }), + i.d(t, "RECEIVE_REGISTRATION_SUCCESS", function () { + return sa; + }), + i.d(t, "RECEIVE_REGISTRATION_ERROR", function () { + return _a; + }), + i.d(t, "SHOW_ERROR", function () { + return la; + }), + i.d(t, "CLEAR_ERROR", function () { + return ca; + }), + i.d(t, "CLEAR_ERRORS", function () { + return da; + }), + i.d(t, "RESET_ERROR_CONFIG", function () { + return ua; + }), + i.d(t, "GENERIC_ERROR", function () { + return ma; + }), + i.d(t, "NO_CONNECTION_ERROR", function () { + return pa; + }), + i.d(t, "METER_INCORRECT_CT_ERROR", function () { + return ga; + }), + i.d(t, "METER_INCORRECT_SHORT_ID_ERROR", function () { + return wa; + }), + i.d(t, "METER_DUPLICATE_SHORT_ID_ERROR", function () { + return va; + }), + i.d(t, "METER_INCORRECT_SERIAL_ERROR", function () { + return fa; + }), + i.d(t, "METER_DUPLICATE_SERIAL_ERROR", function () { + return ha; + }), + i.d(t, "METER_INCORRECT_MAC_ADDRESS_ERROR", function () { + return Ea; + }), + i.d(t, "METER_INCORRECT_IP_ADDRESS_ERROR", function () { + return ba; + }), + i.d(t, "METER_BARCODE_DECODE_ERROR", function () { + return ya; + }), + i.d(t, "INVERTER_TEST_RESULT_ERROR", function () { + return Sa; + }), + i.d(t, "INVERTER_TEST_GRID_UNCOMPLIANT_ERROR", function () { + return Ra; + }), + i.d(t, "INVERTER_TEST_NOT_IDLE_ERROR", function () { + return Ta; + }), + i.d(t, "PASSWORD_INCORRECT_MATCH_ERROR", function () { + return Aa; + }), + i.d(t, "METER_UPDATE_ERROR", function () { + return Ca; + }), + i.d(t, "METER_FETCH_STATUS_ERROR", function () { + return Ia; + }), + i.d(t, "POWER_RATING_RANGE_ERROR", function () { + return Oa; + }), + i.d(t, "SUSTAINED_POWER_RANGE_ERROR", function () { + return Na; + }), + i.d(t, "SITEMASTER_NOT_RUNNING_ERROR", function () { + return ka; + }), + i.d(t, "SHOW_TOAST", function () { + return Pa; + }), + i.d(t, "CLEAR_TOAST", function () { + return Da; + }), + i.d(t, "CLEAR_TOASTS", function () { + return La; + }), + i.d(t, "NO_METERS_CONFIGURED_WARNING", function () { + return Ma; + }), + i.d(t, "NO_POWERWALLS_DETECTED_WARNING", function () { + return za; + }), + i.d(t, "NO_SOLAR_INVERTER_WARNING", function () { + return Ua; + }), + i.d(t, "NO_SOLAR_CT_WARNING", function () { + return Va; + }), + i.d(t, "NO_SITE_OR_LOAD_CT_WARNING", function () { + return Ga; + }), + i.d(t, "RECEIVE_INSTALLATION_PROBLEMS", function () { + return ja; + }); + const n = "LOCATION_CHANGE", + r = "SHOW_NAVIGATION", + a = "UPDATE_NAVIGATION", + o = "SHOW_BACK", + s = "HIDE_BACK", + _ = "SHOW_CANCEL", + l = "HIDE_CANCEL", + c = "SHOW_FORWARD", + d = "HIDE_FORWARD", + u = "RESET_NAVIGATION", + m = "SHOW_MODAL", + p = "UPDATE_MODAL", + g = "HIDE_MODAL", + w = "DESTROY_MODAL", + v = "SHOW_HEADER", + f = "UPDATE_HEADER", + h = "RESET_HEADER", + E = "SHOW_BANNER", + b = "DESTROY_BANNER", + y = "DESTROY_ALL_BANNERS", + S = "REQUEST_CONFIG_INITIALIZED", + R = "RECEIVE_CONFIG_INITIALIZED", + T = "RECEIVE_CONFIG_INITIALIZED_ERROR", + A = "REQUEST_SYNC_CONFIG", + C = "RECEIVE_SYNC_CONFIG_SUCCESS", + I = "RECEIVE_SYNC_CONFIG_ERROR", + O = "CHANGE_USERNAME", + N = "CHANGE_LOGIN_TYPE", + k = "REQUEST_LOGIN", + P = "RECEIVE_LOGIN_SUCCESS", + D = "RECEIVE_LOGIN_ERROR", + L = "REQUEST_GENERATE_PASSWORD", + M = "RECEIVE_GENERATE_PASSWORD_SUCCESS", + z = "RECEIVE_GENERATE_PASSWORD_ERROR", + U = "REQUEST_RESET_PASSWORD", + V = "RECEIVE_RESET_PASSWORD_SUCCESS", + G = "RECEIVE_RESET_PASSWORD_ERROR", + j = "REQUEST_CHANGE_PASSWORD", + W = "RECEIVE_CHANGE_PASSWORD_SUCCESS", + F = "RECEIVE_CHANGE_PASSWORD_ERROR", + q = "REQUEST_LOGOUT", + x = "RECEIVE_LOGOUT_ERROR", + B = "RESET_AUTHENTICATION", + H = "REQUEST_START_TOGGLE_AUTH", + K = "RECEIVE_START_TOGGLE_AUTH_SUCCESS", + Y = "RECEIVE_START_TOGGLE_AUTH_ERROR", + Q = "REQUEST_CANCEL_TOGGLE_AUTH", + Z = "RECEIVE_CANCEL_TOGGLE_AUTH_SUCCESS", + J = "RECEIVE_CANCEL_TOGGLE_AUTH_ERROR", + X = "REQUEST_TOGGLE_AUTH_LOGIN", + $ = "RECEIVE_TOGGLE_AUTH_LOGIN_SUCCESS", + ee = "RECEIVE_TOGGLE_AUTH_LOGIN_ERROR", + te = "REQUEST_SUPPORTS_TOGGLE_AUTH", + ie = "RECEIVE_SUPPORTS_TOGGLE_AUTH_SUCCESS", + ne = "RECEIVE_SUPPORTS_TOGGLE_AUTH_ERROR", + re = "REQUEST_NETWORKS", + ae = "RECEIVE_NETWORKS_SUCCESS", + oe = "RECEIVE_NETWORKS_ERROR", + se = "REQUEST_ACCESS_POINTS", + _e = "RECEIVE_ACCESS_POINTS_SUCCESS", + le = "RECEIVE_ACCESS_POINTS_ERROR", + ce = "REQUEST_CONNECT_ETHERNET", + de = "RECEIVE_CONNECT_ETHERNET_SUCCESS", + ue = "RECEIVE_CONNECT_ETHERNET_ERROR", + me = "REQUEST_SCAN_WIFI_NETWORKS", + pe = "RECEIVE_SCAN_WIFI_NETWORKS_SUCCESS", + ge = "RECEIVE_SCAN_WIFI_NETWORKS_ERROR", + we = "REQUEST_CONNECT_WIFI", + ve = "RECEIVE_CONNECT_WIFI_SUCCESS", + fe = "RECEIVE_CONNECT_WIFI_ERROR", + he = "REQUEST_DISCONNECT_NETWORK", + Ee = "RECEIVE_DISCONNECT_NETWORK_SUCCESS", + be = "RECEIVE_DISCONNECT_NETWORK_ERROR", + ye = "REQUEST_DELETE_NETWORK", + Se = "RECEIVE_DELETE_NETWORK_SUCCESS", + Re = "RECEIVE_DELETE_NETWORK_ERROR", + Te = "RESET_NETWORK_CONFIG", + Ae = "CANCEL_NETWORK", + Ce = "REQUEST_CLIENT_PROTOCOLS", + Ie = "RECEIVE_CLIENT_PROTOCOLS_SUCCESS", + Oe = "RECEIVE_CLIENT_PROTOCOLS_ERROR", + Ne = "RECEIVE_CHECK_UPDATE", + ke = "REQUEST_INSTALL_UPDATE", + Pe = "RECEIVE_CHECK_UPDATE_ERROR", + De = "RECEIVE_START_UPDATE_ERROR", + Le = "DOWNLOAD_STALLED_ERROR", + Me = "DOWNLOAD_PROGRESSING", + ze = "REQUEST_UPDATE", + Ue = "RECEIVE_UPDATE_ERROR", + Ve = "CANCEL_UPDATE", + Ge = "SAVE_SYSTEM_INFO", + je = "RESET_SYSTEM_INFO", + We = "REQUEST_CHECK_UPDATE_URGENCY", + Fe = "RECEIVE_CHECK_UPDATE_URGENCY", + qe = "RECEIVE_CHECK_UPDATE_URGENCY_ERROR", + xe = "FACTORY_RESET", + Be = "RESET_ALL", + He = "ADD_METER", + Ke = "REMOVE_METER", + Ye = "RESET_METER_CONFIG", + Qe = "RESET_METER_CURRENT_TRANSFORMER_READINGS", + Ze = "REQUEST_DETECT_METER", + Je = "RECEIVE_DETECT_METER_SUCCESS", + Xe = "RECEIVE_DETECT_METER_ERROR", + $e = "REQUEST_CREATE_METER", + et = "RECEIVE_CREATE_METER_SUCCESS", + tt = "RECEIVE_CREATE_METER_ERROR", + it = "REQUEST_DELETE_METER", + nt = "RECEIVE_DELETE_METER_SUCCESS", + rt = "RECEIVE_DELETE_METER_ERROR", + at = "REQUEST_COMMISSION_METER", + ot = "RECEIVE_COMMISSION_METER_UPDATE", + st = "RECEIVE_COMMISSION_METER_SUCCESS", + _t = "RECEIVE_COMMISSION_METER_ERROR", + lt = "REQUEST_METER_CONFIG", + ct = "RECEIVE_METER_CONFIG_UPDATE", + dt = "RECEIVE_METER_CONFIG_SUCCESS", + ut = "RECEIVE_METER_CONFIG_ERROR", + mt = "REQUEST_SET_METER_CTS", + pt = "RECEIVE_SET_METER_CTS_SUCCESS", + gt = "RECEIVE_SET_METER_CTS_ERROR", + wt = "REQUEST_DELETE_METER_CTS", + vt = "RECEIVE_DELETE_METER_CTS_SUCCESS", + ft = "RECEIVE_DELETE_METER_CTS_ERROR", + ht = "REQUEST_METER_READINGS", + Et = "RECEIVE_METER_READINGS_SUCCESS", + bt = "RECEIVE_METER_READINGS_ERROR", + yt = "REQUEST_METER_FLIP_CT", + St = "RECEIVE_METER_FLIP_CT_SUCCESS", + Rt = "RECEIVE_METER_FLIP_CT_ERROR", + Tt = "REQUEST_METER_AGGREGATES", + At = "RECEIVE_METER_AGGREGATES_SUCCESS", + Ct = "RECEIVE_METER_AGGREGATES_ERROR", + It = "CANCEL_METER", + Ot = "REQUEST_METER_AMP_RATINGS", + Nt = "RECEIVE_METER_AMP_RATINGS_SUCCESS", + kt = "RECEIVE_METER_AMP_RATINGS_ERROR", + Pt = "REQUEST_SET_METER_AMP_RATINGS", + Dt = "RECEIVE_SET_METER_AMP_RATINGS_SUCCESS", + Lt = "RECEIVE_SET_METER_AMP_RATINGS_ERROR", + Mt = "REQUEST_SYNC_CT_VOLTAGE_REFERENCES", + zt = "RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS", + Ut = "RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR", + Vt = "REQUEST_SET_SYNC_CT_VOLTAGE_REFERENCES", + Gt = "RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS", + jt = "RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR", + Wt = "REQUEST_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS", + Ft = "RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_SUCCESS", + qt = "RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_ERROR", + xt = "REQUEST_ENABLE_INVERTER_METER_READINGS", + Bt = "RECEIVE_ENABLE_INVERTER_METER_READINGS_SUCCESS", + Ht = "RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR", + Kt = "REQUEST_GRID_CODES", + Yt = "RECEIVE_GRID_CODES_SUCCESS", + Qt = "RECEIVE_GRID_CODES_ERROR", + Zt = "REQUEST_SAVE_GRID_CODE", + Jt = "RECEIVE_SAVE_GRID_CODE_SUCCESS", + Xt = "RECEIVE_SAVE_GRID_CODE_ERROR", + $t = "REQUEST_GRID_STATUS", + ei = "RECEIVE_GRID_STATUS_SUCCESS", + ti = "RECEIVE_GRID_STATUS_ERROR", + ii = "REQUEST_SAVE_OFF_GRID", + ni = "RECEIVE_SAVE_OFF_GRID_SUCCESS", + ri = "RECEIVE_SAVE_OFF_GRID_ERROR", + ai = "REQUEST_SAVE_GRID_PHASE", + oi = "RECEIVE_SAVE_GRID_PHASE_SUCCESS", + si = "RECEIVE_SAVE_GRID_PHASE_ERROR", + _i = "RESET_GRID_CODE_CONFIG", + li = "SCAN_POWERWALLS", + ci = "REQUEST_POWERWALLS", + di = "RECEIVE_POWERWALLS", + ui = "RECEIVE_POWERWALLS_ERROR", + mi = "REQUEST_SOE", + pi = "RECEIVE_SOE_SUCCESS", + gi = "RECEIVE_SOE_ERROR", + wi = "REQUEST_POWERWALLS_UPDATE", + vi = "RECEIVE_POWERWALLS_UPDATE_SUCCESS", + fi = "RECEIVE_POWERWALLS_UPDATE_ERROR", + hi = "REQUEST_POWERWALLS_STATUS", + Ei = "RECEIVE_POWERWALLS_STATUS_SUCCESS", + bi = "RECEIVE_POWERWALLS_STATUS_ERROR", + yi = "RESET_POWERWALL_CONFIG", + Si = "REQUEST_START_PHASE_DETECTION", + Ri = "RECEIVE_START_PHASE_DETECTION_SUCCESS", + Ti = "RECEIVE_START_PHASE_DETECTION_ERROR", + Ai = "REQUEST_FETCH_PHASE_INFORMATION", + Ci = "RECEIVE_FETCH_PHASE_INFORMATION_SUCCESS", + Ii = "RECEIVE_FETCH_PHASE_INFORMATION_ERROR", + Oi = "REQUEST_SAVE_PHASE_USAGES", + Ni = "RECEIVE_SAVE_PHASE_USAGES_SUCCESS", + ki = "RECEIVE_SAVE_PHASE_USAGES_ERROR", + Pi = "REQUEST_ENABLE_INVERTER_SOLAR_METER_READINGS", + Di = "RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_SUCCESS", + Li = "RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_ERROR", + Mi = "REQUEST_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS", + zi = "RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS", + Ui = "RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS_ERROR", + Vi = "ADD_SOLAR", + Gi = "REMOVE_SOLAR", + ji = "REQUEST_SOLAR_CONFIG", + Wi = "RECEIVE_SOLAR_CONFIG_SUCCESS", + Fi = "RECEIVE_SOLAR_CONFIG_ERROR", + qi = "REQUEST_SOLAR_BRANDS", + xi = "RECEIVE_SOLAR_BRANDS_SUCCESS", + Bi = "RECEIVE_SOLAR_BRANDS_ERROR", + Hi = "REQUEST_SOLAR_MODELS", + Ki = "RECEIVE_SOLAR_MODELS_SUCCESS", + Yi = "RECEIVE_SOLAR_MODELS_ERROR", + Qi = "REQUEST_SAVE_SOLAR_INVERTERS", + Zi = "RECEIVE_SAVE_SOLAR_INVERTER_SUCCESS", + Ji = "RECEIVE_SAVE_SOLAR_INVERTERS_SUCCESS", + Xi = "RECEIVE_SAVE_SOLAR_INVERTER_ERROR", + $i = "RECEIVE_SAVE_SOLAR_INVERTERS_ERROR", + en = "REQUEST_DELETE_SOLAR_INVERTER", + tn = "RECEIVE_DELETE_SOLAR_INVERTER_SUCCESS", + nn = "RECEIVE_DELETE_SOLAR_INVERTER_ERROR", + rn = "REQUEST_CONNECT_SOLAR_INVERTER", + an = "RECEIVE_CONNECT_SOLAR_INVERTER_SUCCESS", + on = "RECEIVE_CONNECT_SOLAR_INVERTER_ERROR", + sn = "RESET_SOLAR_CONFIG", + _n = "REQUEST_GENERATOR_CONFIG", + ln = "RECEIVE_GENERATOR_CONFIG_SUCCESS", + cn = "RECEIVE_GENERATOR_CONFIG_ERROR", + dn = "REQUEST_GENERATOR_DISCONNECT_TYPES", + un = "RECEIVE_GENERATOR_DISCONNECT_TYPES_SUCCESS", + mn = "RECEIVE_GENERATOR_DISCONNECT_TYPES_ERROR", + pn = "REQUEST_SAVE_GENERATORS", + gn = "RECEIVE_SAVE_GENERATORS_SUCCESS", + wn = "RECEIVE_SAVE_GENERATORS_ERROR", + vn = "REQUEST_DELETE_GENERATOR", + fn = "RECEIVE_DELETE_GENERATOR_SUCCESS", + hn = "RECEIVE_DELETE_GENERATOR_ERROR", + En = "ADD_GENERATOR", + bn = "REMOVE_GENERATOR", + yn = "RESET_GENERATOR_CONFIG", + Sn = "REQUEST_SITE_INFO", + Rn = "RECEIVE_SITE_INFO_SUCCESS", + Tn = "RECEIVE_SITE_INFO_ERROR", + An = "REQUEST_SAVE_SITE_NAME", + Cn = "RECEIVE_SAVE_SITE_NAME_SUCCESS", + In = "RECEIVE_SAVE_SITE_NAME_ERROR", + On = "REQUEST_SITE_NAME", + Nn = "RECEIVE_SITE_NAME_SUCCESS", + kn = "RECEIVE_SITE_NAME_ERROR", + Pn = "REQUEST_SAVE_EXPORT_MODE", + Dn = "RECEIVE_SAVE_EXPORT_MODE_SUCCESS", + Ln = "RECEIVE_SAVE_EXPORT_MODE_ERROR", + Mn = "REQUEST_OPERATION_SETTINGS", + zn = "RECEIVE_OPERATION_SETTINGS_SUCCESS", + Un = "RECEIVE_OPERATION_SETTINGS_ERROR", + Vn = "REQUEST_SAVE_OPERATION_SETTINGS", + Gn = "RECEIVE_SAVE_OPERATION_SETTINGS_SUCCESS", + jn = "RECEIVE_SAVE_OPERATION_SETTINGS_ERROR", + Wn = "REQUEST_TIMEZONE", + Fn = "RECEIVE_TIMEZONE_SUCCESS", + qn = "RECEIVE_TIMEZONE_ERROR", + xn = "REQUEST_SAVE_TIMEZONE", + Bn = "RECEIVE_SAVE_TIMEZONE_SUCCESS", + Hn = "RECEIVE_SAVE_TIMEZONE_ERROR", + Kn = "RESET_OPERATION_SETTINGS", + Yn = "REQUEST_GET_EXTRA_PROGRAMS", + Qn = "RECEIVE_GET_EXTRA_PROGRAMS_SUCCESS", + Zn = "RECEIVE_GET_EXTRA_PROGRAMS_ERROR", + Jn = "REQUEST_POST_EXTRA_PROGRAM", + Xn = "RECEIVE_POST_EXTRA_PROGRAM_SUCCESS", + $n = "RECEIVE_POST_EXTRA_PROGRAM_ERROR", + er = "REQUEST_SITEMASTER_SETTINGS", + tr = "RECEIVE_SITEMASTER_SETTINGS_SUCCESS", + ir = "RECEIVE_SITEMASTER_SETTINGS_ERROR", + nr = "REQUEST_START_SITEMASTER", + rr = "RECEIVE_START_SITEMASTER_SUCCESS", + ar = "RECEIVE_START_SITEMASTER_ERROR", + or = "REQUEST_STOP_SITEMASTER", + sr = "RECEIVE_STOP_SITEMASTER_SUCCESS", + _r = "RECEIVE_STOP_SITEMASTER_ERROR", + lr = "REQUEST_SITEMASTER_FOR_COMMISSIONING", + cr = "RECEIVE_SITEMASTER_FOR_COMMISSIONING_SUCCESS", + dr = "RECEIVE_SITEMASTER_FOR_COMMISSIONING_ERROR", + ur = "RESET_SITEMASTER_SETTINGS", + mr = "REQUEST_RUN_INVERTER_TEST", + pr = "RECEIVE_RUN_INVERTER_TEST_SUCCESS", + gr = "RECEIVE_RUN_INVERTER_TEST_ERROR", + wr = "REQUEST_TEST_RESULTS", + vr = "RECEIVE_TEST_RESULTS", + fr = "RECEIVE_TEST_RESULTS_ERROR", + hr = "REQUEST_CANCEL_TEST", + Er = "RECEIVE_CANCEL_TEST", + br = "RECEIVE_CANCEL_TEST_ERROR", + yr = "REQUEST_TEST_ALERTS", + Sr = "RECEIVE_TEST_ALERTS_SUCCESS", + Rr = "RECEIVE_TEST_ALERTS_ERROR", + Tr = "RESET_TESTS", + Ar = "REQUEST_START_DIAGNOSTIC_TESTS", + Cr = "RECEIVE_START_DIAGNOSTIC_TESTS_SUCCESS", + Ir = "RECEIVE_START_DIAGNOSTIC_TESTS_ERROR", + Or = "REQUEST_STOP_DIAGNOSTIC_TEST", + Nr = "RECEIVE_STOP_DIAGNOSTIC_TEST_SUCCESS", + kr = "RECEIVE_STOP_DIAGNOSTIC_TEST_ERROR", + Pr = "REQUEST_DIAGNOSTIC_TEST_RESULTS", + Dr = "RECEIVE_DIAGNOSTIC_TEST_RESULTS_SUCCESS", + Lr = "RECEIVE_DIAGNOSTIC_TEST_RESULTS_ERROR", + Mr = "RESET_DIAGNOSTICS", + zr = "REQUEST_INSTALLATION_INFORMATION", + Ur = "RECEIVE_INSTALLATION_INFORMATION_SUCCESS", + Vr = "RECEIVE_INSTALLATION_INFORMATION_ERROR", + Gr = "REQUEST_SAVE_INSTALLATION_INFORMATION", + jr = "RECEIVE_SAVE_INSTALLATION_INFORMATION_SUCCESS", + Wr = "RECEIVE_SAVE_INSTALLATION_INFORMATION_ERROR", + Fr = "CHANGE_COMPANY", + qr = "CHANGE_PHONE", + xr = "CHANGE_EMAIL", + Br = "SAVE_PHOTOS", + Hr = "RESET_INSTALLATION_INFORMATION", + Kr = "REQUEST_COMPANY_INFORMATION", + Yr = "RECEIVE_COMPANY_INFORMATION_SUCCESS", + Qr = "RECEIVE_COMPANY_INFORMATION_ERROR", + Zr = "REQUEST_SAVE_LEGAL_INFORMATION", + Jr = "RECEIVE_SAVE_LEGAL_INFORMATION_SUCCESS", + Xr = "RECEIVE_SAVE_LEGAL_INFORMATION_ERROR", + $r = "REQUEST_CUSTOMER_INFORMATION_CONFIG", + ea = "RECEIVE_CUSTOMER_INFORMATION_CONFIG_SUCCESS", + ta = "RECEIVE_CUSTOMER_INFORMATION_CONFIG_ERROR", + ia = "REQUEST_REGISTER_CUSTOMER_INFORMATION", + na = "RECEIVE_REGISTER_CUSTOMER_INFORMATION_SUCCESS", + ra = "RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR", + aa = "RESET_CUSTOMER_INFORMATION", + oa = "REQUEST_REGISTRATION", + sa = "RECEIVE_REGISTRATION_SUCCESS", + _a = "RECEIVE_REGISTRATION_ERROR", + la = "SHOW_ERROR", + ca = "CLEAR_ERROR", + da = "CLEAR_ERRORS", + ua = "RESET_ERROR_CONFIG", + ma = "GENERIC_ERROR", + pa = "NO_CONNECTION_ERROR", + ga = "METER_INCORRECT_CT_ERROR", + wa = "METER_INCORRECT_SHORT_ID_ERROR", + va = "METER_DUPLICATE_SHORT_ID_ERROR", + fa = "METER_INCORRECT_SERIAL_ERROR", + ha = "METER_DUPLICATE_SERIAL_ERROR", + Ea = "METER_INCORRECT_MAC_ADDRESS_ERROR", + ba = "METER_INCORRECT_IP_ADDRESS_ERROR", + ya = "METER_BARCODE_DECODE_ERROR", + Sa = "INVERTER_TEST_RESULT_ERROR", + Ra = "INVERTER_TEST_GRID_UNCOMPLIANT_ERROR", + Ta = "INVERTER_TEST_NOT_IDLE_ERROR", + Aa = "PASSWORD_INCORRECT_MATCH_ERROR", + Ca = "METER_UPDATE_ERROR", + Ia = "METER_FETCH_STATUS_ERROR", + Oa = "POWER_OUT_OF_RANGE_ERROR", + Na = "SUSTAINED_POWER_RANGE_ERROR", + ka = "SITEMASTER_NOT_RUNNING_ERROR", + Pa = "SHOW_TOAST", + Da = "CLEAR_TOAST", + La = "CLEAR_TOASTS", + Ma = "NO_METERS_CONFIGURED_WARNING", + za = "NO_POWERWALLS_DETECTED_WARNING", + Ua = "NO_SOLAR_INVERTER_WARNING", + Va = "NO_SOLAR_CT_WARNING", + Ga = "NO_SITE_OR_LOAD_CT_WARNING", + ja = "RECEIVE_INSTALLATION_PROBLEMS"; + }, + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.postOptions = t.checkResponseStatus = t.parseResponseText = t.parseText = t.parseJSON = t.checkStatus = void 0); + class n extends Error { + constructor(e, t) { + super(e), (this.response = t); + } + } + (t.checkStatus = function (e) { + if (e.status >= 200 && e.status < 300) return e; + throw new n(e.statusText, e); + }), + (t.parseJSON = function (e) { + return e.json(); + }), + (t.parseText = function (e) { + return e.text(); + }), + (t.parseResponseText = function (e) { + if (!e) return null; + try { + return JSON.parse(e); + } catch (t) { + const i = `Error: ${e}. Check server logs`; + throw new n(i, i); + } + }), + (t.checkResponseStatus = function (e) { + var t; + const i = e; + if (!((i && i.code && !(i.code >= 200 && i.code < 300)) || ((null == i ? void 0 : i.message) && (null == i ? void 0 : i.error)))) return e || {}; + throw new n(null !== (t = null == i ? void 0 : i.message) && void 0 !== t ? t : "Response error", i); + }); + t.postOptions = (e) => ({ method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(e) }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.authedPostOptions = t.apiToUrl = t.toApi = void 0); + const n = i(4), + r = "http://10.33.155.246:8088", + a = { api: { host: r, uri: r + "/api" }, static: { host: "http://10.33.155.246:3000", uri: "http://10.33.155.246:3000" }, credentials: "include" }; + (a.api.host = ""), (a.api.uri = "/api"), (a.static.host = ""), (a.static.uri = ""), (a.credentials = "same-origin"); + t.toApi = (e) => `${a.api.uri}/${e}`; + t.apiToUrl = (e) => `${a.api.uri}${e}`; + (t.authedPostOptions = (e) => Object.assign(Object.assign({}, (0, n.postOptions)(e)), { credentials: a.credentials })), (t.default = a); + }, + function (e, t, i) { + "use strict"; + function n(e, ...t) { + return (...i) => { + let n = { type: e }; + return ( + t.forEach((e, r) => { + n[t[r]] = i[r]; + }), + n + ); + }; + } + i.d(t, "b", function () { + return n; + }), + i.d(t, "a", function () { + return r; + }); + const r = (e) => (t) => ({ payload: t, receivedAt: Date.now(), type: e }); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "showError", function () { + return _; + }), + i.d(t, "clearError", function () { + return l; + }), + i.d(t, "clearErrors", function () { + return c; + }), + i.d(t, "resetErrorConfig", function () { + return d; + }), + i.d(t, "uploadLogs", function () { + return u; + }); + var n = i(2), + r = i(6), + a = i(4), + o = i(5), + s = i.n(o); + function _(e, t, i, r) { + return { type: n.SHOW_ERROR, name: e, message: t, context: i, logError: r }; + } + const l = Object(r.b)(n.CLEAR_ERROR, "name", "context"), + c = Object(r.b)(n.CLEAR_ERRORS), + d = Object(r.b)(n.RESET_ERROR_CONFIG); + async function u(e, t, i) { + let n = { level: e, log: t }; + return ( + i && (n.trace = i), + fetch(s.a.api.uri + "/logging", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(n) }) + .then(a.checkStatus) + .then(() => {}) + .catch((e) => { + throw e; + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.d(t, "h", function () { + return o; + }), + i.d(t, "n", function () { + return s; + }), + i.d(t, "m", function () { + return _; + }), + i.d(t, "e", function () { + return l; + }), + i.d(t, "f", function () { + return c; + }), + i.d(t, "c", function () { + return d; + }), + i.d(t, "g", function () { + return u; + }), + i.d(t, "d", function () { + return m; + }), + i.d(t, "b", function () { + return p; + }), + i.d(t, "a", function () { + return g; + }), + i.d(t, "k", function () { + return w; + }), + i.d(t, "l", function () { + return v; + }), + i.d(t, "i", function () { + return f; + }), + i.d(t, "j", function () { + return h; + }), + i.d(t, "p", function () { + return E; + }), + i.d(t, "o", function () { + return b; + }); + var n = i(1), + r = i.n(n), + a = i(27); + const o = { SOLAR: "SOLAR", USAGE: "USAGE", GRID: "GRID", BATTERY: "BATTERY" }, + s = { [o.SOLAR]: "solar", [o.USAGE]: "load", [o.GRID]: "site", [o.BATTERY]: "battery" }, + _ = Object(a.invert)(s), + l = "rgba(255,255,255,0.2)", + c = "#F2CA00", + d = "#00D000", + u = "#00AEEF", + m = "#CBCFD1", + p = "#FFA400", + g = r.a.createElement( + "linearGradient", + { id: "blueYellowGradient", gradientUnits: "userSpaceOnUse", x1: "97.9811065%", y1: "2.01889349%", x2: "0.224566072%", y2: "99.7754339%" }, + r.a.createElement("stop", { stopColor: u, offset: "0%" }), + r.a.createElement("stop", { stopColor: c, offset: "99.1828763%" }) + ), + w = r.a.createElement( + "linearGradient", + { id: "greenBlueGradient", gradientUnits: "userSpaceOnUse", x1: "50%", y1: "0%", x2: "50%", y2: "100%" }, + r.a.createElement("stop", { stopColor: u, offset: "0%" }), + r.a.createElement("stop", { stopColor: d, offset: "100%" }) + ), + v = r.a.createElement( + "linearGradient", + { id: "greenGrayGradient", gradientUnits: "userSpaceOnUse", x1: "0%", y1: "50%", x2: "97.9811065%", y2: "2.01889349%" }, + r.a.createElement("stop", { stopColor: d, offset: "0%" }), + r.a.createElement("stop", { stopColor: m, offset: "100%" }) + ), + f = r.a.createElement( + "linearGradient", + { id: "grayBlueGradient", gradientUnits: "userSpaceOnUse", x1: "0%", y1: "50%", x2: "97.9811065%", y2: "2.01889349%" }, + r.a.createElement("stop", { stopColor: m, offset: "0%" }), + r.a.createElement("stop", { stopColor: u, offset: "100%" }) + ), + h = r.a.createElement( + "linearGradient", + { id: "grayGreenGradient", gradientUnits: "userSpaceOnUse", x1: "0%", y1: "50%", x2: "97.9811065%", y2: "2.01889349%" }, + r.a.createElement("stop", { stopColor: m, offset: "0%" }), + r.a.createElement("stop", { stopColor: d, offset: "100%" }) + ), + E = r.a.createElement( + "linearGradient", + { id: "yellowGreenGradient", gradientUnits: "userSpaceOnUse", x1: "50%", y1: "0%", x2: "50%", y2: "97.3274075%" }, + r.a.createElement("stop", { stopColor: c, offset: "0%" }), + r.a.createElement("stop", { stopColor: d, offset: "100%" }) + ), + b = r.a.createElement( + "linearGradient", + { id: "yellowGrayGradient", gradientUnits: "userSpaceOnUse", x1: "50%", y1: "0%", x2: "50%", y2: "100%" }, + r.a.createElement("stop", { stopColor: m, offset: "0%" }), + r.a.createElement("stop", { stopColor: c, offset: "100%" }) + ); + }, + , + function (e, t, i) { + "use strict"; + i.d(t, "i", function () { + return n; + }), + i.d(t, "g", function () { + return r; + }), + i.d(t, "h", function () { + return a; + }), + i.d(t, "b", function () { + return o; + }), + i.d(t, "c", function () { + return s; + }), + i.d(t, "e", function () { + return _; + }), + i.d(t, "d", function () { + return l; + }), + i.d(t, "a", function () { + return c; + }), + i.d(t, "f", function () { + return d; + }); + const n = ["/", "/wizard", "/password", "/compliance", "/upgrade"], + r = [...n, "/network", "/network/ethernet", "/network/wifi", "/legal", "/registration", "/summary", "/vitals"], + a = ["/update", "/success"], + o = "LOGIN_MODAL", + s = { KIOSK: "kiosk", INSTALLER: "installer", CUSTOMER: "customer", ADMIN: "admin", ENGINEER: "engineer" }, + _ = { HOME_OWNER: "Home_Owner", KIOSK_VIEWER: "Kiosk_Viewer", PROVIDER_ENGINEER: "Provider_Engineer", TESLA_ENGINEER: "Tesla_Engineer" }, + l = [s.INSTALLER, s.ENGINEER, s.ADMIN], + c = /^$|^[_A-Za-z0-9-+]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9]+)*(-[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$/, + d = [401, 403]; + }, + function (e, t, i) { + "use strict"; + var n = i(49), + r = i(17), + a = i(2); + const o = r.browserHistory.getCurrentLocation(); + function s(e = o, t) { + switch (t.type) { + case a.LOCATION_CHANGE: + return t.payload; + default: + return e; + } + } + var _ = i(58); + function l(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function c(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? l(Object(i), !0).forEach(function (t) { + d(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : l(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function d(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const u = { route: null, text: "", onClick: null, buttonClass: "", additionalProps: {} }; + function m(e = u, t, i) { + let n = i.toUpperCase(); + switch (t.type) { + case a["SHOW_" + n]: + return c(c({}, e), {}, { route: t.route, text: t.text, onClick: t.onClick, buttonClass: t.buttonClass, additionalProps: t.additionalProps }); + case a["HIDE_" + n]: + return c(c({}, e), u); + case a.RESET_NAVIGATION: + return u; + default: + return e; + } + } + const p = { navigationType: "footer-default", back: u, cancel: u, forward: u }; + function g(e = p, t) { + switch (t.type) { + case a.SHOW_NAVIGATION: + let i = { navigationType: t.navigationType }; + return ( + t.backProps ? (i.back = c(c({}, e.back), t.backProps)) : (i.back = p), + t.cancelProps ? (i.cancel = c(c({}, e.cancel), t.cancelProps)) : (i.cancel = p), + t.forwardProps ? (i.forward = c(c({}, e.forward), t.forwardProps)) : (i.forward = p), + i + ); + case a.UPDATE_NAVIGATION: + if (e.navigationType === t.navigationType) { + let i = {}; + return t.backProps && (i.back = c(c({}, e.back), t.backProps)), t.cancelProps && (i.cancel = c(c({}, e.cancel), t.cancelProps)), t.forwardProps && (i.forward = c(c({}, e.forward), t.forwardProps)), c(c({}, e), i); + } + return e; + case a.RESET_NAVIGATION: + return { navigationType: "footer-default", back: m(e.back, t, _.a.BACK), cancel: m(e.cancel, t, _.a.CANCEL), forward: m(e.forward, t, _.a.FORWARD) }; + default: + return c(c({}, e), {}, { back: m(e.back, t, _.a.BACK), cancel: m(e.cancel, t, _.a.CANCEL), forward: m(e.forward, t, _.a.FORWARD) }); + } + } + function w(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function v(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? w(Object(i), !0).forEach(function (t) { + f(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : w(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function f(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const h = { modalType: null, modalProps: {}, bootstrapProps: { show: !0 } }; + function E(e = h, t) { + switch (t.type) { + case a.SHOW_MODAL: + return { modalType: t.modalType, modalProps: t.modalProps, bootstrapProps: v(v({}, e.bootstrapProps), t.bootstrapProps) }; + case a.UPDATE_MODAL: + return t.modalType === e.modalType ? v(v({}, e), {}, { modalProps: v(v({}, e.modalProps), t.modalProps), bootstrapProps: v(v({}, e.bootstrapProps), t.bootstrapProps) }) : e; + case a.DESTROY_MODAL: + return t.modalType === e.modalType ? h : e; + case a.HIDE_MODAL: + return h; + default: + return e; + } + } + function b(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function y(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? b(Object(i), !0).forEach(function (t) { + S(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : b(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function S(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const R = { headerType: "header-default", headerProps: { title: null, subtitle: null, subtitleView: null, additionalView: null, progress: 0 } }; + function T(e = R, t) { + switch (t.type) { + case a.SHOW_HEADER: + return { headerType: t.headerType, headerProps: y(y({}, e.headerProps), t.headerProps) }; + case a.UPDATE_HEADER: + return t.headerType === e.headerType ? y(y({}, e), {}, { headerProps: y(y({}, e.headerProps), t.headerProps) }) : e; + case a.RESET_HEADER: + return R; + default: + return e; + } + } + var A = i(27); + function C(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function I(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? C(Object(i), !0).forEach(function (t) { + O(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : C(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function O(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const N = { items: [] }; + function k(e = N, t) { + switch (t.type) { + case a.SHOW_BANNER: { + const i = Object(A.orderBy)([...e.items, I(I({}, t.bannerProps), {}, { timestamp: Date.now() })], ["priority", "timestamp"], ["desc", "desc"]), + n = Object(A.sortedUniqBy)(i, (e) => e.name); + return I(I({}, e), {}, { items: n }); + } + case a.DESTROY_BANNER: + return I(I({}, e), {}, { items: e.items.filter((e) => e.name !== t.name) }); + case a.DESTROY_ALL_BANNERS: + return N; + default: + return e; + } + } + function P(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function D(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? P(Object(i), !0).forEach(function (t) { + L(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : P(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function L(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const M = { items: [] }; + function z(e = M, t) { + switch (t.type) { + case a.SHOW_TOAST: + return e.items.find((e) => e.name === t.name) ? e : D(D({}, e), {}, { items: [...e.items, { name: t.name, toastProps: t.toastProps }] }); + case a.CLEAR_TOAST: + return D(D({}, e), {}, { items: e.items.filter((e) => e.name !== t.name) }); + case a.CLEAR_TOASTS: + return D(D({}, e), {}, { items: [] }); + default: + return e; + } + } + var U = i(291), + V = i(199), + G = i(60), + j = i(18), + W = i.n(j), + F = i(105); + function q(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function x(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? q(Object(i), !0).forEach(function (t) { + B(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : q(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function B(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const H = { isEnumerating: !1, isFirmwareUpdating: !1, version: null, lastUpdatedAt: null }; + function K(e = H, t) { + switch (t.type) { + case F.l: + case a.REQUEST_POWERWALLS_UPDATE: + return x(x({}, e), {}, { isFirmwareUpdating: !0 }); + case F.b: + return x(x({}, e), {}, { isFirmwareUpdating: W()(t, (e) => e.payload.updating) || !1 }); + case a.RECEIVE_POWERWALLS: + return x(x({}, e), {}, { isEnumerating: t.enumerating }); + case a.RECEIVE_POWERWALLS_STATUS_SUCCESS: + return x(x({}, e), {}, { isFirmwareUpdating: t.updating }); + case F.r: + case F.a: + case a.RECEIVE_POWERWALLS_STATUS_ERROR: + case F.c: + case a.RECEIVE_POWERWALLS_UPDATE_ERROR: + return x(x({}, e), {}, { isFirmwareUpdating: !1 }); + case a.SAVE_SYSTEM_INFO: + return x(x({}, e), {}, { version: t.version, lastUpdatedAt: Date.now() }); + case a.RESET_ALL: + case a.RESET_SYSTEM_INFO: + return H; + default: + return e; + } + } + var Y = i(280), + Q = i(44); + function Z(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function J(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Z(Object(i), !0).forEach(function (t) { + X(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : Z(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function X(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const $ = { + didCancelUpdate: !1, + didInvalidate: !1, + didTimeout: !1, + downloadStalled: !1, + estimatedBytesPerSecond: null, + info: null, + isCheckingUpdateUrgency: !1, + isFetching: !1, + isUpdating: !1, + startedAt: null, + state: null, + updateUrgency: null, + }; + function ee(e = $, t) { + switch (t.type) { + case a.RECEIVE_CHECK_UPDATE: + return J(J({}, e), {}, { isFetching: Q.a.includes(t.state), didInvalidate: !1, state: t.state, info: t.info, estimatedBytesPerSecond: t.estimated_bytes_per_second, startedAt: t.start_time || e.startedAt }); + case a.REQUEST_UPDATE: + return J(J({}, e), {}, { didInvalidate: !1, isFetching: !0 }); + case a.REQUEST_INSTALL_UPDATE: + return J(J({}, e), {}, { didInvalidate: !1, isFetching: !0, isUpdating: !0 }); + case a.CANCEL_UPDATE: + return J(J({}, e), {}, { isFetching: !1, didInvalidate: !0, state: null, didCancelUpdate: !0 }); + case a.DOWNLOAD_STALLED_ERROR: + return J(J({}, e), {}, { downloadStalled: !0 }); + case a.DOWNLOAD_PROGRESSING: + return J(J({}, e), {}, { downloadStalled: !1, estimatedBytesPerSecond: t.estimated_bytes_per_second }); + case a.RECEIVE_CHECK_UPDATE_ERROR: + case a.RECEIVE_START_UPDATE_ERROR: + case a.RECEIVE_UPDATE_ERROR: + return J(J({}, e), {}, { isFetching: !1, didInvalidate: !0, info: t.info }); + case a.REQUEST_CHECK_UPDATE_URGENCY: + return J(J({}, e), {}, { isCheckingUpdateUrgency: !0 }); + case a.RECEIVE_CHECK_UPDATE_URGENCY: + return J(J({}, e), {}, { isCheckingUpdateUrgency: !1, updateUrgency: t.payload.update_urgency }); + case a.RECEIVE_CHECK_UPDATE_URGENCY_ERROR: + return J(J({}, e), {}, { isCheckingUpdateUrgency: !1, updateUrgency: Q.b.INVALID }); + default: + return e; + } + } + var te = i(533), + ie = i(126); + function ne(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function re(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + i.d(t, "b", function () { + return oe; + }), + i.d(t, "c", function () { + return se; + }); + const ae = (e = {}) => + Object(n.c)( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ne(Object(i), !0).forEach(function (t) { + re(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : ne(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + })( + { + location: s, + navigation: g, + modal: E, + header: T, + banner: k, + toast: z, + error: U.default, + authentication: V.default, + configuration: G.default, + system: K, + meterValidation: Y.default, + update: ee, + sitemaster: te.default, + troubleshooting: ie.a, + }, + e + ) + ), + oe = (e, { key: t, reducer: i }) => { + Object.hasOwnProperty.call(e.asyncReducers, t) || ((e.asyncReducers[t] = i), e.replaceReducer(ae(e.asyncReducers))); + }, + se = (e, t) => { + t.forEach(({ key: t, reducer: i }, n) => { + Object.hasOwnProperty.call(e.asyncReducers, t) || (e.asyncReducers[t] = i); + }), + e.replaceReducer(ae(e.asyncReducers)); + }; + t.a = ae; + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "PowerUnits", function () { + return a; + }), + i.d(t, "PowerFactorRange", function () { + return o; + }), + i.d(t, "ReasonableVoltageRange", function () { + return s; + }), + i.d(t, "CurrentUnits", function () { + return _; + }), + i.d(t, "CurrentTransformerConnectionTypes", function () { + return l; + }), + i.d(t, "SolarLocationCurrentTransformerTypes", function () { + return c; + }), + i.d(t, "CheckPolarityConnectionTypes", function () { + return d; + }), + i.d(t, "CurrentTransformerConnectionLabels", function () { + return u; + }), + i.d(t, "PhaseSequences", function () { + return m; + }), + i.d(t, "NeurioOrderedPhaseSequences", function () { + return p; + }), + i.d(t, "CurrentTransformerReadingTypes", function () { + return g; + }), + i.d(t, "CurrentTransformerWarningTypes", function () { + return w; + }), + i.d(t, "CurrentTransformerPhaseWarningTypes", function () { + return v; + }), + i.d(t, "CurrentTransformerAmpRatings", function () { + return f; + }), + i.d(t, "ConnectionTypes", function () { + return h; + }), + i.d(t, "Statuses", function () { + return E; + }), + i.d(t, "TextInputTypes", function () { + return b; + }), + i.d(t, "MeterUpdateConstants", function () { + return y; + }), + i.d(t, "NEURIO_METER_SHORT_ID_LENGTH", function () { + return S; + }), + i.d(t, "NEURIO_METER_SERIAL_LENGTH", function () { + return R; + }), + i.d(t, "MAX_IMAGE_UPLOAD_SIZE", function () { + return T; + }), + i.d(t, "METER_CT_AMP_NOISE", function () { + return A; + }), + i.d(t, "METER_POWER_NOISE", function () { + return C; + }), + i.d(t, "MAC_ADDRESS_LENGTH", function () { + return I; + }), + i.d(t, "SyncCTVoltageReferenceType", function () { + return O; + }); + i(27); + var n = i(3), + r = i(134); + const a = { WATTS: "W", KILOWATTS: "kW", MEGAWATTS: "MW", POWER_FACTOR: "PF" }, + o = { POWER_FACTOR_MINIMUM: 0.8, VOLT_AMPS_MINIMUM: 500, VOLT_AMPS_MAXIMUM: 1e3 }, + s = { VOLTAGE_MINIMUM: 90, VOLTAGE_MAXIMUM: 265 }, + _ = { AMPS: "A", VOLTS: "V" }, + l = { SITE: "site", SOLAR: "solar", SOLAR_RGM: "solarRGM", DOUBLED_SOLAR: "doubled_solar", LOAD: "load", GENERATOR: "generator", BATTERY: "battery", CONDUCTOR: "conductor", NONE: "none" }, + c = [l.SOLAR, l.DOUBLED_SOLAR], + d = [...c, l.LOAD, l.SOLAR_RGM], + u = Object(n.defineMessages)({ + [l.SITE]: { id: "meter_item_view_site_location", defaultMessage: "Site" }, + [l.SOLAR]: { id: "meter_item_view_solar_location", defaultMessage: "Solar" }, + [l.SOLAR_RGM]: { id: "meter_item_view_solar_rgm_location", defaultMessage: "Solar Revenue-Only" }, + [l.DOUBLED_SOLAR]: { id: "meter_item_view_doubled_solar_location", defaultMessage: "Doubled Solar" }, + [l.LOAD]: { id: "meter_item_view_load_location", defaultMessage: "Load" }, + [l.GENERATOR]: { id: "meter_item_view_generator_location", defaultMessage: "Generator" }, + [l.BATTERY]: { id: "meter_item_view_battery_location", defaultMessage: "Battery" }, + [l.CONDUCTOR]: { id: "meter_item_view_conductor_location", defaultMessage: "Conductor" }, + [l.NONE]: { id: "meter_item_view_none_location", defaultMessage: "None" }, + }), + m = { A: "A", B: "B", C: "C" }, + p = [m.A, m.B, m.C, m.A], + g = { WATTS: "watts", AMPS: "amps", VOLTS: "volts", POWER_FACTOR: "power_factor", NO_READING: "no_reading" }, + w = { NEGATIVE_AMPS: "negative_amps", POWER_FACTOR: "power_factor", VOLTAGE: "voltage", PHASE: "phase" }, + v = { USAGES: "phase_usages_warning", [r.PhaseType.SINGLE]: "single_phase_warning", [r.PhaseType.SPLIT]: "split_phase_warning", [r.PhaseType.THREE]: "three_phase_warning" }, + f = { LOW: "200A", HIGH: "800A", SMART: "Smart", MISSING: "Missing" }, + h = { + NEURIO_W1_WIFI: "neurio_tcp", + NEURIO_W1_WIRED: "neurio_mb", + NEURIO_W2_WIFI: "neurio_w2_tcp", + NEURIO_W2_WIRED: "neurio_w2_mb", + SYNCHROMETER_X: "synchrometerX", + SYNCHROMETER_Y: "synchrometerY", + MSA: "msa", + ACUVIM: "acuvim", + }, + E = { + UNKNOWN: "", + STARTED_WIFI_ADD: "add_meter", + SENDING_CREDENTIALS: "sending_hec_credentials", + VERIFYING_METER: "verifying_meter", + UPDATING_METER: "updating_meter", + SUCCESS_METER: "success_meter", + FAILED_METER: "failed_meter", + ADD_METER_ERROR: "add_meter_err", + VERIFY_METER_ERROR: "verify_meter_err", + RECONNECTING: "reconnecting", + DETECTING_WIRED_METERS: "detect_modbus", + }, + b = { SHORT_ID: "short_id", SERIAL: "serial", MAC_ADDRESS: "mac_address", IP_ADDRESS: "ip_address" }, + y = { UPDATE_TIMEOUT: 120, METER_UPDATE_MODAL: "METER_UPDATE_MODAL" }, + S = 5, + R = 13, + T = 1280, + A = -0.1, + C = 50, + I = 17, + O = { DEFAULT: "PhaseNone", PHASE1: "Phase1", PHASE2: "Phase2", PHASE3: "Phase3" }; + }, + function (e, t, i) { + "use strict"; + i.d(t, "f", function () { + return n; + }), + i.d(t, "c", function () { + return r; + }), + i.d(t, "k", function () { + return a; + }), + i.d(t, "b", function () { + return o; + }), + i.d(t, "a", function () { + return s; + }), + i.d(t, "j", function () { + return _; + }), + i.d(t, "g", function () { + return l; + }), + i.d(t, "e", function () { + return c; + }), + i.d(t, "d", function () { + return d; + }), + i.d(t, "i", function () { + return u; + }), + i.d(t, "h", function () { + return m; + }); + const n = "italy", + r = "germany", + a = "united states", + o = "canada", + s = "australia", + _ = "united kingdom", + l = "new zealand", + c = { CONNECTED: "SystemGridConnected", ISLAND_READY: "SystemIslandedReady", ISLANDED: "SystemIslandedActive", TRANSITION_TO_GRID: "SystemTransitionToGrid" }, + d = { COMPLIANT: "Grid_Compliant", QUALIFYING: "Grid_Qualifying", UNCOMPLIANT: "Grid_Uncompliant" }, + u = { PHASE_1: "phase1", PHASE_2: "phase2", PHASE_3: "phase3" }, + m = { [u.PHASE_1]: "Phase1", [u.PHASE_2]: "Phase2", [u.PHASE_3]: "Phase3" }; + }, + function (e, t, i) { + "use strict"; + i.r(t); + var n, + r, + a, + o = i(7); + class s { + static message(e, t, i = !1) { + window && + window.console && + console.log && + (console.log(e), + t && console.log(t), + i && + Object(o.uploadLogs)(s.LOG_LEVELS.INFO, e).catch((e) => { + console.error(e); + })); + } + static debug(e, t, i = !1) { + window && + window.console && + console.info && + (console.info(e), + t && console.info(t), + i && + Object(o.uploadLogs)(s.LOG_LEVELS.DEBUG, e).catch((e) => { + console.error(e); + })); + } + static warn(e, t, i = !1) { + window && + window.console && + console.warn && + (console.warn(e), + t && console.warn(t), + i && + Object(o.uploadLogs)(s.LOG_LEVELS.WARN, e).catch((e) => { + console.error(e); + })); + } + static trace(e) { + window && window.console && console.trace && (e ? console.trace(e) : console.trace()); + } + constructor(e, t) { + (this.message = e), (this.context = t); + } + getMessage() { + return this.message; + } + setMessage(e) { + this.message = e; + } + getContext() { + return this.context; + } + setContext(e) { + this.context = e; + } + toError() { + return new Error(this.getMessage()); + } + } + (a = { FATAL: "FATAL", ERROR: "ERROR", WARN: "WARN", DEBUG: "DEBUG", INFO: "INFO", TRACE: "TRACE" }), + (r = "LOG_LEVELS") in (n = s) ? Object.defineProperty(n, r, { value: a, enumerable: !0, configurable: !0, writable: !0 }) : (n[r] = a); + var _ = i(2), + l = i(10); + i.d(t, "default", function () { + return c; + }); + class c extends s { + static error(e, t, i = !1) { + if (window && window.console && console.error && (console.error(e), t && console.error(t), i)) { + let t, + i = null; + e instanceof c ? ((i = e.getStackTrace()), (t = e.toString())) : e instanceof Error ? ((i = e.stack), (t = e.toString())) : (t = "object" == typeof e ? JSON.stringify(e) : e.toString()), + Object(o.uploadLogs)(s.LOG_LEVELS.ERROR, t, i).catch((e) => { + console.error(e); + }); + } + } + static fatal(e, t, i = !1) { + window && + window.console && + console.error && + (console.error(e), + t || (e instanceof c ? (t = e.getStackTrace()) : e instanceof Error && (t = e.stack)), + t && console.error(t), + i && + Object(o.uploadLogs)(s.LOG_LEVELS.FATAL, e.toString(), t).catch((e) => { + console.error(e); + })); + } + static logFatal(e, t) { + c.fatal(e, t.componentStack, !0); + } + constructor(e = _.GENERIC_ERROR, t, i, n = !1) { + super(t, i), (this.name = e), c.error(this, null, n); + } + getName() { + return this.name; + } + setName(e) { + this.name = e; + } + isDetailed() { + return null != this.context && this.context.detailed; + } + isUnauthorized() { + return null != this.context && null != this.context.code && l.f.includes(this.context.code); + } + toDetailedString() { + let e = `${this.name}: ${this.message}\n`; + return null != this.context && (e += JSON.stringify(this.context)), e; + } + toErrorString() { + let e = this.message; + return null != this.context && this.context.error && this.message !== this.context.error && this.message !== "Error: " + this.context.error && (e += ` (${this.context.error})`), e; + } + getStackTrace() { + return super.toError().stack; + } + toString() { + return JSON.stringify(this.toJSON()); + } + toJSON() { + let e = { name: this.name, message: this.message }; + return this.context && (e.context = this.context), e; + } + } + }, + function (e, t, i) { + "use strict"; + let n; + i.d(t, "a", function () { + return r; + }), + i.d(t, "d", function () { + return a; + }), + i.d(t, "b", function () { + return o; + }), + i.d(t, "e", function () { + return s; + }), + i.d(t, "c", function () { + return _; + }); + const r = 3e4; + function a(e = 0) { + return new Promise((t) => { + n = setTimeout(t, e); + }); + } + function o() { + clearTimeout(n); + } + function s(e, t, i) { + return new Promise((n, r) => { + i.then(n, r), setTimeout(r.bind(null, t), e); + }); + } + function _(e) { + let t = !1; + return { + promise: new Promise((i, n) => { + e.then( + (e) => (t ? n({ isCanceled: !0 }) : i(e)), + (e) => n(t ? { isCanceled: !0 } : e) + ); + }), + cancel() { + t = !0; + }, + }; + } + }, + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "isAuthenticated", function () { + return o; + }), + i.d(t, "isCustomer", function () { + return s; + }), + i.d(t, "isInstaller", function () { + return _; + }), + i.d(t, "isEngineer", function () { + return l; + }), + i.d(t, "isTeslaUser", function () { + return c; + }), + i.d(t, "hasExpiredSession", function () { + return d; + }); + var n = i(10), + r = i(45), + a = i(29); + function o(e, t = []) { + let i = !1; + for (let e = 0; e < t.length; e++) + if (Object(a.o)(t[e])) { + i = !0; + break; + } + return null !== e.lastLoginAt && e.loginType !== n.c.KIOSK && !i && (null != Object(r.b)("AuthCookie") || l(e)); + } + function s(e, t = []) { + return o(e, t) && e.loginType === n.c.CUSTOMER; + } + function _(e, t = []) { + return o(e, t) && e.loginType === n.c.INSTALLER; + } + function l(e) { + return null !== e.lastLoginAt && e.loginType === n.c.ENGINEER; + } + function c(e) { + const t = e.email ? e.email.toLowerCase() : ""; + return l(e) || (_(e) && t.endsWith("@tesla.com")); + } + function d(e) { + for (let t = 0; t < e.length; t++) if (Object(a.l)(e[t].message)) return !0; + return !1; + } + }, + function (e, t, i) { + "use strict"; + function n(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function r(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? n(Object(i), !0).forEach(function (t) { + a(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : n(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function a(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + i.d(t, "o", function () { + return o; + }), + i.d(t, "h", function () { + return s; + }), + i.d(t, "i", function () { + return _; + }), + i.d(t, "s", function () { + return l; + }), + i.d(t, "q", function () { + return c; + }), + i.d(t, "r", function () { + return d; + }), + i.d(t, "l", function () { + return u; + }), + i.d(t, "m", function () { + return m; + }), + i.d(t, "k", function () { + return p; + }), + i.d(t, "n", function () { + return g; + }), + i.d(t, "j", function () { + return w; + }), + i.d(t, "p", function () { + return v; + }), + i.d(t, "b", function () { + return f; + }), + i.d(t, "g", function () { + return h; + }), + i.d(t, "d", function () { + return E; + }), + i.d(t, "c", function () { + return b; + }), + i.d(t, "f", function () { + return y; + }), + i.d(t, "e", function () { + return S; + }), + i.d(t, "a", function () { + return R; + }), + i.d(t, "t", function () { + return T; + }); + const o = { IDLE: "TestNotRun", INIT: "TestInitializing", PREP: "TestStartingSM", RUNNING: "TestRunning", FAILED: "TestFailed", PASSED: "TestPassed", CANCELED: "TestCanceled" }, + s = { + OVER_FREQUENCY: "overFrequency", + UNDER_FREQUENCY: "underFrequency", + CHANGE_FREQUENCY: "changeFrequency", + PHASE_1_UNDER_VOLTAGE: "phaseOneUnderVoltage", + PHASE_2_UNDER_VOLTAGE: "phaseTwoUnderVoltage", + PHASE_3_UNDER_VOLTAGE: "phaseThreeUnderVoltage", + PHASE_1_OVER_VOLTAGE: "phaseOneOverVoltage", + PHASE_2_OVER_VOLTAGE: "phaseTwoOverVoltage", + PHASE_3_OVER_VOLTAGE: "phaseThreeOverVoltage", + }, + _ = { + PINV_a021_vfCheckSplitPhaseOverVoltage: s.PHASE_2_OVER_VOLTAGE, + PINV_a020_vfCheckSplitPhaseUnderVoltage: s.PHASE_2_UNDER_VOLTAGE, + PINV_a005_vfCheckOverVoltage: s.PHASE_1_OVER_VOLTAGE, + PINV_a004_vfCheckUnderVoltage: s.PHASE_1_UNDER_VOLTAGE, + PINV_a007_vfCheckOverFrequency: s.OVER_FREQUENCY, + PINV_a006_vfCheckUnderFrequency: s.UNDER_FREQUENCY, + PINV_a008_vfCheckRocof: s.CHANGE_FREQUENCY, + }, + l = { NOT_RUN: "not_run", RUNNING: "running", SCHEDULED: "scheduled", PASS: "pass", FAIL: "fail", INCONCLUSIVE: "marginal", CANCELED: "canceled", ALERT: "alert" }, + c = (l.RUNNING, l.SCHEDULED, [l.FAIL, l.CANCELED]), + d = [l.PASS, l.FAIL, l.INCONCLUSIVE, l.CANCELED], + u = r(r({}, l), {}, { NOT_RUN: "notRun", NA: "na", COMPLETE: "complete" }), + m = { + PinvTestResultSummaryNotRun: u.NOT_RUN, + PinvTestResultSummaryRunning: u.RUNNING, + PinvTestResultSummaryPass: u.PASS, + PinvTestResultSummaryFail: u.FAIL, + PinvTestResultStatusNA: u.NA, + PinvTestResultStatusRunning: u.RUNNING, + PinvTestResultStatusComplete: u.COMPLETE, + }, + p = { + ALL: "PinvTestAll", + OVER_FREQ_STAGE_ONE: "PinvTestOverFreqStage1", + OVER_FREQ_STAGE_TWO: "PinvTestOverFreqStage2", + UNDER_FREQ_STAGE_ONE: "PinvTestUnderFreqStage1", + UNDER_FREQ_STAGE_TWO: "PinvTestUnderFreqStage2", + OVER_VOLT_ONE: "PinvTestOverVolt1", + OVER_VOLT_TWO: "PinvTestOverVolt2", + UNDER_VOLT_ONE: "PinvTestUnderVolt1", + UNDER_VOLT_TWO: "PinvTestUnderVolt2", + }, + g = { + SET_MAGNITUDE: "SetMagnitude", + SET_TIME: "SetTime", + TRIP_TIME: "TripTime", + TRIP_MAGNITUDE: "TripMagnitude", + ACCURACY_MAGNITUDE: "AccuracyMagnitude", + ACCURACY_TIME: "AccuracyTime", + CURRENT_MAGNITUDE: "CurrentMagnitude", + LAST_ERROR: "LastError", + TIMESTAMP: "Timestamp", + }, + w = { GRID_UNCOMPLIANT: "PinvTestStartResponseGridUncompliant", NOT_IDLE: "PinvTestStartResponseNotIdle" }, + v = "PinvTest", + f = { ALERTS: "Alerts", NETWORK: "Network", SELF_TESTS: "SelfTests", INTERNAL_COMMUNICATIONS: "InternalComms", METERING: "Metering", CONFIG: "Config", WIRING: "Wiring", GRID: "Grid" }, + h = { + NETWORK_CONNECTION: "Network connection", + ENABLE_LINE: "EnableLine", + CAN_BUS: "CAN bus", + METER_COMMUNICATIONS: "Meter communication", + DC_SELF_TEST: "DC Self Test Suite", + AC_SELF_TEST: "AC Self Test Suite", + INDIVIDUAL_SELF_TEST: "Individual Self Test", + }, + E = { MAX_ALLOWED_CHARGE_POWER: "max_allowed_charge_power", MAX_ALLOWED_DISCHARGE_POWER: "max_allowed_discharge_power", BLOCK_SERIALS: "block_serials", TEST_NAME: "test_name" }, + b = { NUMERICAL: "numerical", MULTI_SELECT: "multi_select", SINGLE_SELECT: "single_select" }, + y = { GOOGLE_HTTP: "GoogleHTTP", GOOGLE_HTTPS: "GoogleHTTPS", CONFIG_UPDATE_STATUS: "ConfigUpdateStatus", HERMES_STATUS: "HermesStatus" }, + S = { IP_ADDRESS: "IP Address", SUBNET_MASK: "Subnet" }, + R = { + audience: "Audience", + clearCondition: "Clear Condition", + potentialImpact: "Potential Impact", + isUrgent: "Urgent", + isLatching: "Latching", + node: "Node", + safetyReason: "Safety Reason", + alertID: "Alert ID", + payloadSignals: "Payload Signals", + max: "Max", + snaValue: "SNA Value", + offset: "Offset", + scale: "Scale", + name: "Name", + min: "Min", + units: "Units", + alertName: "Alert Name", + uiID: "UI UD", + signoff: "Sign Off", + impactCategory: "Impact Category", + displayName: "Display Name", + supplierDtcName: "Supplier DTC Name", + alertType: "Alert Type", + description: "Description", + signalName: "Signal Name", + setCondition: "Set Condition", + }, + T = { HwCritical: "HwCritical", PerformanceCritical: "PerformanceCritical", Informational: "Informational" }; + }, + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "Locales", function () { + return d; + }), + i.d(t, "LocaleTextMap", function () { + return u; + }), + i.d(t, "LocaleMap", function () { + return m; + }), + i.d(t, "modalMessages", function () { + return p; + }), + i.d(t, "navigationMessages", function () { + return g; + }), + i.d(t, "timeMessages", function () { + return w; + }), + i.d(t, "networkMessages", function () { + return v; + }), + i.d(t, "controlMessages", function () { + return f; + }), + i.d(t, "labelMessages", function () { + return h; + }), + i.d(t, "inputTitles", function () { + return E; + }), + i.d(t, "inputMessages", function () { + return b; + }), + i.d(t, "warnings", function () { + return y; + }), + i.d(t, "powerwallMessages", function () { + return S; + }), + i.d(t, "errorMessages", function () { + return R; + }), + i.d(t, "validationMessages", function () { + return T; + }), + i.d(t, "meterUpdateMessages", function () { + return A; + }), + i.d(t, "diagnosticTestNames", function () { + return C; + }), + i.d(t, "meterMessages", function () { + return I; + }), + i.d(t, "phaseLineMessages", function () { + return O; + }), + i.d(t, "meterAggregateTypeMessages", function () { + return N; + }), + i.d(t, "formLegendMessages", function () { + return k; + }), + i.d(t, "operationModeMessages", function () { + return P; + }), + i.d(t, "conductorMessages", function () { + return D; + }), + i.d(t, "canRebootMessages", function () { + return L; + }), + i.d(t, "passwordFormLabels", function () { + return M; + }), + i.d(t, "diagnosticAlertMetaDataType", function () { + return z; + }); + var n = i(27), + r = i(3), + a = i(22), + o = i(92), + s = i(8), + _ = i(93), + l = i(42), + c = i(12); + const d = { ENGLISH: "en", GERMAN: "de", ITALIAN: "it", SPANISH: "es", DUTCH: "nl", FRENCH: "fr", JAPANESE: "ja" }, + u = { [d.ENGLISH]: "English", [d.GERMAN]: "Deutsch", [d.ITALIAN]: "Italiano", [d.SPANISH]: "Español", [d.DUTCH]: "Nederlands", [d.FRENCH]: "Français", [d.JAPANESE]: "日本語" }, + m = Object(n.reduce)(Object.values(d), (e, t) => ((e[u[t]] = t), e), {}), + p = Object(r.defineMessages)({ + ok: { id: "modal_ok", defaultMessage: "OK" }, + note: { id: "modal_note", defaultMessage: "Note" }, + yes: { id: "modal_yes", defaultMessage: "YES" }, + no: { id: "modal_no", defaultMessage: "NO" }, + confirm: { id: "modal_confirm", defaultMessage: "CONFIRM" }, + acknowledge: { id: "modal_acknowledge", defaultMessage: "ACKNOWLEDGE" }, + reconfigure: { id: "modal_reconfigure", defaultMessage: "RECONFIGURE" }, + exit: { id: "modal_exit", defaultMessage: "EXIT" }, + }), + g = Object(r.defineMessages)({ email: { id: "navigation_email", defaultMessage: "EMAIL" } }), + w = Object(r.defineMessages)({ + second: { id: "time_second", defaultMessage: "second" }, + seconds: { id: "time_seconds", defaultMessage: "seconds" }, + minute: { id: "time_minute", defaultMessage: "minute" }, + minutes: { id: "time_minutes", defaultMessage: "minutes" }, + startedAt: { id: "time_started_at", defaultMessage: "Started at: {time}" }, + }), + v = Object(r.defineMessages)({ + connected: { id: "network_connected", defaultMessage: "Connected" }, + disconnected: { id: "network_disconnected", defaultMessage: "Not connected" }, + disabled: { id: "network_disabled", defaultMessage: "Disabled" }, + EthTypeConfigured: { id: "network_ethernet_configured", defaultMessage: "Configured, but not connected. Check the ethernet cable connection." }, + WifiTypeConfigured: { id: "network_wifi_configured", defaultMessage: "Configured, but not connected. Check your WiFi settings." }, + GsmTypeConfigured: { id: "network_cellular_configured", defaultMessage: "Configured, but not connected. Ensure cellular network is available and there are no obstructions around antenna." }, + warning: { id: "network_warning", defaultMessage: "Warning" }, + }), + f = Object(r.defineMessages)({ stop: { id: "control_stop", defaultMessage: "STOP" }, start: { id: "control_start", defaultMessage: "START" } }), + h = Object(r.defineMessages)({ pass: { id: "label_pass", defaultMessage: "Pass" }, fail: { id: "label_fail", defaultMessage: "Fail" }, inconclusive: { id: "label_inconclusive", defaultMessage: "Inconclusive" } }), + E = Object(r.defineMessages)({ email: { id: "input_title_email", defaultMessage: "Enter a valid email address: name@name.domain" } }), + b = Object(r.defineMessages)({ + accept: { id: "input_accept", defaultMessage: "I accept" }, + decline: { id: "input_decline", defaultMessage: "I decline" }, + consent: { id: "input_consent", defaultMessage: "I consent" }, + confirm: { id: "input_confirm", defaultMessage: "I acknowledge all system warnings." }, + noConsent: { id: "input_no_consent", defaultMessage: "I do not consent" }, + }), + y = Object(r.defineMessages)({ + caution: { id: "caution", defaultMessage: "CAUTION" }, + warning: { id: "warning", defaultMessage: "WARNING" }, + offGrid: { id: "warning_off_grid", defaultMessage: "If the electrical system is off-grid, any backed up loads will be dropped within 5 minutes." }, + onGrid: { id: "warning_on_grid", defaultMessage: "If the electrical system is on-grid, Powerwall will stop charging/discharging." }, + sitemasterNotRunning: { id: "warning_sitemaster_container_not_running", defaultMessage: "The Sitemaster is not running" }, + }), + S = Object(r.defineMessages)({ starting: { id: "powerwall_starting", defaultMessage: "Starting Powerwall" } }), + R = Object(r.defineMessages)({ details: { id: "error_details", defaultMessage: "Error Details" } }), + T = Object(r.defineMessages)({ phone: { id: "validation_phone", defaultMessage: "Input a valid telephone number" } }), + A = Object(r.defineMessages)({ + title: { id: "meter_update_modal_title", defaultMessage: "Meter Update is Underway" }, + footer: { id: "meter_update_modal_footer", defaultMessage: "Meter Update may take up to 2 Minutes" }, + remainingTime: { id: "meter_update_modal_remaining_time", defaultMessage: "Time Remaining: {seconds} seconds" }, + timeoutError: { id: "meter_update_modal_timeout_error", defaultMessage: "Error: Timeout occurred while updating the meter" }, + fetchStatusError: { id: "meter_update_modal_fetch_status_error", defaultMessage: "Error: Unable to fetch meter update status" }, + }), + C = Object(r.defineMessages)({ + [a.g.NETWORK_CONNECTION]: { id: "diagnostic_test_network_connection", defaultMessage: "Network Connection" }, + [a.g.ENABLE_LINE]: { id: "diagnostic_test_enable_line", defaultMessage: "Enable Line" }, + [a.g.METER_COMMUNICATIONS]: { id: "diagnostic_test_meter_comms", defaultMessage: "Meter Communications" }, + }), + I = Object(r.defineMessages)({ + [c.ConnectionTypes.NEURIO_W1_WIFI]: { id: "meter_w1_wifi_id", defaultMessage: "METER {id}" }, + [c.ConnectionTypes.NEURIO_W1_WIRED]: { id: "meter_w1_wired_id", defaultMessage: "WIRED METER {id}" }, + [c.ConnectionTypes.NEURIO_W2_WIFI]: { id: "meter_w2_wifi_id", defaultMessage: "METER {id}" }, + [c.ConnectionTypes.NEURIO_W2_WIRED]: { id: "meter_w2_wired_id", defaultMessage: "WIRED METER {id}" }, + [c.ConnectionTypes.SYNCHROMETER_X]: { id: "meter_sync_x_id", defaultMessage: "INTERNAL PRIMARY METER X (GATEWAY) {id}" }, + [c.ConnectionTypes.SYNCHROMETER_Y]: { id: "meter_sync_y_id", defaultMessage: "INTERNAL AUXILIARY METER Y (GATEWAY) {id}" }, + [c.ConnectionTypes.MSA]: { id: "meter_msa_id", defaultMessage: "BACKUP SWITCH {id}" }, + [c.ConnectionTypes.ACUVIM]: { id: "meter_acuvim_id", defaultMessage: "ACUVIM {id}" }, + }), + O = Object(r.defineMessages)({ + id: { id: "phase_line_id", defaultMessage: "Line-{id}" }, + [o.b.NON_BACKUP]: { id: "phase_line_status_configured", defaultMessage: "Non Backup" }, + [o.b.BACKUP]: { id: "phase_line_status_backup", defaultMessage: "Backup" }, + [o.b.NOT_CONFIGURED]: { id: "phase_line_status_not_configured", defaultMessage: "Not Configured" }, + }), + N = Object(r.defineMessages)({ + [s.n[s.h.SOLAR]]: { id: "meter_aggregate_type_solar", defaultMessage: "Solar" }, + [s.n[s.h.USAGE]]: { id: "meter_aggregate_type_load", defaultMessage: "Load" }, + [s.n[s.h.GRID]]: { id: "meter_aggregate_type_site", defaultMessage: "Site" }, + [s.n[s.h.BATTERY]]: { id: "meter_aggregate_type_battery", defaultMessage: "Battery" }, + }), + k = Object(r.defineMessages)({ formLegend: { id: "form_legend_text", defaultMessage: "denotes a required field" } }), + P = Object(r.defineMessages)({ + [_.e.BACKUP]: { id: "operation_mode_backup", defaultMessage: "Backup Charging Only" }, + [_.e.SELF_CONSUMPTION]: { id: "operation_mode_self_consumption", defaultMessage: "Self-consumption Mode" }, + [_.e.AUTONOMOUS]: { id: "operation_mode_autonomous", defaultMessage: "Autonomous Mode" }, + [_.e.SITE_CONTROL]: { id: "operation_mode_site_control", defaultMessage: "Site Control" }, + }), + D = Object(r.defineMessages)({ + conductorLimitExplanation: { + id: "conductor_limit", + defaultMessage: + "Batteries are controlled to avoid exceeding configured current limits on each phase of the conductor CTs. Review conductor limit application note for more details about where this is used, and what limits should be configured.", + }, + conductorMinCurrent: { id: "conductor_min_current", defaultMessage: "Conductor Export Limit" }, + }), + L = Object(r.defineMessages)({ + [l.a.backupMode]: { id: "can_reboot_message_backup", defaultMessage: "Backup Mode" }, + [l.a.blockUpdate]: { id: "can_reboot_message_block_update", defaultMessage: "Block Update in progress" }, + [l.a.initializing]: { id: "can_reboot_message_initializing", defaultMessage: "System Initializing" }, + [l.a.enumeration]: { id: "can_reboot_message_enumeration", defaultMessage: "Enumeration in progress" }, + [l.a.powerFlowIsTooHigh]: { id: "can_reboot_message_power_flow_is_too_high", defaultMessage: "Power flow is too high" }, + [l.a.updating]: { id: "can_reboot_message_updating", defaultMessage: "Site Package Update in progress" }, + }), + M = Object(r.defineMessages)({ + currentPassword: { id: "security_view_settings_old_password", defaultMessage: "CURRENT PASSWORD" }, + newPassword: { id: "security_view_settings_new_password_label", defaultMessage: "NEW PASSWORD" }, + }), + z = Object(r.defineMessages)({ + [a.a.audience]: { id: "diagnostic_alert_audience", defaultMessage: "Audience" }, + [a.a.clearCondition]: { id: "diagnostic_alert_clear_condition", defaultMessage: "Clear Condition" }, + [a.a.potentialImpact]: { id: "diagnostic_alert_potential_impact", defaultMessage: "Potential Impact" }, + [a.a.isUrgent]: { id: "diagnostic_alert_urgent", defaultMessage: "Urgent" }, + [a.a.isLatching]: { id: "diagnostic_alert_latching", defaultMessage: "Latching" }, + [a.a.node]: { id: "diagnostic_alert_node", defaultMessage: "Node" }, + [a.a.safetyReason]: { id: "diagnostic_alert_safety_reason", defaultMessage: "Safety Reason" }, + [a.a.alertID]: { id: "diagnostic_alert_id", defaultMessage: "Alert ID" }, + [a.a.payloadSignals]: { id: "diagnostic_alert_payload_signals", defaultMessage: "Payload Signals" }, + [a.a.max]: { id: "diagnostic_alert_max", defaultMessage: "Max" }, + [a.a.snaValue]: { id: "diagnostic_alert_sna_value", defaultMessage: "SNA Value" }, + [a.a.offset]: { id: "diagnostic_alert_offset", defaultMessage: "Offset" }, + [a.a.scale]: { id: "diagnostic_alert_scale", defaultMessage: "Scale" }, + [a.a.name]: { id: "diagnostic_alert_name", defaultMessage: "Name" }, + [a.a.min]: { id: "diagnostic_alert_min", defaultMessage: "Min" }, + [a.a.units]: { id: "diagnostic_alert_units", defaultMessage: "Units" }, + [a.a.alertName]: { id: "diagnostic_alert_alert_name", defaultMessage: "Alert Name" }, + [a.a.uiID]: { id: "diagnostic_alert_uiID", defaultMessage: "UI ID" }, + [a.a.signoff]: { id: "diagnostic_alert_signoff", defaultMessage: "Sign Off" }, + [a.a.impactCategory]: { id: "diagnostic_alert_impact_category", defaultMessage: "Impact Category" }, + [a.a.displayName]: { id: "diagnostic_alert_display_name", defaultMessage: "Display Name" }, + [a.a.supplierDtcName]: { id: "diagnostic_alert_supplier_dtc_name", defaultMessage: "Supplier DTC Name" }, + [a.a.alertType]: { id: "diagnostic_alert_alert_type", defaultMessage: "Alert Type" }, + [a.a.description]: { id: "diagnostic_alert_description", defaultMessage: "Description" }, + [a.a.signalName]: { id: "diagnostic_alert_signal_name", defaultMessage: "Signal Name" }, + [a.a.setCondition]: { id: "diagnostic_alert_set_condition", defaultMessage: "Set Condition" }, + }); + }, + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.errors = t.labels = t.prompts = t.titles = t.buttons = void 0); + const n = i(3); + (t.buttons = (0, n.defineMessages)({ + BACK: { id: "navigation_back", description: "Label for button that returns to the previous screen.", defaultMessage: "BACK" }, + CANCEL: { id: "navigation_cancel", description: "Label for button that cancels or aborts the current action.", defaultMessage: "CANCEL" }, + CONTINUE: { id: "navigation_forward", description: "Label for button that advances to the next screen.", defaultMessage: "CONTINUE" }, + SKIP: { id: "navigation_skip", description: "Label for button that skips the current screen and advances to the next screen.", defaultMessage: "SKIP" }, + CLOSE: { id: "modal_close", description: "Label for button that closes a modal dialog (e.g. a warning).", defaultMessage: "CLOSE" }, + FINISH: { id: "label_button_finish", description: "Label for button that completes the current procedure (e.g. commissioning wizard).", defaultMessage: "FINISH" }, + SAVE: { id: "modal_save", description: "Label for button that saves the settings shown on the current screen.", defaultMessage: "SAVE" }, + EDIT: { id: "label_button_edit", description: "Label for button that edits the setting shown on the current screen.", defaultMessage: "EDIT" }, + DELETE: { id: "control_delete", description: "Label for button that deletes or removes the specified item.", defaultMessage: "DELETE" }, + CONNECT: { id: "control_connect", description: "Label for button that connects to the network or devices show on the current screen.", defaultMessage: "CONNECT" }, + REFRESH: { id: "modal_refresh", description: "Label for button that refreshes or reloads the current list or screen.", defaultMessage: "REFRESH" }, + UPLOAD: { id: "label_button_upload", description: "Label for button that uploads a file or data to the device or service.", defaultMessage: "UPLOAD" }, + SCAN_BARCODE: { id: "label_button_scan_barcode", description: "Label for button that will scan a barcode using the camera.", defaultMessage: "SCAN BARCODE" }, + SCAN_QRCODE: { id: "label_button_scan_qrcode", description: "Label for button that will scan a QR code using the camera.", defaultMessage: "SCAN QR CODE" }, + ENTER_MANUALLY: { id: "label_button_enter_manually", description: "Label for button that enables manual data entry rather than scanning a barcode.", defaultMessage: "ENTER MANUALLY" }, + FACTORY_RESET: { id: "button_label_factory_reset", description: "Button label for a factory reset action.", defaultMessage: "RESET TO FACTORY DEFAULTS" }, + CONFIRM: { id: "button_label_confirm", description: "Button label for confirming an action.", defaultMessage: "CONFIRM" }, + })), + (t.titles = (0, n.defineMessages)({ + gridCode: { + id: "grid_code_container_title", + description: "Grid Code is the techncial specification of the electric grid standard. This term may appear as the title of a screen or section showing the Grid Code settings and parameters.", + defaultMessage: "Grid Code", + }, + ethernet: { id: "network_view_ethernet_title", description: "Title for a screen or section showing the device's Ethernet connection details or configuration options.", defaultMessage: "Ethernet" }, + wifi: { id: "network_view_wifi_title", description: "Title for a screen or section showing the device's Wi-Fi connection details or configuration options.", defaultMessage: "Wi-Fi" }, + cellular: { id: "network_view_gsm_title", description: "Title for a screen or section showing the device's cellular connection details or configuration options.", defaultMessage: "Cellular" }, + metering: { id: "title_metering", description: "Title for a screen or section showing the device's metering configuration and connection status", defaultMessage: "Metering" }, + networks: { id: "title_networks", description: "Title for a screen or section showing the device's networking devices, settings, and status.", defaultMessage: "Networks" }, + service: { id: "title_service", description: "Title for a screen or section showing features accessible to a service person.", defaultMessage: "Service" }, + siteInfo: { id: "title_site_info", description: "Site Info is a screen for configuring different items relating to the site. e.g. Inverter is connected to Solar Roof or PV Panels.", defaultMessage: "Site Info" }, + siteMeter: { + id: "title_site_meter", + description: + "Site Meter is an electrical meter that is installed at the interconnection point where the site connects to the electric grid. This term may appear as the title of a screen or section showing a Site Meter configuration, or denote ", + defaultMessage: "Site Meter", + }, + softwareUpdate: { id: "title_software_update", description: "Title for a screen or section showing the device's software update status.", defaultMessage: "Software Update" }, + software: { id: "title_software", description: "Title for a screen or section showing the device's software version and software update status.", defaultMessage: "Software" }, + alerts: { id: "alert_container_title", description: "Title for a screen or section showing the device's alerts or alert status.", defaultMessage: "Alerts" }, + installation: { id: "title_installation", description: "Title for a screen or section showing the device's installation parameters and settings.", defaultMessage: "Installation" }, + summary: { id: "summary_container_title", description: "Title for a screen or section showing a summary of the device's configuration.", defaultMessage: "Summary" }, + })), + (t.prompts = (0, n.defineMessages)({ + requiredField: { id: "prompt_required_field", description: "Prompt shown next to a field that is required.", defaultMessage: "This field is required." }, + select: { id: "dropdown_default_selection", description: "Prompt shown in a dropdown selector that does not have a preselected value and a user selection is desired or required.", defaultMessage: "Select" }, + })), + (t.labels = (0, n.defineMessages)({ + factoryReset: { id: "label_factory_reset", description: "Label for a factory reset.", defaultMessage: "FACTORY RESET" }, + partNumber: { id: "label_part_number", description: "Label for the device part number", defaultMessage: "Part Number" }, + partNumberTPN: { id: "label_part_number_psn", description: "Label for a Tesla part number. 'TPN' is how it is identified on the device enclosure.", defaultMessage: "Part Number (TPN)" }, + serialNumber: { id: "label_serial_number", description: "Label for the device serial number", defaultMessage: "Serial Number" }, + serialNumberTSN: { id: "label_serial_number_tsn", description: "Label for a Tesla serial number. 'TSN' is how it is identified on the device enclosure.", defaultMessage: "Serial Number (TSN)" }, + model: { id: "label_model", description: "Label for the device model", defaultMessage: "Model" }, + })), + (t.errors = (0, n.defineMessages)({ invalidPassword: { id: "error_messages_invalid_password", description: "indicates an error due to an invalid password.", defaultMessage: "Invalid password. Please try again." } })); + }, + function (e, t, i) { + "use strict"; + i.d(t, "r", function () { + return _; + }), + i.d(t, "e", function () { + return l; + }), + i.d(t, "a", function () { + return c; + }), + i.d(t, "f", function () { + return d; + }), + i.d(t, "c", function () { + return u; + }), + i.d(t, "b", function () { + return m; + }), + i.d(t, "d", function () { + return p; + }), + i.d(t, "o", function () { + return g; + }), + i.d(t, "p", function () { + return v; + }), + i.d(t, "l", function () { + return f; + }), + i.d(t, "i", function () { + return h; + }), + i.d(t, "j", function () { + return E; + }), + i.d(t, "q", function () { + return b; + }), + i.d(t, "k", function () { + return y; + }), + i.d(t, "h", function () { + return S; + }), + i.d(t, "m", function () { + return T; + }), + i.d(t, "n", function () { + return A; + }), + i.d(t, "g", function () { + return I; + }); + var n = i(18), + r = i.n(n), + a = i(14), + o = i(2), + s = i(10); + const _ = "Download is very slow or stalled.", + l = (e) => e.filter((e) => [o.RECEIVE_SITEMASTER_SETTINGS_ERROR, o.RECEIVE_START_SITEMASTER_ERROR, o.RECEIVE_STOP_SITEMASTER_ERROR, o.RECEIVE_SYNC_CONFIG_ERROR].includes(e.getName())), + c = (e) => e.filter((e) => [o.RECEIVE_LOGIN_ERROR, o.RECEIVE_CHANGE_PASSWORD_ERROR, o.RECEIVE_RESET_PASSWORD_ERROR, o.RECEIVE_GENERATE_PASSWORD_ERROR, o.RECEIVE_LOGOUT_ERROR].includes(e.getName())), + d = (e) => e.filter((e) => [o.RECEIVE_CONNECT_SOLAR_INVERTER_ERROR].includes(e.getName())), + u = (e) => e.filter((e) => [o.POWER_RATING_RANGE_ERROR, o.SUSTAINED_POWER_RANGE_ERROR].includes(e.getName())), + m = (e) => e.filter((e) => e.isDetailed()), + p = (e) => e.filter((e) => [o.RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR].includes(e.getName())); + function g(e) { + let t = !1; + if (e instanceof Error && null != e.response) { + let i = e.response; + null != i && (t = w(r()(i, (e) => e.status) || r()(i, (e) => e.code))); + } else e instanceof a.default && (t = w(r()(e, (e) => e.context.code) || r()(e, (e) => e.context.status))); + return v(e.message) || t; + } + function w(e) { + return null != e && s.f.includes(e); + } + function v(e) { + let t = e.toLowerCase(); + return t.indexOf("unauthorized") > -1 || t.indexOf("forbidden") > -1 || t.indexOf("does not have adequate access") > -1 || f(t); + } + function f(e) { + let t = e.toLowerCase(); + return t.indexOf("invalid bearer token") > -1 || t.indexOf("token expired") > -1; + } + function h(e) { + return E(e.message); + } + function E(e) { + return e.toLowerCase().indexOf("failed to fetch") > -1; + } + function b(e) { + return e.toLowerCase().indexOf("no update package available") > -1; + } + function y(e) { + return e === _; + } + function S(e) { + let t = !1; + if (e instanceof Error && null != e.response) { + let i = e.response; + null != i && (t = R(r()(i, (e) => e.status) || r()(i, (e) => e.code))); + } else e instanceof a.default && (t = R(r()(e, (e) => e.context.code) || r()(e, (e) => e.context.status))); + return e.message.toLowerCase().indexOf("conflict") > -1 || t; + } + function R(e) { + return 409 === e; + } + function T(e) { + return !!e.response && 424 === e.response.code; + } + function A(e) { + let t = !1; + if (e instanceof Error && null != e.response) { + let i = e.response; + null != i && (t = C(r()(i, (e) => e.status) || r()(i, (e) => e.code))); + } else e instanceof a.default && (t = C(r()(e, (e) => e.context.code) || r()(e, (e) => e.context.status))); + return e.message.toLowerCase().indexOf("internal server error") > -1 || t; + } + function C(e) { + return 500 === e; + } + function I(e) { + const t = e.message.toLowerCase(); + return t.indexOf("the network connection was lost") > -1 || t.indexOf("server with the specified hostname could not be found") > -1 || t.indexOf("the internet connection appears to be offline") > -1; + } + }, + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "h", function () { + return r; + }), + i.d(t, "d", function () { + return a; + }), + i.d(t, "a", function () { + return o; + }), + i.d(t, "f", function () { + return s; + }), + i.d(t, "g", function () { + return _; + }), + i.d(t, "e", function () { + return l; + }), + i.d(t, "b", function () { + return c; + }), + i.d(t, "c", function () { + return d; + }), + i.d(t, "i", function () { + return u; + }); + var n = i(191); + const r = n.SecurityType, + a = n.NetworkInterfaceType, + o = { ETHERNET: "ethernet", WIFI: "wifi", GSM: "cellular" }, + s = { DHCP: "dhcp", STATIC: "manual" }, + _ = { + [r.NONE]: "None", + [r.WEP]: "WEP", + [r.WPA_WPA2_PERSONAL]: "WPA/WPA2 Personal", + [r.WPA2_PERSONAL]: "WPA2 Personal", + [r.DYNAMIC_WEP]: "Dynamic WEP", + [r.WPA_WPA2_ENTERPRISE]: "WPA/WPA2 Enterprise", + [r.WPA2_ENTERPRISE]: "WPA2 Enterprise", + }, + l = { ETHERNET: "Customer_Wired" }, + c = /^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$/, + d = /^([0-9A-F]{2}-){5}([0-9A-F]){2}$/, + u = /(Config|Hermes|Synergy|Tesla)/; + }, + , + function (e, t, i) { + "use strict"; + i.d(t, "e", function () { + return O; + }), + i.d(t, "d", function () { + return N; + }), + i.d(t, "j", function () { + return k; + }), + i.d(t, "h", function () { + return q; + }), + i.d(t, "i", function () { + return x; + }), + i.d(t, "b", function () { + return B; + }), + i.d(t, "g", function () { + return H; + }), + i.d(t, "k", function () { + return Y; + }), + i.d(t, "c", function () { + return Q; + }), + i.d(t, "l", function () { + return Z; + }), + i.d(t, "a", function () { + return J; + }), + i.d(t, "m", function () { + return X; + }), + i.d(t, "f", function () { + return $; + }); + var n = i(88), + r = i(7), + a = (i(10), i(127)), + o = i(108), + s = i(2), + _ = i(5), + l = i.n(_), + c = i(6), + d = i(4), + u = i(15), + m = i(45), + p = i(128); + function g(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function w(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? g(Object(i), !0).forEach(function (t) { + v(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : g(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function v(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const f = Object(c.b)(s.REQUEST_LOGIN); + function h(e) { + return { type: s.RECEIVE_LOGIN_SUCCESS, receivedAt: Date.now(), email: e.email, roles: e.roles }; + } + const E = Object(c.b)(s.RECEIVE_LOGIN_ERROR), + b = Object(c.b)(s.REQUEST_GENERATE_PASSWORD); + const y = Object(c.b)(s.RECEIVE_GENERATE_PASSWORD_ERROR), + S = Object(c.b)(s.REQUEST_RESET_PASSWORD); + const R = Object(c.b)(s.RECEIVE_RESET_PASSWORD_ERROR), + T = Object(c.b)(s.REQUEST_CHANGE_PASSWORD); + const A = Object(c.b)(s.RECEIVE_CHANGE_PASSWORD_ERROR), + C = Object(c.b)(s.REQUEST_LOGOUT), + I = Object(c.b)(s.RECEIVE_LOGOUT_ERROR), + O = Object(c.b)(s.CHANGE_USERNAME, "username"), + N = Object(c.b)(s.CHANGE_LOGIN_TYPE, "selectedLoginType"), + k = Object(c.b)(s.RESET_AUTHENTICATION), + P = Object(c.b)(s.REQUEST_START_TOGGLE_AUTH), + D = Object(c.b)(s.RECEIVE_START_TOGGLE_AUTH_SUCCESS), + L = Object(c.b)(s.RECEIVE_START_TOGGLE_AUTH_ERROR), + M = Object(c.b)(s.REQUEST_CANCEL_TOGGLE_AUTH), + z = Object(c.b)(s.RECEIVE_CANCEL_TOGGLE_AUTH_SUCCESS), + U = Object(c.b)(s.RECEIVE_CANCEL_TOGGLE_AUTH_ERROR), + V = Object(c.b)(s.REQUEST_TOGGLE_AUTH_LOGIN), + G = Object(c.b)(s.RECEIVE_TOGGLE_AUTH_LOGIN_SUCCESS), + j = Object(c.b)(s.RECEIVE_TOGGLE_AUTH_LOGIN_ERROR), + W = Object(c.b)(s.REQUEST_SUPPORTS_TOGGLE_AUTH); + const F = Object(c.b)(s.RECEIVE_SUPPORTS_TOGGLE_AUTH_ERROR); + function q(e, t, i, _ = !0) { + return async (c) => { + c(f()), c(Object(r.clearError)(s.RECEIVE_LOGIN_ERROR)); + let m = i; + _ || ((m = e), (e = "")); + try { + return await Object(u.e)( + 35e3, + new Error("Request timed out"), + fetch(l.a.api.uri + "/login/Basic", { + method: "POST", + credentials: l.a.credentials, + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ username: m, password: t, email: e, clientInfo: { timezone: Object(o.d)() } }), + }) + .then(d.parseText) + .then(d.parseResponseText) + .then(d.checkResponseStatus) + .then((e) => (Object(p.a)(a.a), c(h(e)), c(Object(n.replace)("/")), e)) + ); + } catch (e) { + throw (c(Object(r.showError)(s.RECEIVE_LOGIN_ERROR, e.toString(), e.response)), c(E()), e); + } + }; + } + function x(e) { + return (t) => ( + t(C()), + fetch(l.a.api.uri + "/logout", { credentials: l.a.credentials }) + .then(d.checkStatus) + .then(d.parseText) + .then((i) => { + Object(p.a)(a.a), Object(m.a)("AuthCookie"), t(k()), e && e(i); + }) + .catch((e) => { + t(Object(r.showError)(s.RECEIVE_LOGOUT_ERROR, e.toString(), e.response)), t(I()); + }) + ); + } + function B() { + return K("/password/changedefault"); + } + function H() { + return K("/password/generate"); + } + function K(e) { + return async (t) => { + t(b()), t(Object(r.clearError)(s.RECEIVE_GENERATE_PASSWORD_ERROR)); + try { + return await Object(u.e)( + 35e3, + new Error("Request timed out"), + fetch(`${l.a.api.uri}${e}`, { method: "POST", credentials: l.a.credentials }) + .then(d.parseText) + .then(d.parseResponseText) + .then(d.checkResponseStatus) + .then( + (e) => ( + t( + (function (e) { + return w({ type: s.RECEIVE_GENERATE_PASSWORD_SUCCESS, receivedAt: Date.now() }, e); + })(e) + ), + e + ) + ) + ); + } catch (e) { + throw (t(Object(r.showError)(s.RECEIVE_GENERATE_PASSWORD_ERROR, e.toString(), e.response)), t(y()), e); + } + }; + } + function Y(e, t, i) { + return async (n) => { + n(S()), n(Object(r.clearError)(s.RECEIVE_RESET_PASSWORD_ERROR)); + try { + return await Object(u.e)( + 35e3, + new Error("Request timed out"), + fetch(l.a.api.uri + "/password/reset", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ old_password: e, new_password: t, toggled_pw: i }) }) + .then(d.parseText) + .then(d.parseResponseText) + .then(d.checkResponseStatus) + .then( + (e) => ( + n( + (function (e) { + return w({ type: s.RECEIVE_RESET_PASSWORD_SUCCESS, receivedAt: Date.now() }, e); + })(e) + ), + e + ) + ) + ); + } catch (e) { + throw (n(Object(r.showError)(s.RECEIVE_RESET_PASSWORD_ERROR, e.toString(), e.response)), n(R()), e); + } + }; + } + function Q(e, t, i) { + return async (n) => { + n(T()), n(Object(r.clearError)(s.RECEIVE_CHANGE_PASSWORD_ERROR)); + try { + return await Object(u.e)( + 35e3, + new Error("Request timed out"), + fetch(l.a.api.uri + "/password/change", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ old_password: e, new_password: t, toggled_pw: i }) }) + .then(d.parseText) + .then(d.parseResponseText) + .then(d.checkResponseStatus) + .then( + (e) => ( + n( + (function (e) { + return w({ type: s.RECEIVE_CHANGE_PASSWORD_SUCCESS, receivedAt: Date.now() }, e); + })(e) + ), + e + ) + ) + ); + } catch (e) { + throw (n(Object(r.showError)(s.RECEIVE_CHANGE_PASSWORD_ERROR, e.toString(), e.response)), n(A()), e); + } + }; + } + function Z() { + return async (e) => { + e(P), e(Object(r.clearError)(s.RECEIVE_START_TOGGLE_AUTH_ERROR)); + try { + return await fetch(l.a.api.uri + "/auth/toggle/start", { method: "POST", credentials: "include" }) + .then(d.checkResponseStatus) + .then(() => { + e(D()); + }); + } catch (t) { + throw (e(Object(r.showError)(s.RECEIVE_START_TOGGLE_AUTH_ERROR, t.toString(), t.response)), e(L()), t); + } + }; + } + function J() { + return async (e) => { + e(M), e(Object(r.clearError)(s.RECEIVE_CANCEL_TOGGLE_AUTH_ERROR)); + try { + return await Object(u.e)( + 35e3, + new Error("Request timed out"), + fetch(l.a.api.uri + "/auth/toggle/login", { method: "DELETE", credentials: "include" }) + .then(d.checkResponseStatus) + .then(() => { + e(z()); + }) + ); + } catch (t) { + throw (e(Object(r.showError)(s.RECEIVE_CANCEL_TEST_ERROR, t.toString(), t.response)), e(U()), t); + } + }; + } + function X(e, t) { + return async (i) => { + i(V), i(Object(r.clearError)(s.RECEIVE_TOGGLE_AUTH_LOGIN_ERROR)); + try { + return await fetch(l.a.api.uri + "/auth/toggle/login", { method: "POST", credentials: "include", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ email: e, username: t }) }).then((e) => { + if (417 !== e.status) + return Object(d.parseText)(e) + .then(d.parseResponseText) + .then(d.checkResponseStatus) + .then((e) => (Object(p.a)(a.a), i(h(e)), i(G()), i(Object(n.replace)("/")), e)); + }); + } catch (e) { + throw (i(Object(r.showError)(s.RECEIVE_TOGGLE_AUTH_LOGIN_ERROR, e.toString(), e.response)), i(j()), e); + } + }; + } + function $() { + return async (e) => { + e(W), e(Object(r.clearError)(s.RECEIVE_SUPPORTS_TOGGLE_AUTH_ERROR)); + try { + return await fetch(l.a.api.uri + "/auth/toggle/supported") + .then(d.checkResponseStatus) + .then(d.parseJSON) + .then((t) => { + var i; + return e(((i = t.toggle_auth_supported), { type: s.RECEIVE_SUPPORTS_TOGGLE_AUTH_SUCCESS, receivedAt: Date.now(), toggleAuthSupported: i })), t.toggle_auth_supported; + }); + } catch (t) { + throw (e(Object(r.showError)(s.RECEIVE_SUPPORTS_TOGGLE_AUTH_ERROR, "", "")), e(F()), t); + } + }; + } + }, + , + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }); + const n = { + backupMode: "Backup Mode", + blockUpdate: "Block Update in progress", + enumeration: "Enumeration in progress", + initializing: "", + powerFlowIsTooHigh: "Power flow is too high", + updating: "Site Package Update in progress", + yes: "Yes", + }; + }, + , + function (e, t, i) { + "use strict"; + i.d(t, "d", function () { + return r; + }), + i.d(t, "a", function () { + return a; + }), + i.d(t, "e", function () { + return o; + }), + i.d(t, "b", function () { + return s; + }), + i.d(t, "c", function () { + return _; + }), + i.d(t, "f", function () { + return l; + }); + var n = i(3); + const r = { CHECKING: "/clear_update_status", SUCCEEDED: "/update_succeeded", FAILED: "/update_failed", STAGED: "/update_staged", DOWNLOAD: "/download", DOWNLOADED: "/update_downloaded", UNKNOWN: "/update_unknown" }, + a = (r.CHECKING, r.UNKNOWN, [r.CHECKING, r.DOWNLOAD, r.DOWNLOADED, r.UNKNOWN]), + o = { IGNORING: "ignoring", ERROR: "error", NONACTIONABLE: "nonactionable" }, + s = { INVALID: "FIRMWARE_UPDATE_URGENCY_INVALID", NONE: "FIRMWARE_UPDATE_URGENCY_NONE", OPTIONAL: "FIRMWARE_UPDATE_URGENCY_OPTIONAL", REQUIRED: "FIRMWARE_UPDATE_URGENCY_REQUIRED" }, + _ = Object(n.defineMessages)({ + [s.INVALID]: { id: "status_update_urgency_unknown", defaultMessage: "Unknown" }, + [s.NONE]: { id: "status_update_urgency_none", defaultMessage: "Up To Date" }, + [s.OPTIONAL]: { id: "status_update_urgency_optional", defaultMessage: "Update Optional" }, + [s.REQUIRED]: { id: "status_update_urgency_required", defaultMessage: "Update Required" }, + }); + function l(e) { + return e || (e = s.INVALID), _[e]; + } + }, + function (e, t, i) { + "use strict"; + function n(e) { + let t = e + "=", + i = decodeURIComponent(document.cookie).split(";"); + for (var n = 0; n < i.length; n++) { + let e = i[n]; + for (; " " === e.charAt(0); ) e = e.substring(1); + if (0 === e.indexOf(t)) return e.substring(t.length, e.length); + } + return null; + } + function r(e, t, i) { + let n = `${e}=${t};`; + if (i) { + let e = new Date(); + e.setTime(e.getTime() + i), (n += "expires=" + e.toUTCString()); + } + document.cookie = n + ";path=/"; + } + function a(e) { + document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;"; + } + i.d(t, "b", function () { + return n; + }), + i.d(t, "c", function () { + return r; + }), + i.d(t, "a", function () { + return a; + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.isBackupGateway = t.isGateway2 = t.isResiGateway = t.isOnlyViewport = t.isViewport = t.getViewportSize = t.isSamsungAndroid = t.isMobile = t.isSafari = t.isChrome = t.isIOS = void 0); + const n = i(56), + r = ["xs", "sm", "md", "lg"]; + function a() { + let e = window.screen.width; + return e < 768 ? r[0] : e >= 768 && e < 992 ? r[1] : e >= 992 && e < 1200 ? r[2] : r[3]; + } + (t.isIOS = function () { + return /iPad|iPhone|iPod/.test(navigator.userAgent); + }), + (t.isChrome = function () { + return /Chrome/.test(navigator.userAgent); + }), + (t.isSafari = function () { + return /Safari/.test(navigator.userAgent); + }), + (t.isMobile = function () { + return /Mobi/.test(navigator.userAgent); + }), + (t.isSamsungAndroid = function () { + return /Samsung|SM-G/.test(navigator.userAgent); + }), + (t.getViewportSize = a), + (t.isViewport = function (e) { + return r.includes(e) && r.indexOf(a()) >= r.indexOf(e); + }), + (t.isOnlyViewport = function (e) { + return r.indexOf(a()) === r.indexOf(e); + }), + (t.isResiGateway = function (e) { + return e !== n.DEVICE_TYPE.SMC; + }), + (t.isGateway2 = function (e) { + return e === n.DEVICE_TYPE.GW2; + }), + (t.isBackupGateway = function (e, t) { + return e === n.DEVICE_TYPE.GW1 ? !!t : e === n.DEVICE_TYPE.GW2 && (null == t || t); + }); + }, + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "InstallationProblems", function () { + return r; + }), + i.d(t, "installationProblemTitles", function () { + return o; + }), + i.d(t, "installationProblemDetails", function () { + return s; + }), + i.d(t, "isCriticalProblem", function () { + return _; + }); + var n = i(3); + const r = { + MultipleControllers: "MultipleControllers", + Miswired12v: "Miswired12v", + PVACsWithNoSolarRGM: "PVACsWithNoSolarRGM", + TooManySolarRGM: "TooManySolarRGM", + TooFewSolarRGM: "TooFewSolarRGM", + SiteShutdownExternalSwitch: "SiteShutdownExternalSwitch", + SiteShutdownPvsRsdSwitch: "SiteShutdownPvsRsdSwitch", + }, + a = [r.MultipleControllers], + o = Object(n.defineMessages)({ + [r.MultipleControllers]: { id: "enumeration_warning_title_multiple_controllers", defaultMessage: "Multiple Site Controllers are Active" }, + [r.PVACsWithNoSolarRGM]: { id: "installation_problem_title_pvacs_with_no_solar_rgm", defaultMessage: "Solar meter not measuring Powerwall+ inverter. Is this correct?" }, + [r.TooManySolarRGM]: { id: "installation_problem_title_too_many_solar_rgm", defaultMessage: "Too many solar meters measuring Powerwall+ inverter" }, + [r.TooFewSolarRGM]: { id: "installation_problem_title_too_few_solar_rgm", defaultMessage: "Too few solar meters measuring Powerwall+ inverter" }, + [r.SiteShutdownExternalSwitch]: { id: "installation_problem_title_site_shutdown", defaultMessage: "Site shutdown circuit triggered. All Powerwalls and Powerwall+ solar inverters are disabled." }, + [r.SiteShutdownPvsRsdSwitch]: { + id: "installation_problem_title_site_shutdown_pvs_rsd_no_switch", + defaultMessage: "Site shutdown circuit triggered by a Powerwall+ rapid shutdown. All Powerwalls and Powerwall+ solar inverters are disabled.", + }, + }), + s = Object(n.defineMessages)({ + [r.PVACsWithNoSolarRGM]: { + id: "installation_problem_details_pvacs_with_no_solar_rgm", + defaultMessage: + "Solar meters are only required when measuring solar inverters that are not part of a Powerwall+ assembly. Meters that measure a Powerwall+ inverter should be marked as such on the Current Transformers page.", + }, + [r.TooManySolarRGM]: { + id: "installation_problem_details_too_many_solar_rgm", + defaultMessage: "The number of CTs measuring a Powerwall+ solar inverter should match the number of Powerwall+ solar inverters. Run wizard and adjust the CT configuration on the Current Transfomers page.", + }, + [r.TooFewSolarRGM]: { + id: "installation_problem_details_too_few_solar_rgm", + defaultMessage: + "The number of CTs measuring a Powerwall+ solar inverter should match the number of Powerwall+ solar inverters. Run wizard, pair the Neurio meter if needed, and adjust the CT configuration on the Current Transfomers page.", + }, + }); + function _(e) { + return a.includes(e); + } + }, + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.classNames = void 0), + (t.classNames = function e(...t) { + return t + .reduce((t, i) => { + if (Array.isArray(i)) return t.concat(e(...i)); + if (null == i) return t; + if ("string" == typeof i) return t.push(i), t; + if ("object" == typeof i) return t.concat(Object.entries(i).reduce((e, t) => (t[1] && e.push(t[0]), e), [])); + throw new Error("Invalid arguments used in classNames"); + }, []) + .join(" ") + .trim(); + }); + }, + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "showModal", function () { + return a; + }), + i.d(t, "updateModal", function () { + return o; + }), + i.d(t, "hideModal", function () { + return s; + }), + i.d(t, "destroyModal", function () { + return _; + }); + var n = i(2), + r = i(6); + function a(e, t = {}, i = {}) { + return { type: n.SHOW_MODAL, modalType: e, modalProps: t, bootstrapProps: i }; + } + function o(e, t = {}, i = {}) { + return { type: n.UPDATE_MODAL, modalType: e, modalProps: t, bootstrapProps: i }; + } + const s = Object(r.b)(n.HIDE_MODAL), + _ = Object(r.b)(n.DESTROY_MODAL, "modalType"); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.SYNC_TYPE = t.DEVICE_TYPE = void 0), + (function (e) { + (e.GW1 = "hec"), (e.GW2 = "teg"), (e.SMC = "smc"); + })(t.DEVICE_TYPE || (t.DEVICE_TYPE = {})), + (function (e) { + (e.V1 = "v1"), (e.V2 = "v2"), (e.V2_1 = "v2.1"); + })(t.SYNC_TYPE || (t.SYNC_TYPE = {})); + }, + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }); + const n = { BACK: "back", CANCEL: "cancel", FORWARD: "forward" }; + }, + function (e, t, i) { + "use strict"; + i.d(t, "b", function () { + return v; + }), + i.d(t, "a", function () { + return f; + }), + i.d(t, "c", function () { + return h; + }), + i.d(t, "g", function () { + return E; + }), + i.d(t, "f", function () { + return b; + }), + i.d(t, "d", function () { + return y; + }), + i.d(t, "e", function () { + return S; + }); + var n = i(275), + r = i.n(n), + a = i(270), + o = i.n(a), + s = i(557), + _ = i.n(s), + l = i(76), + c = i.n(l), + d = i(1), + u = i.n(d), + m = i(3), + p = i(26), + g = i(37), + w = i(96); + i(50); + function v(e, t = "", i = [], n, r = !1) { + i.length && (e = _()(e, i)); + let a = t; + for (var o in e) { + if ("string" == typeof e[o] && e[o]) (a += "\n"), r && (a += o + ": "), (a += e[o]); + else if ("boolean" == typeof e[o]) a += `\n${o}: ${e[o]}`; + else if ("object" == typeof e[o]) { + if (Array.isArray(e[o]) && 0 === e[o].length) continue; + (a += "\n"), r && (a += o + ": "), (a += JSON.stringify(e[o])); + } else "number" == typeof e[o] && ((a += "\n"), r && (a += o + ": "), (a += e[o].toString())); + n && n[o] && ((a += " "), r && (a += o + ": "), (a += n[o])); + } + return a; + } + function f(e, t = 1) { + if (t > 0) { + let i = Number(e + "e" + t), + n = Number(Math.round(i) + "e-" + t) + .toString() + .split("."); + return (1 !== n.length || ("-0" !== n[0] && "0" !== n[0] && !isNaN(n[0]))) && (2 !== n.length || "" !== n[1].replace(/0/g, "") || ("-0" !== n[0] && "0" !== n[0])) ? n.join(".") : "0"; + } + return Math.round(e).toString(); + } + function h(e) { + const t = e.toString().match(/[^/^].+[^$/]/); + return t && t.length ? t[0] : e.toString(); + } + function E(e, t = !1) { + return e.replace(/([A-Z])/g, (e) => (t ? "-" : "_") + e.toLowerCase()); + } + const b = (e, t) => o()(t, (t) => ({ label: u.a.createElement(m.FormattedMessage, e[r()(t)]), value: t })); + function y(e) { + return e.toLowerCase().split(/[_-]+/)[0]; + } + function S(e, t, i = !1) { + const n = Object(w.g)(e), + r = c()(e, "interface"); + if (c()(e, "active")) { + if (i) return t.formatMessage(p.networkMessages.connected); + const a = c()(e, "networkName"); + if (r === g.d.WIFI && a) return a; + if (n) return "IP: " + n; + } + return c()(e, "enabled") ? t.formatMessage(p.networkMessages[r + "Configured"]) : t.formatMessage(p.networkMessages.disconnected); + } + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return d; + }), + i.d(t, "deviceTypeSelector", function () { + return u; + }), + i.d(t, "isResiGatewaySelector", function () { + return m; + }), + i.d(t, "syncTypeSelector", function () { + return p; + }), + i.d(t, "leaderSelector", function () { + return g; + }), + i.d(t, "followersSelector", function () { + return w; + }), + i.d(t, "cellularDisabledSelector", function () { + return v; + }); + var n = i(43), + r = i(46), + a = i(2), + o = i(56); + function s(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function _(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(i), !0).forEach(function (t) { + l(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : s(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function l(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const c = { + isFetching: !1, + isSyncing: !1, + didInvalidate: !1, + din: null, + isNew: null, + version: null, + hash: null, + persisted: !1, + bootstrapped: !1, + deviceType: o.DEVICE_TYPE.GW1, + tegType: "", + syncType: o.SYNC_TYPE.V1, + leader: null, + followers: [], + cellularDisabled: !1, + }; + function d(e = c, t) { + switch (t.type) { + case n.b: + return _(_({}, e), {}, { persisted: !0 }); + case a.REQUEST_CONFIG_INITIALIZED: + return _(_({}, e), {}, { isFetching: !0 }); + case a.RECEIVE_CONFIG_INITIALIZED: + return _( + _({}, e), + {}, + { + isFetching: !1, + didInvalidate: !1, + din: t.din, + isNew: t.is_new, + version: t.version, + hash: t.git_hash, + deviceType: t.device_type, + tegType: t.teg_type, + syncType: t.sync_type, + leader: t.leader, + followers: t.followers, + cellularDisabled: t.cellular_disabled, + bootstrapped: !0, + } + ); + case a.RECEIVE_CONFIG_INITIALIZED_ERROR: + return _(_({}, e), {}, { isFetching: !1, didInvalidate: !0, bootstrapped: !0 }); + case a.REQUEST_SYNC_CONFIG: + return _(_({}, e), {}, { isSyncing: !0 }); + case a.RECEIVE_SYNC_CONFIG_SUCCESS: + return _(_({}, e), {}, { isSyncing: !1, didInvalidate: !1, isNew: t.is_new, version: t.version, hash: t.git_hash, deviceType: t.device_type, tegType: t.teg_type, syncType: t.sync_type, bootstrapped: !0 }); + case a.RECEIVE_SYNC_CONFIG_ERROR: + return _(_({}, e), {}, { isSyncing: !1, didInvalidate: !0, bootstrapped: !0 }); + default: + return e; + } + } + const u = ({ configuration: e }) => e.deviceType, + m = ({ configuration: e }) => Object(r.isResiGateway)(e.deviceType), + p = ({ configuration: e }) => e.syncType, + g = ({ configuration: e }) => e.leader, + w = ({ configuration: e }) => e.followers, + v = (e) => e.configuration.cellularDisabled; + }, + , + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.Vital = t.MissingValue = t.Attention = t.DeviceBody = t.DeviceHeader = t.DeviceView = void 0); + const r = n(i(1)), + a = i(3), + o = n(i(580)); + function s() { + return r.default.createElement("div", { className: "device-attention" }); + } + (t.DeviceView = function (e) { + return r.default.createElement( + "div", + { className: "system-device" }, + r.default.createElement(o.default, { id: "device", isCollapsible: !e.doNotCollapse, collapsedOnMount: !1, collapsedHeader: e.children[0] }, e.children.slice(1)) + ); + }), + (t.DeviceHeader = function (e) { + var t, i; + let n = null === (t = e.sitemanagerRunning) || void 0 === t || t, + a = null === (i = e.device) || void 0 === i ? void 0 : i.needsAttentionRecursive(n); + return r.default.createElement("div", { className: "system-device-header" }, a && r.default.createElement(s, null), e.children); + }), + (t.DeviceBody = function (e) { + return r.default.createElement("div", { className: "system-device-body" }, e.children); + }), + (t.Attention = s), + (t.MissingValue = r.default.createElement(a.FormattedMessage, { id: "system_vitals_missing_value", defaultMessage: "---", description: "This string is intended to convey the absence of a value" })), + (t.Vital = function (e) { + let i = e.value; + return null == i || isNaN(i) ? t.MissingValue : r.default.createElement(a.FormattedNumber, { minimumSignificantDigits: 3, maximumSignificantDigits: 3, value: i }); + }); + }, + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return l; + }); + var n = i(1), + r = i(0), + a = i.n(r), + o = i(17); + i(799); + function s() { + return (s = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function _(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class l extends n.Component { + constructor(e) { + super(e), (this._onClick = this._onClick.bind(this)); + } + render() { + const { className: e, title: t, subtitle: i, indicator: r, clickElementProps: a } = this.props; + return n.createElement( + "li", + { "data-testid": "a7867b70-0e31-4ba4-a810-58baa590c313", className: e }, + n.createElement(o.Link, s({ "data-testid": "eaba6587-b28a-437c-b6b1-981b253dd315" }, a, { onClick: this._onClick }), t, i, this._getIndicator(r)) + ); + } + _onClick(e) { + this.props.onClick && this.props.onClick(); + } + _getIndicator(e) { + return void 0 !== e ? e : n.createElement("img", { "data-testid": "f51d4188-bb8b-421f-b576-b58a4292114d", className: "caret-right", src: i(153) }); + } + } + _(l, "propTypes", { className: a.a.string.isRequired, onClick: a.a.func, clickElementProps: a.a.object, title: a.a.element, subtitle: a.a.element, indicator: a.a.element }), + _(l, "defaultProps", { className: "menu-item", clickElementProps: {} }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.StatusWarningIcon = void 0); + const o = a(i(1)); + i(578); + t.StatusWarningIcon = (e) => { + let t = e.inline ? "tds-icon-inline" : "tds-icon"; + return ( + e.className && (t += " " + e.className), + o.createElement( + "svg", + { className: t, viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, + o.createElement("circle", { fill: "#ffffff", cx: "12", cy: "12", r: "6" }), + o.createElement("path", { + d: + "M21.586 16.476 14.591 4.498c-1.158-1.983-4.024-1.983-5.182 0L2.414 16.476c-1.169 2 .274 4.513 2.59 4.513h13.992c2.316 0 3.759-2.513 2.59-4.513zM11.25 9.73a.75.75 0 0 1 1.5 0v3.5a.75.75 0 0 1-1.5 0v-3.5zm.75 7.25a1 1 0 1 1 0-2 1 1 0 0 1 0 2z", + fill: "#FBB01B", + }) + ) + ); + }; + }, + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "c", function () { + return r; + }), + i.d(t, "a", function () { + return a; + }), + i.d(t, "b", function () { + return o; + }); + var n = i(2); + function r(e, t = {}) { + return { type: n.SHOW_TOAST, name: e, toastProps: t }; + } + function a(e) { + return { type: n.CLEAR_TOAST, name: e }; + } + function o() { + return { type: n.CLEAR_TOASTS }; + } + }, + , + , + function (e, t, i) { + "use strict"; + function n(e, t) { + var i, n; + return null !== (n = null !== (i = null == t ? void 0 : t.formatMessage(e)) && void 0 !== i ? i : e.defaultMessage) && void 0 !== n ? n : e.id; + } + function r(e) { + return e.toLowerCase().replace("_", "-"); + } + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.negotiate = t.localizeWithFallback = t.localize = void 0), + (t.localize = n), + (t.localizeWithFallback = function (e, t, i) { + return e ? n(e, t) : i; + }), + (t.negotiate = function (e, t) { + let i = e.map(r); + for (let n of t) { + let t = r(n), + a = i.indexOf(t); + if (-1 !== a) return e[a]; + if (t.includes("-") && ((a = i.indexOf(t.split("-")[0])), -1 !== a)) return e[a]; + } + return null; + }); + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "b", function () { + return n; + }), + i.d(t, "c", function () { + return r; + }), + i.d(t, "a", function () { + return a; + }); + i(13); + const n = { NON_BACKUP: "NonBackup", BACKUP: "Backup", NOT_CONFIGURED: "NotConfigured" }, + r = 30, + a = { ACPW: "ACPW", SolarPowerwall: "SolarPowerwall", bc: "bc" }; + }, + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }), + i.d(t, "e", function () { + return r; + }), + i.d(t, "g", function () { + return a; + }), + i.d(t, "d", function () { + return o; + }), + i.d(t, "f", function () { + return s; + }), + i.d(t, "b", function () { + return _; + }), + i.d(t, "c", function () { + return l; + }); + const n = "My Home", + r = { BACKUP: "backup", SELF_CONSUMPTION: "self_consumption", AUTONOMOUS: "autonomous", SCHEDULER: "scheduler", SITE_CONTROL: "site_control", DIRECT: "direct" }, + a = [r.BACKUP, r.SELF_CONSUMPTION, r.AUTONOMOUS], + o = { BATTERY_OK: "battery_ok", NEVER: "never", PV_ONLY: "pv_only" }, + s = [o.NEVER, o.PV_ONLY], + _ = { HECO: "heco_battery_bonus" }, + l = { POWER_RANGE: "power_range" }; + }, + , + , + function (e, t, i) { + "use strict"; + i.d(t, "l", function () { + return d; + }), + i.d(t, "d", function () { + return u; + }), + i.d(t, "c", function () { + return m; + }), + i.d(t, "b", function () { + return p; + }), + i.d(t, "a", function () { + return g; + }), + i.d(t, "m", function () { + return w; + }), + i.d(t, "h", function () { + return v; + }), + i.d(t, "f", function () { + return f; + }), + i.d(t, "i", function () { + return h; + }), + i.d(t, "g", function () { + return E; + }), + i.d(t, "j", function () { + return b; + }), + i.d(t, "k", function () { + return y; + }), + i.d(t, "e", function () { + return S; + }), + i.d(t, "o", function () { + return R; + }), + i.d(t, "n", function () { + return T; + }); + var n = i(18), + r = i.n(n), + a = i(37), + o = i(262); + function s(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function _(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(i), !0).forEach(function (t) { + l(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : s(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function l(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const c = o.hasUsername, + d = o.requiresPassword; + function u(e) { + return a.g[e] ? a.g[e] : e; + } + function m(e) { + return a.h[e]; + } + function p(e) { + return e.filter((e) => e.interface === a.d.WIFI); + } + function g(e) { + return e.filter((e) => e.networkName); + } + function w(e) { + return c(e); + } + function v(e, t) { + return e.find((e) => e.interface === t && e.enabled); + } + function f(e, t) { + return e.find((e) => e.interface === t && e.active); + } + function h(e, t, i) { + return e.find((e) => e.interface === t && e.active && e.networkName === i); + } + function E(e) { + return r()(e, (e) => e.ifaceNetworkInfo.ipNetworks[0].ip) || ""; + } + function b(e) { + return e && null != e.signalStrength ? e.signalStrength : r()(e, (e) => e.ifaceNetworkInfo.signalStrength) || 0; + } + function y(e, t) { + return (null != e && null == t) || (null == e && null != t) || (null != e && null != t && (e.active !== t.active || e.enabled !== t.enabled || E(e) !== E(t))); + } + function S(e) { + let t = _(_({}, e), {}, { network_name: e.networkName, security_type: e.securityType, dns_servers: [] }); + return "string" == typeof e.primaryDNS && "" !== e.primaryDNS && t.dns_servers.push(e.primaryDNS), "string" == typeof e.backupDNS && "" !== e.backupDNS && t.dns_servers.push(e.backupDNS), t; + } + function R(e) { + let t = _(_({}, e), {}, { networkName: e.network_name, interface: e.interface, securityType: e.security_type, primaryDNS: void 0, backupDNS: void 0 }); + e.dns_servers && e.dns_servers.length > 0 && ((t.primaryDNS = e.dns_servers[0]), e.dns_servers.length > 1 && (t.backupDNS = e.dns_servers[1])); + const i = e.iface_network_info; + return ( + i && + (t = _( + _({}, t), + {}, + { ifaceNetworkInfo: _(_({}, i), {}, { ipNetworks: i.ip_networks ? i.ip_networks : null, stateReason: i.state_reason ? i.state_reason : "", signalStrength: i.signal_strength ? i.signal_strength : 0 }) } + )), + t + ); + } + function T(e) { + return { ssid: e.ssid, signalStrength: e.signal_strength, securityType: e.security_type }; + } + }, + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }), + i.d(t, "b", function () { + return r; + }), + i.d(t, "e", function () { + return a; + }), + i.d(t, "f", function () { + return o; + }), + i.d(t, "i", function () { + return s; + }), + i.d(t, "j", function () { + return _; + }), + i.d(t, "c", function () { + return l; + }), + i.d(t, "d", function () { + return c; + }), + i.d(t, "g", function () { + return d; + }), + i.d(t, "h", function () { + return u; + }), + i.d(t, "k", function () { + return m; + }), + i.d(t, "m", function () { + return p; + }), + i.d(t, "o", function () { + return g; + }), + i.d(t, "l", function () { + return w; + }), + i.d(t, "n", function () { + return v; + }), + i.d(t, "q", function () { + return f; + }), + i.d(t, "r", function () { + return h; + }), + i.d(t, "p", function () { + return E; + }); + const n = "RECEIVE_BATTERIES_ERROR", + r = "RECEIVE_BATTERIES_SUCCESS", + a = "RECEIVE_COMPONENTS_ERROR", + o = "RECEIVE_COMPONENTS_SUCCESS", + s = "RECEIVE_SUB_COMPONENTS_ERROR", + _ = "RECEIVE_SUBB_COMPONENTS_SUCCESS", + l = "RECEIVE_BATTERIES_UPDATE_ERROR", + c = "RECEIVE_BATTERIES_UPDATE_SUCCESS", + d = "RECEIVE_SCAN_BATTERIES_ERROR", + u = "RECEIVE_SCAN_BATTERIES_SUCCESS", + m = "REQUEST_BATTERIES", + p = "REQUEST_COMPONENTS", + g = "REQUEST_SUB_COMPONENTS", + w = "REQUEST_BATTERIES_UPDATE", + v = "REQUEST_SCAN_BATTERIES", + f = "STORE_BATTERIES_IS_VALID", + h = "STORE_BATTERIES_NEEDS_SCAN", + E = "STOP_REQUEST_SUB_COMPONENTS"; + }, + , + , + function (e, t, i) { + "use strict"; + i.d(t, "d", function () { + return a; + }), + i.d(t, "c", function () { + return o; + }), + i.d(t, "a", function () { + return s; + }), + i.d(t, "b", function () { + return _; + }); + var n = i(266), + r = i.n(n); + function a() { + return r.a.tz.guess(); + } + function o() { + return r.a.tz.names(); + } + const s = 6e4, + _ = 1e3; + }, + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return b; + }), + i.d(t, "c", function () { + return y; + }), + i.d(t, "d", function () { + return S; + }), + i.d(t, "b", function () { + return R; + }); + var n = i(7), + r = i(2), + a = i(14), + o = i(5), + s = i.n(o), + _ = i(4), + l = i(6), + c = i(15); + function d(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function u(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(i), !0).forEach(function (t) { + m(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : d(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function m(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const p = Object(l.b)(r.REQUEST_SITEMASTER_SETTINGS); + const g = Object(l.b)(r.RECEIVE_SITEMASTER_SETTINGS_ERROR), + w = Object(l.b)(r.REQUEST_START_SITEMASTER); + const v = Object(l.b)(r.REQUEST_STOP_SITEMASTER); + const f = Object(l.b)(r.RECEIVE_STOP_SITEMASTER_ERROR), + h = Object(l.b)(r.REQUEST_SITEMASTER_FOR_COMMISSIONING); + const E = Object(l.b)(r.RECEIVE_SITEMASTER_FOR_COMMISSIONING_ERROR); + Object(l.b)(r.RESET_SITEMASTER_SETTINGS); + function b() { + return (e) => ( + e(p()), + e(Object(n.clearError)(r.RECEIVE_SITEMASTER_SETTINGS_ERROR)), + Object(c.e)( + c.a, + new Error("Request timed out"), + fetch(s.a.api.uri + "/sitemaster", { credentials: s.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((t) => { + e( + (function (e) { + return u({ type: r.RECEIVE_SITEMASTER_SETTINGS_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(g(new a.default(r.RECEIVE_SITEMASTER_SETTINGS_ERROR, t.toString(), t.response))); + }) + ) + ); + } + function y() { + return (e) => ( + e(w()), + e(Object(n.clearError)(r.RECEIVE_START_SITEMASTER_ERROR)), + e(Object(n.clearError)(r.RECEIVE_STOP_SITEMASTER_ERROR)), + fetch(s.a.api.uri + "/sitemaster/run", { credentials: s.a.credentials }) + .then((t) => { + if (t.status < 200 || t.status >= 300) return Object(_.parseJSON)(t).then(_.checkResponseStatus); + var i; + e(((i = {}), u({ type: r.RECEIVE_START_SITEMASTER_SUCCESS, receivedAt: Date.now() }, i))), e(b()); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_START_SITEMASTER_ERROR, t.toString(), t.response)), + e( + (function (e) { + return { type: r.RECEIVE_START_SITEMASTER_ERROR, receivedAt: Date.now(), error: e }; + })(t.response ? t.response.error : "") + ); + }) + ); + } + function S(e) { + return (e) => ( + e(v()), + e(Object(n.clearError)(r.RECEIVE_START_SITEMASTER_ERROR)), + e(Object(n.clearError)(r.RECEIVE_STOP_SITEMASTER_ERROR)), + fetch(s.a.api.uri + "/sitemaster/stop", { credentials: s.a.credentials, method: "POST", body: JSON.stringify({ force: !0 }) }) + .then(_.checkStatus) + .then(() => { + var t; + e(((t = {}), u({ type: r.RECEIVE_STOP_SITEMASTER_SUCCESS, receivedAt: Date.now() }, t))), e(b()); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_STOP_SITEMASTER_ERROR, t.toString(), t.response)), e(f()); + }) + ); + } + function R() { + return (e) => ( + e(h()), + fetch(s.a.api.uri + "/sitemaster/run_for_commissioning", { method: "POST", credentials: s.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((t) => { + e( + (function (e) { + return u({ type: r.RECEIVE_SITEMASTER_FOR_COMMISSIONING_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_SITEMASTER_FOR_COMMISSIONING_ERROR, t.toString(), t.response)), e(E()); + }) + ); + } + }, + , + , + , + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.shouldDisplayAlert = t.DisabledReason = void 0); + const r = n(i(1)), + a = i(3); + var o; + !(function (e) { + (e.FWUpdateInProgress = "FWUpdateInProgress"), + (e.FWUpdateFailed = "FWUpdateFailed"), + (e.GridCodeWriteFailed = "GridCodeWriteFailed"), + (e.Config = "Config"), + (e.DisabledUserRequested = "DisabledUserRequested"), + (e.DisabledBatteryBreakerOpen = "DisabledBatteryBreakerOpen"), + (e.DisabledExcessiveVoltageDrop = "DisabledExcessiveVoltageDrop"), + (e.DisabledArcFaultLockout = "DisabledArcFaultLockout"); + })((o = t.DisabledReason || (t.DisabledReason = {}))); + const s = (0, a.defineMessages)({ + [o.FWUpdateInProgress]: { + id: "disabled_reason_checking_firmware_update", + description: "Indicates that the unit is disabled because we are checking whether it needs an update.", + defaultMessage: "Checking for firmware update", + }, + [o.FWUpdateFailed]: { id: "disabled_reason_firmware_update_failed", description: "Indicates that the unit is disabled because the firmware update failed.", defaultMessage: "Firmware update failed" }, + [o.GridCodeWriteFailed]: { id: "disabled_reason_gridcode_write_failed", description: "Indicates that the unit is disabled because writing the gridcode to it failed.", defaultMessage: "Grid code setting failed" }, + [o.Config]: { id: "disabled_reason_config", defaultMessage: "Disabled by configuration file" }, + [o.DisabledUserRequested]: { id: "disabled_reason_user_requested", defaultMessage: "Disabled at user request" }, + [o.DisabledBatteryBreakerOpen]: { id: "disabled_reason_battery_breaker_open", defaultMessage: "Battery breaker is open" }, + [o.DisabledExcessiveVoltageDrop]: { id: "disabled_reason_excessive_voltage_drop", defaultMessage: "Excessive voltage drop" }, + }), + _ = (0, a.defineMessages)({ + acFault: { id: "pvac_alert_ac_fault", defaultMessage: "Inverter AC Fault" }, + dcFaultString1: { id: "pvac_alert_dc_fault_string1", defaultMessage: "Inverter DC Fault - String 1" }, + dcFaultString2: { id: "pvac_alert_dc_fault_string2", defaultMessage: "Inverter DC Fault - String 2" }, + dcFaultString3: { id: "pvac_alert_dc_fault_string3", defaultMessage: "Inverter DC Fault - String 3" }, + dcFaultString4: { id: "pvac_alert_dc_fault_string4", defaultMessage: "Inverter DC Fault - String 4" }, + overVoltage: { id: "pvac_alert_over_voltage", defaultMessage: "Grid Uncompliant - Over Voltage" }, + underVoltage: { id: "pvac_alert_under_voltage", defaultMessage: "Grid Uncompliant - Under Voltage" }, + overFreq: { id: "pvac_alert_over_freq", defaultMessage: "Grid Uncompliant - Over Frequency" }, + underFreq: { id: "pvac_alert_under_freq", defaultMessage: "Grid Uncompliant - Under Frequency" }, + freqChange: { id: "pvac_alert_freq_change", defaultMessage: "Grid Uncompliant - Frequency Change" }, + overTemp: { id: "pvac_alert_over_temp", defaultMessage: "Inverter Over Temperature" }, + internalComms: { id: "pvac_alert_internal_comms", defaultMessage: "Internal Communication Issue" }, + }), + l = (0, a.defineMessages)({ + checkAC: { id: "pvac_alert_check_ac_note", defaultMessage: "Check AC wiring and grid connection. Reboot inverter and retry operation." }, + checkDCString1: { id: "pvac_alert_check_dc_string1_note", defaultMessage: "Check String 1 DC wiring and panels. Reboot inverter and retry operation." }, + checkDCString2: { id: "pvac_alert_check_dc_string2_note", defaultMessage: "Check String 2 DC wiring and panels. Reboot inverter and retry operation." }, + checkDCString3: { id: "pvac_alert_check_dc_string3_note", defaultMessage: "Check String 3 DC wiring and panels. Reboot inverter and retry operation." }, + checkDCString4: { id: "pvac_alert_check_dc_string4_note", defaultMessage: "Check String 4 DC wiring and panels. Reboot inverter and retry operation." }, + confirmGridCode: { id: "pvac_alert_confirm_grid_code_note", defaultMessage: "Check AC wiring and grid connection. Confirm selected grid code." }, + productionLimited: { id: "pvac_alert_production_limited_note", defaultMessage: "Production may be limited. Ensure proper wire terminations, sufficient airflow, and installation environment." }, + reboot: { id: "pvac_alert_reboot_note", defaultMessage: "Reboot inverter, ensure system is up to date and fully commissioned." }, + }), + c = { + PVAC_a001_inv_L1_HW_overcurrent: _.acFault, + PVAC_a002_inv_L2_HW_overcurrent: _.acFault, + PVAC_a003_inv_HVBus_HW_overvoltage: _.acFault, + PVAC_a004_pv_HW_CMPSS_OC_STGA: _.dcFaultString1, + PVAC_a005_pv_HW_CMPSS_OC_STGB: _.dcFaultString2, + PVAC_a006_pv_HW_CMPSS_OC_STGC: _.dcFaultString3, + PVAC_a007_pv_HW_CMPSS_OC_STGD: _.dcFaultString4, + PVAC_a008_inv_HVBus_undervoltage: _.acFault, + PVAC_a010_inv_AC_overvoltage: _.overVoltage, + PVAC_a011_inv_AC_undervoltage: _.underVoltage, + PVAC_a012_inv_AC_overfrequency: _.overFreq, + PVAC_a013_inv_AC_underfrequency: _.underFreq, + PVAC_a015_pv_HW_Allegro_OC_STGA: _.dcFaultString1, + PVAC_a016_pv_HW_Allegro_OC_STGB: _.dcFaultString2, + PVAC_a017_pv_HW_Allegro_OC_STGC: _.dcFaultString3, + PVAC_a018_pv_HW_Allegro_OC_STGD: _.dcFaultString4, + PVAC_a019_ambient_overtemperature: _.overTemp, + PVAC_a020_dsp_overtemperature: _.overTemp, + PVAC_a021_dcac_heatsink_overtemperature: _.overTemp, + PVAC_a022_mppt_heatsink_overtemperature: _.overTemp, + PVAC_a024_PVACrx_Command_mia: _.internalComms, + PVAC_a025_PVS_Status_mia: _.internalComms, + PVAC_a026_inv_AC_peak_overvoltage: _.overVoltage, + PVAC_a027_inv_K1_relay_welded: _.acFault, + PVAC_a028_inv_K2_relay_welded: _.acFault, + PVAC_a031_VFCheck_OV: _.overVoltage, + PVAC_a032_VFCheck_UV: _.underVoltage, + PVAC_a033_VFCheck_OF: _.overFreq, + PVAC_a034_VFCheck_UF: _.underFreq, + PVAC_a035_VFCheck_RoCoF: _.freqChange, + }, + d = { + PVAC_a001_inv_L1_HW_overcurrent: l.checkAC, + PVAC_a002_inv_L2_HW_overcurrent: l.checkAC, + PVAC_a003_inv_HVBus_HW_overvoltage: l.checkAC, + PVAC_a004_pv_HW_CMPSS_OC_STGA: l.checkDCString1, + PVAC_a005_pv_HW_CMPSS_OC_STGB: l.checkDCString2, + PVAC_a006_pv_HW_CMPSS_OC_STGC: l.checkDCString3, + PVAC_a007_pv_HW_CMPSS_OC_STGD: l.checkDCString4, + PVAC_a008_inv_HVBus_undervoltage: l.checkAC, + PVAC_a010_inv_AC_overvoltage: l.confirmGridCode, + PVAC_a011_inv_AC_undervoltage: l.confirmGridCode, + PVAC_a012_inv_AC_overfrequency: l.confirmGridCode, + PVAC_a013_inv_AC_underfrequency: l.confirmGridCode, + PVAC_a014_PVS_disabled_relay: l.checkAC, + PVAC_a015_pv_HW_Allegro_OC_STGA: l.checkDCString1, + PVAC_a016_pv_HW_Allegro_OC_STGB: l.checkDCString2, + PVAC_a017_pv_HW_Allegro_OC_STGC: l.checkDCString3, + PVAC_a018_pv_HW_Allegro_OC_STGD: l.checkDCString4, + PVAC_a019_ambient_overtemperature: l.productionLimited, + PVAC_a020_dsp_overtemperature: l.productionLimited, + PVAC_a021_dcac_heatsink_overtemperature: l.productionLimited, + PVAC_a022_mppt_heatsink_overtemperature: l.productionLimited, + PVAC_a024_PVACrx_Command_mia: l.reboot, + PVAC_a025_PVS_Status_mia: l.reboot, + PVAC_a026_inv_AC_peak_overvoltage: l.confirmGridCode, + PVAC_a027_inv_K1_relay_welded: l.checkAC, + PVAC_a028_inv_K2_relay_welded: l.checkAC, + PVAC_a031_VFCheck_OV: l.confirmGridCode, + PVAC_a032_VFCheck_UV: l.confirmGridCode, + PVAC_a033_VFCheck_OF: l.confirmGridCode, + PVAC_a034_VFCheck_UF: l.confirmGridCode, + PVAC_a035_VFCheck_RoCoF: l.confirmGridCode, + }, + u = (0, a.defineMessages)({ + dcGroundFault: { id: "pvs_alert_dc_ground_fault", defaultMessage: "DC Ground Fault" }, + dcOverVoltage: { id: "pvs_alert_dc_over_voltage", defaultMessage: "DC Over Voltage" }, + dcIsolationString1: { id: "pvs_alert_dc_isolation_string1", defaultMessage: "DC Isolation Issue - String 1" }, + dcIsolationString2: { id: "pvs_alert_dc_isolation_string2", defaultMessage: "DC Isolation Issue - String 2" }, + dcIsolationString3: { id: "pvs_alert_dc_isolation_string3", defaultMessage: "DC Isolation Issue - String 3" }, + dcIsolationString4: { id: "pvs_alert_dc_isolation_string4", defaultMessage: "DC Isolation Issue - String 4" }, + dcArcFaultDetected: { id: "pvs_alert_dc_arc_fault_detected", defaultMessage: "DC Arc Fault - Detected" }, + dcArcFaultLockout: { id: "pvs_alert_dc_arc_fault_lockout", defaultMessage: "DC Arc Fault - Lockout" }, + rapidShutdown: { id: "pvs_alert_rapid_shutdown", defaultMessage: "Rapid Shutdown Initiated" }, + }), + m = (0, a.defineMessages)({ + checkDC: { id: "pvs_alert_check_dc_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for ground fault issues." }, + checkStrings: { id: "pvs_alert_check_dc_strings_note", defaultMessage: "Check DC wiring, connections, panels, and string configurations." }, + checkDCString1: { id: "pvs_alert_check_dc_string1_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 1." }, + checkDCString2: { id: "pvs_alert_check_dc_string2_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 2." }, + checkDCString3: { id: "pvs_alert_check_dc_string3_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 3." }, + checkDCString4: { id: "pvs_alert_check_dc_string4_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 4." }, + checkArcFault: { id: "pvs_alert_check_arc_fault_note", defaultMessage: "Check DC wiring, connections, panels, and rapid shutdown devices for Arc fault issues." }, + rapidShutdown: { id: "pvs_alert_rapid_shutdown_note", defaultMessage: "Check AC breaker and low-voltage rapid shutdown circuit." }, + }), + p = { + PVS_a006_GfOvercurrent300: u.dcGroundFault, + PVS_a009_GfOvercurrent030: u.dcGroundFault, + PVS_a011_PvIsolationStringA: u.dcIsolationString1, + PVS_a012_PvIsolationStringB: u.dcIsolationString2, + PVS_a013_PvIsolationStringC: u.dcIsolationString3, + PVS_a014_PvIsolationStringD: u.dcIsolationString4, + PVS_a021_RapidShutdown: u.rapidShutdown, + PVS_a030_VDcOv: u.dcOverVoltage, + PVS_a035_PvArcDetected: u.dcArcFaultDetected, + PVS_a036_PvArcLockout: u.dcArcFaultLockout, + }, + g = { + PVS_a006_GfOvercurrent300: m.checkDC, + PVS_a009_GfOvercurrent030: m.checkDC, + PVS_a011_PvIsolationStringA: m.checkDCString1, + PVS_a012_PvIsolationStringB: m.checkDCString2, + PVS_a013_PvIsolationStringC: m.checkDCString3, + PVS_a014_PvIsolationStringD: m.checkDCString4, + PVS_a021_RapidShutdown: m.rapidShutdown, + PVS_a030_VDcOv: m.checkStrings, + PVS_a035_PvArcDetected: m.checkArcFault, + PVS_a036_PvArcLockout: m.checkArcFault, + }; + function w(e) { + return e.startsWith("PVAC_") ? e in c : !!e.startsWith("PVS_") && e in p; + } + (t.shouldDisplayAlert = w), + (t.default = function ({ device: e, sitemanagerRunning: t }) { + if (!e.needsAttention(null == t || t)) return null; + if (e.isUpdating()) return null; + if (e.isDisabled()) { + let t = e.disabledReasons(); + return r.default.createElement( + "div", + { className: "device-alert" }, + r.default.createElement(a.FormattedMessage, { id: "system_device_alert_disabled", defaultMessage: "Device disabled" }), + t.map((e) => r.default.createElement("div", { key: e, className: "device-alert-note" }, s[e] ? r.default.createElement(a.FormattedMessage, Object.assign({}, s[e])) : e)) + ); + } + let i = e.alerts().filter(w), + n = {}; + for (let e of i) { + let t = c[e] || p[e], + i = d[e] || g[e]; + n[t.id + "|" + (i ? i.id : "")] = { name: e, title: t, note: i }; + } + return r.default.createElement( + r.default.Fragment, + null, + Object.values(n).map((e) => + r.default.createElement( + "div", + { key: e.name, className: "device-alert" }, + r.default.createElement(a.FormattedMessage, Object.assign({}, e.title)), + e.note && r.default.createElement("div", { className: "alert-note" }, r.default.createElement(a.FormattedMessage, Object.assign({}, e.note))) + ) + ) + ); + }); + }, + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return _; + }), + i.d(t, "b", function () { + return l; + }); + var n = i(2); + function r(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function a(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(i), !0).forEach(function (t) { + o(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : r(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function o(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { problems: [] }; + function _(e = s, t) { + switch (t.type) { + case n.RECEIVE_INSTALLATION_PROBLEMS: + return a(a({}, e), {}, { problems: t.problems }); + default: + return e; + } + } + function l(e) { + return e.troubleshooting.problems; + } + }, + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }); + const n = "TESLA_CONFIG_REGISTRATION_FORM_SESSION"; + }, + function (e, t, i) { + "use strict"; + i.d(t, "c", function () { + return n; + }), + i.d(t, "a", function () { + return r; + }), + i.d(t, "b", function () { + return a; + }); + function n(e, t, i = 0) { + if (!e || !t) return; + const n = "object" == typeof t ? JSON.stringify(t) : t; + sessionStorage.setItem(e, n), i && sessionStorage.setItem(e + ":EXPIRATION", JSON.stringify({ expiration: i, timestamp: Date.now() })); + } + function r(e) { + sessionStorage.removeItem(e), sessionStorage.removeItem(e + ":EXPIRATION"); + } + function a(e) { + const t = sessionStorage.getItem(e), + i = o(sessionStorage.getItem(e + ":EXPIRATION")), + n = null != i && "object" == typeof i && Date.now() - i.timestamp >= i.expiration; + return !t || n ? null : o(t); + } + function o(e) { + if (!e) return null; + try { + return JSON.parse(e); + } catch (t) { + return e; + } + } + }, + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return m; + }); + var n = i(1), + r = i(0), + a = i.n(r), + o = i(3), + s = i(15), + _ = i(21), + l = i(10); + function c() { + return (c = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + const d = Object(o.defineMessages)({ title: { id: "higher_order_login_title", defaultMessage: "Let's get started." }, login: { id: "higher_order_login_login_required", defaultMessage: "Login Required" } }), + u = { intl: o.intlShape.isRequired, authentication: a.a.object.isRequired, changeSelectedLoginType: a.a.func.isRequired, updateHeader: a.a.func, updateModal: a.a.func, errors: a.a.array.isRequired }, + m = { getLoginHeaderView: a.a.func.isRequired, handleChangeLoginHeader: a.a.func.isRequired, handleChangeLoginModal: a.a.func.isRequired, handleCheckForToggle: a.a.func.isRequired }; + t.b = (e) => { + var t, i, r, a, o; + return ( + (i = t = class extends n.Component { + constructor(e) { + super(e), + (this.inToggleAuthLogin = !1), + (this._getLoginHeaderView = this._getLoginHeaderView.bind(this)), + (this._handleChangeLoginHeader = this._handleChangeLoginHeader.bind(this)), + (this._handleChangeLoginModal = this._handleChangeLoginModal.bind(this)), + (this._handleCheckForToggle = this._handleCheckForToggle.bind(this)), + (this._checkForToggle = this._checkForToggle.bind(this)); + } + componentWillReceiveProps(e) { + const { authentication: t, errors: i } = this.props; + this.inToggleAuthLogin && Object(_.isAuthenticated)(e.authentication, e.errors) && (this.inToggleAuthLogin = !1); + } + componentWillUnmount() { + this.inToggleAuthLogin = !1; + } + render() { + return n.createElement( + e, + c({}, this.props, { + getLoginHeaderView: this._getLoginHeaderView, + handleChangeLoginHeader: this._handleChangeLoginHeader, + handleChangeLoginModal: this._handleChangeLoginModal, + handleCheckForToggle: this._handleCheckForToggle, + }) + ); + } + _handleCheckForToggle() { + (this.inToggleAuthLogin = !0), this._checkForToggle(); + } + async _checkForToggle() { + if (!this.checkingForToggle && this.inToggleAuthLogin) { + this.checkingForToggle = !0; + try { + await this.props.toggleAuthLogin(this.props.authentication.username, this.props.authentication.selectedLoginType), await Object(s.d)(2e3), (this.checkingForToggle = !1), this._checkForToggle(); + } catch (e) { + this.checkingForToggle = !1; + } + } + } + _handleChangeLoginHeader(e) { + e !== this.props.authentication.selectedLoginType && (this.props.changeSelectedLoginType(e), this.props.updateHeader && this.props.updateHeader("header-blank", { additionalView: this._getLoginHeaderView(e) })); + } + _handleChangeLoginModal(e) { + e !== this.props.authentication.selectedLoginType && (this.props.changeSelectedLoginType(e), this.props.updateModal && this.props.updateModal(l.b, { headerView: n.cloneElement(this._getLoginHeaderView(e)) })); + } + _getLoginHeaderView() { + let t = "WizardContainer" === e.name; + return n.createElement( + "div", + { "data-testid": "b604333c-5ee6-4d23-ab77-5c0554260c05", className: "login-modal-title" }, + t ? null : n.createElement("h2", { "data-testid": "0f11fe67-4b12-490a-aa87-c9d545f28fe5", className: "modal-title" }, this.props.intl.formatMessage(d.login)) + ); + } + }), + (o = u), + (a = "propTypes") in (r = t) ? Object.defineProperty(r, a, { value: o, enumerable: !0, configurable: !0, writable: !0 }) : (r[a] = o), + i + ); + }; + }, + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "showHeader", function () { + return a; + }), + i.d(t, "updateHeader", function () { + return o; + }), + i.d(t, "resetHeader", function () { + return s; + }); + var n = i(2), + r = i(6); + function a(e, t = {}) { + return { type: n.SHOW_HEADER, headerType: e, headerProps: t }; + } + function o(e, t = {}) { + return { type: n.UPDATE_HEADER, headerType: e, headerProps: t }; + } + const s = Object(r.b)(n.RESET_HEADER); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.PhaseType = void 0), + (function (e) { + (e.SINGLE = "Single"), (e.SPLIT = "Split"), (e.THREE = "Three"), (e.TWO = "Two"), (e.WYE_LL = "WyeLL"); + })(t.PhaseType || (t.PhaseType = {})); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "initializeConfig", function () { + return v; + }), + i.d(t, "syncConfig", function () { + return f; + }), + i.d(t, "getConfig", function () { + return h; + }); + var n = i(7), + r = i(2), + a = i(5), + o = i.n(a), + s = i(6), + _ = i(4), + l = i(15); + function c(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? c(Object(i), !0).forEach(function (t) { + u(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : c(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function u(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const m = Object(s.b)(r.REQUEST_CONFIG_INITIALIZED); + const p = Object(s.b)(r.RECEIVE_CONFIG_INITIALIZED_ERROR), + g = Object(s.b)(r.REQUEST_SYNC_CONFIG); + const w = Object(s.b)(r.RECEIVE_SYNC_CONFIG_ERROR); + function v() { + return (e) => ( + e(m()), + e(Object(n.clearError)(r.RECEIVE_CONFIG_INITIALIZED_ERROR)), + fetch(o.a.api.uri + "/status") + .then(_.parseText) + .then(_.parseResponseText) + .then(_.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return d({ type: r.RECEIVE_CONFIG_INITIALIZED, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_CONFIG_INITIALIZED_ERROR, t.toString(), t.response)), e(p()); + }) + ); + } + function f() { + return async (e) => { + e(g()), e(Object(n.clearError)(r.RECEIVE_SYNC_CONFIG_ERROR)); + try { + return await Object(l.e)( + l.a, + new Error("Config sync timed out"), + fetch(o.a.api.uri + "/config/completed", { credentials: o.a.credentials }) + .then(_.parseText) + .then(_.parseResponseText) + .then(_.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return d({ type: r.RECEIVE_SYNC_CONFIG_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + ); + } catch (t) { + e(Object(n.showError)(r.RECEIVE_SYNC_CONFIG_ERROR, t.toString(), t.response)), e(w()); + } + }; + } + async function h() { + return fetch(o.a.api.uri + "/config", { credentials: o.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((e) => e) + .catch((e) => { + throw e; + }); + } + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.STANDARD_TOAST = t.WARNING_TOAST = void 0), (t.WARNING_TOAST = "WARNING_TOAST"), (t.STANDARD_TOAST = "STANDARD_TOAST"); + }, + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.deviceTreeFromDeviceApiList = t.DeviceNode = t.DeviceType = t.Vitals = void 0); + const n = i(113); + class r { + constructor(...e) { + (this.numbers = new Map()), (this.strings = new Map()), (this.booleans = new Map()); + for (let t of e) t && this.addVitals(t); + } + addVitals(e) { + for (let t of e.vitals) { + let e = t.name; + if (e && t.value) + switch (t.value.$case) { + case "intValue": + this.numbers.set(e, t.value.intValue); + break; + case "floatValue": + this.numbers.set(e, t.value.floatValue); + break; + case "boolValue": + this.booleans.set(e, t.value.boolValue); + break; + case "stringValue": + this.strings.set(e, t.value.stringValue); + } + } + } + hasNumber(e) { + return this.numbers.has(e); + } + getNumber(e) { + return this.numbers.get(e); + } + hasString(e) { + return this.strings.has(e); + } + getString(e) { + return this.strings.get(e); + } + hasBoolean(e) { + return this.booleans.has(e); + } + getBoolean(e) { + return this.booleans.get(e); + } + size() { + return this.numbers.size + this.strings.size + this.booleans.size; + } + } + var a; + (t.Vitals = r), + (function (e) { + (e.STSTSM = "STSTSM"), + (e.THC = "TETHC"), + (e.POD = "TEPOD"), + (e.PINV = "TEPINV"), + (e.PVAC = "PVAC"), + (e.PVS = "PVS"), + (e.SYNC = "TESYNC"), + (e.MSA = "TEMSA"), + (e.NEURIO = "NEURIO"), + (e.ACPW = "ACPW"), + (e.PVI = "PVI"), + (e.SPW = "SPW"); + })((a = t.DeviceType || (t.DeviceType = {}))); + class o { + constructor(e, t) { + (this.children = []), (this.followers = []), (this.d = e), (this.customType = t), (this._vitals = new r(this.d)); + } + type() { + var e, t, i, n; + return ( + this.customType || + (null === (n = null === (i = null === (t = null === (e = this.d) || void 0 === e ? void 0 : e.device) || void 0 === t ? void 0 : t.device) || void 0 === i ? void 0 : i.din) || void 0 === n ? void 0 : n.split("--")[0]) || + "" + ); + } + din() { + var e, t, i; + return this.customDin || (null === (i = null === (t = null === (e = this.d) || void 0 === e ? void 0 : e.device) || void 0 === t ? void 0 : t.device) || void 0 === i ? void 0 : i.din) || ""; + } + partNumber() { + return this.customPartNumber || this.din().split("--")[1] || ""; + } + serialNumber() { + if (this.customSerialNumber) return this.customSerialNumber; + let e = this.din().split("--"); + return e[e.length - 1] || ""; + } + alerts() { + var e; + return (null === (e = this.d) || void 0 === e ? void 0 : e.alerts) || []; + } + vitals() { + return this._vitals; + } + prefix() { + const e = this.type(); + return e.startsWith("TE") ? e.substring(2) : e; + } + addChild(e) { + (e.parent = this), this.children.push(e); + } + addFollower(e) { + (e.leader = this), this.followers.push(e); + } + disabledReasons() { + var e; + let t = this.type(), + i = this.prefix() + "-DisabledReason", + r = (null === (e = this.vitals().getString(i)) || void 0 === e ? void 0 : e.split(",")) || []; + return t === a.PVI && r.includes(n.DisabledReason.DisabledUserRequested) && (r = r.filter((e) => e !== n.DisabledReason.DisabledUserRequested)), r; + } + isDisabled() { + let e = this.type(), + t = this.prefix() + "-DisabledReason", + i = this.vitals().getString(t); + return !!i && (i !== n.DisabledReason.DisabledUserRequested || e !== a.PVI); + } + isDisabledRecursive() { + return this.isDisabled() || this.children.some((e) => e.isDisabledRecursive()); + } + isDisabledBecause(e) { + return this.disabledReasons().includes(e); + } + isDisabledBecauseRecursive(e) { + return this.isDisabledBecause(e) || this.children.some((t) => t.isDisabledBecauseRecursive(e)); + } + isUpdating() { + let e = this.prefix() + "-Updating"; + return this.vitals().getBoolean(e) || !1; + } + isUpdatingRecursive() { + return this.isUpdating() || this.children.some((e) => e.isUpdatingRecursive()); + } + hasAlerts() { + return this.alerts().filter(n.shouldDisplayAlert).length > 0; + } + hasAlertsRecursive() { + return this.hasAlerts() || this.children.some((e) => e.hasAlertsRecursive()); + } + needsAttention(e) { + return !(!e && this.type() === a.PVI) && (this.hasAlerts() || this.isUpdating() || this.isDisabled()); + } + needsAttentionRecursive(e) { + return this.needsAttention(e) || this.children.some((t) => t.needsAttentionRecursive(e)); + } + } + t.DeviceNode = o; + class s extends o { + constructor(e, t) { + super(e, t), (this._vitals = new r()); + } + alerts() { + return []; + } + } + class _ extends o { + constructor(e, t, ...i) { + super(e, t), (this.additionalDevices = i.filter((e) => !!e)); + for (let e of this.additionalDevices) this._vitals.addVitals(e); + } + alerts() { + let e = [...this.d.alerts]; + for (let t of this.additionalDevices) e.push(...t.alerts); + return e; + } + } + t.deviceTreeFromDeviceApiList = function (e, t) { + const i = e.devices; + let n = t ? a.STSTSM + "--" + t : void 0, + r = p(a.STSTSM, n)[0]; + if (!r) return null; + let l = g(r), + c = p(a.STSTSM, u(r)); + for (let e of c) l.addFollower(g(e)); + return l; + function d(e) { + var t, i, n; + return null === (n = null === (i = null === (t = e.device) || void 0 === t ? void 0 : t.device) || void 0 === i ? void 0 : i.din) || void 0 === n ? void 0 : n.split("--")[0]; + } + function u(e) { + var t, i; + return null === (i = null === (t = e.device) || void 0 === t ? void 0 : t.device) || void 0 === i ? void 0 : i.din; + } + function m(e) { + var t, i; + return null === (i = null === (t = e.device) || void 0 === t ? void 0 : t.device) || void 0 === i ? void 0 : i.componentParentDin; + } + function p(e, t) { + let n = []; + for (let r of i) (void 0 !== e && e !== d(r)) || (m(r) === t && n.push(r)); + return n; + } + function g(e) { + let t = new o(e), + i = p(void 0, u(e)); + for (let n of i) d(n) === a.THC ? t.addChild(w(e, n)) : t.addChild(g(n)); + return t; + } + function w(e, t) { + let i = u(t), + n = p(a.POD, i)[0], + r = p(a.PINV, i)[0], + o = p(a.PVAC, i)[0]; + if (!o) return new _(t, a.ACPW, n, r); + let l = new _(t, a.ACPW, n, r), + c = new _(o, a.PVI, p(a.PVS, u(o))[0]), + d = new s(t, a.SPW); + return d.addChild(c), d.addChild(l), d; + } + }; + }, + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.Participant = t.AuthEnvelope = t.ExternalAuth = t.TeslaService = t.DeliveryChannel = t.ExternalAuthType = void 0); + const n = i(40), + r = { type: 0 }, + a = {}, + o = {}; + !(function (e) { + (e[(e.EXTERNAL_AUTH_TYPE_INVALID = 0)] = "EXTERNAL_AUTH_TYPE_INVALID"), + (e[(e.EXTERNAL_AUTH_TYPE_PRESENCE = 1)] = "EXTERNAL_AUTH_TYPE_PRESENCE"), + (e[(e.EXTERNAL_AUTH_TYPE_MTLS = 2)] = "EXTERNAL_AUTH_TYPE_MTLS"), + (e[(e.EXTERNAL_AUTH_TYPE_HERMES_COMMAND = 4)] = "EXTERNAL_AUTH_TYPE_HERMES_COMMAND"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.ExternalAuthType || (t.ExternalAuthType = {})), + (function (e) { + (e[(e.DELIVERY_CHANNEL_INVALID = 0)] = "DELIVERY_CHANNEL_INVALID"), + (e[(e.DELIVERY_CHANNEL_LOCAL_HTTPS = 1)] = "DELIVERY_CHANNEL_LOCAL_HTTPS"), + (e[(e.DELIVERY_CHANNEL_HERMES_COMMAND = 2)] = "DELIVERY_CHANNEL_HERMES_COMMAND"), + (e[(e.DELIVERY_CHANNEL_BLE = 3)] = "DELIVERY_CHANNEL_BLE"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.DeliveryChannel || (t.DeliveryChannel = {})), + (function (e) { + (e[(e.TESLA_SERVICE_INVALID = 0)] = "TESLA_SERVICE_INVALID"), (e[(e.TESLA_SERVICE_COMMAND = 1)] = "TESLA_SERVICE_COMMAND"), (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.TeslaService || (t.TeslaService = {})), + (t.ExternalAuth = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).int32(e.type), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, r); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.type = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.AuthEnvelope = { + encode(e, i = n.Writer.create()) { + var r; + return i.uint32(10).bytes(e.payload), "externalAuth" === (null === (r = e.auth) || void 0 === r ? void 0 : r.$case) && t.ExternalAuth.encode(e.auth.externalAuth, i.uint32(18).fork()).ldelim(), i; + }, + decode(e, i) { + const r = e instanceof Uint8Array ? new n.Reader(e) : e; + let o = void 0 === i ? r.len : r.pos + i; + const s = Object.assign({}, a); + for (; r.pos < o; ) { + const e = r.uint32(); + switch (e >>> 3) { + case 1: + s.payload = r.bytes(); + break; + case 2: + s.auth = { $case: "externalAuth", externalAuth: t.ExternalAuth.decode(r, r.uint32()) }; + break; + default: + r.skipType(7 & e); + } + } + return s; + }, + }), + (t.Participant = { + encode(e, t = n.Writer.create()) { + var i, r, a, o; + return ( + "din" === (null === (i = e.id) || void 0 === i ? void 0 : i.$case) && t.uint32(10).string(e.id.din), + "teslaService" === (null === (r = e.id) || void 0 === r ? void 0 : r.$case) && t.uint32(16).int32(e.id.teslaService), + "local" === (null === (a = e.id) || void 0 === a ? void 0 : a.$case) && t.uint32(24).int32(e.id.local), + "authorizedClient" === (null === (o = e.id) || void 0 === o ? void 0 : o.$case) && t.uint32(32).int32(e.id.authorizedClient), + t + ); + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, o); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.id = { $case: "din", din: i.string() }; + break; + case 2: + a.id = { $case: "teslaService", teslaService: i.int32() }; + break; + case 3: + a.id = { $case: "local", local: i.int32() }; + break; + case 4: + a.id = { $case: "authorizedClient", authorizedClient: i.int32() }; + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }); + }, + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "showNavigation", function () { + return a; + }), + i.d(t, "updateNavigation", function () { + return o; + }), + i.d(t, "showBack", function () { + return s; + }), + i.d(t, "hideBack", function () { + return _; + }), + i.d(t, "showCancel", function () { + return l; + }), + i.d(t, "hideCancel", function () { + return c; + }), + i.d(t, "showForward", function () { + return d; + }), + i.d(t, "hideForward", function () { + return u; + }), + i.d(t, "resetNavigation", function () { + return m; + }); + var n = i(2), + r = i(6); + function a(e, t) { + return { type: n.SHOW_NAVIGATION, navigationType: e, backProps: t.back, cancelProps: t.cancel, forwardProps: t.forward }; + } + function o(e, t) { + return { type: n.UPDATE_NAVIGATION, navigationType: e, backProps: t.back, cancelProps: t.cancel, forwardProps: t.forward }; + } + function s(e, t, i, r = "", a = {}) { + return { type: n.SHOW_BACK, route: e, text: t, onClick: i, buttonClass: r, additionalProps: a }; + } + const _ = Object(r.b)(n.HIDE_BACK); + function l(e, t, i, r = "", a = {}) { + return { type: n.SHOW_CANCEL, route: e, text: t, onClick: i, buttonClass: r, additionalProps: a }; + } + const c = Object(r.b)(n.HIDE_CANCEL); + function d(e, t, i, r = "", a = {}) { + return { type: n.SHOW_FORWARD, route: e, text: t, onClick: i, buttonClass: r, additionalProps: a }; + } + const u = Object(r.b)(n.HIDE_FORWARD), + m = Object(r.b)(n.RESET_NAVIGATION); + }, + function (e, t, i) { + "use strict"; + i.d(t, "e", function () { + return o; + }), + i.d(t, "y", function () { + return s; + }), + i.d(t, "r", function () { + return _; + }), + i.d(t, "s", function () { + return l; + }), + i.d(t, "u", function () { + return c; + }), + i.d(t, "t", function () { + return d; + }), + i.d(t, "v", function () { + return u; + }), + i.d(t, "w", function () { + return m; + }), + i.d(t, "q", function () { + return p; + }), + i.d(t, "j", function () { + return g; + }), + i.d(t, "g", function () { + return w; + }), + i.d(t, "p", function () { + return v; + }), + i.d(t, "d", function () { + return f; + }), + i.d(t, "h", function () { + return E; + }), + i.d(t, "m", function () { + return b; + }), + i.d(t, "l", function () { + return y; + }), + i.d(t, "n", function () { + return S; + }), + i.d(t, "o", function () { + return R; + }), + i.d(t, "k", function () { + return T; + }), + i.d(t, "x", function () { + return A; + }), + i.d(t, "i", function () { + return C; + }), + i.d(t, "c", function () { + return I; + }), + i.d(t, "a", function () { + return O; + }), + i.d(t, "b", function () { + return N; + }), + i.d(t, "f", function () { + return k; + }); + var n = i(12), + r = i(27), + a = i(59); + const o = (e) => e.filter((e) => (e.shortID && e.serial) || (p(e) && e.ipAddress)), + s = (e) => e.connectionType === n.ConnectionTypes.SYNCHROMETER_X || e.connectionType === n.ConnectionTypes.SYNCHROMETER_Y, + _ = (e) => e.connectionType === n.ConnectionTypes.SYNCHROMETER_X || e.connectionType === n.ConnectionTypes.SYNCHROMETER_Y || e.connectionType === n.ConnectionTypes.MSA, + l = (e) => e === n.ConnectionTypes.NEURIO_W1_WIFI || e === n.ConnectionTypes.NEURIO_W1_WIRED || e === n.ConnectionTypes.NEURIO_W2_WIFI || e === n.ConnectionTypes.NEURIO_W2_WIRED, + c = (e) => e === n.ConnectionTypes.NEURIO_W2_WIFI || e === n.ConnectionTypes.NEURIO_W2_WIRED, + d = (e) => e === n.ConnectionTypes.NEURIO_W1_WIFI || e === n.ConnectionTypes.NEURIO_W1_WIRED, + u = (e) => e === n.ConnectionTypes.NEURIO_W1_WIFI || e === n.ConnectionTypes.NEURIO_W2_WIFI, + m = (e) => e === n.ConnectionTypes.NEURIO_W1_WIRED || e === n.ConnectionTypes.NEURIO_W2_WIRED, + p = (e) => e.connectionType === n.ConnectionTypes.ACUVIM, + g = (e) => e.filter((e) => s(e)), + w = (e) => e.filter((e) => l(e.connectionType)), + v = (e) => g(e).length > 0, + f = (e) => e.filter((e) => null != e.connectionType), + h = new Set([n.CurrentTransformerConnectionTypes.SITE, n.CurrentTransformerConnectionTypes.LOAD, n.CurrentTransformerConnectionTypes.SOLAR]), + E = (e) => e.filter((e) => h.has(e.connectionType)); + const b = (e) => ((e) => e.filter((e) => e.connectionType === n.CurrentTransformerConnectionTypes.SITE))(e).length > 0, + y = (e) => ((e) => e.filter((e) => e.connectionType === n.CurrentTransformerConnectionTypes.LOAD))(e).length > 0, + S = (e) => ((e) => e.filter((e) => null != e.connectionType && n.SolarLocationCurrentTransformerTypes.includes(e.connectionType)))(e).length > 0, + R = (e) => { + return ((t = e), t.filter((e) => e.connectionType === n.CurrentTransformerConnectionTypes.SOLAR_RGM)).length > 0; + var t; + }, + T = (e) => ((e) => e.filter((e) => e.connectionType === n.CurrentTransformerConnectionTypes.CONDUCTOR))(e).length > 0, + A = (e, t) => e === t || (null != e && null != t && n.SolarLocationCurrentTransformerTypes.includes(e) && n.SolarLocationCurrentTransformerTypes.includes(t)), + C = (e, t) => (e === n.CurrentTransformerConnectionTypes.SOLAR_RGM ? (2 === t ? n.CurrentTransformerConnectionTypes.DOUBLED_SOLAR : n.CurrentTransformerConnectionTypes.SOLAR) : e), + I = (e, t = null, i = 1) => { + let o = Object(r.values)(n.PowerUnits), + s = n.PowerUnits.WATTS; + t && (o = o.slice(0, o.indexOf(t) + 1)); + for (var _ = 0; _ < o.length - 1; _++) (Math.abs(e) > 1e3 || null != t) && ((e /= 1e3), (s = o[_ + 1])); + return `${Object(a.a)(e, i)} ${s}`; + }, + O = (e, t) => Math.sqrt(Math.pow(e, 2) + Math.pow(t, 2)), + N = (e, t) => { + let i = O(e, t); + return 0 === i ? 0 : Math.abs(e) / i; + }, + k = (e, t) => + Object(r.findKey)(e, function (e) { + return e === t; + }); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "resetPowerwallConfig", function () { + return A; + }), + i.d(t, "enumeratePowerwalls", function () { + return G; + }), + i.d(t, "fetchPowerwalls", function () { + return j; + }), + i.d(t, "getSOE", function () { + return W; + }), + i.d(t, "startPowerwallsUpdate", function () { + return F; + }), + i.d(t, "checkUpdateStatus", function () { + return q; + }), + i.d(t, "getUpdateStatus", function () { + return x; + }), + i.d(t, "checkPowerwallsStatus", function () { + return B; + }), + i.d(t, "startPhaseDetection", function () { + return H; + }), + i.d(t, "fetchPhaseInformation", function () { + return K; + }), + i.d(t, "savePhaseUsages", function () { + return Y; + }), + i.d(t, "enableInverterSolarMeterReadings", function () { + return Q; + }), + i.d(t, "fetchPowerwallsPVISubPackageNumbers", function () { + return Z; + }); + var n = i(7), + r = i(2), + a = i(13), + o = (i(92), i(14)), + s = i(5), + _ = i.n(s), + l = i(4), + c = i(6), + d = i(15); + function u(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function m(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(i), !0).forEach(function (t) { + p(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : u(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function p(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const g = Object(c.b)(r.SCAN_POWERWALLS), + w = Object(c.b)(r.REQUEST_POWERWALLS); + function v(e) { + return m({ type: r.RECEIVE_POWERWALLS, receivedAt: Date.now() }, e); + } + const f = Object(c.b)(r.RECEIVE_POWERWALLS_ERROR), + h = Object(c.b)(r.REQUEST_SOE); + const E = Object(c.b)(r.RECEIVE_SOE_ERROR), + b = Object(c.b)(r.REQUEST_POWERWALLS_UPDATE); + const y = Object(c.b)(r.RECEIVE_POWERWALLS_UPDATE_ERROR), + S = Object(c.b)(r.REQUEST_POWERWALLS_STATUS); + function R(e) { + return m({ type: r.RECEIVE_POWERWALLS_STATUS_SUCCESS, receivedAt: Date.now() }, e); + } + const T = Object(c.b)(r.RECEIVE_POWERWALLS_STATUS_ERROR), + A = Object(c.b)(r.RESET_POWERWALL_CONFIG), + C = Object(c.b)(r.REQUEST_START_PHASE_DETECTION), + I = Object(c.b)(r.RECEIVE_START_PHASE_DETECTION_SUCCESS), + O = Object(c.b)(r.RECEIVE_START_PHASE_DETECTION_ERROR), + N = Object(c.b)(r.REQUEST_FETCH_PHASE_INFORMATION); + const k = Object(c.b)(r.RECEIVE_FETCH_PHASE_INFORMATION_ERROR), + P = Object(c.b)(r.REQUEST_SAVE_PHASE_USAGES); + const D = Object(c.b)(r.RECEIVE_SAVE_PHASE_USAGES_ERROR), + L = Object(c.b)(r.REQUEST_ENABLE_INVERTER_SOLAR_METER_READINGS), + M = Object(c.b)(r.RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_SUCCESS), + z = Object(c.b)(r.RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_ERROR), + U = Object(c.b)(r.REQUEST_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS); + const V = Object(c.b)(r.RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS_ERROR); + function G() { + return (e) => ( + e(g()), + e(Object(n.clearError)(r.RECEIVE_POWERWALLS_ERROR)), + fetch(_.a.api.uri + "/powerwalls/scan", { credentials: _.a.credentials, method: "POST" }) + .then(l.parseJSON) + .then(l.checkResponseStatus) + .then((t) => { + t ? e(v(t)) : (e(Object(n.showError)(r.RECEIVE_POWERWALLS_ERROR, "Could not retrieve Powerwalls")), e(f())); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_POWERWALLS_ERROR, t.toString(), t.response)), e(f()); + }) + ); + } + function j(e = !1) { + return (t) => ( + t(w()), + t(Object(n.clearError)(r.REQUEST_POWERWALLS)), + fetch(_.a.api.uri + "/powerwalls", { credentials: _.a.credentials }) + .then(l.parseJSON) + .then(l.checkResponseStatus) + .then((i) => { + i ? t(v(i)) : e || (t(Object(n.showError)(r.RECEIVE_POWERWALLS_ERROR, "Could not retrieve Powerwalls")), t(f())); + }) + .catch((i) => { + e || (t(Object(n.showError)(r.RECEIVE_POWERWALLS_ERROR, i.toString(), i.response)), t(f())); + }) + ); + } + function W() { + return (e) => ( + e(h()), + Object(d.e)( + d.a, + new Error("Request timed out"), + fetch(_.a.api.uri + "/system_status/soe", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e( + (function (e) { + return m({ type: r.RECEIVE_SOE_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(E(new o.default(r.RECEIVE_SOE_ERROR, t.toString(), t.response))); + }) + ) + ); + } + function F() { + return (e) => ( + e(b()), + e(Object(n.clearError)(r.RECEIVE_POWERWALLS_UPDATE_ERROR)), + fetch(_.a.api.uri + "/powerwalls/update", { credentials: _.a.credentials, method: "POST" }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + e({ type: r.RECEIVE_POWERWALLS_UPDATE_SUCCESS, receivedAt: Date.now() }); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_POWERWALLS_UPDATE_ERROR, t.toString(), t.response)), e(y()); + }) + ); + } + function q() { + return fetch(_.a.api.uri + "/powerwalls/status", { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((e) => e) + .catch((e) => { + throw e; + }); + } + function x() { + return async (e) => { + const t = await q(); + return e(R(t)), t; + }; + } + function B() { + return async (e) => { + e(S()); + try { + e(R(await q())); + } catch (t) { + e(Object(n.showError)(r.RECEIVE_POWERWALLS_STATUS_ERROR, t.toString(), t.response)), e(T()); + } + }; + } + function H() { + return (e) => ( + e(C()), + e(Object(n.clearError)(r.RECEIVE_START_PHASE_DETECTION_ERROR)), + fetch(_.a.api.uri + "/powerwalls/phase_detection", { credentials: _.a.credentials, method: "POST" }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => (e(I()), !0)) + .catch((t) => { + throw (e(Object(n.showError)(r.RECEIVE_START_PHASE_DETECTION_ERROR, t.toString(), t.response)), e(O()), t); + }) + ); + } + function K(e) { + return (t) => ( + t(N()), + fetch(_.a.api.uri + "/powerwalls/phase_usages", { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((e) => { + var i; + t(((i = { lineStatuses: [e[a.i.PHASE_1], e[a.i.PHASE_2], e[a.i.PHASE_3]], lineVoltages: [e.Vl1n, e.Vl2n, e.Vl3n] }), m({ type: r.RECEIVE_FETCH_PHASE_INFORMATION_SUCCESS }, i))); + }) + .catch((i) => { + e || t(Object(n.showError)(r.RECEIVE_FETCH_PHASE_INFORMATION_ERROR, i.toString(), i.response)), t(k()); + }) + ); + } + function Y(e) { + return (t) => ( + t(P()), + fetch(_.a.api.uri + "/powerwalls/phase_usages", { credentials: _.a.credentials, method: "POST", body: JSON.stringify({ [a.i.PHASE_1]: e[0], [a.i.PHASE_2]: e[1], [a.i.PHASE_3]: e[2] }) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((e) => { + var i; + return t(((i = { lineStatuses: [e[a.i.PHASE_1], e[a.i.PHASE_2], e[a.i.PHASE_3]], lineVoltages: [e.Vl1n, e.Vl2n, e.Vl3n] }), m({ type: r.RECEIVE_SAVE_PHASE_USAGES_SUCCESS }, i))), !0; + }) + .catch((e) => (t(Object(n.showError)(r.RECEIVE_SAVE_PHASE_USAGES_ERROR, e.toString(), e.response)), t(D()), !1)) + ); + } + function Q() { + return (e) => ( + e(L()), + fetch(_.a.api.uri + "/powerwalls/enable_inverter_solar_meter_readings", { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" } }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + e(M()); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_ENABLE_INVERTER_SOLAR_METER_READINGS_ERROR, t.toString(), t.response)), e(z()); + }) + ); + } + function Z() { + return (e) => ( + e(U()), + fetch(_.a.api.uri + "/powerwalls/pvi_sub_package_numbers", { method: "GET", credentials: _.a.credentials, headers: { "Content-Type": "application/json" } }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return m({ type: r.RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS }, e); + })(t) + ); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS_ERROR, t.toString(), t.response)), e(V()); + }) + ); + } + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAAAXNSR0IArs4c6QAAAPtJREFUGBljTk9PbzM1NdU8c+bMKQYsgOn///+L/v37VwlUWIRFnoH57Nmzb0xMTDYDFc4wNjZmB/KPICtkBnGAgu8sLS03/P37dwpQMR+QfxCmCKwAxDl16tQHoAnrGBkZ+4G0GFDRPpA4E4iAgVmzZj0CKrAD8kOBbuoCiTPCJJHptLQ0SaDC/UCx7SgmICkSATpaAMi/DXcDTDIjI8MQKLkbyK8GWjkTxYSsrCxTYJjsAkqWAiXngDTB3QB0lCVQ5xag3TkzZ85cDpIEAbAJmZmZtkD2VqBkOrIkSAEz0MWOQHo9ECcCJUE0CmAB6QIaHQu0cyuKDJQDAEimY7IetteGAAAAAElFTkSuQmCC"; + }, + function (e, t, i) { + "use strict"; + function n(e) { + "textarea" !== e.target.type && 13 === e.which && e.preventDefault(); + } + function r(e) { + e.preventDefault(), window.location.reload(); + } + i.d(t, "a", function () { + return n; + }), + i.d(t, "b", function () { + return r; + }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.KiloOhms = t.Ohms = t.KiloWattHours = t.KiloWatts = t.WattHours = t.Watts = t.Amps = t.Volts = t.Hertz = t.Phase = void 0); + const o = a(i(1)), + s = i(3), + _ = i(577); + function l(e) { + return "number" == typeof e.value ? o.createElement(s.FormattedNumber, { value: e.value }) : e.value; + } + t.Phase = (e) => { + let t = _.phaseMessages[e.value]; + return t + ? o.createElement(s.FormattedMessage, Object.assign({}, t)) + : o.createElement(s.FormattedMessage, { id: "display_phase_type_unknown", description: "Shown when the phase type of the grid or installation is unrecognized or unknown.", defaultMessage: "unknown" }); + }; + t.Hertz = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.hertz, { values: { frequency: l(e) } })); + t.Volts = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.volts, { values: { voltage: l(e) } })); + t.Amps = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.amps, { values: { current: l(e) } })); + t.Watts = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.watts, { values: { power: l(e) } })); + t.WattHours = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.wattHours, { values: { energy: l(e) } })); + t.KiloWatts = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.kiloWatts, { values: { power: l(e) } })); + t.KiloWattHours = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.kiloWattHours, { values: { energy: l(e) } })); + t.Ohms = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.ohms, { values: { resistance: l(e) } })); + t.KiloOhms = (e) => o.createElement(s.FormattedMessage, Object.assign({}, _.unitMessages.kiloOhms, { values: { resistance: l(e) } })); + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3); + t.default = function ({ device: e }) { + if (!e) return null; + const t = e.vitals(), + i = e.prefix(), + n = t.getBoolean(i + "-Updating"), + o = t.getNumber(i + "-UpdateProgress"); + if (!n || void 0 === o) return null; + const s = t.getNumber(i + "-UpdateNumSteps"); + let _ = t.getNumber(i + "-UpdateCurrentStep"); + void 0 !== _ && (_ += 1); + const l = (100 * o).toFixed(0); + return r.default.createElement( + "div", + { className: "system-device-update-progress" }, + r.default.createElement(a.FormattedMessage, { id: "system_firmware_update", defaultMessage: "Updating: {percent}% ({step}/{numSteps})", values: { step: _, numSteps: s, percent: l } }), + r.default.createElement("progress", { value: o }) + ); + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.CommonAPIFactoryResetRequest = t.CommonAPIPerformUpdateResponse = t.CommonAPIPerformUpdateRequest = t.CommonAPIClearUpdateResponse = t.CommonAPIClearUpdateRequest = t.CommonAPICheckForUpdateResponse = t.CommonAPICheckForUpdateRequest = t.CommonAPISetLocalSiteConfigResponse = t.CommonAPISetLocalSiteConfigRequest = t.CommonAPIGetSystemInfoResponse = t.CommonAPIGetSystemInfoRequest = t.ErrorResponse = t.RadioLegalInformation = t.ComplianceInformation = t.DeviceSignedPayload = t.RegistrationPayload = t.AcceptedPackage = t.LocallyAvailablePackage = t.SystemUpdate = t.ServerStagedPackage = t.WifiNetwork = t.WifiConfig = t.EncryptedMessage = t.CellularEID = t.WifiPassword = t.NetworkInterface = t.NetworkConnectivityStatus = t.Rssi = t.NetworkInterfaceIPv4Config = t.GridComplianceStatus = t.InstDCMeasurement = t.InstACMeasurement = t.AccumulatedEnergy = t.FirmwareVersion = t.Din = t.EcuId = t.DeviceCertFormat = t.WifiConfigureResult = t.DeviceSignatureType = t.WifiNetworkSecurityType = t.Cipher = t.CellularProfileType = t.NetworkDeviceStateReason = t.NetworkDeviceState = t.GridState = t.EnergyAccumulationType = t.LastUpdateResult = t.UpdateStatus = t.UpdateHandshakeResult = t.DeviceType = void 0), + (t.AlertMatrix = t.AlertLog = t.CommonAPIPrepareRegistrationPayloadResponse = t.CommonAPIPrepareRegistrationPayloadRequest = t.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse = t.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest = t.CommonAPICheckForUpdateUrgencyResponse = t.CommonAPICheckForUpdateUrgencyRequest = t.CommonAPIDeviceCertResponse = t.CommonAPIDeviceCertRequest = t.CommonAPIConfigureWifiWithEncryptedPasswordResponse = t.CommonAPIConfigureWifiWithEncryptedPasswordRequest = t.CommonAPICheckInternetResponse = t.CommonAPICheckInternetRequest = t.CommonAPIForgetWifiNetworkResponse = t.CommonAPIForgetWifiNetworkRequest = t.CommonAPIConfigureEthernetResponse = t.CommonAPIConfigureEthernetRequest = t.CommonAPIConfigureWifiResponse = t.CommonAPIConfigureWifiRequest = t.CommonAPIWifiScanResponse = t.CommonAPIWifiScanRequest = t.CommonAPIGetCellularInfoResponse = t.CommonAPIGetCellularInfoRequest = t.CommonAPIGetNetworkingStatusResponse = t.CommonAPIGetNetworkingStatusRequest = t.CommonAPIFactoryResetResponse = void 0); + const n = i(775), + r = i(40), + a = i(453), + o = { partNumber: "", serialNumber: "" }, + s = { value: "" }, + _ = { version: "" }, + l = { energyWh: 0, accumulationType: 0 }, + c = { voltageVrms: 0, frequencyHz: 0 }, + d = { voltageV: 0 }, + u = { gridState: 0 }, + m = { dhcpEnabled: !1, address: 0, subnetMask: 0, gateway: 0, dns: 0 }, + p = { value: 0 }, + g = { connectedPhysical: !1, connectedInternet: !1, connectedTesla: !1 }, + w = { enabled: !1, activeRoute: !1, deviceState: 0, deviceStateReason: 0 }, + v = { value: "" }, + f = { value: "" }, + h = { cipher: 0 }, + E = { ssid: "", securityType: 0 }, + b = { rssiValue: 0, ssid: "", securityType: 0 }, + y = { downloadUrl: "", packageId: 0 }, + S = { handshakeResult: 0, updateStatus: 0, totalBytes: 0, bytesOffset: 0, estimatedBytesPerSecond: 0, lastHandshakeTimestamp: 0, lastUpdateResult: 0 }, + R = { packageId: 0, fileSizeBytes: 0 }, + T = { packageId: 0, uploadEndpoint: "" }, + A = {}, + C = { deviceSignatureType: 0, deviceCertFormat: 0 }, + I = {}, + O = {}, + N = {}, + k = {}, + P = { din: "", deviceType: 0 }, + D = {}, + L = {}, + M = { downloadIfAvailable: !1 }, + z = {}, + U = {}, + V = {}, + G = {}, + j = {}, + W = {}, + F = {}, + q = {}, + x = {}, + B = {}, + H = { supportedProfiles: 0 }, + K = { maxScanDurationS: 0, desiredSecurityTypes: 0, maximumTotalAps: 0 }, + Y = {}, + Q = { enabled: !1 }, + Z = {}, + J = {}, + X = {}, + $ = { ssid: "" }, + ee = {}, + te = {}, + ie = {}, + ne = { enabled: !1 }, + re = { result: 0 }, + ae = {}, + oe = { format: 0 }, + se = {}, + _e = {}, + le = {}, + ce = {}, + de = {}, + ue = {}, + me = { data: 0 }, + pe = { data: 0 }; + function ge(e) { + if (e.gt(Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + return e.toNumber(); + } + !(function (e) { + (e[(e.DEVICE_TYPE_INVALID = 0)] = "DEVICE_TYPE_INVALID"), + (e[(e.DEVICE_TYPE_GEN3WC = 1)] = "DEVICE_TYPE_GEN3WC"), + (e[(e.DEVICE_TYPE_PVCOM = 2)] = "DEVICE_TYPE_PVCOM"), + (e[(e.DEVICE_TYPE_MSA = 3)] = "DEVICE_TYPE_MSA"), + (e[(e.DEVICE_TYPE_SITECONTROLLER = 4)] = "DEVICE_TYPE_SITECONTROLLER"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.DeviceType || (t.DeviceType = {})), + (function (e) { + (e[(e.UPDATE_HANDSHAKE_RESULT_INVALID = 0)] = "UPDATE_HANDSHAKE_RESULT_INVALID"), + (e[(e.UPDATE_HANDSHAKE_RESULT_UNDERWAY = 1)] = "UPDATE_HANDSHAKE_RESULT_UNDERWAY"), + (e[(e.UPDATE_HANDSHAKE_RESULT_FAILED = 2)] = "UPDATE_HANDSHAKE_RESULT_FAILED"), + (e[(e.UPDATE_HANDSHAKE_RESULT_NON_ACTIONABLE = 3)] = "UPDATE_HANDSHAKE_RESULT_NON_ACTIONABLE"), + (e[(e.UPDATE_HANDSHAKE_RESULT_UPDATE_STAGED = 4)] = "UPDATE_HANDSHAKE_RESULT_UPDATE_STAGED"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.UpdateHandshakeResult || (t.UpdateHandshakeResult = {})), + (function (e) { + (e[(e.UPDATE_STATUS_INVALID = 0)] = "UPDATE_STATUS_INVALID"), + (e[(e.UPDATE_STATUS_IDLE = 1)] = "UPDATE_STATUS_IDLE"), + (e[(e.UPDATE_STATUS_DOWNLOADING = 2)] = "UPDATE_STATUS_DOWNLOADING"), + (e[(e.UPDATE_STATUS_DOWNLOADED = 3)] = "UPDATE_STATUS_DOWNLOADED"), + (e[(e.UPDATE_STATUS_STAGED = 4)] = "UPDATE_STATUS_STAGED"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.UpdateStatus || (t.UpdateStatus = {})), + (function (e) { + (e[(e.LAST_UPDATE_RESULT_INVALID = 0)] = "LAST_UPDATE_RESULT_INVALID"), + (e[(e.LAST_UPDATE_RESULT_FAILED = 1)] = "LAST_UPDATE_RESULT_FAILED"), + (e[(e.LAST_UPDATE_RESULT_SUCCEEDED = 2)] = "LAST_UPDATE_RESULT_SUCCEEDED"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.LastUpdateResult || (t.LastUpdateResult = {})), + (function (e) { + (e[(e.ENERGY_ACCUMULATION_TYPE_INVALID = 0)] = "ENERGY_ACCUMULATION_TYPE_INVALID"), + (e[(e.ENERGY_ACCUMULATION_TYPE_LIFETIME = 1)] = "ENERGY_ACCUMULATION_TYPE_LIFETIME"), + (e[(e.ENERGY_ACCUMULATION_TYPE_TODAY = 2)] = "ENERGY_ACCUMULATION_TYPE_TODAY"), + (e[(e.ENERGY_ACCUMULATION_TYPE_SESSION = 3)] = "ENERGY_ACCUMULATION_TYPE_SESSION"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.EnergyAccumulationType || (t.EnergyAccumulationType = {})), + (function (e) { + (e[(e.GRID_STATE_INVALID = 0)] = "GRID_STATE_INVALID"), + (e[(e.GRID_STATE_UNCOMPLIANT = 1)] = "GRID_STATE_UNCOMPLIANT"), + (e[(e.GRID_STATE_QUALIFYING = 2)] = "GRID_STATE_QUALIFYING"), + (e[(e.GRID_STATE_COMPLIANT = 3)] = "GRID_STATE_COMPLIANT"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.GridState || (t.GridState = {})), + (function (e) { + (e[(e.NETWORK_DEVICE_STATE_INVALID = 0)] = "NETWORK_DEVICE_STATE_INVALID"), + (e[(e.NETWORK_DEVICE_STATE_UNMANAGED = 1)] = "NETWORK_DEVICE_STATE_UNMANAGED"), + (e[(e.NETWORK_DEVICE_STATE_UNAVAILABLE = 2)] = "NETWORK_DEVICE_STATE_UNAVAILABLE"), + (e[(e.NETWORK_DEVICE_STATE_IDLE = 3)] = "NETWORK_DEVICE_STATE_IDLE"), + (e[(e.NETWORK_DEVICE_STATE_ASSOCIATION = 4)] = "NETWORK_DEVICE_STATE_ASSOCIATION"), + (e[(e.NETWORK_DEVICE_STATE_CONFIGURATION = 5)] = "NETWORK_DEVICE_STATE_CONFIGURATION"), + (e[(e.NETWORK_DEVICE_STATE_READY = 6)] = "NETWORK_DEVICE_STATE_READY"), + (e[(e.NETWORK_DEVICE_STATE_DISCONNECT = 7)] = "NETWORK_DEVICE_STATE_DISCONNECT"), + (e[(e.NETWORK_DEVICE_STATE_FAILURE = 8)] = "NETWORK_DEVICE_STATE_FAILURE"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.NetworkDeviceState || (t.NetworkDeviceState = {})), + (function (e) { + (e[(e.NETWORK_DEVICE_STATE_REASON_INVALID = 0)] = "NETWORK_DEVICE_STATE_REASON_INVALID"), + (e[(e.NETWORK_DEVICE_STATE_REASON_NONE = 1)] = "NETWORK_DEVICE_STATE_REASON_NONE"), + (e[(e.NETWORK_DEVICE_STATE_REASON_CONFIG_FAILED = 2)] = "NETWORK_DEVICE_STATE_REASON_CONFIG_FAILED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_DHCP_FAILED = 3)] = "NETWORK_DEVICE_STATE_REASON_DHCP_FAILED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE = 4)] = "NETWORK_DEVICE_STATE_REASON_IP_ADDRESS_DUPLICATE"), + (e[(e.NETWORK_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED = 5)] = "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_EXPIRED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE = 6)] = "NETWORK_DEVICE_STATE_REASON_IP_CONFIG_UNAVAILABLE"), + (e[(e.NETWORK_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED = 7)] = "NETWORK_DEVICE_STATE_REASON_IP_METHOD_UNSUPPORTED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_NEW_ACTIVATION = 8)] = "NETWORK_DEVICE_STATE_REASON_NEW_ACTIVATION"), + (e[(e.NETWORK_DEVICE_STATE_REASON_NO_SECRETS = 9)] = "NETWORK_DEVICE_STATE_REASON_NO_SECRETS"), + (e[(e.NETWORK_DEVICE_STATE_REASON_PPP_FAILED = 10)] = "NETWORK_DEVICE_STATE_REASON_PPP_FAILED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_SSID_NOT_FOUND = 11)] = "NETWORK_DEVICE_STATE_REASON_SSID_NOT_FOUND"), + (e[(e.NETWORK_DEVICE_STATE_REASON_SIM_PIN_INCORRECT = 12)] = "NETWORK_DEVICE_STATE_REASON_SIM_PIN_INCORRECT"), + (e[(e.NETWORK_DEVICE_STATE_REASON_SUPPLICANT_FAILED = 13)] = "NETWORK_DEVICE_STATE_REASON_SUPPLICANT_FAILED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_REMOVED = 14)] = "NETWORK_DEVICE_STATE_REASON_REMOVED"), + (e[(e.NETWORK_DEVICE_STATE_REASON_MODEM_FAILED = 15)] = "NETWORK_DEVICE_STATE_REASON_MODEM_FAILED"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.NetworkDeviceStateReason || (t.NetworkDeviceStateReason = {})), + (function (e) { + (e[(e.CELLULAR_PROFILE_TYPE_INVALID = 0)] = "CELLULAR_PROFILE_TYPE_INVALID"), + (e[(e.CELLULAR_PROFILE_TYPE_TWILIO = 1)] = "CELLULAR_PROFILE_TYPE_TWILIO"), + (e[(e.CELLULAR_PROFILE_TYPE_ATT = 2)] = "CELLULAR_PROFILE_TYPE_ATT"), + (e[(e.CELLULAR_PROFILE_TYPE_KPN = 3)] = "CELLULAR_PROFILE_TYPE_KPN"), + (e[(e.CELLULAR_PROFILE_TYPE_TELEFONICA = 4)] = "CELLULAR_PROFILE_TYPE_TELEFONICA"), + (e[(e.CELLULAR_PROFILE_TYPE_TELSTRA = 5)] = "CELLULAR_PROFILE_TYPE_TELSTRA"), + (e[(e.CELLULAR_PROFILE_TYPE_TELUS = 6)] = "CELLULAR_PROFILE_TYPE_TELUS"), + (e[(e.CELLULAR_PROFILE_TYPE_DOCOMO = 7)] = "CELLULAR_PROFILE_TYPE_DOCOMO"), + (e[(e.CELLULAR_PROFILE_TYPE_UNICOM = 8)] = "CELLULAR_PROFILE_TYPE_UNICOM"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.CellularProfileType || (t.CellularProfileType = {})), + (function (e) { + (e[(e.CIPHER_INVALID = 0)] = "CIPHER_INVALID"), (e[(e.CIPHER_RSA_OAEP_SHA256 = 2)] = "CIPHER_RSA_OAEP_SHA256"), (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.Cipher || (t.Cipher = {})), + (function (e) { + (e[(e.WIFI_NETWORK_SECURITY_TYPE_INVALID = 0)] = "WIFI_NETWORK_SECURITY_TYPE_INVALID"), + (e[(e.WIFI_NETWORK_SECURITY_TYPE_NONE = 1)] = "WIFI_NETWORK_SECURITY_TYPE_NONE"), + (e[(e.WIFI_NETWORK_SECURITY_TYPE_DYNAMIC_WEP = 2)] = "WIFI_NETWORK_SECURITY_TYPE_DYNAMIC_WEP"), + (e[(e.WIFI_NETWORK_SECURITY_TYPE_WPA2_PERSONAL = 3)] = "WIFI_NETWORK_SECURITY_TYPE_WPA2_PERSONAL"), + (e[(e.WIFI_NETWORK_SECURITY_TYPE_WPA2_ENTERPRISE = 4)] = "WIFI_NETWORK_SECURITY_TYPE_WPA2_ENTERPRISE"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.WifiNetworkSecurityType || (t.WifiNetworkSecurityType = {})), + (function (e) { + (e[(e.DEVICE_SIGNATURE_TYPE_INVALID = 0)] = "DEVICE_SIGNATURE_TYPE_INVALID"), (e[(e.DEVICE_SIGNATURE_TYPE_SHA256_ECDSA_ASN1 = 1)] = "DEVICE_SIGNATURE_TYPE_SHA256_ECDSA_ASN1"), (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.DeviceSignatureType || (t.DeviceSignatureType = {})), + (function (e) { + (e[(e.WIFI_CONFIGURE_RESULT_INVALID = 0)] = "WIFI_CONFIGURE_RESULT_INVALID"), + (e[(e.WIFI_CONFIGURE_RESULT_SUCCESS = 1)] = "WIFI_CONFIGURE_RESULT_SUCCESS"), + (e[(e.WIFI_CONFIGURE_RESULT_FAILURE_GENERIC = 2)] = "WIFI_CONFIGURE_RESULT_FAILURE_GENERIC"), + (e[(e.WIFI_CONFIGURE_RESULT_FAILED_WITH_INVALID_CONFIG = 3)] = "WIFI_CONFIGURE_RESULT_FAILED_WITH_INVALID_CONFIG"), + (e[(e.WIFI_CONFIGURE_RESULT_FAILED_TO_CONNECT = 4)] = "WIFI_CONFIGURE_RESULT_FAILED_TO_CONNECT"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.WifiConfigureResult || (t.WifiConfigureResult = {})), + (function (e) { + (e[(e.DEVICE_CERT_FORMAT_INVALID = 0)] = "DEVICE_CERT_FORMAT_INVALID"), + (e[(e.DEVICE_CERT_FORMAT_DER = 1)] = "DEVICE_CERT_FORMAT_DER"), + (e[(e.DEVICE_CERT_FORMAT_PEM = 2)] = "DEVICE_CERT_FORMAT_PEM"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.DeviceCertFormat || (t.DeviceCertFormat = {})), + (t.EcuId = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.partNumber), t.uint32(18).string(e.serialNumber), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, o); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.partNumber = i.string(); + break; + case 2: + a.serialNumber = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.Din = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, s); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.FirmwareVersion = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.version), t.uint32(18).bytes(e.githash), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, _); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.version = i.string(); + break; + case 2: + a.githash = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.AccumulatedEnergy = { + encode: (e, t = r.Writer.create()) => ( + t.uint32(13).float(e.energyWh), t.uint32(16).int32(e.accumulationType), void 0 !== e.periodS && void 0 !== e.periodS && a.UInt64Value.encode({ value: e.periodS }, t.uint32(26).fork()).ldelim(), t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, l); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.energyWh = i.float(); + break; + case 2: + o.accumulationType = i.int32(); + break; + case 3: + o.periodS = a.UInt64Value.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.InstACMeasurement = { + encode: (e, t = r.Writer.create()) => ( + t.uint32(13).float(e.voltageVrms), + t.uint32(21).float(e.frequencyHz), + void 0 !== e.currentArms && void 0 !== e.currentArms && a.FloatValue.encode({ value: e.currentArms }, t.uint32(26).fork()).ldelim(), + void 0 !== e.realPowerW && void 0 !== e.realPowerW && a.FloatValue.encode({ value: e.realPowerW }, t.uint32(34).fork()).ldelim(), + void 0 !== e.reactivePowerVar && void 0 !== e.reactivePowerVar && a.FloatValue.encode({ value: e.reactivePowerVar }, t.uint32(42).fork()).ldelim(), + void 0 !== e.apparentPowerVa && void 0 !== e.apparentPowerVa && a.FloatValue.encode({ value: e.apparentPowerVa }, t.uint32(50).fork()).ldelim(), + t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, c); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.voltageVrms = i.float(); + break; + case 2: + o.frequencyHz = i.float(); + break; + case 3: + o.currentArms = a.FloatValue.decode(i, i.uint32()).value; + break; + case 4: + o.realPowerW = a.FloatValue.decode(i, i.uint32()).value; + break; + case 5: + o.reactivePowerVar = a.FloatValue.decode(i, i.uint32()).value; + break; + case 6: + o.apparentPowerVa = a.FloatValue.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.InstDCMeasurement = { + encode: (e, t = r.Writer.create()) => (t.uint32(13).float(e.voltageV), void 0 !== e.currentA && void 0 !== e.currentA && a.FloatValue.encode({ value: e.currentA }, t.uint32(18).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, d); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.voltageV = i.float(); + break; + case 2: + o.currentA = a.FloatValue.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.GridComplianceStatus = { + encode: (e, t = r.Writer.create()) => ( + t.uint32(8).int32(e.gridState), void 0 !== e.qualifyingTimeRemainingS && void 0 !== e.qualifyingTimeRemainingS && a.UInt32Value.encode({ value: e.qualifyingTimeRemainingS }, t.uint32(18).fork()).ldelim(), t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, u); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.gridState = i.int32(); + break; + case 2: + o.qualifyingTimeRemainingS = a.UInt32Value.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.NetworkInterfaceIPv4Config = { + encode(e, t = r.Writer.create()) { + t.uint32(16).bool(e.dhcpEnabled), t.uint32(29).fixed32(e.address), t.uint32(37).fixed32(e.subnetMask), t.uint32(45).fixed32(e.gateway), t.uint32(50).fork(); + for (const i of e.dns) t.fixed32(i); + return t.ldelim(), t; + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, m); + for (a.dns = []; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 2: + a.dhcpEnabled = i.bool(); + break; + case 3: + a.address = i.fixed32(); + break; + case 4: + a.subnetMask = i.fixed32(); + break; + case 5: + a.gateway = i.fixed32(); + break; + case 6: + if (2 == (7 & e)) { + const e = i.uint32() + i.pos; + for (; i.pos < e; ) a.dns.push(i.fixed32()); + } else a.dns.push(i.fixed32()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.Rssi = { + encode: (e, t = r.Writer.create()) => ( + t.uint32(8).sint32(e.value), void 0 !== e.signalStrengthPercent && void 0 !== e.signalStrengthPercent && a.UInt32Value.encode({ value: e.signalStrengthPercent }, t.uint32(18).fork()).ldelim(), t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, p); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.value = i.sint32(); + break; + case 2: + o.signalStrengthPercent = a.UInt32Value.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.NetworkConnectivityStatus = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(8).bool(e.connectedPhysical), + i.uint32(16).bool(e.connectedInternet), + i.uint32(24).bool(e.connectedTesla), + void 0 !== e.rssi && void 0 !== e.rssi && t.Rssi.encode(e.rssi, i.uint32(34).fork()).ldelim(), + void 0 !== e.snr && void 0 !== e.snr && a.Int32Value.encode({ value: e.snr }, i.uint32(42).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === i ? n.len : n.pos + i; + const s = Object.assign({}, g); + for (; n.pos < o; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + s.connectedPhysical = n.bool(); + break; + case 2: + s.connectedInternet = n.bool(); + break; + case 3: + s.connectedTesla = n.bool(); + break; + case 4: + s.rssi = t.Rssi.decode(n, n.uint32()); + break; + case 5: + s.snr = a.Int32Value.decode(n, n.uint32()).value; + break; + default: + n.skipType(7 & e); + } + } + return s; + }, + }), + (t.NetworkInterface = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(10).bytes(e.macAddress), + i.uint32(16).bool(e.enabled), + i.uint32(24).bool(e.activeRoute), + void 0 !== e.ipv4Config && void 0 !== e.ipv4Config && t.NetworkInterfaceIPv4Config.encode(e.ipv4Config, i.uint32(34).fork()).ldelim(), + void 0 !== e.connectivityStatus && void 0 !== e.connectivityStatus && t.NetworkConnectivityStatus.encode(e.connectivityStatus, i.uint32(42).fork()).ldelim(), + i.uint32(48).int32(e.deviceState), + i.uint32(56).int32(e.deviceStateReason), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, w); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.macAddress = n.bytes(); + break; + case 2: + o.enabled = n.bool(); + break; + case 3: + o.activeRoute = n.bool(); + break; + case 4: + o.ipv4Config = t.NetworkInterfaceIPv4Config.decode(n, n.uint32()); + break; + case 5: + o.connectivityStatus = t.NetworkConnectivityStatus.decode(n, n.uint32()); + break; + case 6: + o.deviceState = n.int32(); + break; + case 7: + o.deviceStateReason = n.int32(); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.WifiPassword = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, v); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CellularEID = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, f); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.EncryptedMessage = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).int32(e.cipher), t.uint32(18).bytes(e.ciphertext), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, h); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.cipher = i.int32(); + break; + case 2: + a.ciphertext = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.WifiConfig = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.password && void 0 !== e.password && t.WifiPassword.encode(e.password, i.uint32(18).fork()).ldelim(), i.uint32(10).string(e.ssid), i.uint32(24).int32(e.securityType), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, E); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 2: + o.password = t.WifiPassword.decode(n, n.uint32()); + break; + case 1: + o.ssid = n.string(); + break; + case 3: + o.securityType = n.int32(); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.WifiNetwork = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(16).sint32(e.rssiValue), void 0 !== e.rssi && void 0 !== e.rssi && t.Rssi.encode(e.rssi, i.uint32(26).fork()).ldelim(), i.uint32(10).string(e.ssid), i.uint32(32).int32(e.securityType), i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, b); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 2: + o.rssiValue = n.sint32(); + break; + case 3: + o.rssi = t.Rssi.decode(n, n.uint32()); + break; + case 1: + o.ssid = n.string(); + break; + case 4: + o.securityType = n.int32(); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.ServerStagedPackage = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(10).string(e.downloadUrl), + i.uint32(16).uint64(e.packageId), + i.uint32(26).bytes(e.packageSignature), + void 0 !== e.serverStagedVersion && void 0 !== e.serverStagedVersion && t.FirmwareVersion.encode(e.serverStagedVersion, i.uint32(34).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, y); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.downloadUrl = n.string(); + break; + case 2: + o.packageId = ge(n.uint64()); + break; + case 3: + o.packageSignature = n.bytes(); + break; + case 4: + o.serverStagedVersion = t.FirmwareVersion.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.SystemUpdate = { + encode(e, i = r.Writer.create()) { + i.uint32(8).int32(e.handshakeResult), + i.uint32(16).int32(e.updateStatus), + void 0 !== e.serverStagedVersion && void 0 !== e.serverStagedVersion && t.FirmwareVersion.encode(e.serverStagedVersion, i.uint32(26).fork()).ldelim(), + i.uint32(32).uint64(e.totalBytes), + i.uint32(40).uint64(e.bytesOffset), + i.uint32(48).uint64(e.estimatedBytesPerSecond), + i.uint32(56).uint64(e.lastHandshakeTimestamp), + i.uint32(64).int32(e.lastUpdateResult); + for (const n of e.serverStagedPackages) t.ServerStagedPackage.encode(n, i.uint32(74).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, S); + for (o.serverStagedPackages = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.handshakeResult = n.int32(); + break; + case 2: + o.updateStatus = n.int32(); + break; + case 3: + o.serverStagedVersion = t.FirmwareVersion.decode(n, n.uint32()); + break; + case 4: + o.totalBytes = ge(n.uint64()); + break; + case 5: + o.bytesOffset = ge(n.uint64()); + break; + case 6: + o.estimatedBytesPerSecond = ge(n.uint64()); + break; + case 7: + o.lastHandshakeTimestamp = ge(n.uint64()); + break; + case 8: + o.lastUpdateResult = n.int32(); + break; + case 9: + o.serverStagedPackages.push(t.ServerStagedPackage.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.LocallyAvailablePackage = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).uint64(e.packageId), t.uint32(18).bytes(e.packageSignature), t.uint32(24).uint64(e.fileSizeBytes), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, R); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.packageId = ge(i.uint64()); + break; + case 2: + a.packageSignature = i.bytes(); + break; + case 3: + a.fileSizeBytes = ge(i.uint64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.AcceptedPackage = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).uint64(e.packageId), t.uint32(18).bytes(e.packageSignature), t.uint32(26).string(e.uploadEndpoint), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, T); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.packageId = ge(i.uint64()); + break; + case 2: + a.packageSignature = i.bytes(); + break; + case 3: + a.uploadEndpoint = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.RegistrationPayload = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).bytes(e.customerRegistrationInfo), t.uint32(18).bytes(e.nonce), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, A); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.customerRegistrationInfo = i.bytes(); + break; + case 2: + a.nonce = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.DeviceSignedPayload = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).bytes(e.payload), t.uint32(16).int32(e.deviceSignatureType), t.uint32(26).bytes(e.signature), t.uint32(32).int32(e.deviceCertFormat), t.uint32(42).bytes(e.deviceCert), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, C); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.payload = i.bytes(); + break; + case 2: + a.deviceSignatureType = i.int32(); + break; + case 3: + a.signature = i.bytes(); + break; + case 4: + a.deviceCertFormat = i.int32(); + break; + case 5: + a.deviceCert = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.ComplianceInformation = { + encode(e, i = r.Writer.create()) { + for (const n of e.radioLegalInformation) t.RadioLegalInformation.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, I); + for (o.radioLegalInformation = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.radioLegalInformation.push(t.RadioLegalInformation.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.RadioLegalInformation = { + encode: (e, t = r.Writer.create()) => ( + void 0 !== e.manufacturer && void 0 !== e.manufacturer && a.StringValue.encode({ value: e.manufacturer }, t.uint32(10).fork()).ldelim(), + void 0 !== e.model && void 0 !== e.model && a.StringValue.encode({ value: e.model }, t.uint32(18).fork()).ldelim(), + void 0 !== e.fccId && void 0 !== e.fccId && a.StringValue.encode({ value: e.fccId }, t.uint32(26).fork()).ldelim(), + void 0 !== e.icId && void 0 !== e.icId && a.StringValue.encode({ value: e.icId }, t.uint32(34).fork()).ldelim(), + t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, O); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.manufacturer = a.StringValue.decode(i, i.uint32()).value; + break; + case 2: + o.model = a.StringValue.decode(i, i.uint32()).value; + break; + case 3: + o.fccId = a.StringValue.decode(i, i.uint32()).value; + break; + case 4: + o.icId = a.StringValue.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.ErrorResponse = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.status && void 0 !== e.status && n.Status.encode(e.status, t.uint32(10).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, N); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.status = n.Status.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIGetSystemInfoRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, k); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIGetSystemInfoResponse = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.deviceId && void 0 !== e.deviceId && t.EcuId.encode(e.deviceId, i.uint32(10).fork()).ldelim(), + i.uint32(18).string(e.din), + void 0 !== e.firmwareVersion && void 0 !== e.firmwareVersion && t.FirmwareVersion.encode(e.firmwareVersion, i.uint32(26).fork()).ldelim(), + void 0 !== e.systemUpdate && void 0 !== e.systemUpdate && t.SystemUpdate.encode(e.systemUpdate, i.uint32(42).fork()).ldelim(), + i.uint32(48).int32(e.deviceType), + void 0 !== e.complianceInformation && void 0 !== e.complianceInformation && t.ComplianceInformation.encode(e.complianceInformation, i.uint32(58).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, P); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.deviceId = t.EcuId.decode(n, n.uint32()); + break; + case 2: + o.din = n.string(); + break; + case 3: + o.firmwareVersion = t.FirmwareVersion.decode(n, n.uint32()); + break; + case 5: + o.systemUpdate = t.SystemUpdate.decode(n, n.uint32()); + break; + case 6: + o.deviceType = n.int32(); + break; + case 7: + o.complianceInformation = t.ComplianceInformation.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPISetLocalSiteConfigRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, D); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPISetLocalSiteConfigResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, L); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPICheckForUpdateRequest = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).bool(e.downloadIfAvailable), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, M); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.downloadIfAvailable = i.bool(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CommonAPICheckForUpdateResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, z); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIClearUpdateRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, U); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIClearUpdateResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, V); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIPerformUpdateRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, G); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIPerformUpdateResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, j); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIFactoryResetRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, W); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIFactoryResetResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, F); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIGetNetworkingStatusRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, q); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIGetNetworkingStatusResponse = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.wifiConfig && void 0 !== e.wifiConfig && t.WifiConfig.encode(e.wifiConfig, i.uint32(10).fork()).ldelim(), + void 0 !== e.wifi && void 0 !== e.wifi && t.NetworkInterface.encode(e.wifi, i.uint32(18).fork()).ldelim(), + void 0 !== e.eth && void 0 !== e.eth && t.NetworkInterface.encode(e.eth, i.uint32(26).fork()).ldelim(), + void 0 !== e.gsm && void 0 !== e.gsm && t.NetworkInterface.encode(e.gsm, i.uint32(34).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, x); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.wifiConfig = t.WifiConfig.decode(n, n.uint32()); + break; + case 2: + o.wifi = t.NetworkInterface.decode(n, n.uint32()); + break; + case 3: + o.eth = t.NetworkInterface.decode(n, n.uint32()); + break; + case 4: + o.gsm = t.NetworkInterface.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIGetCellularInfoRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, B); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIGetCellularInfoResponse = { + encode(e, i = r.Writer.create()) { + void 0 !== e.eid && void 0 !== e.eid && t.CellularEID.encode(e.eid, i.uint32(10).fork()).ldelim(), i.uint32(18).fork(); + for (const t of e.supportedProfiles) i.int32(t); + return i.ldelim(), i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, H); + for (o.supportedProfiles = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.eid = t.CellularEID.decode(n, n.uint32()); + break; + case 2: + if (2 == (7 & e)) { + const e = n.uint32() + n.pos; + for (; n.pos < e; ) o.supportedProfiles.push(n.int32()); + } else o.supportedProfiles.push(n.int32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIWifiScanRequest = { + encode(e, t = r.Writer.create()) { + t.uint32(8).uint32(e.maxScanDurationS), t.uint32(18).fork(); + for (const i of e.desiredSecurityTypes) t.int32(i); + return t.ldelim(), t.uint32(24).uint32(e.maximumTotalAps), t; + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, K); + for (a.desiredSecurityTypes = []; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.maxScanDurationS = i.uint32(); + break; + case 2: + if (2 == (7 & e)) { + const e = i.uint32() + i.pos; + for (; i.pos < e; ) a.desiredSecurityTypes.push(i.int32()); + } else a.desiredSecurityTypes.push(i.int32()); + break; + case 3: + a.maximumTotalAps = i.uint32(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CommonAPIWifiScanResponse = { + encode(e, i = r.Writer.create()) { + for (const n of e.wifiNetworks) t.WifiNetwork.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, Y); + for (o.wifiNetworks = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.wifiNetworks.push(t.WifiNetwork.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureWifiRequest = { + encode: (e, i = r.Writer.create()) => (i.uint32(8).bool(e.enabled), void 0 !== e.wifiConfig && void 0 !== e.wifiConfig && t.WifiConfig.encode(e.wifiConfig, i.uint32(18).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, Q); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.enabled = n.bool(); + break; + case 2: + o.wifiConfig = t.WifiConfig.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureWifiResponse = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.wifiConfig && void 0 !== e.wifiConfig && t.WifiConfig.encode(e.wifiConfig, i.uint32(10).fork()).ldelim(), + void 0 !== e.wifi && void 0 !== e.wifi && t.NetworkInterface.encode(e.wifi, i.uint32(18).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, Z); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.wifiConfig = t.WifiConfig.decode(n, n.uint32()); + break; + case 2: + o.wifi = t.NetworkInterface.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureEthernetRequest = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.ipv4Config && void 0 !== e.ipv4Config && t.NetworkInterfaceIPv4Config.encode(e.ipv4Config, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, J); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.ipv4Config = t.NetworkInterfaceIPv4Config.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureEthernetResponse = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.eth && void 0 !== e.eth && t.NetworkInterface.encode(e.eth, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, X); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.eth = t.NetworkInterface.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIForgetWifiNetworkRequest = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.ssid), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, $); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.ssid = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CommonAPIForgetWifiNetworkResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, ee); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPICheckInternetRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, te); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPICheckInternetResponse = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.wifi && void 0 !== e.wifi && t.NetworkInterface.encode(e.wifi, i.uint32(10).fork()).ldelim(), + void 0 !== e.eth && void 0 !== e.eth && t.NetworkInterface.encode(e.eth, i.uint32(18).fork()).ldelim(), + void 0 !== e.gsm && void 0 !== e.gsm && t.NetworkInterface.encode(e.gsm, i.uint32(26).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, ie); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.wifi = t.NetworkInterface.decode(n, n.uint32()); + break; + case 2: + o.eth = t.NetworkInterface.decode(n, n.uint32()); + break; + case 3: + o.gsm = t.NetworkInterface.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureWifiWithEncryptedPasswordRequest = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(8).bool(e.enabled), + void 0 !== e.wifiConfig && void 0 !== e.wifiConfig && t.WifiConfig.encode(e.wifiConfig, i.uint32(18).fork()).ldelim(), + void 0 !== e.encryptedPassword && void 0 !== e.encryptedPassword && t.EncryptedMessage.encode(e.encryptedPassword, i.uint32(26).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, ne); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.enabled = n.bool(); + break; + case 2: + o.wifiConfig = t.WifiConfig.decode(n, n.uint32()); + break; + case 3: + o.encryptedPassword = t.EncryptedMessage.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIConfigureWifiWithEncryptedPasswordResponse = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.wifiConfig && void 0 !== e.wifiConfig && t.WifiConfig.encode(e.wifiConfig, i.uint32(10).fork()).ldelim(), + void 0 !== e.wifi && void 0 !== e.wifi && t.NetworkInterface.encode(e.wifi, i.uint32(18).fork()).ldelim(), + i.uint32(24).int32(e.result), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, re); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.wifiConfig = t.WifiConfig.decode(n, n.uint32()); + break; + case 2: + o.wifi = t.NetworkInterface.decode(n, n.uint32()); + break; + case 3: + o.result = n.int32(); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIDeviceCertRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, ae); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPIDeviceCertResponse = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).int32(e.format), t.uint32(18).bytes(e.deviceCert), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, oe); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.format = i.int32(); + break; + case 2: + a.deviceCert = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CommonAPICheckForUpdateUrgencyRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, se); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPICheckForUpdateUrgencyResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, _e); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest = { + encode(e, i = r.Writer.create()) { + for (const n of e.locallyAvailablePackages) t.LocallyAvailablePackage.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, le); + for (o.locallyAvailablePackages = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.locallyAvailablePackages.push(t.LocallyAvailablePackage.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse = { + encode(e, i = r.Writer.create()) { + for (const n of e.acceptedPackages) t.AcceptedPackage.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, ce); + for (o.acceptedPackages = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.acceptedPackages.push(t.AcceptedPackage.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.CommonAPIPrepareRegistrationPayloadRequest = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).bytes(e.customerRegistrationInfo), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, de); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.customerRegistrationInfo = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.CommonAPIPrepareRegistrationPayloadResponse = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.signedRegistrationPayload && void 0 !== e.signedRegistrationPayload && t.DeviceSignedPayload.encode(e.signedRegistrationPayload, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, ue); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.signedRegistrationPayload = t.DeviceSignedPayload.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.AlertLog = { + encode: (e, t = r.Writer.create()) => (t.uint32(9).fixed64(e.data), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, me); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.data = ge(i.fixed64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.AlertMatrix = { + encode: (e, t = r.Writer.create()) => (t.uint32(9).fixed64(e.data), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, pe); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.data = ge(i.fixed64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }); + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return b; + }); + var n = i(27), + r = i(1), + a = i(0), + o = i.n(a), + s = i(3), + _ = i(17), + l = i(28), + c = i(281), + d = i.n(c), + u = i(50), + m = i(77), + p = i(209), + g = i(59), + w = i(45), + v = i(10), + f = i(26); + i(738); + function h(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const E = Object(s.defineMessages)({ + language: { id: "login_view_language_label", defaultMessage: "LANGUAGE" }, + emailPlaceholder: { id: "login_view_email_placeholder", defaultMessage: "Lead installer email" }, + customerEmailPlaceholder: { id: "login_view_customer_email_placeholder", defaultMessage: "Customer email" }, + usernamePlaceholder: { id: "login_view_username_placeholder", defaultMessage: "Username" }, + forgotPassword: { id: "login_view_forgot_password", defaultMessage: "FORGOT PASSWORD" }, + changeForgotPassword: { id: "login_view_change_forgot_password", defaultMessage: "CHANGE OR FORGOT PASSWORD" }, + forgotPasswordExtended: { id: "login_view_forgot_password_login_type", defaultMessage: "Please select login type" }, + passwordPlaceholder: { id: "login_view_password_placeholder", defaultMessage: "Enter your password" }, + startToggleAuth: { id: "login_view_start_login_auth", defaultMessage: "START LOGIN PROCESS" }, + cancelToggleAuth: { id: "login_view_cancel_login_auth", defaultMessage: "Cancel Login" }, + howToEnableLineDescription: { + id: "login_view_start_login_auth_how_to_enable_line_description", + defaultMessage: "To login, toggle the Powerwall enable switch off and back on. With multi-Powerwall systems, you only need to toggle one switch", + }, + loginTypeLabel: { id: "login_view_login_type_label", defaultMessage: "LOGIN TYPE" }, + [v.c.CUSTOMER]: { id: "login_type_customer", defaultMessage: "Customer" }, + [v.c.INSTALLER]: { id: "login_type_installer", defaultMessage: "Installer" }, + [v.c.ENGINEER]: { id: "login_type_engineer", defaultMessage: "Engineer" }, + }); + class b extends r.Component { + constructor(e) { + super(e), + h(this, "translations", {}), + h(this, "_handleLoginSelection", this._handleLoginSelection.bind(this)), + h(this, "_handleLanguageSelection", this._handleLanguageSelection.bind(this)), + h(this, "_handleUsernameChange", this._handleUsernameChange.bind(this)), + h(this, "_handlePasswordSubmit", this._handlePasswordSubmit.bind(this)), + h(this, "_handleSubmit", this._handleSubmit.bind(this)), + h(this, "_handleForgotPassword", this._handleForgotPassword.bind(this)), + h(this, "_handlerStartToggleAuth", this._handlerStartToggleAuth.bind(this)), + (this.state = { selectedLoginState: e.selectedLoginType === v.c.KIOSK ? v.c.INSTALLER : e.selectedLoginType, selectLoginTypeFormError: !1, waitForToggle: !1 }); + let t = [v.c.CUSTOMER, v.c.INSTALLER]; + e.loginType === v.c.ENGINEER && (t = [v.c.ENGINEER]), + (this.translations = Object(n.reduce)( + t, + function (t, i) { + return (t[i] = Object(m.localize)(E[i], e.intl)), t; + }, + {} + )); + } + render() { + const { + username: e, + showSubmit: t, + isFetching: n, + enableForward: a, + disableForward: o, + intl: c, + useShowPasswordIcon: w, + isResi: h, + cancelPendingToggleAuth: b, + toggleAuthSupported: y, + authenticated: S, + waitForToggle: R, + } = this.props, + { formatMessage: T, locale: A } = c, + { selectedLoginState: C, selectLoginTypeFormError: I } = this.state; + if (h && R && y) + return r.createElement( + "div", + { "data-testid": "530e53aa-49d6-4e5b-b92f-698ca2006d05" }, + r.createElement("p", { "data-testid": "23d35517-dacb-4414-b8ce-c2faf0a6c518" }, T(E.howToEnableLineDescription)), + r.createElement( + "button", + { "data-testid": "b82e24e0-ab80-4bab-af77-a4d8d3df2f9d", type: "button", className: "btn btn-link no-horizontal-padding line-breaks", onClick: b }, + this.props.intl.formatMessage(E.cancelToggleAuth) + ), + r.createElement("img", { "data-testid": "3db80490-a693-4865-8f27-7ebfc89514a4", src: i(586), width: "100%" }) + ); + const O = h + ? r.createElement( + "div", + { "data-testid": "46467e15-2cb7-4c2a-a94a-c89bbdfad2cc", className: "form-group" }, + r.createElement("label", { "data-testid": "7f04037c-7f05-4226-8709-d258a41d41b6", className: "col-sm-2" }, r.createElement(s.FormattedMessage, { id: "login_view_email", defaultMessage: "EMAIL" })), + r.createElement( + "div", + { "data-testid": "6e00c962-875e-4d1f-86e2-e6bd6a20d279", className: "col-sm-10" }, + r.createElement("input", { + "data-testid": "d0ac9191-a8ca-4b98-80b7-e0d517d97568", + ref: "email", + type: "email", + name: "email", + required: !0, + placeholder: T(C === v.c.CUSTOMER ? E.customerEmailPlaceholder : E.emailPlaceholder), + pattern: Object(g.c)(v.a), + title: T(f.inputTitles.email), + onInvalid: (e) => { + e.target.setCustomValidity(T(f.inputTitles.email)); + }, + onInput: (e) => { + e.target.setCustomValidity(""); + }, + className: "form-control", + autoComplete: "email", + autoCapitalize: "none", + autoCorrect: "off", + autoFocus: !0, + onChange: this._handleUsernameChange, + value: e, + }) + ) + ) + : r.createElement( + "div", + { "data-testid": "2b802fb0-a460-4395-a584-5cd411229b09", className: "form-group" }, + r.createElement("label", { "data-testid": "29625d4a-9e09-4807-b1dd-4659ec1b4ac0", className: "col-sm-2" }, r.createElement(s.FormattedMessage, { id: "login_view_username", defaultMessage: "USERNAME" })), + r.createElement( + "div", + { "data-testid": "e8b61640-d6c6-4e56-ba51-1c8874fa502a", className: "col-sm-10" }, + r.createElement("input", { + "data-testid": "f84bdfd4-0cc0-48bb-9a37-bd82af57db7b", + ref: "username", + type: "text", + name: "username", + required: !0, + placeholder: T(E.usernamePlaceholder), + className: "form-control", + autoCapitalize: "none", + autoCorrect: "off", + autoFocus: !0, + onChange: this._handleUsernameChange, + value: e, + }) + ) + ); + let N = C !== v.c.ENGINEER; + return ( + h && (N = C === v.c.CUSTOMER || (!y && C === v.c.INSTALLER)), + r.createElement( + "div", + { "data-testid": "71c75b82-f4d5-490b-ba18-1400a24b9ea9", className: "login" }, + r.createElement( + "form", + { className: "form-horizontal", role: "form", onSubmit: this._handleSubmit }, + r.createElement( + "div", + { "data-testid": "3d04af34-543d-4c62-8083-1e49cbe2724b", className: "form-group" }, + r.createElement(p.c, { + id: "locale", + intl: c, + label: T(E.language), + labelClassName: "col-sm-2", + dropdownClassName: "col-sm-10", + list: Object.values(f.LocaleTextMap), + initialSelection: f.LocaleTextMap[Object(g.d)(A)] || f.LocaleTextMap[Object(g.d)(f.Locales.ENGLISH)], + onSelection: this._handleLanguageSelection, + disabled: S, + }) + ), + h && + r.createElement( + "div", + { "data-testid": "e1ef0676-8db0-489f-ba7c-43992d61da67", className: "form-group " + (I ? "has-error" : "") }, + r.createElement(p.c, { + id: "login-type", + intl: c, + label: T(E.loginTypeLabel), + labelClassName: "col-sm-2 control-label", + dropdownClassName: "col-sm-10", + list: Object.values(this.translations), + initialSelection: Object(m.localizeWithFallback)(E[C], c, T(l.prompts.select)), + onSelection: this._handleLoginSelection, + disabled: S, + }), + I + ? r.createElement( + "span", + { "data-testid": "02406596-3ede-4de9-880e-f804701a3564", className: "help-block col-sm-10" }, + r.createElement("img", { "data-testid": "414132bd-4973-4a19-a721-71dbb1de0428", className: "warning", src: i(273), alt: "Warning" }), + this.props.intl.formatMessage(E.forgotPasswordExtended) + ) + : null + ), + C !== v.c.ENGINEER && !S && O, + N && + !S && + r.createElement( + r.Fragment, + null, + r.createElement(d.a, { + ref: "password", + intl: c, + isValidating: !!n, + showForm: !1, + showSubmittable: t, + enableForward: a, + disableForward: o, + handleSubmit: this._handlePasswordSubmit, + useShowPasswordIcon: w, + inputProps: { name: "installer-password", placeholder: T(E.passwordPlaceholder) }, + }), + h && + r.createElement( + "div", + { "data-testid": "540f7a2a-a7e6-4ecd-b2ca-50c75cfe6a05", className: "form-group forgot-form" }, + r.createElement( + "div", + { "data-testid": "be69aaa9-5db7-42ec-836f-6999d810dfa7", className: "col-sm-12" }, + r.createElement( + "button", + { + "data-testid": "aeccef3b-8fba-4d36-86c9-d8fddc16016b", + id: "forgot-password", + type: "button", + className: Object(u.classNames)("btn btn-link no-horizontal-padding line-breaks", { right: !w }), + onClick: this._handleForgotPassword, + }, + this.props.intl.formatMessage(C === v.c.CUSTOMER ? E.changeForgotPassword : E.forgotPassword) + ) + ) + ) + ), + !S && + !N && + r.createElement( + "div", + { "data-testid": "87bdcf11-bfa0-4324-8be8-685f90216e97", className: "form-group" }, + r.createElement( + "div", + { "data-testid": "fa152db7-af4e-4fc1-b19e-886a5a5e8fb9", className: "col-sm-12 right" }, + r.createElement( + "button", + { "data-testid": "a3cb2027-44cf-46ee-ad8f-e496e6ffcde1", id: "begin-toggle-auth", type: "button", className: "btn btn-action right", onClick: this._handlerStartToggleAuth }, + this.props.intl.formatMessage(E.startToggleAuth) + ) + ) + ), + r.createElement( + "div", + { className: "form-group" }, + r.createElement( + "div", + { className: "col-sm-12" }, + r.createElement( + _.Link, + { id: "compliance", to: "/compliance", className: "btn btn-link no-horizontal-padding" }, + r.createElement(s.FormattedMessage, { id: "login_view_compliance", defaultMessage: "COMPLIANCE" }) + ) + ) + ), + r.createElement("button", { "data-testid": "34c0e092-e1d5-4f41-8cd1-72d9a31b0fee", type: "submit", ref: "save" }, "SUBMIT") + ) + ) + ); + } + _handlerStartToggleAuth() { + this.props.changeLogin && this.props.changeLogin(v.c.INSTALLER), this.props.startToggleAuth(); + } + _handleForgotPassword(e) { + let t = "/password"; + const i = this.state.selectedLoginState; + (i !== v.c.INSTALLER && i !== v.c.ENGINEER) || (t += "?mode=" + v.c.INSTALLER), _.browserHistory.push(t); + } + _handleLoginSelection(e) { + let t = Object(n.findKey)(this.translations, (t) => t === e); + this.setState({ selectedLoginState: t, selectLoginTypeFormError: !1 }), this.props.changeLogin && this.props.changeLogin(t); + } + _handleLanguageSelection(e) { + Object(w.c)("Locale", f.LocaleMap[e]), window.location.reload(); + } + _handleUsernameChange(e) { + let t = e.target.value.trim(); + this.props.changeUsername && this.props.changeUsername(t); + } + _handlePasswordSubmit() { + this.refs.save.click(); + } + _handleSubmit(e) { + e.preventDefault(), + e.stopPropagation(), + this.state.selectedLoginState + ? this.props.username && + this.refs.password && + this.refs.password.state.passwordInput && + this.state.selectedLoginState && + this.props.handleSubmit && + this.props.handleSubmit(this.props.username, this.refs.password.state.passwordInput, this.state.selectedLoginState) + : this.setState({ selectLoginTypeFormError: !0 }); + } + } + h(b, "propTypes", { + intl: s.intlShape.isRequired, + enableForward: o.a.func, + disableForward: o.a.func, + changeUsername: o.a.func, + changeLogin: o.a.func, + handleSubmit: o.a.func, + startToggleAuth: o.a.func.isRequired, + cancelPendingToggleAuth: o.a.func.isRequired, + username: o.a.string.isRequired, + showSubmit: o.a.bool.isRequired, + loginType: o.a.oneOf(Object.values(v.c)).isRequired, + selectedLoginType: o.a.oneOf(Object.values(v.c)).isRequired, + isFetching: o.a.bool, + useShowPasswordIcon: o.a.bool.isRequired, + toggleAuthSupported: o.a.bool.isRequired, + isResi: o.a.bool, + waitForToggle: o.a.bool, + authenticated: o.a.bool, + }), + h(b, "defaultProps", { showSubmit: !1 }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.subnetMaskRegex = t.ipAddressRegex = t.NetworkInterfaceName = t.NetworkInterfaceType = t.SecurityType = void 0), + (function (e) { + (e.NONE = "NONE"), + (e.WEP = "WEP"), + (e.WPA_WPA2_PERSONAL = "WPAorWPA2_Personal"), + (e.WPA2_PERSONAL = "WPA2_Personal"), + (e.DYNAMIC_WEP = "Dynamic_WEP"), + (e.WPA_WPA2_ENTERPRISE = "WPAorWPA2_Enterprise"), + (e.WPA2_ENTERPRISE = "WPA2_Enterprise"); + })(t.SecurityType || (t.SecurityType = {})), + (function (e) { + (e.ETHERNET = "EthType"), (e.WIFI = "WifiType"), (e.GSM = "GsmType"); + })(t.NetworkInterfaceType || (t.NetworkInterfaceType = {})), + (function (e) { + (e.ETHERNET = "ethernet"), (e.WIFI = "wi-fi"), (e.GSM = "gsm"); + })(t.NetworkInterfaceName || (t.NetworkInterfaceName = {})), + (t.ipAddressRegex = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/), + (t.subnetMaskRegex = /^(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(?:\.(?:\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/); + }, + function (e, t, i) { + "use strict"; + function n(e) { + return e.registered; + } + i.d(t, "a", function () { + return n; + }); + }, + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return m; + }), + i.d(t, "loginTypeSelector", function () { + return p; + }); + var n = i(18), + r = i.n(n), + a = i(43), + o = i(2), + s = i(10); + function _(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function l(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? _(Object(i), !0).forEach(function (t) { + c(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : _(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function c(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const d = { isFetching: !1, isGenerating: !1, isSaving: !1, didInvalidate: !1 }, + u = l(l({}, d), {}, { loginType: s.c.KIOSK, selectedLoginType: s.c.KIOSK, lastLoginAt: null, username: "", toggleAuthSupported: !1, waitForToggle: !1 }); + function m(e = u, t) { + switch (t.type) { + case a.b: + return l(l(l({}, e), r()(t, (e) => e.payload.authentication) || {}), d); + case o.CHANGE_USERNAME: + return l(l({}, e), {}, { username: t.username }); + case o.CHANGE_LOGIN_TYPE: + return l(l({}, e), {}, { selectedLoginType: t.selectedLoginType }); + case o.REQUEST_LOGIN: + return l(l({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case o.RECEIVE_LOGIN_SUCCESS: + let i = e.loginType; + if (t.roles && t.roles.length) + switch (t.roles[0]) { + case s.e.HOME_OWNER: + i = s.c.CUSTOMER; + break; + case s.e.PROVIDER_ENGINEER: + i = s.c.INSTALLER; + break; + case s.e.TESLA_ENGINEER: + i = s.c.ENGINEER; + } + return l(l({}, e), {}, { email: t.email, loginType: i, isFetching: !1, didInvalidate: !1, waitForToggle: !1, lastLoginAt: t.receivedAt }); + case o.REQUEST_LOGOUT: + return l(l({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case o.RECEIVE_LOGIN_ERROR: + case o.RECEIVE_LOGOUT_ERROR: + return l(l({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case o.REQUEST_GENERATE_PASSWORD: + return l(l({}, e), {}, { isGenerating: !0, didInvalidate: !1 }); + case o.RECEIVE_GENERATE_PASSWORD_SUCCESS: + return l(l({}, e), {}, { isGenerating: !1, didInvalidate: !1 }); + case o.RECEIVE_GENERATE_PASSWORD_ERROR: + return l(l({}, e), {}, { isGenerating: !1, didInvalidate: !0 }); + case o.REQUEST_CHANGE_PASSWORD: + case o.REQUEST_RESET_PASSWORD: + return l(l({}, e), {}, { isSaving: !0, didInvalidate: !1 }); + case o.RECEIVE_CHANGE_PASSWORD_SUCCESS: + case o.RECEIVE_RESET_PASSWORD_SUCCESS: + return l(l({}, e), {}, { isSaving: !1, didInvalidate: !1 }); + case o.RECEIVE_CHANGE_PASSWORD_ERROR: + case o.RECEIVE_RESET_PASSWORD_ERROR: + return l(l({}, e), {}, { isSaving: !1, didInvalidate: !0 }); + case o.REQUEST_START_TOGGLE_AUTH: + case o.REQUEST_CANCEL_TOGGLE_AUTH: + case o.REQUEST_TOGGLE_AUTH_LOGIN: + return l(l({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case o.RECEIVE_START_TOGGLE_AUTH_ERROR: + case o.RECEIVE_CANCEL_TOGGLE_AUTH_ERROR: + return l(l({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case o.RECEIVE_TOGGLE_AUTH_LOGIN_ERROR: + return l(l({}, e), {}, { isFetching: !1, didInvalidate: !0, waitForToggle: !1 }); + case o.RECEIVE_START_TOGGLE_AUTH_SUCCESS: + return l(l({}, e), {}, { isFetching: !1, didInvalidate: !1, waitForToggle: !0 }); + case o.RECEIVE_CANCEL_TOGGLE_AUTH_SUCCESS: + return l(l({}, e), {}, { isSaving: !1, didInvalidate: !1, waitForToggle: !1 }); + case o.RECEIVE_SUPPORTS_TOGGLE_AUTH_SUCCESS: + return l(l({}, e), {}, { toggleAuthSupported: t.toggleAuthSupported }); + case o.RESET_ALL: + case o.RESET_AUTHENTICATION: + return l(l({}, u), {}, { username: e.username, toggleAuthSupported: e.toggleAuthSupported }); + default: + return e; + } + } + const p = ({ authentication: e }) => e.loginType; + }, + function (e, t, i) { + "use strict"; + i.d(t, "a", function () { + return n; + }); + const n = "STORE_SITEMASTER_STATUS"; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.UpgradeBannerView = void 0); + const s = a(i(1)), + _ = i(3), + l = i(17), + c = o(i(587)); + i(739); + t.UpgradeBannerView = () => + s.createElement( + "div", + { className: "modal-banner-container" }, + s.createElement( + "div", + { className: "banner-content-container" }, + s.createElement("div", { className: "banner-img-container" }, s.createElement("img", { src: c.default })), + s.createElement( + "div", + { className: "banner-text-container" }, + s.createElement( + "h4", + null, + s.createElement(_.FormattedMessage, { + id: "upgrade_to_tesla_pros_banner_title", + description: "text prompt in modal banner to download the new Tesla Pros app", + defaultMessage: "Tesla Pros is a better commissioning experience", + }) + ) + ) + ), + s.createElement( + "button", + { onClick: () => l.browserHistory.push("/upgrade"), className: "btn banner-content-button" }, + s.createElement(_.FormattedMessage, { id: "upgrade_to_tesla_pros_download_prompt", description: "text for button to learn more about the Tesla Pros app", defaultMessage: "UPGRADE NOW" }) + ) + ); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "receiveCheckUpdate", function () { + return m; + }), + i.d(t, "updateDownloadProgressAction", function () { + return p; + }), + i.d(t, "cancelUpdate", function () { + return E; + }), + i.d(t, "checkForUpdate", function () { + return b; + }), + i.d(t, "startUpdate", function () { + return y; + }), + i.d(t, "checkFirmwareUpdateUrgency", function () { + return S; + }); + var n = i(7), + r = i(74), + a = (i(39), i(2)), + o = (i(44), i(5)), + s = i.n(o), + _ = i(6), + l = i(4); + function c(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function d(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? c(Object(i), !0).forEach(function (t) { + u(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : c(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function u(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + function m(e) { + return d({ type: a.RECEIVE_CHECK_UPDATE }, e); + } + function p(e, t) { + return d({ type: e ? a.DOWNLOAD_STALLED_ERROR : a.DOWNLOAD_PROGRESSING }, t); + } + const g = Object(_.b)(a.RECEIVE_CHECK_UPDATE_ERROR), + w = Object(_.b)(a.RECEIVE_START_UPDATE_ERROR), + v = Object(_.b)(a.REQUEST_CHECK_UPDATE_URGENCY), + f = Object(_.a)(a.RECEIVE_CHECK_UPDATE_URGENCY), + h = Object(_.a)(a.RECEIVE_CHECK_UPDATE_URGENCY_ERROR); + function E() { + return { type: a.CANCEL_UPDATE }; + } + function b() { + return (e) => ( + e(Object(n.clearError)(a.RECEIVE_CHECK_UPDATE_ERROR)), + e(Object(r.a)(a.RECEIVE_CHECK_UPDATE_ERROR)), + fetch(s.a.api.uri + "/system/update?force=true", { credentials: s.a.credentials }) + .then(l.checkStatus) + .catch((t) => { + e(Object(n.showError)(a.RECEIVE_CHECK_UPDATE_ERROR, t.toString(), t.response)), e(g()); + }) + ); + } + function y() { + return (e) => ( + e(Object(n.clearError)(a.RECEIVE_START_UPDATE_ERROR)), + e(Object(r.a)(a.RECEIVE_START_UPDATE_ERROR)), + e({ type: a.REQUEST_INSTALL_UPDATE }), + fetch(s.a.api.uri + "/system/update", { method: "POST", credentials: s.a.credentials }) + .then(l.checkStatus) + .catch((t) => { + e(Object(n.showError)(a.RECEIVE_START_UPDATE_ERROR, t.toString(), t.response)), e(w()); + }) + ); + } + function S() { + return (e) => ( + e(v()), + fetch(s.a.api.uri + "/system/update/urgency", { credentials: s.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e(f(t)); + }) + .catch((t) => { + e(h(t)); + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.d(t, "c", function () { + return n; + }), + i.d(t, "b", function () { + return r; + }), + i.d(t, "a", function () { + return a; + }), + i.d(t, "d", function () { + return o; + }); + const n = "REQUEST_DEBUG_MODBUS", + r = "RECEIVE_DEBUG_MODBUS_SUCCESS", + a = "RECEIVE_DEBUG_MODBUS_ERROR", + o = "STORE_SITEMASTER_STATUS"; + }, + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "resetOperationSettings", function () { + return N; + }), + i.d(t, "getSiteName", function () { + return M; + }), + i.d(t, "fetchSiteInfo", function () { + return z; + }), + i.d(t, "saveSiteName", function () { + return U; + }), + i.d(t, "saveExportMode", function () { + return V; + }), + i.d(t, "fetchOperationSettings", function () { + return G; + }), + i.d(t, "getExtraPrograms", function () { + return j; + }), + i.d(t, "saveExtraProgram", function () { + return W; + }), + i.d(t, "saveOperationSettings", function () { + return F; + }), + i.d(t, "fetchTimezone", function () { + return q; + }), + i.d(t, "saveTimezone", function () { + return x; + }); + var n = i(7), + r = i(2), + a = i(93), + o = i(5), + s = i.n(o), + _ = i(4), + l = i(6), + c = i(108); + function d(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function u(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(i), !0).forEach(function (t) { + m(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : d(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function m(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const p = Object(l.b)(r.REQUEST_SITE_NAME); + const g = Object(l.b)(r.RECEIVE_SITE_NAME_ERROR), + w = Object(l.b)(r.REQUEST_SITE_INFO); + const v = Object(l.b)(r.RECEIVE_SITE_INFO_ERROR), + f = Object(l.b)(r.REQUEST_SAVE_SITE_NAME); + const h = Object(l.b)(r.RECEIVE_SAVE_SITE_NAME_ERROR), + E = Object(l.b)(r.REQUEST_SAVE_EXPORT_MODE); + const b = Object(l.b)(r.RECEIVE_SAVE_EXPORT_MODE_ERROR), + y = Object(l.b)(r.REQUEST_OPERATION_SETTINGS); + const S = Object(l.b)(r.RECEIVE_OPERATION_SETTINGS_ERROR), + R = Object(l.b)(r.REQUEST_SAVE_OPERATION_SETTINGS); + const T = Object(l.b)(r.RECEIVE_SAVE_OPERATION_SETTINGS_ERROR), + A = Object(l.b)(r.REQUEST_TIMEZONE); + const C = Object(l.b)(r.RECEIVE_TIMEZONE_ERROR), + I = Object(l.b)(r.REQUEST_SAVE_TIMEZONE); + const O = Object(l.b)(r.RECEIVE_SAVE_TIMEZONE_ERROR), + N = Object(l.b)(r.RESET_OPERATION_SETTINGS), + k = Object(l.b)(r.REQUEST_GET_EXTRA_PROGRAMS), + P = Object(l.b)(r.RECEIVE_GET_EXTRA_PROGRAMS_ERROR); + const D = Object(l.b)(r.REQUEST_POST_EXTRA_PROGRAM), + L = Object(l.b)(r.RECEIVE_POST_EXTRA_PROGRAM_ERROR); + function M() { + return (e) => ( + e(p()), + fetch(s.a.api.uri + "/site_info/site_name", { credentials: s.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((t) => { + e( + (function (e) { + return u({ type: r.RECEIVE_SITE_NAME_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch(() => { + e(g()); + }) + ); + } + function z() { + return (e) => ( + e(w()), + fetch(s.a.api.uri + "/site_info", { credentials: s.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((t) => { + e( + (function (e) { + return u({ type: r.RECEIVE_SITE_INFO_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch(() => { + e(v()); + }) + ); + } + function U({ siteName: e }) { + return (t) => { + t(f()); + let i = { site_name: e }; + return fetch(s.a.api.uri + "/site_info/site_name", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(i) }) + .then(_.checkStatus) + .then(() => { + const i = { siteName: e }; + var n; + return t(((n = i), u({ type: r.RECEIVE_SAVE_SITE_NAME_SUCCESS, receivedAt: Date.now() }, n))), i; + }) + .catch((e) => { + throw (t(Object(n.showError)(r.RECEIVE_SAVE_SITE_NAME_ERROR, e.toString(), e.response)), t(h()), e); + }); + }; + } + function V(e) { + return (t) => { + t(E()); + let i = { net_meter_mode: e }; + return fetch(s.a.api.uri + "/site_info/export_mode", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(i) }) + .then(_.checkStatus) + .then(() => { + t({ type: r.RECEIVE_SAVE_EXPORT_MODE_SUCCESS, receivedAt: Date.now() }); + }) + .catch((e) => { + throw (t(Object(n.showError)(r.RECEIVE_SAVE_EXPORT_MODE_ERROR, e.toString(), e.response)), t(b()), e); + }); + }; + } + function G() { + return (e) => ( + e(y()), + fetch(s.a.api.uri + "/operation", { credentials: s.a.credentials }) + .then(_.checkStatus) + .then(_.parseJSON) + .then((t) => { + e( + (function (e) { + return u({ type: r.RECEIVE_OPERATION_SETTINGS_SUCCESS, receivedAt: Date.now() }, e); + })(u(u({}, t), {}, { mode: t.real_mode })) + ); + }) + .catch((t) => { + e(Object(n.showError)(r.RECEIVE_OPERATION_SETTINGS_ERROR, t.toString(), t.response)), e(S()); + }) + ); + } + function j() { + return (e) => ( + e(k()), + fetch(s.a.api.uri + "/site_info/extra_programs", { method: "GET", credentials: s.a.credentials, headers: { "Content-Type": "application/json" } }) + .then(_.parseText) + .then(_.parseResponseText) + .then(_.checkResponseStatus) + .then( + (t) => ( + e( + (function (e) { + return { type: r.RECEIVE_GET_EXTRA_PROGRAMS_SUCCESS, receivedAt: Date.now(), extraPrograms: [...e] }; + })(t) + ), + t + ) + ) + .catch((t) => { + throw (e(P()), t); + }) + ); + } + function W(e) { + return (t) => ( + t(D()), + fetch(s.a.api.uri + "/site_info/extra_programs", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(e) }) + .then(_.parseText) + .then(_.parseResponseText) + .then(_.checkResponseStatus) + .then((e) => (t({ type: r.RECEIVE_POST_EXTRA_PROGRAM_SUCCESS, receivedAt: Date.now() }), e)) + .catch((e) => { + throw (t(Object(n.showError)(r.RECEIVE_POST_EXTRA_PROGRAM_ERROR, e.toString(), e.response)), t(L()), e); + }) + ); + } + function F({ mode: e, backupReserve: t, generationLimit: i, solarLimit: o, batteryLimit: l }) { + return ( + "string" == typeof i && (i = parseFloat(i)), + "string" == typeof o && (o = parseFloat(o)), + "string" == typeof l && (l = parseFloat(l)), + (c) => { + c(R()), c(Object(n.clearError)(r.RECEIVE_SAVE_OPERATION_SETTINGS_ERROR)); + let d = { max_pv_export_power_kW: o }; + return ( + e && (d.real_mode = e), + null != t && a.g.includes(d.real_mode) && (d.backup_reserve_percent = t), + fetch(s.a.api.uri + "/operation", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(d) }) + .then(_.parseText) + .then(_.parseResponseText) + .then(_.checkResponseStatus) + .then((n) => { + const a = { mode: e, backupReserve: t, generationLimit: i, solarLimit: o, batteryLimit: l }; + return ( + c( + (function (e) { + return u({ type: r.RECEIVE_SAVE_OPERATION_SETTINGS_SUCCESS, receivedAt: Date.now() }, e); + })(a) + ), + a + ); + }) + .catch((e) => { + throw (c(Object(n.showError)(r.RECEIVE_SAVE_OPERATION_SETTINGS_ERROR, e.toString(), e.response)), c(T()), e); + }) + ); + } + ); + } + function q() { + return (e) => { + e(A()); + try { + let i = Object(c.d)(); + i ? e(((t = { time_zone: i }), u({ type: r.RECEIVE_TIMEZONE_SUCCESS, receivedAt: Date.now() }, t))) : (e(Object(n.showError)(r.RECEIVE_TIMEZONE_ERROR, "Could not guess timezone")), e(C())); + } catch (t) { + e(Object(n.showError)(r.RECEIVE_TIMEZONE_ERROR, t.toString(), t.response)), e(C()); + } + var t; + }; + } + function x(e) { + return (t) => { + t(I()); + let i = { timezone: e }; + return fetch(s.a.api.uri + "/site_info/timezone", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(i) }) + .then(_.checkStatus) + .then(() => { + var i; + t(((i = { timezone: e }), u({ type: r.RECEIVE_SAVE_TIMEZONE_SUCCESS, receivedAt: Date.now() }, i))); + }) + .catch((e) => { + t(Object(n.showError)(r.RECEIVE_SAVE_TIMEZONE_ERROR, e.toString(), e.response)), t(O()); + }); + }; + } + }, + function (e, t, i) { + "use strict"; + i.d(t, "b", function () { + return f; + }), + i.d(t, "a", function () { + return E; + }), + i.d(t, "c", function () { + return y; + }); + var n = i(66), + r = i.n(n), + a = i(1), + o = i(20), + s = i.n(o), + _ = i(0), + l = i.n(_), + c = i(3), + d = i(18), + u = i.n(d), + m = i(211), + p = i(28), + g = i(46); + i(656), i(657); + function w() { + return (w = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function v(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const f = "__select_all", + h = () => {}, + E = "Not Listed", + b = Object(c.defineMessages)({ + placeholder: { id: "dropdown_default_placeholder", defaultMessage: "Type..." }, + select: { id: "dropdown_list_view_select_field", defaultMessage: "Please select a field." }, + showComplete: { id: "dropdown_list_view_show_complete", defaultMessage: "SWITCH TO COMPLETE LIST" }, + showSearchable: { id: "dropdown_list_view_show_searchable", defaultMessage: "SWITCH TO SEARCHABLE LIST" }, + [f]: { id: "dropdown_list_view_select_all", defaultMessage: "Select All" }, + notListedLabel: { id: "dropdown_list_view_not_listed_label", defaultMessage: 'Not Listed: "{searchText}"' }, + }); + class y extends a.Component { + constructor(e) { + super(e), + (this.state = { + collapsed: !1, + selection: this.getDefaultSelection(e.initialSelection), + multiSelections: e.initialSelections ? e.initialSelections : [], + placeholder: this.getDefaultPlaceholder(e.initialPlaceholder), + searchable: e.isSearchable, + input: "", + }), + (this.ui = {}), + (this._handleClickDefault = this._handleClickDefault.bind(this)), + (this._handleClickSearchable = this._handleClickSearchable.bind(this)), + (this._handleMultiSelection = this._handleMultiSelection.bind(this)), + (this._handleChange = this._handleChange.bind(this)), + (this._handleBlur = this._handleBlur.bind(this)), + (this._handleFocus = this._handleFocus.bind(this)), + (this._getIndicator = this._getIndicator.bind(this)), + (this._handleFocusSearchable = this._handleFocusSearchable.bind(this)), + (this._handleBlurSearchable = this._handleBlurSearchable.bind(this)), + (this._getNotListedLabel = this._getNotListedLabel.bind(this)), + (this._handleNotListed = this._handleNotListed.bind(this)), + (this._handleInputChangeSearchable = this._handleInputChangeSearchable.bind(this)), + (this._toggleView = this._toggleView.bind(this)); + } + componentDidMount() { + this._bindElements(); + } + componentWillReceiveProps(e) { + let t = {}, + i = !0; + this.props.initialSelection !== e.initialSelection && ((t.selection = this.getDefaultSelection(e.initialSelection)), (i = !1)), + this.props.initialPlaceholder !== e.initialPlaceholder && ((t.placeholder = this.getDefaultPlaceholder(e.initialPlaceholder)), (i = !1)), + i || this.setState(t); + } + componentWillUnmount() { + this._unbindElements(); + } + getDefaultSelection(e) { + return e || this.props.intl.formatMessage(p.prompts.select); + } + getDefaultPlaceholder(e) { + return null == e ? this.props.intl.formatMessage(b.placeholder) : e; + } + resetSelection(e, t) { + e || (e = this.getDefaultSelection()), + this.setState({ selection: e }, () => { + this.refs.select && (this.refs.select.selectedIndex = null === t ? -1 : t + 1); + }); + } + render() { + const { id: e, label: t, labelClassName: i, dropdownClassName: n } = this.props, + r = e.toString().replace(" ", "").toLowerCase() + "-dropdown"; + return a.createElement( + "div", + { "data-testid": "975ae069-3ec6-4a34-b0d2-00ff744904dc", className: `dropdown-list ${r}-list` }, + this._getLabel(r, t, i), + a.createElement("div", { "data-testid": "07f3ea02-6aa1-4ba7-8c12-fccd285748b4", className: n }, this._getDropdown(r)) + ); + } + showTooltip() { + u()(this.ui, (e) => e.tooltip.tooltip) && this.ui.tooltip.length && this.ui.tooltip.tooltip("show"); + } + hideTooltip() { + u()(this.ui, (e) => e.tooltip.tooltip) && this.ui.tooltip.length && this.ui.tooltip.tooltip("hide"); + } + _bindElements() { + this.refs.select && (this.ui.select = r()(this.refs.select)), + this.refs.button && (this.ui.button = r()(this.refs.button)), + this.refs.dropdown && (this.ui.tooltip = r()(this.refs.dropdown)), + u()(this.ui, (e) => e.tooltip.tooltip) && this.ui.tooltip.length && this.ui.tooltip.tooltip({ trigger: "manual" }); + } + _unbindElements() { + this.ui = {}; + } + _getLabel(e, t, i) { + return e && t ? a.createElement("label", { "data-testid": "9ef23149-3371-449b-8279-934954a388f2", htmlFor: e, className: i }, t.toUpperCase()) : null; + } + _getDropdown(e) { + const { intl: t, list: i, lineBreaks: n, isMultiSelect: r, isToggleable: o, disabled: s } = this.props, + { selection: _, multiSelections: l, searchable: c, placeholder: d, input: u } = this.state; + let p; + if ( + (o && + !s && + (p = a.createElement( + "a", + { "data-testid": "d87ac571-5d59-4152-81bb-b3838235e451", className: "btn btn-link no-horizontal-padding", onClick: this._toggleView }, + t.formatMessage(c ? b.showComplete : b.showSearchable) + )), + c) + ) { + const e = this._getOptionsSearchable(r, t), + i = { + ref: "search", + className: s ? "disabled" : "", + isDisabled: s, + searchPromptText: this.getDefaultPlaceholder(), + placeholder: d, + options: e, + arrowRenderer: this._getIndicator, + onBlur: this._handleBlurSearchable, + onFocus: this._handleFocusSearchable, + clearable: !1, + }; + return r + ? a.createElement( + m.default, + w({}, i, { + name: "dropdown-multi-search", + multi: r, + value: l, + onChange: (...t) => { + this._handleMultiSelection(...t, e); + }, + }) + ) + : a.createElement( + a.Fragment, + null, + a.createElement( + m.default.Creatable, + w({}, i, { + name: "dropdown-search", + value: _, + onChange: this._handleClickSearchable, + isValidNewOption: () => !!u.length, + promptTextCreator: this._getNotListedLabel, + onNewOptionClick: this._handleNotListed, + onInputChange: this._handleInputChangeSearchable, + }) + ), + p + ); + } + const v = t.formatMessage(b.select), + f = [], + h = []; + return ( + i.forEach((e, t) => { + n && + n.has(t) && + f.push( + a.createElement( + "li", + { "data-testid": "2b7e465d-c7cf-449d-a6e1-84b542bd9c14", key: "line-break-" + t.toString() }, + a.createElement("option", { "data-testid": "6cae4087-0f87-4d95-941f-8fe01351e579", disabled: !0 }) + ) + ), + f.push( + a.createElement( + "li", + { "data-testid": "14a18e4c-1e0a-458c-ab84-88e6049db06d", key: t.toString() }, + a.createElement("a", { "data-testid": "ee86e230-6728-4b82-a07d-57b71b82da4a", href: "#", value: e, onClick: (i) => this._handleClickDefault(i, t, e) }, e) + ) + ), + h.push(a.createElement("option", { "data-testid": "3786b219-f597-41bf-867e-89b2778df0a7", key: t.toString(), value: e }, e)); + }), + a.createElement( + a.Fragment, + null, + a.createElement( + "div", + { "data-testid": "30186a91-ddc0-41af-899d-a0316e23991a", className: "dropdown", ref: "dropdown", "data-placement": "bottom", title: v, "data-original-title": v }, + a.createElement( + "select", + { ref: "select", value: _, onChange: this._handleChange, onFocus: this._handleFocus, disabled: s }, + a.createElement("option", { "data-testid": "112c7abc-a2e1-4bb9-80c3-12ed7566386e", value: this.getDefaultSelection(), className: "hidden", disabled: !0 }, this.getDefaultSelection()), + h + ), + a.createElement( + "button", + { + "data-testid": "c0b9d7b0-6d00-47df-8e18-c7a3970d490d", + className: `dropdown-toggle ${Object(g.isIOS)() ? "ios" : ""} ${s ? "disabled" : ""}`, + type: "button", + ref: "button", + "data-toggle": "dropdown", + "aria-haspopup": "true", + "aria-expanded": "true", + onBlur: this._handleBlur, + }, + _, + this._getIndicator() + ), + a.createElement("ul", { "data-testid": "bd5133cc-45a7-497e-a370-a0554c3364c7", className: "dropdown-menu", "aria-labelledby": e }, f) + ), + p + ) + ); + } + _getIndicator() { + return this.props.disabled ? null : a.createElement("img", { "data-testid": "fd5c9144-72c8-43c6-92ce-81945685dc61", src: i(658), className: this.state.collapsed ? "caret-up" : "caret-down", alt: "indicator" }); + } + _getOptionsSearchable(e = !1, t) { + const i = []; + return ( + this.props.list.forEach((n, r) => { + n !== E && i.push({ value: n, label: b[n] ? t.formatMessage(b[n]) : n, index: r, clearableValue: e }); + }), + i + ); + } + _getNotListedLabel() { + return this.props.intl.formatMessage(b.notListedLabel, { searchText: this.state.input }); + } + _handleNotListed() { + this.setState({ placeholder: E, selection: E }, () => { + this.props.onNotListed && this.props.onNotListed(this.state.input), this.refs.search.select.blurInput(); + }); + } + _handleClickDefault(e, t, i) { + e.preventDefault(), + this.setState({ selection: i }, () => { + this.props.onSelection && this.props.onSelection(i, t); + }); + } + _handleClickSearchable(e) { + Object.keys(e).length && + this.setState({ selection: e.label, collapsed: !1 }, () => { + this.props.onSelection && this.props.onSelection(e.label, e.index); + }); + } + _handleMultiSelection(e, t) { + const i = e.find((e) => e.value === f) ? t.slice(1, t.length) : e; + this.setState({ multiSelections: i, collapsed: !1 }, () => { + let e = this.props.onMultiSelection; + e && + e( + i.map((e) => e.label), + t.map((e) => e.label) + ); + }); + } + _handleInputChangeSearchable(e) { + this.setState({ input: e }); + } + _handleBlurSearchable(e) { + this.setState({ collapsed: !1, placeholder: this.getDefaultPlaceholder(this.props.initialPlaceholder) }); + } + _handleFocusSearchable(e) { + this.setState({ collapsed: !0, placeholder: "" }, () => { + if (!Object(g.isOnlyViewport)("xs")) return; + const e = s.a.findDOMNode(this); + e && e.scrollIntoView(); + }); + } + _toggleView(e) { + const t = !this.state.searchable; + this.setState({ searchable: t }, () => { + t ? this._unbindElements() : this._bindElements(), this.props.onToggle && this.props.onToggle(t); + }); + } + _handleChange(e) { + const t = e.target.value, + i = e.target.selectedIndex - 1; + t && + this.setState({ selection: t }, () => { + this.props.onSelection && this.props.onSelection(t, i); + }); + } + _handleBlur(e) { + this.ui.select.show(h), this.setState({ collapsed: !1 }); + } + _handleFocus(e) { + Object(g.isIOS)() || (this.ui.select.hide(), this.ui.button.focus(), this.ui.button.dropdown("toggle"), this.hideTooltip(), this.setState({ collapsed: !0 })); + } + } + v(y, "propTypes", { + intl: c.intlShape.isRequired, + list: l.a.arrayOf(l.a.oneOfType([l.a.string])).isRequired, + lineBreaks: l.a.instanceOf(Set), + id: l.a.oneOfType([l.a.string, l.a.number]).isRequired, + label: l.a.string.isRequired, + labelClassName: l.a.string.isRequired, + dropdownClassName: l.a.string.isRequired, + initialSelection: l.a.string, + initialPlaceholder: l.a.string, + isSearchable: l.a.bool.isRequired, + isMultiSelect: l.a.bool.isRequired, + isToggleable: l.a.bool.isRequired, + disabled: l.a.bool.isRequired, + onSelection: l.a.func, + onMultiSelection: l.a.func, + onToggle: l.a.func, + onNotListed: l.a.func, + }), + v(y, "defaultProps", { list: [], id: "default", label: "default", labelClassName: "col-sm-3", dropdownClassName: "col-sm-9", isSearchable: !1, isMultiSelect: !1, isToggleable: !1, disabled: !1 }); + }, + function (e, t, i) { + "use strict"; + var n = i(1), + r = i(3); + function a() { + return (a = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function o(e, t) { + if (null == e) return {}; + var i, + n, + r = (function (e, t) { + if (null == e) return {}; + var i, + n, + r = {}, + a = Object.keys(e); + for (n = 0; n < a.length; n++) (i = a[n]), t.indexOf(i) >= 0 || (r[i] = e[i]); + return r; + })(e, t); + if (Object.getOwnPropertySymbols) { + var a = Object.getOwnPropertySymbols(e); + for (n = 0; n < a.length; n++) (i = a[n]), t.indexOf(i) >= 0 || (Object.prototype.propertyIsEnumerable.call(e, i) && (r[i] = e[i])); + } + return r; + } + t.a = (e) => { + const { messages: t, id: i } = e, + s = o(e, ["messages", "id"]); + return t && t[i] ? n.createElement(r.FormattedMessage, a({}, t[i], s)) : i; + }; + }, + , + function (e, t, i) { + "use strict"; + i.d(t, "g", function () { + return r; + }), + i.d(t, "c", function () { + return a; + }), + i.d(t, "b", function () { + return o; + }), + i.d(t, "h", function () { + return s; + }), + i.d(t, "a", function () { + return _; + }), + i.d(t, "d", function () { + return l; + }), + i.d(t, "e", function () { + return c; + }), + i.d(t, "f", function () { + return d; + }); + var n = i(13); + function r(e, t) { + return (e && e.toLowerCase() === n.j) || (null != t && t.toLowerCase().indexOf(n.j) > -1); + } + function a(e, t) { + return (e && e.toLowerCase() === n.f) || (null != t && t.toLowerCase().indexOf(n.f) > -1); + } + function o(e, t) { + return (e && e.toLowerCase() === n.c) || (null != t && t.toLowerCase().indexOf(n.c) > -1); + } + function s(e, t) { + return (e && e.toLowerCase() === n.k) || (null != t && t.toLowerCase().indexOf(n.k) > -1); + } + function _(e, t) { + return (e && e.toLowerCase() === n.a) || (null != t && t.toLowerCase().indexOf(n.a) > -1); + } + function l(e, t) { + return (e && e.toLowerCase() === n.g) || (null != t && t.toLowerCase().indexOf(n.g) > -1); + } + function c(e, t) { + return ( + s(e, t) || + (function (e, t) { + return (e && e.toLowerCase() === n.b) || (null != t && t.toLowerCase().indexOf(n.b) > -1); + })(e, t) + ); + } + function d(e, t) { + return _(e, t) || l(e, t); + } + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.isValidSubnetMask = t.isValidIpAddress = t.requiresPassword = t.hasUsername = void 0); + const n = i(191); + (t.hasUsername = function (e) { + return e === n.SecurityType.WPA_WPA2_ENTERPRISE || e === n.SecurityType.WPA2_ENTERPRISE; + }), + (t.requiresPassword = function (e) { + return e !== n.SecurityType.NONE; + }), + (t.isValidIpAddress = function (e) { + return void 0 !== e && n.ipAddressRegex.test(e); + }), + (t.isValidSubnetMask = function (e) { + return void 0 !== e && n.subnetMaskRegex.test(e); + }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(446), + s = i(48); + t.default = function ({ problem: e, location: t, hasMSA: n, hasSYNC: _, hasSolarPowerwall: l }) { + if (e === s.InstallationProblems.Miswired12v) + return r.default.createElement( + "div", + { className: "installation-problem" }, + r.default.createElement("div", { className: "installation-problem-title" }, r.default.createElement(a.FormattedMessage, { id: "enumeration_warning_title_miswired_12v", defaultMessage: "12v Wiring Error" })), + r.default.createElement("div", { className: "installation-problem-image" }, r.default.createElement("img", { src: i(790) })), + r.default.createElement( + "div", + { className: "installation-problem-details" }, + r.default.createElement(a.FormattedMessage, { + id: "enumeration_warning_details_miswired_12v", + defaultMessage: + "When connecting two Powerwall+, only the unit connected to Gateway/Backup Switch should have 12V applied. Remove 12V from all subsequent Powerwall+ in the chain, then Rescan Devices (at the bottom of this page) to clear this warning.", + }) + ) + ); + if (e === s.InstallationProblems.MultipleControllers) { + const e = r.default.createElement(a.FormattedMessage, Object.assign({}, s.installationProblemTitles[s.InstallationProblems.MultipleControllers])), + l = r.default.createElement("img", { src: i(791) }); + let c; + return ( + (c = + t === o.SiteControllerLocation.Gateway + ? r.default.createElement(a.FormattedMessage, { + id: "enumeration_warning_details_multiple_controllers_gateway", + defaultMessage: "Unplug the power harness of all Powerwall+ site controllers, located in the top-right of the Solar Assembly.", + }) + : t === o.SiteControllerLocation.SolarPowerwall && _ + ? r.default.createElement(a.FormattedMessage, { + id: "enumeration_warning_details_multiple_controllers_powerwall_with_sync", + defaultMessage: "Unplug the power harness of all Powerwall+ site controllers, located in the top-right of the Solar Assembly. Commission the system by connecting to the Backup Gateway.", + }) + : t === o.SiteControllerLocation.SolarPowerwall && n + ? r.default.createElement(a.FormattedMessage, { + id: "enumeration_warning_details_multiple_controllers_powerwall_with_msa", + defaultMessage: "Unplug the power harness of the Expansion Powerwall+ site controller (not connected to Backup Switch), located in the top-right of the Solar Assembly.", + }) + : r.default.createElement(a.FormattedMessage, { + id: "enumeration_warning_details_multiple_controllers_unknown_with_details", + defaultMessage: + "Only a single site controller must be active. When using Backup Gateway, unplug all Powerwall+ controllers. When using a Backup Switch, unplug all but one Powerwall+ controller. Run Wizard is disabled until there is only one site controller active.", + })), + r.default.createElement( + "div", + { className: "installation-problem" }, + r.default.createElement("div", { className: "installation-problem-title" }, e), + r.default.createElement("div", { className: "installation-problem-image" }, l), + r.default.createElement("div", { className: "installation-problem-details" }, c) + ) + ); + } + if (e === s.InstallationProblems.PVACsWithNoSolarRGM || e === s.InstallationProblems.TooManySolarRGM || e === s.InstallationProblems.TooFewSolarRGM) + return r.default.createElement( + "div", + { className: "installation-problem" }, + r.default.createElement("div", { className: "installation-problem-title" }, r.default.createElement(a.FormattedMessage, Object.assign({}, s.installationProblemTitles[e]))), + r.default.createElement("div", { className: "installation-problem-details" }, r.default.createElement(a.FormattedMessage, Object.assign({}, s.installationProblemDetails[e]))) + ); + if (e === s.InstallationProblems.SiteShutdownExternalSwitch || e === s.InstallationProblems.SiteShutdownPvsRsdSwitch) { + let t = r.default.createElement("img", { src: i(792) }); + e === s.InstallationProblems.SiteShutdownExternalSwitch && (l ? (t = r.default.createElement("img", { src: i(793) })) : r.default.createElement("img", { src: i(794) })); + const n = + e === s.InstallationProblems.SiteShutdownPvsRsdSwitch + ? r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch", + defaultMessage: "Site shutdown circuit triggered by a Powerwall+ rapid shutdown.", + description: "Title to the detailed card explaining how to re-enable a site that has been shut down due to an installation issue", + }) + : r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_title_site_shutdown", + defaultMessage: "Site Shutdown circuit triggered", + description: "Title to the detailed card explaining how to re-enable a site that has been shut down due to an installation issue", + }); + return r.default.createElement( + "div", + { className: "installation-problem" }, + r.default.createElement("div", { className: "installation-problem-title" }, n), + r.default.createElement("div", { className: "installation-problem-image" }, t), + r.default.createElement( + "div", + { className: "installation-problem-details" }, + r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_site_shutdown_0", + defaultMessage: "To re-enable system:", + description: "Start of a list of steps that will help installers re-enable a site that has been shut down due to an installation issue", + }), + r.default.createElement( + "ul", + null, + r.default.createElement( + "li", + null, + r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_site_shutdown_1", + defaultMessage: "Turn on all Powerwall ON/OFF switches", + description: "Part of a list of steps to re-enable a site that has shut down. The ON/OFF switches are present on all powerwalls in a system and must be set to ON", + }) + ), + r.default.createElement( + "li", + null, + r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_site_shutdown_2", + defaultMessage: "Close E-Stops", + description: "Part of a list of steps to re-enable a site that has shut down.", + }) + ), + r.default.createElement( + "li", + null, + r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_site_shutdown_3", + defaultMessage: "Ensure Rapid shutdown jumpers are properly installed", + description: "Part of a list of steps to re-enable a site that has shut down. The rapid shutdown jumpers are connections in the Gateway", + }) + ), + r.default.createElement( + "li", + null, + r.default.createElement(a.FormattedMessage, { + id: "installation_problem_detail_site_shutdown_4", + defaultMessage: "Check shutdown circuit wiring.", + description: "Part of a list of steps to re-enable a site that has shut down.", + }) + ) + ) + ) + ); + } + return console.error("Unknown enumeration warning:", e), null; + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.VITALS_FETCH_INTERVAL = void 0); + const s = o(i(450)), + _ = a(i(40)); + (_.util.Long = s.default), _.configure(); + const l = a(i(1)), + c = i(3), + d = i(35), + u = i(17), + m = i(28), + p = i(283), + g = i(588), + w = i(138), + v = o(i(773)), + f = o(i(447)), + h = o(i(446)), + E = o(i(774)), + b = i(135), + y = i(133), + S = i(150), + R = o(i(5)), + T = i(455), + A = i(21), + C = i(4), + I = i(152); + i(787); + const O = (0, c.defineMessages)({ header: { id: "vitals_header_title", defaultMessage: "System" } }); + (t.VITALS_FETCH_INTERVAL = 3e3), + (t.default = (0, d.connect)(function (e) { + var t, i, n, r, a; + return { + din: e.configuration.din, + isEngineer: (0, A.isEngineer)(e.authentication), + leader: (null === (t = e.configuration) || void 0 === t ? void 0 : t.leader) || "", + followers: (null === (i = e.configuration) || void 0 === i ? void 0 : i.followers) || [], + sitemanagerRunning: (null === (n = e.sitemaster) || void 0 === n ? void 0 : n.running) || !1, + commissioned: !(null === (r = e.configuration) || void 0 === r ? void 0 : r.isNew), + isEnumerating: (null === (a = e.system) || void 0 === a ? void 0 : a.isEnumerating) || !1, + }; + })( + (0, c.injectIntl)(function (e) { + const { dispatch: i, intl: n, din: r, isEngineer: a, leader: o, followers: s, sitemanagerRunning: _, commissioned: d, isEnumerating: A } = e, + N = t.VITALS_FETCH_INTERVAL + 1e3; + let [k, P] = (0, l.useState)(null), + [D, L] = (0, l.useState)(0), + M = (null == k ? void 0 : k.isUpdatingRecursive()) || !1, + z = (null == k ? void 0 : k.isDisabledBecauseRecursive("FWUpdateFailed")) || !1; + (0, l.useEffect)(() => { + i((0, y.showHeader)("header-default", { title: n.formatMessage(O.header), subtitle: l.default.createElement(v.default, Object.assign({}, { updating: M, updateFailed: z })) })); + }, [M, z]), + (0, l.useEffect)(() => { + i((0, S.showBack)(null, "< " + n.formatMessage(m.buttons.BACK), u.browserHistory.goBack)); + }, []), + (0, l.useEffect)(() => { + let e, + n = !0; + return ( + (function r() { + fetch(R.default.api.uri + "/devices/vitals", { method: "GET", credentials: R.default.credentials }) + .then(C.checkStatus) + .then((e) => e.arrayBuffer()) + .then((e) => { + let t = new Uint8Array(e), + i = g.DevicesWithVitals.decode(t), + n = (0, w.deviceTreeFromDeviceApiList)(i, o); + P(n); + }) + .catch((e) => { + console.error("Error querying or parsing device details:", e); + }) + .finally(() => { + n && (e = setTimeout(r, t.VITALS_FETCH_INTERVAL)); + }), + i((0, b.initializeConfig)()), + i((0, I.fetchPowerwalls)()); + })(), + function () { + clearTimeout(e), (n = !1); + } + ); + }, []); + const U = window.location.search.includes("wifi"), + V = (0, l.useMemo)(() => (0, T.getTEDAPI)({ din: r, isEngineer: a }), [r, a]); + let G = (null == k ? void 0 : k.followers) || [], + j = s.filter((e) => !G.some((t) => t.din() === "STSTSM--" + e)); + return l.default.createElement( + "div", + { className: "system-container" }, + !k && l.default.createElement(p.LoadingSpinner, { className: "spinner system-loading-spinner" }), + k && l.default.createElement(h.default, { root: k, sitemanagerRunning: _ }), + k && k.followers.map((e) => l.default.createElement(h.default, { root: e, key: e.din(), sitemanagerRunning: _ })), + k && + j.map((e) => + l.default.createElement( + f.default, + { key: e, din: e }, + l.default.createElement(c.FormattedMessage, { id: "system-device-follower-not-responding", defaultMessage: "WiFi-paired device is not currently responding" }) + ) + ), + d && U && l.default.createElement(E.default, { tedapi: V, followers: s }), + !_ && + (!A && Date.now() - D > N + ? l.default.createElement( + "a", + { + className: "powerwall-scanning-link", + onClick: function () { + L(Date.now()), i((0, I.enumeratePowerwalls)()); + }, + }, + l.default.createElement(c.FormattedMessage, { id: "system_rescan_button_text", defaultMessage: "Rescan Devices" }) + ) + : l.default.createElement( + "p", + { className: "powerwall-scanning-link powerwall-scanning-link-disabled" }, + l.default.createElement(c.FormattedMessage, { id: "system_scanning_label_text", defaultMessage: "Scanning for Devices..." }) + )) + ); + }) + )); + }, + , + , + , + , + function (e, t) { + e.exports = + "data:image/png;base64,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"; + }, + , + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAAXNSR0IArs4c6QAAAx5JREFUSA2tlt9LU2EYx7ezuTbTTRkb6TJWMIjwwstaMdRusouyLrxQ6jKvKyKIErsp6g8o6Id0I8UssAl64ahkFMwka1CBGDKtzS1t/mKTuWmfVxK2naPTPAfePe/zPN/n+9378xytpsiTSqUOpNPp5rW1tVNAndhqbIlWq41gf2Lf6nS63rKyslARKo12M8DCwsLh1dXVu+SP03ySJPVBPAZpJBaLZUwmUxXCTnLiTzTTEvjXKisr39Hf/pNIJG7Pzc3FsFcg2FOsEowWfAttnPYCv7RYjQaQCfArRIYWFxdtRQsKANQbZmdnn8IxmkwmHQXpfBfQS1o3RSX5me171GpnZmZu0L7RL1OsnJ+f72BEAfHvFAE7DE5PTz+Ox+P9sjKEXIzoN1NnlyX/M8Cf1kej0S9sprY8CoS8tOt5QRWcqamp05OTkxMI69bpxEKKUREwqcAvowiHw8FIJNIqEhIH9gxC/ZyhlAypTqB3eXn5/LoYQk0I9anDK2fh8PesrKw0rIvxc4jr5rscpk7EbrePcxPtHRkZsUiMqgonqg61Mguz98doNDr1pEvNZnNSGaZOlGlMMyiLBF2Uc1alDq0yC5vQmslkwhJDjHCj71eG7T4KfyliRp/P90us2ftsNnty97TKDKFQqBXBH52dnRkGJfkQPKsM3X10aWmpBRa/YJLKy8s/YM3cix4RUPMJBoMH2Q8neOE+FLxiGtdoN5nKe2oKCS7e9o/Y8kN1dXVfhS92o8ZisTzHaHnFXBW+Go/f729nVG6DwdAu4xMXMmK/ADTJkjsMDAwM1Hd3d6cCgcCFTUsROsobIIa9uCmoSIItfqmrqys1ODh4vxAq+7r691UlLuY33Jm32EDxwiIl3+v17uOmeMbua3C5XJcbGxsfFOJkYgLAubAg2oEVI3xC66moqPgkcrkPAjqmX3xTtrME9Q6HY7ympqbN7XaP5uI2+opiG0kInOxUscDnICynP0Y/wnocE19fCJmsVmuWm/0zQnc8Hs/rjVolu6VYboEQxndyCVQPDw8f0ev1EzabLVRbW/sxF7dV/y9IlJ1Y7C0+lwAAAABJRU5ErkJggg=="; + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "addMeter", function () { + return E; + }), + i.d(t, "removeMeter", function () { + return b; + }), + i.d(t, "resetMeterConfig", function () { + return y; + }), + i.d(t, "resetMeterCurrentTransformerReadings", function () { + return S; + }), + i.d(t, "cancelMeter", function () { + return U; + }), + i.d(t, "detectWiredMeters", function () { + return se; + }), + i.d(t, "deleteMeter", function () { + return _e; + }), + i.d(t, "createMeter", function () { + return le; + }), + i.d(t, "commissionMeter", function () { + return ce; + }), + i.d(t, "fetchMeterConfig", function () { + return de; + }), + i.d(t, "checkMeterConnectivity", function () { + return pe; + }), + i.d(t, "pingMeterStatus", function () { + return ge; + }), + i.d(t, "setMeterCts", function () { + return we; + }), + i.d(t, "deleteMeterCts", function () { + return ve; + }), + i.d(t, "getMeterReadings", function () { + return fe; + }), + i.d(t, "fetchMeterAmpRatings", function () { + return he; + }), + i.d(t, "setMeterAmpRatings", function () { + return Ee; + }), + i.d(t, "flipMeterCt", function () { + return be; + }), + i.d(t, "getMeterAggregates", function () { + return ye; + }), + i.d(t, "setSyncCTVoltageReferences", function () { + return Se; + }), + i.d(t, "fetchSyncCTVoltageReferences", function () { + return Re; + }), + i.d(t, "fetchSyncCTVoltageReferenceOptions", function () { + return Te; + }), + i.d(t, "setEnableInverterMeterReadings", function () { + return Ae; + }), + i.d(t, "fetchEnableInverterMeterReadings", function () { + return Ce; + }); + var n = i(27), + r = i(7), + a = i(2), + o = i(14), + s = i(5), + _ = i.n(s), + l = i(4), + c = i(15), + d = i(29), + u = i(6), + m = i(151), + p = i(12); + function g(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function w(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? g(Object(i), !0).forEach(function (t) { + v(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : g(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function v(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + let f = null; + const h = { [p.Statuses.FAILED_METER]: "Failed to Add Meter", [p.Statuses.ADD_METER_ERROR]: "Verifying Meter", [p.Statuses.VERIFY_METER_ERROR]: "Verifying Meter" }, + E = Object(u.b)(a.ADD_METER, "id"), + b = Object(u.b)(a.REMOVE_METER, "id"), + y = Object(u.b)(a.RESET_METER_CONFIG), + S = Object(u.b)(a.RESET_METER_CURRENT_TRANSFORMER_READINGS), + R = Object(u.b)(a.REQUEST_DETECT_METER), + T = Object(u.b)(a.RECEIVE_DETECT_METER_ERROR), + A = Object(u.b)(a.REQUEST_DELETE_METER); + const C = Object(u.b)(a.RECEIVE_DELETE_METER_ERROR), + I = Object(u.b)(a.REQUEST_CREATE_METER); + const O = Object(u.b)(a.RECEIVE_CREATE_METER_ERROR), + N = Object(u.b)(a.REQUEST_COMMISSION_METER); + function k(e) { + return w({ type: a.RECEIVE_COMMISSION_METER_UPDATE }, e); + } + const P = Object(u.b)(a.RECEIVE_COMMISSION_METER_ERROR), + D = Object(u.b)(a.REQUEST_METER_CONFIG); + function L(e) { + return w({ type: a.RECEIVE_METER_CONFIG_UPDATE }, e); + } + function M(e, t = null) { + return { type: a.RECEIVE_METER_CONFIG_SUCCESS, receivedAt: Date.now(), meters: e, isFetching: t }; + } + const z = Object(u.b)(a.RECEIVE_METER_CONFIG_ERROR); + function U() { + return Object(c.b)(), (f = null), { type: a.CANCEL_METER }; + } + const V = Object(u.b)(a.REQUEST_SET_METER_CTS); + const G = Object(u.b)(a.RECEIVE_SET_METER_CTS_ERROR), + j = Object(u.b)(a.REQUEST_DELETE_METER_CTS); + const W = Object(u.b)(a.RECEIVE_DELETE_METER_CTS_ERROR), + F = Object(u.b)(a.REQUEST_METER_AMP_RATINGS); + const q = Object(u.b)(a.RECEIVE_METER_AMP_RATINGS_ERROR), + x = Object(u.b)(a.REQUEST_SET_METER_AMP_RATINGS); + const B = Object(u.b)(a.RECEIVE_SET_METER_AMP_RATINGS_ERROR), + H = Object(u.b)(a.REQUEST_METER_READINGS); + const K = Object(u.b)(a.RECEIVE_METER_READINGS_ERROR), + Y = Object(u.b)(a.REQUEST_METER_FLIP_CT); + const Q = Object(u.b)(a.RECEIVE_METER_FLIP_CT_ERROR), + Z = Object(u.b)(a.REQUEST_METER_AGGREGATES); + const J = Object(u.b)(a.RECEIVE_METER_AGGREGATES_ERROR), + X = Object(u.b)(a.REQUEST_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS); + const $ = Object(u.b)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_ERROR), + ee = Object(u.b)(a.REQUEST_SYNC_CT_VOLTAGE_REFERENCES); + const te = Object(u.b)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR), + ie = Object(u.b)(a.REQUEST_SET_SYNC_CT_VOLTAGE_REFERENCES); + const ne = Object(u.b)(a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR), + re = Object(u.b)(a.REQUEST_ENABLE_INVERTER_METER_READINGS); + function ae(e) { + return { type: a.RECEIVE_ENABLE_INVERTER_METER_READINGS_SUCCESS, enabled: e, receivedAt: Date.now() }; + } + const oe = Object(u.b)(a.RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR); + function se() { + return (e) => ( + e(R()), + e(Object(r.clearError)(a.RECEIVE_DETECT_METER_ERROR)), + fetch(_.a.api.uri + "/meters/detect_wired_meters", { method: "POST", credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e(M(t, !1)); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_DETECT_METER_ERROR, "Unable to detect any wired meters", t.response)), e(T()); + }) + ); + } + function _e(e, t) { + return (i) => ( + i(A()), + fetch(_.a.api.uri + "/meters", { method: "DELETE", credentials: _.a.credentials, body: JSON.stringify({ location: t.location, type: t.connectionType, ip_address: t.ipAddress, serial: t.serial }) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + var n; + i(((n = { id: e, serial: t.serial }), w({ type: a.RECEIVE_DELETE_METER_SUCCESS, receivedAt: Date.now() }, n))); + }) + .catch((e) => { + i(Object(r.showError)(a.RECEIVE_DELETE_METER_ERROR, e.toString(), e.response)), i(C()); + }) + ); + } + function le(e, t, i, n, o, s, c) { + return (d) => ( + d(I()), + d(Object(r.clearError)(a.RECEIVE_CREATE_METER_ERROR)), + d(Object(r.clearError)(a.RECEIVE_COMMISSION_METER_ERROR)), + fetch(_.a.api.uri + "/meters", { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify({ type: s, serial: i, short_id: t, location: c, ip_address: o, mac: n }) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((r) => { + d( + (function (e) { + return w({ type: a.RECEIVE_CREATE_METER_SUCCESS, receivedAt: Date.now() }, e); + })({ id: e, shortID: t, location: c, serial: r.serial, macAddress: n, ipAddress: o, connectionType: s, connected: r.connected, currentTransformersResponse: r.cts }) + ), + r.connected || d(ce(e, t, i, n, o, s)); + }) + .catch((e) => { + d(Object(r.showError)(a.RECEIVE_CREATE_METER_ERROR, e.toString(), e.response)), d(O()); + }) + ); + } + function ce(e, t, i, n, o, s) { + return async (c) => { + c(N()), c(Object(r.clearError)(a.RECEIVE_COMMISSION_METER_ERROR)); + let d = { short_id: t, serial: i }; + return ( + "" !== o && "" !== n && ((d.mac = n), (d.ip_address = o)), + fetch(`${_.a.api.uri}/meters/${i}/commission`, { method: "POST", credentials: _.a.credentials, body: JSON.stringify(d) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + c(me(e, i, t, n, o, s)); + }) + .catch((e) => { + c(Object(r.showError)(a.RECEIVE_COMMISSION_METER_ERROR, e.toString(), e.response)), c(P()); + }) + ); + }; + } + function de() { + return (e) => ( + e(D()), + fetch(_.a.api.uri + "/meters", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then(async (t) => { + let i = null; + if (t && t.length) { + for (let n = 0; n < t.length; n++) Object(m.s)(t[n].type) && e(he(t[n].serial)), t[n].connected || null != i || (i = n + 1); + let n = null == i; + if ((e(M(t, !n)), n)) return; + } + null == i && (i = 1), await Object(c.d)(500); + let { response: n, error: o } = await ue(); + if (n && null != n.status) { + let t = { status: n.status, id: i }; + n.serial && (t.serial = n.serial), + n.short_id && (t.short_id = n.short_id), + n.mac && (t.mac = n.mac), + n.ip_address && (t.ip_address = n.ip_address), + n.location && (t.location = n.location), + [p.Statuses.STARTED_WIFI_ADD, p.Statuses.SENDING_CREDENTIALS, p.Statuses.VERIFYING_METER, p.Statuses.ADD_METER_ERROR].includes(n.status) + ? (e(L(t)), e(me(i, t.serial, t.short_id, t.mac, t.ip_address, p.ConnectionTypes.NEURIO_W1_WIFI, 0))) + : ((t.isFetching = !1), e(L(t))); + } else e(o ? Object(r.showError)(a.RECEIVE_METER_CONFIG_ERROR, o.toString(), o.response) : Object(r.showError)(a.RECEIVE_METER_CONFIG_ERROR, "Fetch meter config error. Invalid response.")), e(z()); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_METER_CONFIG_ERROR, t.toString(), t.response)), e(z()); + }) + ); + } + async function ue() { + try { + return { response: await ge(), error: null }; + } catch (e) { + return { response: null, error: e }; + } + } + function me(e, t, i, n, s, _, l = 1e4) { + return async (u) => { + f = 0; + try { + await Object(c.d)(l); + for (let l = 0; l < 180; l++) { + if (null == f) return; + let { response: l, error: g } = await ue(); + if (l && null != l.status) { + if (l.status === p.Statuses.FAILED_METER) return l.serial ? u(k({ status: l.status, id: e })) : u(Object(r.showError)(a.RECEIVE_COMMISSION_METER_ERROR, h[l.status])), void u(P()); + if (l.status === p.Statuses.SUCCESS_METER) + return void u( + ((m = { id: e, connectionType: _, shortID: l.short_id || i, serial: l.serial || t, macAddress: l.mac || n, ipAddress: l.ip_address || s, status: l.status, location: l.location, verified: !0 }), + w({ type: a.RECEIVE_COMMISSION_METER_SUCCESS, receivedAt: Date.now() }, m)) + ); + u(k(w(w({}, l), {}, { id: e }))); + } else { + if (!g || (!Object(d.i)(g) && !Object(d.g)(g))) { + let t = "Invalid response"; + return g && (o.default.error(g), (t = g.toString())), u(Object(r.showError)(a.RECEIVE_COMMISSION_METER_ERROR, `Commission meter ${e} error: ${t}.`)), void u(P()); + } + u(k({ status: p.Statuses.RECONNECTING, id: e })); + } + await Object(c.d)(1e3); + } + u(Object(r.showError)(a.RECEIVE_COMMISSION_METER_ERROR, `Meter connection timeout. Could not commission meter ${e}, please check the connection.`)), u(P()); + } catch (e) { + u(Object(r.showError)(a.RECEIVE_COMMISSION_METER_ERROR, e.toString(), e.response)), u(P()); + } + var m; + }; + } + async function pe(e) { + return Object(c.e)( + c.a, + new Error("Request timed out"), + fetch(_.a.api.uri + "/meters/verify", { + method: "POST", + credentials: _.a.credentials, + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ location: e.location, type: e.connectionType, ip_address: e.ipAddress, serial: e.serial }), + }) + .then(l.checkStatus) + .then(() => {}) + .catch((e) => { + throw e; + }) + ); + } + async function ge() { + return fetch(_.a.api.uri + "/meters/status", { method: "GET", credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((e) => e) + .catch((e) => { + throw e; + }); + } + function we(e, t) { + return (i) => { + let n = null != e, + o = n ? e : t; + if (null == o) return; + i(V()); + let s = []; + for (let e = 1; e <= 4; e++) o.ids.includes(e) ? s.push(!0) : s.push(!1); + let c = { type: o.connectionType === p.CurrentTransformerConnectionTypes.DOUBLED_SOLAR ? p.CurrentTransformerConnectionTypes.SOLAR : o.connectionType, real_power_scale_factor: o.realPowerScaleFactor, valid: s }; + return fetch(`${_.a.api.uri}/meters/${o.serial}/cts`, { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(c) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + const e = n && null != t; + var r; + i(((r = w(w({}, o), {}, { isSetting: e })), w({ type: a.RECEIVE_SET_METER_CTS_SUCCESS, receivedAt: Date.now() }, r))), e && i(we(null, t)); + }) + .catch((e) => { + i(Object(r.showError)(a.RECEIVE_SET_METER_CTS_ERROR, e.toString(), e.response)), i(G()); + }); + }; + } + function ve(e) { + return (t) => ( + t(j()), + fetch(`${_.a.api.uri}/meters/${e}/cts`, { method: "DELETE", credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((i) => { + t( + (function (e) { + return w({ type: a.RECEIVE_DELETE_METER_CTS_SUCCESS, receivedAt: Date.now() }, e); + })({ serial: e }) + ); + }) + .catch((e) => { + t(Object(r.showError)(a.RECEIVE_DELETE_METER_CTS_ERROR, e.toString(), e.response)), t(W()); + }) + ); + } + function fe() { + return (e, t) => { + const { meter: i } = t(); + return ( + e(H()), + fetch(_.a.api.uri + "/meters/readings", { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + if (Object(n.isEmpty)(t)) null != i.lastReadingUpdatedAt && Date.now() - i.lastReadingUpdatedAt > 5e3 && e(S()); + else { + let i = !1; + Object(n.each)(t, (t, n) => { + null != t.error && + null != t.error.Err && + ((i = !0), e(Object(r.showError)(a.RECEIVE_METER_READINGS_ERROR, `Unable to read meter ${n}: Error Code ${t.error.Err}`, w(w({}, t.error), {}, { serial: n, detailed: !0 })))); + }), + i || e(Object(r.clearError)(a.RECEIVE_METER_READINGS_ERROR)); + } + e( + (function (e) { + return { type: a.RECEIVE_METER_READINGS_SUCCESS, receivedAt: Date.now(), readings: e }; + })(t) + ); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_METER_READINGS_ERROR, t.toString(), t.response)), e(K()); + }) + ); + }; + } + function he(e, t = !0) { + return (i) => ( + i(F()), + fetch(`${_.a.api.uri}/meters/${e}/ct_config`, { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + i( + (function (e, t) { + return { type: a.RECEIVE_METER_AMP_RATINGS_SUCCESS, serial: t, ampRatings: e }; + })(t.amp_ct_type, e) + ); + }) + .catch((e) => { + t || (i(Object(r.showError)(a.RECEIVE_METER_AMP_RATINGS_ERROR, e.toString(), e.response)), i(q())); + }) + ); + } + function Ee(e, t) { + return (i) => ( + i(x()), + i(Object(r.clearError)(a.RECEIVE_SET_METER_AMP_RATINGS_ERROR)), + fetch(`${_.a.api.uri}/meters/${e}/ct_config`, { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify({ amp_ct_type: t }) }) + .then(l.checkStatus) + .then(l.parseText) + .then((n) => { + var r; + i(((r = { serial: e, ampRatings: t }), w({ type: a.RECEIVE_SET_METER_AMP_RATINGS_SUCCESS }, r))); + }) + .catch((e) => { + i(Object(r.showError)(a.RECEIVE_SET_METER_AMP_RATINGS_ERROR, e.toString(), e.response)), i(B()); + }) + ); + } + function be(e, t) { + return (i) => { + i(Y()); + for (let e = t.length; e < 4; e++) t.push(!1); + return fetch(`${_.a.api.uri}/meters/${e}/invert_cts`, { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(t) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then(() => { + var n; + i(((n = { serial: e, inverted: t }), w({ type: a.RECEIVE_METER_FLIP_CT_SUCCESS }, n))); + }) + .catch((e) => { + i(Object(r.showError)(a.RECEIVE_METER_FLIP_CT_ERROR, e.toString(), e.response)), i(Q()); + }); + }; + } + function ye() { + return async (e) => { + e(Z()); + try { + return await Object(c.e)( + c.a, + new Error("Request timed out"), + fetch(_.a.api.uri + "/meters/aggregates", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e( + (function (e) { + return { type: a.RECEIVE_METER_AGGREGATES_SUCCESS, receivedAt: Date.now(), aggregates: e }; + })(t) + ); + }) + ); + } catch (t) { + e(J(new o.default(a.RECEIVE_METER_AGGREGATES_ERROR, t.toString(), t.response))); + } + }; + } + function Se(e) { + return async (t) => ( + t(ie()), + t(Object(r.clearError)(a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR)), + fetch(_.a.api.uri + "/synchrometer/ct_voltage_references", { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(e) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((e) => { + t( + (function (e) { + return { type: a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS, pairing: e, receivedAt: Date.now() }; + })(e) + ); + }) + .catch((e) => { + t(Object(r.showError)(a.RECEIVE_SET_SYNC_CT_VOLTAGE_REFERENCES_ERROR, e.toString(), e.response)), t(ne()); + }) + ); + } + function Re() { + return async (e) => ( + e(ee()), + e(Object(r.clearError)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR)), + fetch(_.a.api.uri + "/synchrometer/ct_voltage_references", { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return { type: a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_SUCCESS, pairing: e, receivedAt: Date.now() }; + })(t) + ); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCES_ERROR, t.toString(), t.response)), e(te()); + }) + ); + } + function Te() { + return async (e) => ( + e(X()), + e(Object(r.clearError)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_ERROR)), + fetch(_.a.api.uri + "/synchrometer/ct_voltage_references/options", { credentials: _.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return { type: a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_SUCCESS, options: e, receivedAt: Date.now() }; + })(t) + ); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_SYNC_CT_VOLTAGE_REFERENCE_OPTIONS_ERROR, t.toString(), t.response)), e($()); + }) + ); + } + function Ae(e) { + return (t) => ( + t(re()), + fetch(_.a.api.uri + "/meters/inverter_meter_readings", { method: "POST", credentials: _.a.credentials, body: JSON.stringify({ enabled: e }) }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((e) => { + t(ae(e.enabled)); + }) + .catch((e) => { + t(Object(r.showError)(a.RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR, e.toString(), e.response)), t(oe()); + }) + ); + } + function Ce() { + return (e) => ( + e(re()), + fetch(_.a.api.uri + "/meters/inverter_meter_readings", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e(ae(t.enabled)); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_ENABLE_INVERTER_METER_READINGS_ERROR, t.toString(), t.response)), e(oe()); + }) + ); + } + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAXNSR0IArs4c6QAAAbdJREFUOBGtVTtOQzEQnDwQFIlAoqOgIIQSikjAAYIQJQ25Ax0XQBQcghOkIBUlBWlpgCBBQZEQbgCIBCQQv5lgo5f31vwSS47Xs7Nj7/PaySDQzoG5Z2AtA5RIKbwDOdod2k3atRFgfx64sMLJ623HQJ7gDtEiezUCDl6A6yxw8wBMDAPTb8AqfWX2OhfYWgBatO12Aqywt06BzQYwarM+UfnFE19xJtcJNrjTRZMQAMVnbCMlrJQJtv4q6NdxworPewwUrCiVL8Aw6D86A9YNVxdyn6KiSaRT5lgcA3a73vDPI13qZnPxRelFKhuyqrPAk8l2IE+5w94OcVx8VXoRy2dZZRMie5y89us3ouJJh7wSR8yoDn1waJQoycGdKs7pFCKmlMuysENiHpfoOHDv59YoHekp/Y5uikWKY0x97w64jWNJWzrSU/pXunpJQnI+BExyF1NJPD53Ok2lf+juctyfssnZpvBSyhEDpEO9GlRXLP7Ln+56LNY0FS+dbp2656vOE9gw2b8EXXzd6QG6swO/+9oMRfXsDe6V8hk64b7fU5ZVb9OnINjXy58S9UvoFP/7H/UBvHyjEZxnGH8AAAAASUVORK5CYII="; + }, + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "resetGridCodeConfig", function () { + return y; + }), + i.d(t, "fetchGridCodes", function () { + return S; + }), + i.d(t, "saveGridCode", function () { + return R; + }), + i.d(t, "checkGridStatus", function () { + return T; + }), + i.d(t, "getGridStatus", function () { + return A; + }), + i.d(t, "saveOffGrid", function () { + return C; + }); + var n = i(27), + r = i(7), + a = i(2), + o = i(14), + s = i(5), + _ = i.n(s), + l = i(4), + c = i(6), + d = i(15); + function u(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function m(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(i), !0).forEach(function (t) { + p(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : u(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function p(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const g = Object(c.b)(a.REQUEST_GRID_CODES); + const w = Object(c.b)(a.RECEIVE_GRID_CODES_ERROR); + const v = Object(c.b)(a.RECEIVE_SAVE_GRID_CODE_ERROR), + f = Object(c.b)(a.REQUEST_GRID_STATUS); + const h = Object(c.b)(a.RECEIVE_GRID_STATUS_ERROR), + E = Object(c.b)(a.REQUEST_SAVE_OFF_GRID); + const b = Object(c.b)(a.RECEIVE_SAVE_OFF_GRID_ERROR), + y = Object(c.b)(a.RESET_GRID_CODE_CONFIG); + function S() { + return (e) => ( + e(g()), + fetch(_.a.api.uri + "/site_info/grid_regions", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + null == t || Object(n.isEmpty)(t) + ? (e(Object(r.showError)(a.RECEIVE_GRID_CODES_ERROR, "Error: Could not retrieve grid codes")), e(w())) + : e( + (function (e) { + return { type: a.RECEIVE_GRID_CODES_SUCCESS, receivedAt: Date.now(), gridRegions: e }; + })(t) + ); + }) + .catch((t) => { + e(Object(r.showError)(a.RECEIVE_GRID_CODES_ERROR, t.toString(), t.response)), e(w()); + }) + ); + } + function R(e, t = !1) { + return (i) => ( + i( + (function (e) { + return { type: a.REQUEST_SAVE_GRID_CODE, isSetting: e }; + })(t) + ), + fetch(_.a.api.uri + "/site_info/grid_code", { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(e) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then( + (e) => ( + i( + (function (e) { + return m({ type: a.RECEIVE_SAVE_GRID_CODE_SUCCESS, receivedAt: Date.now() }, e); + })(e) + ), + !0 + ) + ) + .catch((e) => (i(Object(r.showError)(a.RECEIVE_SAVE_GRID_CODE_ERROR, e.toString(), e.response)), i(v()), !1)) + ); + } + async function T() { + return fetch(_.a.api.uri + "/system_status/grid_status", { credentials: _.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((e) => e) + .catch((e) => { + throw e; + }); + } + function A() { + return async (e) => { + e(f()); + try { + e( + (function (e) { + return m({ type: a.RECEIVE_GRID_STATUS_SUCCESS, receivedAt: Date.now() }, e); + })(await Object(d.e)(d.a, new Error("Request timed out"), T())) + ); + } catch (t) { + e(h(new o.default(a.RECEIVE_GRID_STATUS_ERROR, t.toString(), t.response))); + } + }; + } + function C(e) { + return (t) => ( + t(E()), + fetch(_.a.api.uri + "/site_info/offgrid", { method: "POST", credentials: _.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify({ offgrid: e }) }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((i) => { + t( + (function (e) { + return m({ type: a.RECEIVE_SAVE_OFF_GRID_SUCCESS, receivedAt: Date.now() }, e); + })({ offGrid: e }) + ); + }) + .catch((e) => { + t(Object(r.showError)(a.RECEIVE_SAVE_OFF_GRID_ERROR, e.toString(), e.response)), t(b()); + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "requestNetworks", function () { + return E; + }), + i.d(t, "receiveNetworks", function () { + return b; + }), + i.d(t, "receiveNetworksError", function () { + return y; + }), + i.d(t, "requestAccessPoints", function () { + return S; + }), + i.d(t, "receiveAccessPointsSuccess", function () { + return R; + }), + i.d(t, "receiveAccessPointsError", function () { + return T; + }), + i.d(t, "resetNetworkConfig", function () { + return L; + }), + i.d(t, "requestClientProtocols", function () { + return M; + }), + i.d(t, "receiveClientProtocolsError", function () { + return z; + }), + i.d(t, "cancelNetwork", function () { + return V; + }), + i.d(t, "fetchNetworks", function () { + return G; + }), + i.d(t, "scanWifiNetworks", function () { + return j; + }), + i.d(t, "connectWifi", function () { + return W; + }), + i.d(t, "enableWifi", function () { + return F; + }), + i.d(t, "connectEthernet", function () { + return q; + }), + i.d(t, "disconnectNetwork", function () { + return x; + }), + i.d(t, "deleteNetwork", function () { + return B; + }), + i.d(t, "editNetworkService", function () { + return Q; + }), + i.d(t, "enableNetworkService", function () { + return Z; + }), + i.d(t, "startInternetConnectivityCheck", function () { + return J; + }), + i.d(t, "checkInternetConnectivity", function () { + return X; + }), + i.d(t, "pingNetworks", function () { + return $; + }), + i.d(t, "setClientProtocols", function () { + return ee; + }), + i.d(t, "fetchClientProtocols", function () { + return te; + }); + var n = i(18), + r = i.n(n), + a = i(7), + o = i(2), + s = i(14), + _ = i(37), + l = i(5), + c = i.n(l), + d = i(6), + u = i(96), + m = i(4), + p = i(15), + g = i(29); + function w(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function v(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? w(Object(i), !0).forEach(function (t) { + f(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : w(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function f(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + let h = null; + const E = Object(d.b)(o.REQUEST_NETWORKS); + function b(e) { + return { type: o.RECEIVE_NETWORKS_SUCCESS, receivedAt: Date.now(), networks: e }; + } + const y = Object(d.b)(o.RECEIVE_NETWORKS_ERROR), + S = Object(d.b)(o.REQUEST_ACCESS_POINTS); + function R(e) { + return { type: o.RECEIVE_ACCESS_POINTS_SUCCESS, receivedAt: Date.now(), accessPoints: e }; + } + const T = Object(d.b)(o.RECEIVE_ACCESS_POINTS_ERROR), + A = Object(d.b)(o.REQUEST_SCAN_WIFI_NETWORKS); + const C = Object(d.b)(o.RECEIVE_SCAN_WIFI_NETWORKS_ERROR); + const I = Object(d.b)(o.RECEIVE_CONNECT_WIFI_ERROR); + const O = Object(d.b)(o.RECEIVE_CONNECT_ETHERNET_SUCCESS), + N = Object(d.b)(o.RECEIVE_CONNECT_ETHERNET_ERROR), + k = Object(d.b)(o.REQUEST_DISCONNECT_NETWORK); + const P = Object(d.b)(o.RECEIVE_DISCONNECT_NETWORK_ERROR), + D = Object(d.b)(o.REQUEST_DELETE_NETWORK); + const L = Object(d.b)(o.RESET_NETWORK_CONFIG), + M = Object(d.b)(o.REQUEST_CLIENT_PROTOCOLS), + z = Object(d.b)(o.RECEIVE_CLIENT_PROTOCOLS_ERROR); + function U(e) { + return { type: o.RECEIVE_CLIENT_PROTOCOLS_SUCCESS, receivedAt: Date.now(), clientProtocols: e }; + } + function V() { + return Object(p.b)(), (h = null), { type: o.CANCEL_NETWORK }; + } + function G() { + return (e) => ( + e(E()), + e(Object(a.clearError)(o.RECEIVE_NETWORKS_ERROR)), + fetch(c.a.api.uri + "/networks", { credentials: c.a.credentials }) + .then(m.parseJSON) + .then(m.checkResponseStatus) + .then((t) => { + e(b(t.map(u.o))); + }) + .catch((t) => { + Object(g.g)(t) ? e(y(new s.default(o.RECEIVE_NETWORKS_ERROR, t.toString(), t.response))) : (e(Object(a.showError)(o.RECEIVE_NETWORKS_ERROR, t.toString(), t.response)), e(y())); + }) + ); + } + function j() { + return (e) => ( + e(A()), + e(Object(a.clearError)(o.RECEIVE_SCAN_WIFI_NETWORKS_ERROR)), + fetch(c.a.api.uri + "/networks/request_scan_wifi", { method: "POST", credentials: c.a.credentials }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .then(() => { + e({ type: o.RECEIVE_SCAN_WIFI_NETWORKS_SUCCESS, receivedAt: Date.now() }), e(G()); + }) + .catch((t) => { + Object(g.g)(t) ? e(C(new s.default(o.RECEIVE_SCAN_WIFI_NETWORKS_ERROR, t.toString(), t.response))) : (e(Object(a.showError)(o.RECEIVE_SCAN_WIFI_NETWORKS_ERROR, t.toString(), t.response)), e(C())); + }) + ); + } + function W(e, t, i, n, r) { + return async (s) => { + s( + (function (e) { + return { type: o.REQUEST_CONNECT_WIFI, startedAt: Date.now(), networkName: e, interface: _.d.WIFI }; + })(e) + ), + s(Object(a.clearError)(o.RECEIVE_CONNECT_WIFI_ERROR)); + let l = { networkName: e, interface: _.d.WIFI, username: n, password: i, securityType: t }; + try { + await Y(l, 6e4), s(F(e, n, r)); + } catch (t) { + if (Object(g.n)(t)) return s(Object(a.showError)(o.RECEIVE_CONNECT_WIFI_ERROR, t.toString(), t.response)), s(I()), !1; + s(F(e, n, r)); + } + return !0; + }; + } + function F(e, t, i, n = 1e3, r = 45) { + return async (s) => { + try { + await Object(p.d)(n); + for (let n = 0; n < r; n++) { + if (null == h) return; + const n = await H(e, i); + if (n) return s(((_ = v(v({}, n), {}, { ssid: e, username: t })), v({ type: o.RECEIVE_CONNECT_WIFI_SUCCESS, receivedAt: Date.now() }, _))), void s(G()); + await Object(p.d)(1e3); + } + throw new Error("Connection timeout. Please check the wifi connectivity and/or credentials."); + } catch (e) { + s(Object(a.showError)(o.RECEIVE_CONNECT_WIFI_ERROR, e.toString(), e.response)), s(I()); + } + var _; + }; + } + function q(e, t, i, n, r, s, l = 1e3, c = 45) { + return async (d) => { + d({ type: o.REQUEST_CONNECT_ETHERNET, startedAt: Date.now(), networkName: _.e.ETHERNET, interface: _.d.ETHERNET }), d(Object(a.clearError)(o.RECEIVE_CONNECT_ETHERNET_ERROR)); + const u = { networkName: _.e.ETHERNET, interface: _.d.ETHERNET, dhcp: e, ip: t, primaryDNS: r, backupDNS: s, subnet: i, gateway: n }; + try { + await Object(p.d)(l), await Q(u), await Y(u, 6e4); + for (let e = 0; e < c; e++) { + if (null == h) return; + if (await K(_.d.ETHERNET)) return void d(O()); + await Object(p.d)(1e3); + } + throw new Error("Connection timeout. Please check the ethernet connectivity and/or settings."); + } catch (e) { + d(Object(a.showError)(o.RECEIVE_CONNECT_ETHERNET_ERROR, e.toString(), e.response)), d(N()); + } + }; + } + function x(e, t) { + return (t) => ( + t(k()), + fetch(`${c.a.api.uri}/networks/${e}/disconnect`, { method: "DELETE", credentials: c.a.credentials }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .then(() => { + var i; + t(((i = { device: e }), v({ type: o.RECEIVE_DISCONNECT_NETWORK_SUCCESS, receivedAt: Date.now() }, i))), t(G()); + }) + .catch((e) => { + t(Object(a.showError)(o.RECEIVE_DISCONNECT_NETWORK_ERROR, e.toString(), e.response)), t(P()); + }) + ); + } + function B(e, t, i) { + return (i) => ( + i(D()), + i(Object(a.clearError)(o.RECEIVE_DELETE_NETWORK_ERROR)), + fetch(c.a.api.uri + "/networks", { method: "DELETE", credentials: c.a.credentials, body: JSON.stringify({ network_name: e, interface: t }) }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .then(() => { + var t; + i(((t = { networkName: e }), v({ type: o.RECEIVE_DELETE_NETWORK_SUCCESS, receivedAt: Date.now() }, t))), i(G()); + }) + .catch((e) => { + i(Object(a.showError)(o.RECEIVE_DELETE_NETWORK_ERROR, e.toString(), e.response)); + }) + ); + } + async function H(e, t) { + try { + return (await $()).find((i) => { + const n = i.interface === _.d.WIFI && i.networkName === e && !0 === i.active; + return t ? n && r()(i, (e) => e.iface_network_info.ip_networks[0].ip) : n; + }); + } catch (e) { + return; + } + } + async function K(e, t = !1) { + try { + return (await $()).find((i) => { + const n = i.interface === e && !0 === i.active; + return t ? n && r()(i, (e) => e.iface_network_info.ip_networks[0].ip) : n; + }); + } catch (e) { + return; + } + } + async function Y(e, t = 1e3) { + return ( + (h = 0), + Object(p.e)( + t, + new Error("Request timed out"), + fetch(c.a.api.uri + "/networks/connect", { method: "POST", credentials: c.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(Object(u.e)(e)) }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .then((e) => e) + .catch((e) => { + throw e; + }) + ) + ); + } + async function Q(e) { + return ( + (h = 0), + fetch(c.a.api.uri + "/networks", { method: "POST", credentials: c.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(Object(u.e)(e)) }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .catch((e) => { + throw e; + }) + ); + } + async function Z(e) { + return fetch(`${c.a.api.uri}/networks/enable_${e}`, { method: "POST", credentials: c.a.credentials }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .catch((e) => { + throw e; + }); + } + async function J() { + return fetch(c.a.api.uri + "/system/networks/conn_tests", { method: "POST", credentials: c.a.credentials }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .catch((e) => { + throw e; + }); + } + async function X() { + return fetch(c.a.api.uri + "/system/networks/conn_tests", { credentials: c.a.credentials }) + .then(m.parseText) + .then(m.parseResponseText) + .then(m.checkResponseStatus) + .then((e) => e) + .catch((e) => { + throw e; + }); + } + async function $(e = 2e3) { + return Object(p.e)( + e, + new Error("Request timed out"), + fetch(c.a.api.uri + "/networks", { credentials: c.a.credentials }) + .then(m.parseJSON) + .then(m.checkResponseStatus) + .then((e) => e.map(u.o)) + .catch((e) => { + throw e; + }) + ); + } + function ee(e) { + return (t) => ( + t(Object(a.clearError)(o.RECEIVE_CLIENT_PROTOCOLS_ERROR)), + t(M()), + fetch(c.a.api.uri + "/networks/client_protocols", { method: "POST", credentials: c.a.credentials, body: JSON.stringify(e) }) + .then(m.parseJSON) + .then(m.checkResponseStatus) + .then((e) => { + t(U(e)); + }) + .catch((e) => { + t(z()), t(Object(a.showError)(o.RECEIVE_CLIENT_PROTOCOLS_ERROR, e.toString(), e.response)); + }) + ); + } + function te() { + return (e) => ( + e(Object(a.clearError)(o.RECEIVE_CLIENT_PROTOCOLS_ERROR)), + e(M()), + fetch(c.a.api.uri + "/networks/client_protocols", { credentials: c.a.credentials }) + .then(m.parseJSON) + .then(m.checkResponseStatus) + .then((t) => { + e(U(t)); + }) + .catch((t) => { + e(Object(a.showError)(o.RECEIVE_CLIENT_PROTOCOLS_ERROR, t.toString(), t.response)), e(z()); + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return l; + }), + i.d(t, "sitemasterRunningSelector", function () { + return c; + }), + i.d(t, "isResiSelector", function () { + return d; + }); + var n = i(203), + r = i(46); + function a(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(i), !0).forEach(function (t) { + s(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : a(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function s(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const _ = { entities: {}, running: !0 }; + function l(e = _, { type: t, payload: i }) { + switch (t) { + case n.b: + return o(o({}, e), {}, { entities: o({}, i) }); + case n.a: + return o(o({}, e), {}, { entities: {} }); + case n.d: + return o(o({}, e), {}, { running: i.running }); + default: + return e; + } + } + const c = ({ modbus: e }) => e.running, + d = ({ configuration: e }) => Object(r.isResiGateway)(e.deviceType); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "resetCustomerInformation", function () { + return E; + }), + i.d(t, "getCustomerInformation", function () { + return S; + }), + i.d(t, "registerCustomerInformation", function () { + return R; + }), + i.d(t, "saveLegalInformation", function () { + return T; + }), + i.d(t, "getRegistration", function () { + return A; + }); + var n = i(2), + r = i(7), + a = i(127), + o = i(5), + s = i.n(o), + _ = i(6), + l = i(4), + c = i(15), + d = i(128); + function u(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function m(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? u(Object(i), !0).forEach(function (t) { + p(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : u(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function p(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const g = Object(_.b)(n.REQUEST_CUSTOMER_INFORMATION_CONFIG); + const w = Object(_.b)(n.RECEIVE_CUSTOMER_INFORMATION_CONFIG_ERROR), + v = Object(_.b)(n.REQUEST_SAVE_LEGAL_INFORMATION); + const f = Object(_.b)(n.RECEIVE_SAVE_LEGAL_INFORMATION_ERROR), + h = Object(_.b)(n.REQUEST_REGISTER_CUSTOMER_INFORMATION); + const E = Object(_.b)(n.RESET_CUSTOMER_INFORMATION), + b = Object(_.b)(n.REQUEST_REGISTRATION); + const y = Object(_.b)(n.RECEIVE_REGISTRATION_ERROR); + function S() { + return (e) => ( + e(g()), + fetch(s.a.api.uri + "/customer", { method: "GET", credentials: s.a.credentials }) + .then(l.parseText) + .then(l.parseResponseText) + .then(l.checkResponseStatus) + .then((t) => { + e( + (function (e) { + return m({ type: n.RECEIVE_CUSTOMER_INFORMATION_CONFIG_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(w(t)); + }) + ); + } + function R({ given_name: e, family_name: t, email: i, phone: o, street: _, city: u, state: p, zip: g, country: w }) { + return async (v) => { + v(h()), v(Object(r.clearError)(n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR)); + const f = { given_name: e, family_name: t, email: i, phone: o, street: _, city: u, state: p, zip: g, country: w }; + try { + await Object(c.e)( + 75e3, + new Error("Request timed out"), + fetch(s.a.api.uri + "/customer", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(f) }) + .then(l.parseJSON) + .then(l.checkResponseStatus) + .then( + (e) => ( + Object(d.a)(a.a), + v( + (function (e) { + return m({ type: n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_SUCCESS, receivedAt: Date.now() }, e); + })(e) + ), + null + ) + ) + ); + } catch (e) { + return ( + v(Object(r.showError)(n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR, e.toString(), e.response)), + v( + (function (e, t) { + return m({ type: n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR, error: e }, t); + })(e, f) + ), + e + ); + } + }; + } + function T({ marketing: e, privacyNotice: t, limitedWarranty: i, gridServices: a, consent: o }) { + return (_) => { + _(v()), _(Object(r.clearError)(n.RECEIVE_SAVE_LEGAL_INFORMATION_ERROR)); + let c = { marketing: e, privacy_notice: t, limited_warranty: i, grid_services: a }; + return fetch(s.a.api.uri + "/customer/registration/legal", { method: "POST", credentials: s.a.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify(c) }) + .then(l.parseJSON) + .then(l.checkResponseStatus) + .then((e) => { + _( + (function (e) { + return m({ type: n.RECEIVE_SAVE_LEGAL_INFORMATION_SUCCESS, receivedAt: Date.now() }, e); + })(m(m({}, e), {}, { consent: o })) + ); + }) + .catch((e) => { + _(Object(r.showError)(n.RECEIVE_SAVE_LEGAL_INFORMATION_ERROR, e.toString(), e.response)), _(f(e)); + }); + }; + } + function A() { + return (e) => ( + e(b()), + fetch(s.a.api.uri + "/customer/registration", { credentials: s.a.credentials }) + .then(l.checkStatus) + .then(l.parseJSON) + .then((t) => { + e( + (function (e) { + return m({ type: n.RECEIVE_REGISTRATION_SUCCESS, receivedAt: Date.now() }, e); + })(t) + ); + }) + .catch((t) => { + e(y(t)); + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return _; + }), + i.d(t, "sitemasterStatusSelector", function () { + return l; + }); + var n = i(200); + function r(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function a(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(i), !0).forEach(function (t) { + o(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : r(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function o(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { running: !0 }; + function _(e = s, { type: t, payload: i }) { + switch (t) { + case n.a: + return a(a({}, e), {}, { running: i.running }); + default: + return e; + } + } + const l = ({ meterValidation: e }) => e.running; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const s = a(i(1)), + _ = i(3), + l = o(i(579)), + c = o(i(153)), + d = o(i(585)), + u = o(i(271)), + m = o(i(653)), + p = o(i(654)), + g = o(i(273)), + w = i(50); + i(655); + class v extends s.Component { + constructor() { + super(...arguments), (this.state = { passwordInput: "", showPassword: !1 }); + } + getPassword() { + return this.state.passwordInput; + } + setPassword(e) { + this.setState({ passwordInput: e }); + } + render() { + var e, t; + let i = null !== (e = this.props.className) && void 0 !== e ? e : "password-input", + n = null !== (t = this.props.formClassName) && void 0 !== t ? t : "form-horizontal"; + const { customLabel: r, formError: a, showForm: o } = this.props; + let l = s.createElement( + "div", + { className: "form-group form-password " + (a ? "has-error" : ""), key: "fp" }, + s.createElement( + "label", + { className: "col-sm-2 control-label" }, + r ? s.createElement("span", null, r) : s.createElement("span", null, s.createElement(_.FormattedMessage, { id: "password_input_view_password", defaultMessage: "PASSWORD" })) + ), + s.createElement("div", { className: "col-sm-10" }, this._getShowPasswordIcon(), this._getPasswordInput()), + a ? s.createElement("span", { className: "help-block col-sm-10" }, s.createElement("img", { className: "warning", src: g.default, alt: "Warning" }), a) : null + ); + return o + ? s.createElement( + "div", + { className: i }, + s.createElement("form", { role: "form", className: n, onSubmit: this._handlePasswordSubmit.bind(this) }, l, this._getShowPasswordButton(), s.createElement("button", { type: "submit" })) + ) + : s.createElement("div", { className: i }, l, this._getShowPasswordButton()); + } + _getShowPasswordIcon() { + if (!this.props.useShowPasswordIcon) return null; + const { showPassword: e } = this.state, + { showSubmittable: t } = this.props; + return s.createElement("img", { + src: e ? m.default : p.default, + className: (0, w.classNames)("eye-icon py-3 pl-5 pr-4", { "eye-icon-submittable": t }), + onClick: this._handleShowPasswordChange.bind(this), + alt: "" + (e ? "Show password" : "Hide password"), + }); + } + _getShowPasswordButton() { + return this.props.useShowPasswordIcon + ? null + : s.createElement( + "div", + { className: "checkbox", key: "cb" }, + s.createElement( + "label", + null, + s.createElement("input", { type: "checkbox", onChange: this._handleShowPasswordChange.bind(this), defaultChecked: this.state.showPassword }), + s.createElement("span", null, s.createElement(_.FormattedMessage, { id: "password_input_view_show_password", defaultMessage: "Show Password" })) + ) + ); + } + _getPasswordInput() { + var e; + let t = this.state.passwordInput; + const { showSubmittable: i, useShowPasswordIcon: n, isValidating: r, inputProps: a } = this.props; + let o = Object.assign( + Object.assign( + { + type: this.state.showPassword ? "text" : "password", + name: "input-password", + autoCapitalize: "none", + autoComplete: "current-password", + autoCorrect: "off", + value: t, + onChange: this._handlePasswordChange.bind(this), + required: !0, + }, + a + ), + { className: (0, w.classNames)(null !== (e = null == a ? void 0 : a.className) && void 0 !== e ? e : "form-control", { "password-field-with-icon": !!n }) } + ); + if (!i) return s.createElement("input", Object.assign({}, o)); + let _ = "input-group-default", + m = c.default, + p = ""; + return ( + t.length && ((_ = "input-group-action"), (m = d.default)), + r && ((_ = "disabled " + (n ? "input-group-validation" : "input-group-default")), (m = u.default), (p = "spinner")), + s.createElement(l.default, { + inputProps: o, + inputAddonProps: { className: "input-group-addon relative " + _, onClick: this._handlePasswordSubmit.bind(this) }, + inputAddonView: s.createElement("img", { className: p, src: m, alt: "Password Submit" }), + }) + ); + } + _handlePasswordChange(e) { + let t = e.target.value; + t ? this.props.enableForward && this.props.enableForward(t) : this.props.disableForward && this.props.disableForward(), this.setState({ passwordInput: t }); + } + _handleShowPasswordChange() { + let e = !this.state.showPassword; + this.setState({ showPassword: e }), this.props.onShowPasswordChange && this.props.onShowPasswordChange(e); + } + _handlePasswordSubmit(e) { + e.preventDefault(), this.state.passwordInput && this.props.handleSubmit && this.props.handleSubmit(); + } + } + t.default = v; + }, + , + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.LoadingSpinner = void 0); + const s = a(i(1)), + _ = o(i(583)); + t.LoadingSpinner = (e) => s.createElement("img", { className: e.className, src: _.default }); + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "resetTests", function () { + return h; + }), + i.d(t, "cancelTest", function () { + return E; + }), + i.d(t, "fetchTestResults", function () { + return b; + }), + i.d(t, "runInverterTest", function () { + return y; + }), + i.d(t, "fetchAlerts", function () { + return S; + }); + var n = i(2), + r = i(14), + a = i(7), + o = i(22), + s = i(5), + _ = i.n(s), + l = i(6), + c = i(4); + function d(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function u(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const m = Object(l.b)(n.REQUEST_TEST_RESULTS); + function p(e) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? d(Object(i), !0).forEach(function (t) { + u(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : d(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + })({ type: n.RECEIVE_TEST_RESULTS, receivedAt: Date.now() }, e); + } + const g = Object(l.b)(n.REQUEST_RUN_INVERTER_TEST); + const w = Object(l.b)(n.REQUEST_CANCEL_TEST); + const v = Object(l.b)(n.REQUEST_TEST_ALERTS); + const f = Object(l.b)(n.RECEIVE_TEST_ALERTS_ERROR), + h = Object(l.b)(n.RESET_TESTS); + function E() { + return (e) => ( + e(w()), + e(Object(a.clearErrors)()), + fetch(_.a.api.uri + "/system/testing", { method: "DELETE", credentials: _.a.credentials }) + .then(c.parseText) + .then(c.parseResponseText) + .then(c.checkResponseStatus) + .then(() => { + e({ type: n.RECEIVE_CANCEL_TEST_SUCCESS, receivedAt: Date.now() }); + }) + .catch((t) => { + e(Object(a.showError)(n.RECEIVE_CANCEL_TEST_ERROR, t.toString(), t.response)); + }) + ); + } + function b() { + return (e) => ( + e(m()), + e(Object(a.clearErrors)()), + fetch(_.a.api.uri + "/system/testing", { credentials: _.a.credentials }) + .then(c.parseText) + .then(c.parseResponseText) + .then(c.checkResponseStatus) + .then((t) => { + e(p(t)); + }) + .catch((t) => { + e( + (function (e) { + let t = e.getContext(); + return { type: n.RECEIVE_TEST_RESULTS_ERROR, errors: null != t ? t.error : null }; + })(new r.default(n.RECEIVE_TEST_RESULTS_ERROR, t.toString(), t.response)) + ); + }) + ); + } + function y() { + return (e) => ( + e(g()), + e(Object(a.clearErrors)()), + fetch(_.a.api.uri + "/system/testing/PINV_TEST", { method: "POST", credentials: _.a.credentials }) + .then(c.parseText) + .then(c.parseResponseText) + .then(c.checkResponseStatus) + .then(() => { + e({ type: n.RECEIVE_RUN_INVERTER_TEST_SUCCESS, receivedAt: Date.now(), running: !0, status: o.o.INIT }); + }) + .catch((t) => { + e(Object(a.showError)(n.RECEIVE_RUN_INVERTER_TEST_ERROR, t.toString(), t.response)), + e( + (function (e) { + let t = e.getContext(); + return { type: n.RECEIVE_RUN_INVERTER_TEST_ERROR, errors: null != t ? t.error : null }; + })(new r.default(n.RECEIVE_RUN_INVERTER_TEST_ERROR, t.toString(), t.response)) + ); + }) + ); + } + function S() { + return (e) => ( + e(v()), + fetch(_.a.api.uri + "/system_status/grid_faults", { credentials: _.a.credentials }) + .then(c.checkStatus) + .then(c.parseJSON) + .then((t) => { + e( + (function (e) { + return { type: n.RECEIVE_TEST_ALERTS_SUCCESS, receivedAt: Date.now(), alerts: e }; + })(t) + ); + }) + .catch((t) => { + e(f(new r.default(n.RECEIVE_TEST_ALERTS_ERROR, t.toString(), t.response))); + }) + ); + } + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return l; + }), + i.d(t, "hasSolarPowerwallSelector", function () { + return d; + }); + var n = i(13), + r = i(92); + function a(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function o(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? a(Object(i), !0).forEach(function (t) { + s(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : a(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function s(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const _ = { + isChecking: !1, + isFetching: !1, + isEnumerating: !1, + isUpdating: !1, + isDetectingGrid: !1, + isDetectingPhase: !1, + isSettingPhase: !1, + didInvalidate: !1, + gridQualifying: !1, + gridCodeValidating: !1, + detectedOnGrid: null, + soe: null, + hasBackupDisconnect: !1, + hasSync: !1, + syncStatus: null, + items: [], + lineStatuses: [], + lineVoltages: [0, 0, 0], + phaseDetectionNotAvailable: !1, + pviSubPackageNumbers: null, + }; + function l(e = _, t) { + switch (t.type) { + case "REQUEST_POWERWALLS_UPDATE": + return o(o({}, e), {}, { isUpdating: !0, didInvalidate: !1 }); + case "REQUEST_POWERWALLS_STATUS": + return o(o({}, e), {}, { isChecking: !0 }); + case "REQUEST_START_PHASE_DETECTION": + return o(o({}, e), {}, { isDetectingPhase: !0, didInvalidate: !1 }); + case "REQUEST_SAVE_PHASE_USAGES": + return o(o({}, e), {}, { isSettingPhase: !0 }); + case "REQUEST_POWERWALLS": + return o(o({}, e), {}, { isFetching: !0 }); + case "SCAN_POWERWALLS": + return o(o({}, e), {}, { isEnumerating: !0, isFetching: !0, didInvalidate: !1 }); + case "RECEIVE_POWERWALLS": + return o( + o({}, e), + {}, + { + isEnumerating: !1, + isFetching: !1, + didInvalidate: !1, + lastUpdatedAt: t.receivedAt, + hasBackupDisconnect: !!t.sync || !!t.msa, + hasSync: !!t.sync, + syncStatus: t.sync_status, + isUpdating: t.updating, + isDetectingGrid: t.checking_if_offgrid, + detectedOnGrid: t.is_on_grid, + isDetectingPhase: t.running_phase_detection, + gridQualifying: t.grid_qualifying, + gridCodeValidating: t.grid_code_validating, + phaseDetectionNotAvailable: t.phase_detection_not_available, + msa: t.msa ? { partNumber: t.msa.PackagePartNumber || "", serialNumber: t.msa.PackageSerialNumber || "" } : null, + items: t.powerwalls + ? t.powerwalls.map((e) => ({ + partNumber: e.PackagePartNumber || "", + serialNumber: e.PackageSerialNumber || "", + type: e.type, + status: e.status, + line: c(e.phase), + gridState: e.grid_state, + gridReconnectDurationSeconds: null != e.grid_reconnection_time_seconds ? Math.round(e.grid_reconnection_time_seconds) : e.grid_reconnection_time_seconds, + })) + : [], + } + ); + case "RECEIVE_POWERWALLS_STATUS_SUCCESS": + return o( + o({}, e), + {}, + { + isChecking: !1, + isEnumerating: t.enumerating, + isUpdating: t.updating, + isDetectingGrid: t.checking_if_offgrid, + detectedOnGrid: t.is_on_grid, + isDetectingPhase: t.running_phase_detection, + gridQualifying: t.grid_qualifying, + gridCodeValidating: t.grid_code_validating, + phaseDetectionNotAvailable: t.phase_detection_not_available, + } + ); + case "RECEIVE_FETCH_PHASE_INFORMATION_SUCCESS": + return o(o({}, e), {}, { didInvalidate: !1, lineStatuses: t.lineStatuses, lineVoltages: t.lineVoltages }); + case "RECEIVE_SAVE_PHASE_USAGES_SUCCESS": + return o(o({}, e), {}, { lineStatuses: t.lineStatuses, lineVoltages: t.lineVoltages, isSettingPhase: !1 }); + case "RECEIVE_SOE_SUCCESS": + return o(o({}, e), {}, { soe: t.percentage }); + case "RECEIVE_START_PHASE_DETECTION_SUCCESS": + return o({}, e); + case "RECEIVE_POWERWALLS_STATUS_ERROR": + return o(o({}, e), {}, { isChecking: !1 }); + case "RECEIVE_POWERWALLS_ERROR": + return o(o({}, e), {}, { isEnumerating: !1, isFetching: !1, didInvalidate: !0 }); + case "RECEIVE_POWERWALLS_UPDATE_ERROR": + return o(o({}, e), {}, { isUpdating: !1, didInvalidate: !0 }); + case "RECEIVE_START_PHASE_DETECTION_ERROR": + return o(o({}, e), {}, { isDetectingPhase: !1, didInvalidate: !0 }); + case "RECEIVE_SAVE_PHASE_USAGES_ERROR": + return o(o({}, e), {}, { isSettingPhase: !1 }); + case "RECEIVE_FETCH_PHASE_INFORMATION_ERROR": + return o(o({}, e), {}, { didInvalidate: !0, lineStatuses: [], lineVoltages: [0, 0, 0] }); + case "RECEIVE_POWERWALLS_PVI_SUB_PACKAGE_NUMBERS": + return o(o({}, e), {}, { pviSubPackageNumbers: t.pvi_sub_package_numbers }); + case "RESET_ALL": + case "RESET_POWERWALL_CONFIG": + return _; + default: + return e; + } + } + function c(e) { + switch (e) { + case n.i.PHASE_1: + case n.h[n.i.PHASE_1]: + return 0; + case n.i.PHASE_2: + case n.h[n.i.PHASE_2]: + return 1; + case n.i.PHASE_3: + case n.h[n.i.PHASE_3]: + return 2; + default: + return 0; + } + } + function d({ powerwall: e }) { + return e.items.some((e) => e.type === r.a.SolarPowerwall); + } + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3); + t.default = () => + r.default.createElement( + "div", + { className: "not-found" }, + r.default.createElement(a.FormattedMessage, { tagName: "h3", id: "not_found_title", defaultMessage: "404 page not found" }), + r.default.createElement(a.FormattedMessage, { tagName: "p", id: "not_found_description", defaultMessage: "We are sorry but the page you are looking for does not exist." }) + ); + }, + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return d; + }), + i.d(t, "errorSelector", function () { + return u; + }); + var n = i(27), + r = i(2), + a = i(14), + o = i(29); + function s(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function _(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? s(Object(i), !0).forEach(function (t) { + l(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : s(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function l(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const c = { items: [] }; + function d(e = c, t) { + switch (t.type) { + case r.SHOW_ERROR: + return _(_({}, e), {}, { items: Object(n.uniqBy)([...e.items, new a.default(t.name, t.message, t.context, t.logError)], (e) => e.getName() + " - " + e.getMessage()) }); + case r.CLEAR_ERROR: + return _(_({}, e), {}, { items: e.items.filter((e) => (t.context ? !(e.getName() === t.name && Object(n.isEqual)(t.context, e.getContext())) : e.getName() !== t.name)) }); + case r.CLEAR_ERRORS: + return _(_({}, e), {}, { items: [] }); + case r.RECEIVE_LOGIN_SUCCESS: + return _(_({}, e), {}, { items: e.items.filter((e) => !Object(o.o)(e)) }); + case r.RESET_ALL: + case r.RESET_ERROR_CONFIG: + return c; + default: + return e; + } + } + const u = ({ error: e }) => e; + }, + , + , + , + , + , + , + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAXNSR0IArs4c6QAAAZVJREFUOBGtlbtKA0EYhbPipQkIipjWYCHCNhZCGi2ExTJvYCPY5hUE38AXsLFJ5QMY0U5r8YZRLNJqZWO1fmeZ2Uz0342XDRz+f845c3ZnmNlEtYJfmqYxUhtsgWVQB++gD3rgJIqia+r4H2FNcAzuwD5ogQaYdlVj8dLla5amYkjAM+iAmTKzdOeTPzG9EsAjWDcNBaT8bt5oMKSWrCf+KtA/R/Pc/OFWQGhvOt5kVfQ5i/ec5isnG9PEQJv+bQ/hpsABuHF4oe74oLDCa4+VE08i6Nh0OR4focn1G1Txa9KZsEJ/Qb1ifO88WXF6l0G7hkGmVmgo6/Fegm3LoxxwrtABaFimkMMzC/aAtmA+1HwPr/M8mIDQTXnzglUxbsLfglWQsNRXywennPqP3pRQHZnDgqCcxpO/6RPsUq7YzQP0kS2NsMrpa/mnwNz4wL5IvxCMi1rl9LT8wnPqZ+LZBWd+bFX0/JxmOsTYG2UFhRwZwxslAaL6u++Cq/1K+WXwxtV+T4Pgf3/5Ix/2tfLWf/6P+gSsbLdeCWlBGQAAAABJRU5ErkJggg=="; + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) {}, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.SiteControllerLocation = void 0); + const r = n(i(1)), + a = i(138), + o = i(3), + s = n(i(748)), + _ = n(i(263)), + l = i(48), + c = n(i(750)), + d = n(i(447)), + u = n(i(752)), + m = n(i(753)), + p = n(i(754)); + var g; + !(function (e) { + (e.Gateway = "Gateway"), (e.SolarPowerwall = "SolarPowerwall"); + })((g = t.SiteControllerLocation || (t.SiteControllerLocation = {}))), + (t.default = function (e) { + const t = e.root, + i = `${t.partNumber()}--${t.serialNumber()}`; + let n = !1, + w = !1, + v = 0, + f = t.vitals().getString("STSTSM-Location"); + t.followers.length > 0 ? (n = !0) : t.leader && (w = !0); + let h = !1, + E = !1; + for (const e of t.children) { + const t = e.type(); + t === a.DeviceType.SYNC ? (E = !0) : t === a.DeviceType.MSA && (h = !0); + } + let b = t.children.map((i) => { + const o = i.din(); + switch (i.type()) { + case a.DeviceType.SPW: + let _ = v; + return v++, r.default.createElement(p.default, { device: i, key: o, leader: n, follower: w, index: _, sitemanagerRunning: e.sitemanagerRunning }); + case a.DeviceType.ACPW: + return r.default.createElement(m.default, { device: i, key: o }); + case a.DeviceType.MSA: + return r.default.createElement(c.default, { device: i, key: o }); + case a.DeviceType.SYNC: + return h + ? r.default.createElement(s.default, { device: i, key: o, overrideSerialNumber: f === g.Gateway ? t.serialNumber() : void 0 }) + : r.default.createElement(c.default, { device: i, key: o, overrideSerialNumber: f === g.Gateway ? t.serialNumber() : void 0 }); + case a.DeviceType.NEURIO: + return r.default.createElement(u.default, { device: i, key: o }); + } + }), + y = []; + for (let e in l.InstallationProblems) t.vitals().getBoolean("STSTSM-" + e) && y.push(r.default.createElement(_.default, { key: e, problem: e, location: f, hasMSA: h, hasSYNC: E, hasSolarPowerwall: v > 0 })); + return ( + (b = b.filter((e) => !!e)), + r.default.createElement( + "div", + { className: "system-sitecontroller" }, + f === g.Gateway && r.default.createElement(o.FormattedMessage, { id: "system_gateway_din", defaultMessage: "Gateway: {din}", values: { din: r.default.createElement("b", null, i) } }), + f === g.SolarPowerwall && r.default.createElement(o.FormattedMessage, { id: "system_controller_din", defaultMessage: "Controller: {din}", values: { din: r.default.createElement("b", null, i) } }), + y, + b, + 0 === b.length && + r.default.createElement(d.default, { din: i }, r.default.createElement(o.FormattedMessage, { id: "system-device-unknown-sitecontroller", defaultMessage: "Device has not yet discovered its children" })) + ) + ); + }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(62); + t.default = function ({ din: e, children: t }) { + return r.default.createElement( + "div", + { className: "system-sitecontroller missing" }, + r.default.createElement(a.DeviceView, { doNotCollapse: !0 }, r.default.createElement(a.DeviceHeader, null, e), r.default.createElement(a.DeviceBody, null, t)) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(155), + o = i(3), + s = i(62), + _ = (0, o.defineMessages)({ + PINV_ACStageFault: { id: "vitals_powerwall_state_ac_fault", defaultMessage: "AC Stage Fault" }, + PINV_DCStageFault: { id: "vitals_powerwall_state_dc_fault", defaultMessage: "DC Stage Fault" }, + PINV_GridForming: { id: "vitals_powerwall_state_grid_forming", defaultMessage: "Grid Forming" }, + PINV_GridFollowing: { id: "vitals_powerwall_state_grid_following", defaultMessage: "Grid Following" }, + PINV_SupportDC: { id: "vitals_powerwall_state_support_dc", defaultMessage: "Support DC" }, + PINV_Standby: { id: "vitals_powerwall_state_standby", defaultMessage: "Standby" }, + PINV_Init: { id: "vitals_powerwall_state_init", defaultMessage: "Initializing" }, + PINV_Off: { id: "vitals_powerwall_state_off", defaultMessage: "Off" }, + }); + t.default = function (e) { + const t = e.device.vitals(); + let i, + n = t.getString("PINV_State"), + l = n && _[n], + c = l ? r.default.createElement(o.FormattedMessage, Object.assign({}, l)) : s.MissingValue, + d = t.getNumber("POD_nom_energy_remaining"), + u = t.getNumber("POD_nom_full_pack_energy"); + void 0 !== d && void 0 !== u && (i = (100 * d) / u); + let m = t.getNumber("PINV_Vout"), + p = t.getNumber("PINV_Pout"); + return ( + p && (p *= 1e3), + r.default.createElement( + r.default.Fragment, + null, + r.default.createElement("p", { className: "vitals-value" }, r.default.createElement(o.FormattedMessage, { id: "system_acpw_vitals_state", defaultMessage: "Powerwall State: {state}", values: { state: c } })), + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(o.FormattedMessage, { id: "system_acpw_vitals_charge", defaultMessage: "Charge Level: {charge}%", values: { charge: r.default.createElement(s.Vital, { value: i }) } }) + ), + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(o.FormattedMessage, { + id: "system_acpw_vitals_voltage", + defaultMessage: "AC Voltage: {voltage}", + values: { voltage: r.default.createElement(a.Volts, { value: r.default.createElement(s.Vital, { value: m }) }) }, + }) + ), + !p && + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(o.FormattedMessage, { + id: "system_acpw_vitals_power", + defaultMessage: "AC Power: {power}", + values: { power: r.default.createElement(a.Watts, { value: r.default.createElement(s.Vital, { value: p }) }) }, + }) + ), + void 0 !== p && + p > 0 && + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(o.FormattedMessage, { + id: "system_acpw_vitals_power_discharging", + defaultMessage: "AC Power: {power} Discharging", + values: { power: r.default.createElement(a.Watts, { value: r.default.createElement(s.Vital, { value: p }) }) }, + }) + ), + void 0 !== p && + p < 0 && + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(o.FormattedMessage, { + id: "system_acpw_vitals_power_charging", + defaultMessage: "AC Power: {power} Charging", + values: { power: r.default.createElement(a.Watts, { value: r.default.createElement(s.Vital, { value: -p }) }) }, + }) + ) + ) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.powerStatusMessages = t.PowerStatus = void 0); + const s = a(i(1)), + _ = i(3), + l = i(50), + c = o(i(5)), + d = i(264); + var u; + !(function (e) { + (e.UNSET = "unset"), (e.ON = "on"), (e.OFF = "off"), (e.DC_ONLY = "dc_only"); + })((u = t.PowerStatus || (t.PowerStatus = {}))), + (t.powerStatusMessages = (0, _.defineMessages)({ + [u.OFF]: { id: "pvi-power-status-disabled", description: "Label for button that sets the PV Inverter's power status to off (i.e. disconnect from DC strings and do not push power on AC).", defaultMessage: "Disabled" }, + [u.DC_ONLY]: { id: "pvi-power-status-dc-only", description: "Label for button that sets the PV Inverter's power status to DC connected (i.e. connect on DC but do not push power on AC).", defaultMessage: "DC Only" }, + [u.ON]: { id: "pvi-power-status-enabled", description: "Label for button that sets the PV Inverter's power status to A/C producing (i.e. connect on DC and push power on AC).", defaultMessage: "Enabled" }, + })), + (t.default = function ({ device: e, powerwallId: i, follower: n, sitemanagerRunning: r }) { + let a = !r; + i.startsWith("STSTSM--") && (i = i.substring(8)); + let [o, m] = (0, s.useState)(u.UNSET), + [p, g] = (0, s.useState)(0); + function w(t) { + var r; + if (t === o) return; + let a = null === (r = e.parent) || void 0 === r ? void 0 : r.din(); + (null == a ? void 0 : a.startsWith("TETHC--")) && (a = a.substring(7)); + const s = c.default.api.uri + "/powerwalls/pvi_power_status", + _ = { pvi_power_status: t, battery_din: a, follower_din: n ? i : "" }; + fetch(s, { method: "POST", credentials: c.default.credentials, body: JSON.stringify(_) }), m(t), g(Date.now()); + } + (0, s.useEffect)(() => { + const t = d.VITALS_FETCH_INTERVAL + 1e3; + let i = e.vitals().getString("PVI-PowerStatusSetpoint"); + i === u.UNSET ? (i = u.ON) : i || (i = u.UNSET), i !== o && (o === u.UNSET || Date.now() - p > t) && m(i); + }, [e]); + let v = { className: (0, l.classNames)("inverter-power-button-left", { "inverter-power-button-selected": o === u.OFF }), onClick: () => w(u.OFF), disabled: a }, + f = { className: (0, l.classNames)("inverter-power-button-center", { "inverter-power-button-selected": o === u.DC_ONLY }), onClick: () => w(u.DC_ONLY), disabled: a }, + h = { className: (0, l.classNames)("inverter-power-button-right", { "inverter-power-button-selected": o === u.ON }), onClick: () => w(u.ON), disabled: a }; + return s.default.createElement( + "div", + { className: "inverter-power-buttons" }, + s.default.createElement("button", Object.assign({}, v), s.default.createElement(_.FormattedMessage, Object.assign({}, t.powerStatusMessages[u.OFF]))), + s.default.createElement("button", Object.assign({}, f), s.default.createElement(_.FormattedMessage, Object.assign({}, t.powerStatusMessages[u.DC_ONLY]))), + s.default.createElement("button", Object.assign({}, h), s.default.createElement(_.FormattedMessage, Object.assign({}, t.powerStatusMessages[u.ON]))) + ); + }); + }, + , + , + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.BytesValue = t.StringValue = t.BoolValue = t.UInt32Value = t.Int32Value = t.UInt64Value = t.Int64Value = t.FloatValue = t.DoubleValue = void 0); + const n = i(40), + r = { value: 0 }, + a = { value: 0 }, + o = { value: 0 }, + s = { value: 0 }, + _ = { value: 0 }, + l = { value: 0 }, + c = { value: !1 }, + d = { value: "" }, + u = {}; + function m(e) { + if (e.gt(Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + return e.toNumber(); + } + (t.DoubleValue = { + encode: (e, t = n.Writer.create()) => (t.uint32(9).double(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, r); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.value = i.double(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.FloatValue = { + encode: (e, t = n.Writer.create()) => (t.uint32(13).float(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, a); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.value = i.float(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.Int64Value = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).int64(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, o); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = m(i.int64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.UInt64Value = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).uint64(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, s); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = m(i.uint64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.Int32Value = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).int32(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, _); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.UInt32Value = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).uint32(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, l); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.uint32(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.BoolValue = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).bool(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, c); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.bool(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.StringValue = { + encode: (e, t = n.Writer.create()) => (t.uint32(10).string(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, d); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.BytesValue = { + encode: (e, t = n.Writer.create()) => (t.uint32(10).bytes(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let r = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, u); + for (; i.pos < r; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.value = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.EnergySiteNetAPIGetConfigResponse = t.EnergySiteNetAPIGetConfigRequest = t.EnergySiteNetAPIRemoveDeviceResponse = t.EnergySiteNetAPIRemoveDeviceRequest = t.EnergySiteNetAPIAddDeviceResponse = t.EnergySiteNetAPIAddDeviceRequest = t.EnergySiteNetConfig = t.EnergySiteNetUnpairedDevice = t.EnergySiteNetRecentlyRemovedDevice = t.EnergySiteNetRecentlyAddedDevice = t.EnergySiteNetDevice = t.EnergySiteNetRemovalStatus = t.EnergySiteNetAdditionStatus = void 0); + const n = i(175), + r = i(40), + a = {}, + o = { status: 0 }, + s = { status: 0 }, + _ = {}, + l = {}, + c = {}, + d = {}, + u = {}, + m = {}, + p = {}, + g = {}; + !(function (e) { + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_INVALID = 0)] = "ENERGY_SITE_NET_ADDITION_STATUS_INVALID"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_IN_PROGRESS = 1)] = "ENERGY_SITE_NET_ADDITION_STATUS_IN_PROGRESS"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_ADDED = 2)] = "ENERGY_SITE_NET_ADDITION_STATUS_ADDED"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_FOUND = 3)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_FOUND"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CANNOT_JOIN = 4)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CANNOT_JOIN"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NO_RESPONSE = 5)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NO_RESPONSE"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_BAD_RESPONSE = 6)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_BAD_RESPONSE"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_INTERNAL_ERROR = 7)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_INTERNAL_ERROR"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CHANGES_PROHIBITED = 8)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CHANGES_PROHIBITED"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_MAX_DEVICES = 9)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_MAX_DEVICES"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_LEADER = 10)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_LEADER"), + (e[(e.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_EXISTS = 11)] = "ENERGY_SITE_NET_ADDITION_STATUS_FAILED_EXISTS"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.EnergySiteNetAdditionStatus || (t.EnergySiteNetAdditionStatus = {})), + (function (e) { + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_INVALID = 0)] = "ENERGY_SITE_NET_REMOVAL_STATUS_INVALID"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_IN_PROGRESS = 1)] = "ENERGY_SITE_NET_REMOVAL_STATUS_IN_PROGRESS"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_REMOVED = 2)] = "ENERGY_SITE_NET_REMOVAL_STATUS_REMOVED"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NO_SUCH_DEVICE = 3)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NO_SUCH_DEVICE"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_INTERNAL_ERROR = 4)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_INTERNAL_ERROR"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_CHANGES_PROHIBITED = 5)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_CHANGES_PROHIBITED"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_LEADER = 6)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_LEADER"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_SOLO = 7)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_AM_SOLO"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NOT_LEADER = 8)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_NOT_LEADER"), + (e[(e.ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_LEADER_AVAILABLE = 9)] = "ENERGY_SITE_NET_REMOVAL_STATUS_FAILED_LEADER_AVAILABLE"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.EnergySiteNetRemovalStatus || (t.EnergySiteNetRemovalStatus = {})), + (t.EnergySiteNetDevice = { + encode: (e, t = r.Writer.create()) => ( + void 0 !== e.din && void 0 !== e.din && n.Din.encode(e.din, t.uint32(10).fork()).ldelim(), void 0 !== e.wifiApConfig && void 0 !== e.wifiApConfig && n.WifiConfig.encode(e.wifiApConfig, t.uint32(18).fork()).ldelim(), t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, a); + for (; i.pos < o; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.din = n.Din.decode(i, i.uint32()); + break; + case 2: + s.wifiApConfig = n.WifiConfig.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }), + (t.EnergySiteNetRecentlyAddedDevice = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.din && void 0 !== e.din && n.Din.encode(e.din, t.uint32(10).fork()).ldelim(), t.uint32(16).int32(e.status), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, o); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.din = n.Din.decode(i, i.uint32()); + break; + case 2: + s.status = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }), + (t.EnergySiteNetRecentlyRemovedDevice = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.din && void 0 !== e.din && n.Din.encode(e.din, t.uint32(10).fork()).ldelim(), t.uint32(16).int32(e.status), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, s); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.din = n.Din.decode(i, i.uint32()); + break; + case 2: + o.status = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetUnpairedDevice = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.din && void 0 !== e.din && n.Din.encode(e.din, t.uint32(10).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, _); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.din = n.Din.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetConfig = { + encode(e, i = r.Writer.create()) { + for (const n of e.devices) t.EnergySiteNetDevice.encode(n, i.uint32(10).fork()).ldelim(); + void 0 !== e.recentlyAdded && void 0 !== e.recentlyAdded && t.EnergySiteNetRecentlyAddedDevice.encode(e.recentlyAdded, i.uint32(18).fork()).ldelim(), + void 0 !== e.recentlyRemoved && void 0 !== e.recentlyRemoved && t.EnergySiteNetRecentlyRemovedDevice.encode(e.recentlyRemoved, i.uint32(26).fork()).ldelim(); + for (const n of e.unpairedDevices) t.EnergySiteNetUnpairedDevice.encode(n, i.uint32(34).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, l); + for (o.devices = [], o.unpairedDevices = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.devices.push(t.EnergySiteNetDevice.decode(n, n.uint32())); + break; + case 2: + o.recentlyAdded = t.EnergySiteNetRecentlyAddedDevice.decode(n, n.uint32()); + break; + case 3: + o.recentlyRemoved = t.EnergySiteNetRecentlyRemovedDevice.decode(n, n.uint32()); + break; + case 4: + o.unpairedDevices.push(t.EnergySiteNetUnpairedDevice.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetAPIAddDeviceRequest = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.device && void 0 !== e.device && t.EnergySiteNetDevice.encode(e.device, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, c); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.device = t.EnergySiteNetDevice.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetAPIAddDeviceResponse = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.recentlyAdded && void 0 !== e.recentlyAdded && t.EnergySiteNetRecentlyAddedDevice.encode(e.recentlyAdded, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, d); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.recentlyAdded = t.EnergySiteNetRecentlyAddedDevice.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetAPIRemoveDeviceRequest = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.din && void 0 !== e.din && n.Din.encode(e.din, t.uint32(10).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, u); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.din = n.Din.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetAPIRemoveDeviceResponse = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.recentlyRemoved && void 0 !== e.recentlyRemoved && t.EnergySiteNetRecentlyRemovedDevice.encode(e.recentlyRemoved, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, m); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.recentlyRemoved = t.EnergySiteNetRecentlyRemovedDevice.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.EnergySiteNetAPIGetConfigRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, p); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.EnergySiteNetAPIGetConfigResponse = { + encode: (e, i = r.Writer.create()) => (void 0 !== e.config && void 0 !== e.config && t.EnergySiteNetConfig.encode(e.config, i.uint32(10).fork()).ldelim(), i), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, g); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.config = t.EnergySiteNetConfig.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.EnergyDeviceAPI = t.getTEDAPI = void 0); + const r = i(777); + Object.defineProperty(t, "EnergyDeviceAPI", { + enumerable: !0, + get: function () { + return r.EnergyDeviceAPI; + }, + }); + const a = n(i(5)); + t.getTEDAPI = function (e) { + let t, + i = { din: e.din, host: a.default.api.host, credentials: a.default.credentials }; + return (t = e.isEngineer ? (0, r.createHermesClient)(i) : (0, r.createLocalClient)(i)), (0, r.createEnergyDeviceAPIClient)(t); + }; + }, + function (e, t) { + e.exports = + "data:image/png;base64,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"; + }, + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "saveSystemInfo", function () { + return a; + }), + i.d(t, "resetSystemInfo", function () { + return o; + }), + i.d(t, "resetAll", function () { + return s; + }); + var n = i(2), + r = i(6); + const a = Object(r.b)(n.SAVE_SYSTEM_INFO, "version"), + o = Object(r.b)(n.RESET_SYSTEM_INFO), + s = Object(r.b)(n.RESET_ALL); + }, + function (e, t, i) { + "use strict"; + i.d(t, "b", function () { + return n; + }), + i.d(t, "a", function () { + return r; + }); + function n(e, t, i, n, a, o) { + if (null == o || null == i || null == n || null == a) return !1; + let s = Math.round(a / 1e3), + _ = e - Math.round(n / 1e3) > t, + l = e - s > 60, + c = r(i, o), + d = !1; + return null != c && (d = c > 900), _ || ((0 === i || d) && l); + } + function r(e, t) { + let i = 0, + n = 0; + if (null == t) return null; + if (null == e || 0 === e) return null; + try { + if (((i = parseInt(t.expected_bytes[0])), 0 === i)) return null; + if (((n = parseFloat(t.got_bytes[0]) + parseInt(t.offset_bytes[0])), n < 0.01 * i)) return null; + } catch (e) { + return null; + } + let r = i - n; + return r < 0 && (r = 0), r / e; + } + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t); + var n = i(4), + r = i(5), + a = i.n(r); + const o = Object(r.toApi)("sitemaster"); + var s = i(6), + _ = i(200); + const l = Object(s.a)(_.a); + var c = i(14); + i.d(t, "requestSitemasterStatusThunk", function () { + return d; + }); + const d = () => async (e) => { + try { + await u(e); + } catch (e) { + c.default.error(e); + } + }, + u = async (e) => { + const t = await fetch(o, { method: "GET", credentials: a.a.credentials }); + Object(n.checkStatus)(t); + const i = await t.json(); + e(l(i)); + }; + }, + function (e, t, i) { + "use strict"; + var n = i(76), + r = i.n(n), + a = i(46), + o = i(4), + s = i(459), + _ = i(29), + l = i(136), + c = i(2), + d = i(202), + u = i(7), + m = i(74), + p = i(21), + g = i(5), + w = i.n(g); + const v = Object(g.toApi)("system/update/status"); + var f = i(44); + i.d(t, "a", function () { + return b; + }), + i.d(t, "b", function () { + return S; + }); + const h = { [f.e.ERROR]: "Update Failed: Connectivity issue. Please retry the updater." }, + E = { [f.e.NONACTIONABLE]: "No update package available" }, + b = () => async (e, t) => { + try { + await y(e, t); + } catch (t) { + e(Object(u.showError)(c.RECEIVE_CHECK_UPDATE_ERROR, t.toString(), t.response)); + } + }, + y = async (e, t) => { + const i = await fetch(v, { credentials: w.a.credentials }); + Object(o.checkStatus)(i); + const n = await i.json(), + { update: a } = t(); + let p = r()(n, "info.status[0]", "Unknown error"); + if (n && null != n.state) + if ( + (n.state === f.d.FAILED && + p !== f.e.IGNORING && + (E[p] + ? ((p = E[p]), e(Object(m.c)(c.RECEIVE_CHECK_UPDATE_ERROR, { type: l.WARNING_TOAST, header: "Update Failed", message: p }))) + : (h[p] && (p = h[p]), e(Object(u.showError)(c.RECEIVE_CHECK_UPDATE_ERROR, p, n)))), + e(Object(d.receiveCheckUpdate)(n)), + n.state === f.d.DOWNLOAD) + ) { + const t = Math.round(new Date().getTime() / 1e3), + i = Object(s.b)(t, 60, n.estimated_bytes_per_second, n.last_download_status_time, n.start_time, n.info); + e(Object(d.updateDownloadProgressAction)(i, n)), i ? e(Object(u.showError)(c.DOWNLOAD_STALLED_ERROR, _.r)) : a.downloadStalled && e(Object(u.clearError)(c.DOWNLOAD_STALLED_ERROR)); + } else a.downloadStalled && e(Object(u.clearError)(c.DOWNLOAD_STALLED_ERROR)); + }; + function S() { + return async (e, t) => { + try { + const { authentication: i, configuration: n, error: r, update: o } = t(), + s = Object(p.isAuthenticated)(i, r.items), + _ = !0 === n.isNew, + l = Object(a.isResiGateway)(n.deviceType), + c = o.isCheckingUpdateUrgency || o.updateUrgency; + if (!s || !_ || !l || c) return; + e(Object(d.checkFirmwareUpdateUrgency)()); + } catch (t) { + e(Object(u.showError)(c.RECEIVE_CHECK_UPDATE_URGENCY_ERROR, t.toString(), t.response)); + } + }; + } + }, + , + , + , + , + , + function (e, t) {}, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.TranslationsProvider = void 0); + const o = a(i(1)), + s = i(3), + _ = i(77), + l = { zh_CN: "zh-Hans", zh_TW: "zh-Hant" }, + c = (e) => o.createElement("span", Object.assign({}, e, { style: { display: "inline-block", transform: "scale(-1, 1)" } }), e.children); + t.TranslationsProvider = (e) => { + var t, i, n; + let r, a, d; + if (("tsla_MIRROR" === e.override && (d = c), e.translations)) { + let o = null !== (i = null !== (t = e.languages) && void 0 !== t ? t : navigator.languages) && void 0 !== i ? i : [navigator.language]; + e.override && (o = [e.override].concat(o)), (r = null !== (n = (0, _.negotiate)(["en"].concat(Object.keys(e.translations)), o)) && void 0 !== n ? n : void 0), (a = r ? e.translations[r] : void 0); + } + return r && r in l && (r = l[r]), o.createElement(s.IntlProvider, { locale: r, messages: a, textComponent: d }, e.children); + }; + }, + , + , + , + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return _; + }); + var n = i(2); + function r(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function a(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(i), !0).forEach(function (t) { + o(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : r(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function o(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { isFetching: !1, didInvalidate: !1, running: null, connectedToTesla: null, powerSupplyMode: !1, canReboot: "", smStartError: "" }; + function _(e = s, t) { + switch (t.type) { + case "REQUEST_SITEMASTER_FOR_COMMISSIONING": + case "REQUEST_SITEMASTER_SETTINGS": + case "REQUEST_START_SITEMASTER": + case "REQUEST_STOP_SITEMASTER": + return a(a({}, e), {}, { isFetching: !0, didInvalidate: !1, smStartError: "" }); + case n.RECEIVE_SITEMASTER_FOR_COMMISSIONING_SUCCESS: + case "RECEIVE_SITEMASTER_SETTINGS_SUCCESS": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt, running: t.running, connectedToTesla: t.connected_to_tesla, powerSupplyMode: t.power_supply_mode, canReboot: t.can_reboot }); + case "RECEIVE_START_SITEMASTER_SUCCESS": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !1, smStartError: "" }); + case "RECEIVE_STOP_SITEMASTER_SUCCESS": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !1 }); + case "RECEIVE_SITEMASTER_SETTINGS_ERROR": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !0, running: null, powerSupplyMode: !1 }); + case "RECEIVE_START_SITEMASTER_ERROR": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !0, smStartError: t.error }); + case "RECEIVE_SITEMASTER_FOR_COMMISSIONING_ERROR": + case "RECEIVE_STOP_SITEMASTER_ERROR": + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case "RESET_ALL": + case "RESET_SITEMASTER_SETTINGS": + return s; + default: + return e; + } + } + }, + , + , + , + , + , + , + , + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"Warnungen","alerts_view_no_active_alerts":"Keine aktiven Warnungen","barcode_reader_checksum_error":"Barcode ungültig. Bitte erneut versuchen und sicherstellen, dass der richtige Barcode übermittelt wird.","barcode_reader_format_error":"Barcode-Format falsch. Bitte erneut versuchen und sicherstellen, dass der richtige Barcode übermittelt wird.","barcode_reader_internal_error":"Barcode-Scanner nicht verfügbar. Bitte geben Sie die Informationen manuell ein.","barcode_reader_not_found":"Barcode wurde nicht erkannt. Bitte erneut versuchen und darauf achten, dass der Barcode scharf und ausreichend groß ist.","button_factory_reset":"ZURÜCKSETZEN","button_label_confirm":"BESTÄTIGEN","button_label_factory_reset":"AUF WERKSEINSTELLUNGEN ZURÜCKSETZEN","connection_details_network_configured":"Konfiguriert","connection_details_network_configured_ip":"Konfiguriertes Netzwerk: {ipAddress}","connection_details_network_configured_ssid":"Konfiguriertes Netzwerk: {ssid}","connection_details_network_configured_ssid_ip":"Konfiguriertes Netzwerk: {ssid} ({ipAddress})","connection_details_network_not_connected":"Nicht verbunden","connection_modal_description":"Dies wird erwartet, wenn Sie das Gerät aus- und einschalten, ein Software-Update ausführen oder Änderungen an bestimmten Geräte-Konfigurationen vornehmen.{br}{br}Sie müssen zum Fortfahren möglicherweise die Verbindung zum WLAN-Access-Point des Geräts wiederherstellen.","connection_modal_title":"Verbindung zum Gerät verloren","connection_status_network_configured":"Konfiguriert","connection_status_network_connected":"Verbunden","connection_status_network_connection_problem":"Verbindungsproblem","connection_status_network_disabled":"Deaktiviert","connection_status_network_no_internet":"Keine Verbindung zum Internet. Prüfen Sie die IP-Adresskonfiguration und den Internet-Uplink.","connection_status_network_no_ip":"Keine IP-Adresse erhalten. Prüfen Sie die Router-Konfiguration auf Blocklisten für MAC-Adressen oder ähnliches.","connection_status_network_no_tesla":"Keine Verbindung zu Tesla. Prüfen Sie die Router- und Firewall-Einstellungen.","connection_status_network_not_connected":"Nicht verbunden","control_connect":"VERBINDEN","control_delete":"ENTFERNEN","country_name_ad":"Andorra","country_name_ae":"Vereinigte Arabische Emirate","country_name_am":"Armenien","country_name_at":"Österreich","country_name_au":"Australien","country_name_ba":"Bosnien-Herzegowina","country_name_be":"Belgien","country_name_bg":"Bulgarien","country_name_ca":"Kanada","country_name_ch":"Schweiz","country_name_cn":"China","country_name_cy":"Zypern","country_name_cz":"Tschechien","country_name_de":"Deutschland","country_name_dk":"Dänemark","country_name_ee":"Estland","country_name_es":"Spanien","country_name_fi":"Finnland","country_name_fr":"Frankreich","country_name_gb":"Vereinigtes Königreich","country_name_gi":"Gibraltar","country_name_gr":"Griechenland","country_name_hk":"Hongkong","country_name_hr":"Kroatien","country_name_hu":"Ungarn","country_name_ie":"Irland","country_name_il":"Israel","country_name_is":"Island","country_name_it":"Italien","country_name_jp":"Japan","country_name_kr":"Südkorea","country_name_li":"Liechtenstein","country_name_lt":"Litauen","country_name_lu":"Luxemburg","country_name_lv":"Lettland","country_name_mc":"Monaco","country_name_mo":"Macao","country_name_mt":"Malta","country_name_mx":"Mexiko","country_name_nl":"Niederlande","country_name_no":"Norwegen","country_name_nz":"Neuseeland","country_name_pl":"Polen","country_name_pt":"Portugal","country_name_ro":"Rumänien","country_name_rs":"Serbien","country_name_ru":"Russland","country_name_se":"Schweden","country_name_sg":"Singapur","country_name_sk":"Slowakei","country_name_sm":"San Marino","country_name_tw":"Taiwan","country_name_uk":"Ukraine","country_name_us":"Vereinigte Staaten von Amerika","display_current_amps":"{current}A","display_energy_kilowatt_hours":"{energy}kWh","display_energy_watt_hours":"{energy}Wh","display_frequency_hertz":"{frequency}Hz","display_meter_site_export_power":"{realPower} Export","display_meter_site_import_power":"{realPower} Import","display_meter_solar_generation_power":"{realPower} Erzeugung","display_phase_type_unknown":"unbekannt","display_power_kilowatts":"{power}kW","display_power_watts":"{power}W","display_resistance_kiloohms":"{resistance}kΩ","display_resistance_ohms":"{resistance}Ω","display_voltage_volts":"{voltage}V","dropdown_default_selection":"Auswählen","error_boundary_label_error_details":"Fehlerdetails:","error_boundary_subtitle":"Nun, das ist peinlich. Wir sind in der App auf einen Fehler gestoßen.","error_boundary_title":"Oh, nein! Es ist ein Fehler aufgetreten.","error_messages_invalid_password":"Ungültiges Passwort. Bitte erneut versuchen.","factory_reset_subtitle":"Löscht alle Netzwerk- und Geräteeinstellungen. Es wird versucht, alle gekoppelten Geräte zu trennen. Lebensdauer-Daten werden nicht beinträchtigt.","grid_code_container_title":"Netzstandard","grid_code_point_PINVrx_SmartInvSelect":"Aktivierte Smart Inverter-Funktionen","grid_code_point_nominal_grid_frequency":"Nennfrequenz des Stromnetzes","grid_code_point_nominal_grid_voltage":" Nennspannung im Stromnetz (L-N)","grid_code_point_nominal_pinv_voltage":"Nennspannung der angeschlossenen Powerwalls im Stromnetz","grid_code_point_vf_limit_over_frequency_0_grid_following":"Neuverbindungslimit bei zu hoher Frequenz","grid_code_point_vf_limit_over_frequency_1_grid_following":"Over Frequency Trip 1 - Limit","grid_code_point_vf_limit_over_voltage_0_grid_following":"Neuverbindungslimit bei zu hoher Spannung","grid_code_point_vf_limit_over_voltage_1_grid_following":"Over Voltage Trip 1 - Limit","grid_code_point_vf_limit_under_frequency_0_grid_following":"Neuverbindungslimit bei zu geringer Frequenz","grid_code_point_vf_limit_under_frequency_1_grid_following":"Under Frequency Trip 1 - Limit","grid_code_point_vf_limit_under_voltage_0_grid_following":"Neuverbindungslimit bei zu geringer Spannung","grid_code_point_vf_limit_under_voltage_1_grid_following":"Under Voltage Trip 1 - Limit","grid_code_point_vf_param_allow_charging_while_qualifying":"Laden der Batterie während der Qualifizierung des Stromnetzes ermöglichen","grid_code_point_vf_timing_over_frequency_1_grid_following":"Over Frequency Trip 1 - Timing","grid_code_point_vf_timing_over_voltage_1_grid_following":"Over Voltage Trip 1 - Timing","grid_code_point_vf_timing_qualifying_time_grid_following":"Inverternetz-Requalifizierungszeit","grid_code_point_vf_timing_under_frequency_1_grid_following":"Under Frequency Trip 1 - Timing","grid_code_point_vf_timing_under_voltage_1_grid_following":"Under Voltage Trip 1 - Timing","grid_code_unit_Hz":"Hz","grid_code_unit_V":"Volt","grid_code_unit_V_pu":"V / V_nominal","grid_code_unit_bool":"0 = Nein, 1 = Ja","grid_code_unit_enum":"Nummerierter Wert, siehe Handbuch","grid_code_unit_s":"Sekunden","grid_code_view_advanced_label":"ERWEITERTE EINSTELLUNGEN","grid_code_view_confirmation":"Bestätigen Sie, dass der ausgewählte Netz Standard den lokalen Bestimmungen entspricht","grid_code_view_country_label":"LAND","grid_code_view_distributor_label":"NETZBETREIBER","grid_code_view_filter_freq":"Diese Installation ist nicht ans Netz angeschlossen. Auswahl aus allen Netz Standards erlauben.","grid_code_view_filter_freq_warning":"Bitte den entsprechenden Standard sorgfältig auswählen um sicherzustellen, dass das System mit vorgesehener Spannung und Frequenz arbeitet.","grid_code_view_frequency":"Frequenz","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"Bestätigen Sie, dass der vorkonfigurierte Netzcode für diesen Standort gültig ist","grid_code_view_preconfigured_label":"VORKONFIGURIERTER NETZCODE","grid_code_view_region_label":"REGION","grid_code_view_reset_modal_body":"Für diesen Standort gelten benutzerdefinierte Einstellungen für den Netzcode. Diese konfigurierten Einstellungen werden gelöscht, wenn der Netzcode geändert oder zurückgesetzt wird.","grid_code_view_reset_modal_cancel_button":"Abbrechen","grid_code_view_reset_modal_confirm_button":"Einstellungen löschen und fortfahren","grid_code_view_reset_modal_header":"AUSWAHL FÜR NETZCODE ZURÜCKSETZEN?","grid_code_view_reset_selection":"AUSWAHL FÜR NETZCODE ZURÜCKSETZEN","grid_code_view_retailer_label":"STROMVERSORGER","grid_code_view_settings_summary":"{voltage} {frequency} {phase}","grid_code_view_standard_label":"NETZ STANDARD","grid_code_view_utility_label":"ENERGIEVERSORGER","grid_code_view_volt_freq_label":"SPANNUNG/FREQUENZ","grid_code_view_voltage":"Spannung","grid_code_view_voltage_reading_split":"{voltageLN} / {voltageLL}","label_button_edit":"BEARBEITEN","label_button_enter_manually":"MANUELL EINGEBEN","label_button_finish":"BEENDEN","label_button_scan_barcode":"BARCODE SCANNEN","label_button_scan_qrcode":"QR-CODE SCANNEN","label_button_upload":"HOCHLADEN","label_factory_reset":"AUF WERKSZUSTAND ZURÜCKSETZEN","label_form_input_file":"DATEI","label_form_input_software_update":"SOFTWARE-UPDATE","label_model":"Modell","label_part_number":"Teilenummer","label_part_number_psn":"Teilenummer (TPN)","label_serial_number":"Seriennummer","label_serial_number_tsn":"Seriennummer (TSN)","menu_card_label_active_alerts":"Aktiv: {alertCount}","menu_card_label_no_active_alerts":"Keine aktiv","menu_card_label_version":"Version: {version}","modal_close":"SCHLIESSEN","modal_refresh":"NEU LADEN","modal_save":"SPEICHERN","navigation_back":"ZURÜCK","navigation_cancel":"ABBRECHEN","navigation_forward":"FORTFAHREN","navigation_skip":"AUSLASSEN","network_view_cable_connected_label":"Kabel angeschlossen:","network_view_connection_heading":"Verbindung","network_view_connection_not_supported_label":"Verbindung (Nicht unterstützt)","network_view_disable_button_label":"Deaktivieren","network_view_dns_label_":"DNS:","network_view_edit_button_label":"Bearbeiten","network_view_enable_button_label":"Aktivieren","network_view_enabled_info_label":"Aktiviert:","network_view_ethernet_title":"Ethernet","network_view_gsm_title":"Mobilfunk","network_view_internet_connection_label":"Mit Internet verbunden:","network_view_ip_address_label":"Adresse:","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"MAC-Adresse","network_view_mac_address_label":"MAC-Adresse:","network_view_primary_connection_label":"Aktiv:","network_view_signal_strength_label":"Signalstärke:","network_view_ssid_label":"Konfiguriertes Netzwerk:","network_view_subnet_mask_label":"Subnetz:","network_view_tesla_connection_label":"Mit Tesla verbunden:","network_view_wifi_title":"WLAN","network_view_wireless_connected_label":"Verbunden:","not_found_description":"Tut uns leid. Die Seite, die Sie aufgerufen haben, wurde nicht gefunden.","not_found_title":"404 Seite nicht gefunden","password_input_view_password":"PASSWORT","password_input_view_show_password":"Passwort zeigen","phase_type_single":"Einphasig","phase_type_split":"Spaltphase","phase_type_three":"Dreiphasig","phase_type_two":"Zweiphasig","phase_type_wye_ll":"Wye L-L","prompt_required_field":"Dies ist ein Pflichtfeld.","service_factory_reset_confirmation":"Die lokalen Einstellungen werden gelöscht und das Gerät wird neu gestartet. Bitte bestätigen.","sideload_container_subtitle":"Wählen Sie eine .bin-Datei aus","summary_container_title":"Zusammenfassung","title_installation":"Installation","title_metering":"Messungen","title_networks":"Netzwerke","title_service":"Service","title_site_info":"Standort-Informationen","title_site_meter":"Anlagenmessgerät","title_software":"Software","title_software_update":"Software-Update","update_handshake_result_failed":"Der Server konnte nicht erreicht werden. Prüfen Sie bitte die Internetverbindung des Geräts und versuchen Sie es erneut.","update_handshake_result_non_actionable":"Keine Updates verfügbar.","update_handshake_result_update_staged":"Eine neue Software-Version ist verfügbar.","update_handshake_result_update_staged_version":"Software-Version {version} ist verfügbar.","update_last_update_result_failed":"Das letzte Software-Update ist fehlgeschlagen. Versuchen Sie es noch einmal oder wenden Sie sich an den Tesla Service.","update_status_downloading":"Update wird heruntergeladen ...","update_view_button_label_check_for_update":"NACH UPDATE SUCHEN","update_view_button_label_install":"INSTALLIEREN","update_view_check_notice_not_internet_connected":"Kann ohne Internetverbindung nicht auf Updates prüfen. Prüfen Sie bitte die Netzwerk-Konfiguration des Geräts.","update_view_handshake_failed":"Konnte keinen Kontakt zum Server herstellen, um nach einem Update zu suchen.","update_view_handshake_non_actionable":"Es sind keine Updates verfügbar.","update_view_handshake_update_staged":"Ein Update ist verfügbar. Es wird im Hintergrund heruntergeladen.","update_view_install_notice_not_internet_connected":"Das Software-Update kann ohne eine Internetverbindung nicht heruntergeladen werden. Prüfen Sie bitte die Netzwerk-Konfiguration des Geräts.","update_view_label_current_version":"Aktuelle Version: {version} ({identifier})","update_view_latest_version":"Aktuellste Version: {version}","update_view_not_yet_checked":"Noch keine Suche nach Updates.","update_view_notice_automatic_update":"Klicken Sie, um es jetzt anzuwenden. Andernfalls wird das Update später im Hintergrund installiert.","update_view_result_failed":"Das letzte Software-Update ist fehlgeschlagen. Versuchen Sie es noch einmal oder wenden Sie sich an den Tesla Service.","update_view_result_succeeded":"Das letzte Software-Update war erfolgreich.","update_view_status_downloaded":"Download abgeschlossen. Update zur Installation bereit.","update_view_status_downloading":"Update wird heruntergeladen ...","update_view_status_staged":"Update zur Installation bereit. Klicken Sie auf die Schaltfläche „Installieren“, um fortzufahren.","wifi_page_available_networks":"Verfügbare Netzwerke","wifi_page_cancel_button_label":"Abbrechen","wifi_page_check_password":"Die Verbindung konnte nicht hergestellt werden, bitte überprüfen Sie das WLAN-Passwort.","wifi_view_available_networks_subtitle":"VERFÜGBARE NETZWERKE","wifi_view_button_label_join":"VERBINDEN","wifi_view_button_label_manual":"NETZWERK MANUELL EINGEBEN","wifi_view_input_label_ssid":"NETZWERK (SSID)","wifi_view_label_connecting_ssid":"Verbinde mit {ssid}","wifi_view_mac_address_label":"MAC-Adresse: {mac}","wifi_view_no_networks":"Kein WLAN Netzwerk gefunden!","wifi_view_no_password_placeholder":"Kein Passwort","wifi_view_notice_joining":"Dieser Prozess kann einige Minuten dauern und möglicherweise zu einem Neustart des Geräts führen. Sie müssen möglicherweise die Verbindung zum WLAN-Access-Point des Geräts wiederherstellen, um mit der Installation fortzufahren.","wifi_view_password_label":"PASSWORT","wifi_view_prompt_network_types":"Verbindung zu verfügbaren 2,4-GHz-WPA-Netzwerken herstellen.","wifi_view_reconnect_notice":"Während dieses Vorgangs müssen Sie möglicherweise die Verbindung mit dem WLAN-Zugriffspunkt des Geräts wieder herstellen, um mit der Installation fortzufahren.","wifi_view_rescan":"NEU SCANNEN","wifi_view_username_label":"BENUTZER NAME","wifi_view_wpa2_password_label":"WPA2-PASSWORT"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"Allarmi","alerts_view_no_active_alerts":"Nessun avviso attivo","barcode_reader_checksum_error":"Codice a barre non valido. Controllare di aver inserito il codice a barre corretto e riprovare.","barcode_reader_format_error":"Formato non corretto del codice a barre. Verificare di aver inserito il codice a barre corretto e riprovare.","barcode_reader_internal_error":"Lettore del codice a barre non disponibile. Inserire le informazioni manualmente.","barcode_reader_not_found":"Impossibile rilevare il codice a barre. Controllare che il codice a barre sia a fuoco e sufficientemente ingrandito e riprovare.","button_factory_reset":"RIPRISTINA","button_label_confirm":"CONFERMA","button_label_factory_reset":"RIPRISTINO DELLE IMPOSTAZIONI PREDEFINITE DI FABBRICA","connection_details_network_configured":"Configurata","connection_details_network_configured_ip":"Rete configurata: {ipAddress}","connection_details_network_configured_ssid":"Rete configurata: {ssid}","connection_details_network_configured_ssid_ip":"Rete configurata: {ssid} ({ipAddress})","connection_details_network_not_connected":"Non connessa","connection_modal_description":"Questo si verifica quando si esegue un ciclo di accensione del dispositivo, si applica un aggiornamento software o si apportano modifiche alla configurazione di un determinato dispositivo.{br}{br}Per continuare, potrebbe essere necessario doversi ricollegare all\'Access Point Wi-Fi del dispositivo.","connection_modal_title":"Il collegamento al dispositivo è stato interrotto","connection_status_network_configured":"Configurata","connection_status_network_connected":"Connessa","connection_status_network_connection_problem":"Problema di connessione","connection_status_network_disabled":"Disattivata","connection_status_network_no_internet":"Nessuna connessione a Internet. Controllare la configurazione dell\'indirizzo IP e l\'uplink a Internet.","connection_status_network_no_ip":"Indirizzo IP non assegnato. Controllare se nella configurazione del router sono presenti elenchi di blocco di indirizzi MAC o simili.","connection_status_network_no_tesla":"Nessun collegamento a Tesla. Controllare le impostazioni del router e del firewall.","connection_status_network_not_connected":"Non connessa","control_connect":"COLLEGARE","control_delete":"RIMUOVI","country_name_ad":"Andorra","country_name_ae":"Emirati Arabi Uniti","country_name_am":"Armenia","country_name_at":"Austria","country_name_au":"Australia","country_name_ba":"Bosnia ed Erzegovina","country_name_be":"Belgio","country_name_bg":"Bulgaria","country_name_ca":"Canada","country_name_ch":"Svizzera","country_name_cn":"Cina","country_name_cy":"Cipro","country_name_cz":"Repubblica Ceca","country_name_de":"Germania","country_name_dk":"Danimarca","country_name_ee":"Estonia","country_name_es":"Spagna","country_name_fi":"Finlandia","country_name_fr":"Francia","country_name_gb":"Regno Unito","country_name_gi":"Gibilterra","country_name_gr":"Grecia","country_name_hk":"Hong Kong","country_name_hr":"Croazia","country_name_hu":"Ungheria","country_name_ie":"Irlanda","country_name_il":"Israele","country_name_is":"Islanda","country_name_it":"Italia","country_name_jp":"Giappone","country_name_kr":"Corea del Sud","country_name_li":"Liechtenstein","country_name_lt":"Lituania","country_name_lu":"Lussemburgo","country_name_lv":"Lettonia","country_name_mc":"Monaco","country_name_mo":"Macao","country_name_mt":"Malta","country_name_mx":"Messico","country_name_nl":"Paesi Bassi","country_name_no":"Norvegia","country_name_nz":"Nuova Zelanda","country_name_pl":"Polonia","country_name_pt":"Portogallo","country_name_ro":"Romania","country_name_rs":"Serbia","country_name_ru":"Russia","country_name_se":"Svezia","country_name_sg":"Singapore","country_name_sk":"Slovacchia","country_name_sm":"San Marino","country_name_tw":"Taiwan","country_name_uk":"Ucraina","country_name_us":"Stati Uniti","display_current_amps":"{current}A","display_energy_kilowatt_hours":"{energia}kWh","display_energy_watt_hours":"{energy}Wh","display_frequency_hertz":"{frequency}Hz","display_meter_site_export_power":"Esportazione di {realPower}","display_meter_site_import_power":"Importazione di {realPower}","display_meter_solar_generation_power":"Generazione di {realPower}","display_phase_type_unknown":"sconosciuto","display_power_kilowatts":"{power}kW","display_power_watts":"{power}W","display_resistance_kiloohms":"{resistance}kΩ","display_resistance_ohms":"{resistance}Ω","display_voltage_volts":"{voltage}V","dropdown_default_selection":"Seleziona","error_boundary_label_error_details":"Dettagli errore:","error_boundary_subtitle":"Siamo spiacenti. Si è verificato un errore nell\'app.","error_boundary_title":"Spiacenti! Si è verificato un errore.","error_messages_invalid_password":"Password non valida. Riprovare.","factory_reset_subtitle":"Cancella tutte le impostazioni di rete e del dispositivo. Verrà fatto il possibile per scollegare qualsiasi dispositivo associato. I dati sulla durata non saranno modificati.","grid_code_container_title":"Tipologia di Rete","grid_code_point_PINVrx_SmartInvSelect":"Funzionalità inverter intelligente abilitate","grid_code_point_nominal_grid_frequency":"Frequenza nominale della rete","grid_code_point_nominal_grid_voltage":" Tensione nominale della rete (L-N)","grid_code_point_nominal_pinv_voltage":"Tensione nominale della rete dei Powerwall connessi","grid_code_point_vf_limit_over_frequency_0_grid_following":"Limite riconnessione sovra-frequenza","grid_code_point_vf_limit_over_frequency_1_grid_following":"Over Frequency Trip 1 - Limit","grid_code_point_vf_limit_over_voltage_0_grid_following":"Limite riconnessione sovratensione","grid_code_point_vf_limit_over_voltage_1_grid_following":"Over Voltage Trip 1 - Limit","grid_code_point_vf_limit_under_frequency_0_grid_following":"Limite riconnessione sottofrequenza","grid_code_point_vf_limit_under_frequency_1_grid_following":"Under Frequency Trip 1 - Limit","grid_code_point_vf_limit_under_voltage_0_grid_following":"Limite riconnessione sottotensione","grid_code_point_vf_limit_under_voltage_1_grid_following":"Under Voltage Trip 1 - Limit","grid_code_point_vf_param_allow_charging_while_qualifying":"Consentire caricamento batteria durante periodo qualificazione della rete","grid_code_point_vf_timing_over_frequency_1_grid_following":"Over Frequency Trip 1 - Timing","grid_code_point_vf_timing_over_voltage_1_grid_following":"Over Voltage Trip 1 - Timing","grid_code_point_vf_timing_qualifying_time_grid_following":"Inverter-Tempo di riqualificazione della rete ","grid_code_point_vf_timing_under_frequency_1_grid_following":"Under Frequency Trip 1 - Timing","grid_code_point_vf_timing_under_voltage_1_grid_following":"Under Voltage Trip 1 - Timing","grid_code_unit_Hz":"Hz","grid_code_unit_V":"Volt","grid_code_unit_V_pu":"V/V_nominal","grid_code_unit_bool":"0 = no, 1 = sì","grid_code_unit_enum":"valore enumerato, vedere manuale","grid_code_unit_s":"secondi","grid_code_view_advanced_label":"IMPOSTAZIONI AVANZATE","grid_code_view_confirmation":"Conferma che il tipologia di rete selezionato è corretto per questo sito","grid_code_view_country_label":"STATO","grid_code_view_distributor_label":"DISTRIBUTORE","grid_code_view_filter_freq":"Questo Sito è disconnesso dalla Rete. Permetti selezione di qualsiasi Tipologia di Rete.","grid_code_view_filter_freq_warning":"Si prega di scegliere attentamente il Tipologia di Rete adatto, per garantire che il sistema funzioni a Voltaggio e Frequenza corretti.","grid_code_view_frequency":"Frequenza","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"Confermare che il codice rete preconfigurato è valido per questo luogo d\'installazione","grid_code_view_preconfigured_label":"CODICE RETE PRECONFIGURATO","grid_code_view_region_label":"REGIONE","grid_code_view_reset_modal_body":"Questo sito ha impostazioni personalizzate del codice rete. Le impostazioni configurate saranno cancellate quando il codice rete viene cambiato o ripristinato.","grid_code_view_reset_modal_cancel_button":"Annulla","grid_code_view_reset_modal_confirm_button":"Cancellare le impostazioni e continuare","grid_code_view_reset_modal_header":"RESETTARE LA SELEZIONE DEL CODICE RETE?","grid_code_view_reset_selection":"RESETTARE SELEZIONE CODICE RETE","grid_code_view_retailer_label":"FORNITORE","grid_code_view_settings_summary":"{voltage} {frequency} {phase}","grid_code_view_standard_label":"CODICE DI RETE","grid_code_view_utility_label":"SOCIETÁ DI DISTRIBUZIONE ENERGIA","grid_code_view_volt_freq_label":"TENSIONE/FREQUENZA","grid_code_view_voltage":"Tensione","grid_code_view_voltage_reading_split":"{voltageLN}/{voltageLL}","label_button_edit":"MODIFICA","label_button_enter_manually":"INSERIRE MANUALMENTE","label_button_finish":"FINE","label_button_scan_barcode":"SCANSIONA CODICE A BARRE","label_button_scan_qrcode":"SCANSIONA QR CODE","label_button_upload":"CARICA","label_factory_reset":"RIPRISTINO AI PARAMETRI DI FABBRICA","label_form_input_file":"FILE","label_form_input_software_update":"AGGIORNA SOFTWARE","label_model":"Modello","label_part_number":"Numero parte ","label_part_number_psn":"Numero di parte (TPN)","label_serial_number":"Numero di serie","label_serial_number_tsn":"Numero di serie (TSN)","menu_card_label_active_alerts":"Attivi: {alertCount}","menu_card_label_no_active_alerts":"Nessuno attivo","menu_card_label_version":"Versione: {version}","modal_close":"CHIUDI","modal_refresh":"AGGIORNA","modal_save":"SALVA","navigation_back":"INDIETRO","navigation_cancel":"ANNULLA","navigation_forward":"CONTINUA","navigation_skip":"IGNORA","network_view_cable_connected_label":"Cavo collegato:","network_view_connection_heading":"Collegamento","network_view_connection_not_supported_label":"Connessione (non supportata)","network_view_disable_button_label":"Disattiva","network_view_dns_label_":"DNS:","network_view_edit_button_label":"Modifica","network_view_enable_button_label":"Attiva","network_view_enabled_info_label":"Attivata:","network_view_ethernet_title":"Ethernet","network_view_gsm_title":"Cellulare","network_view_internet_connection_label":"Connesso a Internet:","network_view_ip_address_label":"Indirizzo:","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"Indirizzo MAC","network_view_mac_address_label":"Indirizzo MAC:","network_view_primary_connection_label":"Attivo:","network_view_signal_strength_label":"Forza del segnale:","network_view_ssid_label":"Rete configurata:","network_view_subnet_mask_label":"Subnet:","network_view_tesla_connection_label":"Connesso a Tesla:","network_view_wifi_title":"Wi-Fi","network_view_wireless_connected_label":"Connesso:","not_found_description":"Ci spiace ma la pagina che cercavi non è disponibile","not_found_title":"404, pagina non disponibile","password_input_view_password":"PASSWORD","password_input_view_show_password":"Mostra Password","phase_type_single":"Monofase","phase_type_split":"Bifase","phase_type_three":"Trifase","phase_type_two":"Due fasi","phase_type_wye_ll":"Wye L-L","prompt_required_field":"Questo campo è obbligatorio.","service_factory_reset_confirmation":"Verranno rilevate le impostazioni locali e il dispositivo verrà riavviato. Confermare.","sideload_container_subtitle":"Selezionare un file .bin","summary_container_title":"Riepilogo","title_installation":"Installazione","title_metering":"Misurazioni","title_networks":"Reti","title_service":"Assistenza","title_site_info":"Informazioni sul sito","title_site_meter":"Contatore del sito (meter)","title_software":"Software","title_software_update":"Aggiornamento software","update_handshake_result_failed":"Impossibile contattare il server. Verificare che il dispositivo sia connesso a Internet e riprovare.","update_handshake_result_non_actionable":"Non sono disponibili aggiornamenti.","update_handshake_result_update_staged":"È disponbile una nuova versione software.","update_handshake_result_update_staged_version":"È disponibile la versione software {version}.","update_last_update_result_failed":"Ultimo aggiornamento software non riuscito. Riprovare o contattare l\'Assistenza Tesla.","update_status_downloading":"Download aggiornamento...","update_view_button_label_check_for_update":"CONTROLLA AGGIORNAMENTI","update_view_button_label_install":"INSTALLA","update_view_check_notice_not_internet_connected":"Impossibile controllare gli aggiornamenti senza una connessione a Internet. Controllare la configurazione di rete del dispositivo.","update_view_handshake_failed":"Impossibile contattare il server per controllare gli aggiornamenti.","update_view_handshake_non_actionable":"Non sono disponibili aggiornamenti.","update_view_handshake_update_staged":"È disponibile un aggiornamento e sarà scaricato in background.","update_view_install_notice_not_internet_connected":"Impossibile scaricare l\'aggiornamento software senza una connessione a Internet. Controllare la configurazione di rete del dispositivo.","update_view_label_current_version":"Versione corrente: {version} ({identifier})","update_view_latest_version":"Ultima versione: {version}","update_view_not_yet_checked":"Disponibilità aggiornamenti mai controllata","update_view_notice_automatic_update":"Fare clic per installare ora. In caso contrario, l\'aggiornamento verrà installato in background più avanti.","update_view_result_failed":"Ultimo aggiornamento software non riuscito. Riprovare o contattare l\'Assistenza Tesla.","update_view_result_succeeded":"Ultimo aggiornamento software riuscito.","update_view_status_downloaded":"Download completato. Installazione temporanea aggiornamento...","update_view_status_downloading":"Download aggiornamento...","update_view_status_staged":"Aggiornamento installato temporaneamente. Fare clic sul pulsante per procedere.","wifi_page_available_networks":"Reti disponibili","wifi_page_cancel_button_label":"Annulla","wifi_page_check_password":"Impossibile connettersi, controlla la password del Wi-Fi.","wifi_view_available_networks_subtitle":"RETI DISPONIBILI","wifi_view_button_label_join":"ASSOCIA","wifi_view_button_label_manual":"INSERIRE MANUALMENTE LA RETE","wifi_view_input_label_ssid":"RETE (SSID)","wifi_view_label_connecting_ssid":"Collegamento a {ssid}","wifi_view_mac_address_label":"Indirizzo MAC: {mac}","wifi_view_no_networks":"Non ho trovato reti Wi-Fi!","wifi_view_no_password_placeholder":"Non è necessaria una password","wifi_view_notice_joining":"Questa procedura può richiedere alcuni minuti e il dispositivo potrebbe essere riavviato. Per continuare l\'installazione potrebbe essere necessario doversi ricollegare all\'Access Point Wi-Fi del dispositivo.","wifi_view_password_label":"PASSWORD","wifi_view_prompt_network_types":"Connettersi alle reti WPA 2.4 GHz disponibili.","wifi_view_reconnect_notice":"Durante questa procedura potrebbe essere necessario riconnettersi all\'Access Point Wi-Fi del dispositivo per continuare l\'installazione.","wifi_view_rescan":"RIPETI SCANSIONE","wifi_view_username_label":"NOME UTENTE","wifi_view_wpa2_password_label":"PASSWORD WPA2"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"Alertas","alerts_view_no_active_alerts":"No hay alertas activas","barcode_reader_checksum_error":"Código de barras no válido. Inténtelo de nuevo, asegurándose de enviar el código de barras correcto.","barcode_reader_format_error":"Formato de código de barras incorrecto. Inténtelo de nuevo y asegúrese de enviar el código de barras correcto.","barcode_reader_internal_error":"Escáner de código de barras no disponible. Proporcione la información manualmente.","barcode_reader_not_found":"No se ha podido detectar el código de barras. Inténtelo de nuevo asegurándose de que el código de barras se ve claramente y es lo suficientemente grande.","button_factory_reset":"RESTABLECER","button_label_confirm":"CONFIRMAR","button_label_factory_reset":"RESTABLECER VALORES DE FÁBRICA","connection_details_network_configured":"Configurada","connection_details_network_configured_ip":"Red configurada: {ipAddress}","connection_details_network_configured_ssid":"Red configurada: {ssid}","connection_details_network_configured_ssid_ip":"Red configurada: {ssid} ({ipAddress})","connection_details_network_not_connected":"No conectada","connection_modal_description":"Esto es lo esperado al apagar y después encender el dispositivo, se aplica una actualización de software o se realizan cambios en determinada configuración del dispositivo.{br}{br}Para continuar, es posible que tenga que volver a conectarse al punto de acceso wifi del dispositivo.","connection_modal_title":"Se ha perdido la conexión con el dispositivo","connection_status_network_configured":"Configurada","connection_status_network_connected":"Conectado","connection_status_network_connection_problem":"Problema de conexión","connection_status_network_disabled":"Discapacitado","connection_status_network_no_internet":"No hay conexión a Internet. Compruebe la configuración de la dirección IP y del enlace de subida a Internet.","connection_status_network_no_ip":"No se ha obtenido una dirección IP. Compruebe en la configuración del router si la dirección MAC está en alguna lista de bloqueo o similar.","connection_status_network_no_tesla":"No hay conexión con Tesla. Compruebe la configuración del router y del firewall.","connection_status_network_not_connected":"No conectada","control_connect":"CONECTAR","control_delete":"BORRAR","country_name_ad":"Andorra","country_name_ae":"Emiratos Árabes Unidos","country_name_am":"Armenia","country_name_at":"Austria","country_name_au":"Australia","country_name_ba":"Bosnia y Herzegovina","country_name_be":"Bélgica","country_name_bg":"Bulgaria","country_name_ca":"Canadá","country_name_ch":"Suiza","country_name_cn":"China","country_name_cy":"Chipre","country_name_cz":"República Checa","country_name_de":"Alemania","country_name_dk":"Dinamarca","country_name_ee":"Estonia","country_name_es":"España","country_name_fi":"Finlandia","country_name_fr":"Francia","country_name_gb":"Reino Unido","country_name_gi":"Gibraltar","country_name_gr":"Grecia","country_name_hk":"Hong Kong","country_name_hr":"Croacia","country_name_hu":"Hungría","country_name_ie":"Irlanda","country_name_il":"Israel","country_name_is":"Islandia","country_name_it":"Italia","country_name_jp":"Japón","country_name_kr":"Corea del Sur","country_name_li":"Liechtenstein","country_name_lt":"Lituania","country_name_lu":"Luxemburgo","country_name_lv":"Letonia","country_name_mc":"Mónaco","country_name_mo":"Macao","country_name_mt":"Malta","country_name_mx":"México","country_name_nl":"Países Bajos","country_name_no":"Noruega","country_name_nz":"Nueva Zelanda","country_name_pl":"Polonia","country_name_pt":"Portugal","country_name_ro":"Rumanía","country_name_rs":"Serbia","country_name_ru":"Rusia","country_name_se":"Suecia","country_name_sg":"Singapur","country_name_sk":"Eslovaquia","country_name_sm":"San Marino","country_name_tw":"Taiwán","country_name_uk":"Ucrania","country_name_us":"Estados Unidos","display_current_amps":"{current} A","display_energy_kilowatt_hours":"{energy} kWh","display_energy_watt_hours":"{energy} Wh","display_frequency_hertz":"{frequency} Hz","display_meter_site_export_power":"Exportación: {realPower} ","display_meter_site_import_power":"Importación: {realPower}","display_meter_solar_generation_power":"Generación: {realPower}","display_phase_type_unknown":"desconocido","display_power_kilowatts":"{power} kW","display_power_watts":"{power} W","display_resistance_kiloohms":"{resistance} kΩ","display_resistance_ohms":"{resistance} Ω","display_voltage_volts":"{voltage} V","dropdown_default_selection":"Seleccionar","error_boundary_label_error_details":"Detalles del error:","error_boundary_subtitle":"Bueno, esto es vergonzoso... Encontrado un error en la aplicación.","error_boundary_title":"¡Vaya! Algo salio mal","error_messages_invalid_password":"Contraseña no válida. Vuelva a intentarlo.","factory_reset_subtitle":"Borra toda la configuración de red y dispositivo. Se hara todo lo posible para desvincular los dispositivos emparejados Los datos de vida útil no se verán afectados.","grid_code_container_title":"Código de red ( Código de cuadrícula) ","grid_code_point_PINVrx_SmartInvSelect":"Funciones de inversor inteligente habilitadas","grid_code_point_nominal_grid_frequency":"Frecuencia nominal de la red","grid_code_point_nominal_grid_voltage":" Voltaje nominal de la red (L-N)","grid_code_point_nominal_pinv_voltage":"Tensión nominal de la red en las Powerwalls conectadas","grid_code_point_vf_limit_over_frequency_0_grid_following":"Límite de reconexiones por sobre frecuencia","grid_code_point_vf_limit_over_frequency_1_grid_following":"Disparo por sobrefrecuencia 1 - Límite","grid_code_point_vf_limit_over_voltage_0_grid_following":"Límite de reconexiones por sobretensión","grid_code_point_vf_limit_over_voltage_1_grid_following":"Disparo por Sobre voltaje 1 - Límite","grid_code_point_vf_limit_under_frequency_0_grid_following":"Límite de reconexiones por subfrecuencia","grid_code_point_vf_limit_under_frequency_1_grid_following":"Disparo por baja frecuencia 1 - Límite","grid_code_point_vf_limit_under_voltage_0_grid_following":"Límite de reconexiones por bajo voltaje","grid_code_point_vf_limit_under_voltage_1_grid_following":"Disparo por bajo voltaje 1 - Límite","grid_code_point_vf_param_allow_charging_while_qualifying":"Permite la carga de la batería durante el periodo de calificación de la red","grid_code_point_vf_timing_over_frequency_1_grid_following":"Disparo por sobrefrecuencia 1 - Temporización","grid_code_point_vf_timing_over_voltage_1_grid_following":"Over Voltage Trip 1 - Timing","grid_code_point_vf_timing_qualifying_time_grid_following":"Tiempo de recalificación de la red del inversor","grid_code_point_vf_timing_under_frequency_1_grid_following":"Under Frequency Trip 1 - Timing","grid_code_point_vf_timing_under_voltage_1_grid_following":"Under Voltage Trip 1 - Timing","grid_code_unit_Hz":"Hz","grid_code_unit_V":"Voltios","grid_code_unit_V_pu":"V / V_nominal","grid_code_unit_bool":"0 = no, 1 = sí","grid_code_unit_enum":"valor enumerado; consulte el manual","grid_code_unit_s":"segundos","grid_code_view_advanced_label":"CONFIGURACIÓN AVANZADA","grid_code_view_confirmation":"Confirmar que el código de red seleccionado corresponde a esta ubicación","grid_code_view_country_label":"PAÍS","grid_code_view_distributor_label":"Operador de red de distribución (DNO)","grid_code_view_filter_freq":"Actualmente, este sitio se encuentra fuera de la red. Permitir selección de todos los códigos de red.","grid_code_view_filter_freq_warning":"Seleccione cuidadosamente el código de red adecuado para asegurarse de que el sistema funcionará con el voltaje y la frecuencia correctos.","grid_code_view_frequency":"Frecuencia","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"Confirme que el código de red preconfigurada se aplica a esta ubicación","grid_code_view_preconfigured_label":"CÓDIGO DE RED PRECONFIGURADA","grid_code_view_region_label":"REGIÓN","grid_code_view_reset_modal_body":"Este sitio tiene una configuración de código de red personalizada. Estos parámetros configurados se borran cuando se cambia o restablece el código de red.","grid_code_view_reset_modal_cancel_button":"Cancelar","grid_code_view_reset_modal_confirm_button":"Borrar ajustes y continuar","grid_code_view_reset_modal_header":"¿RESTABLECER SELECCIÓN DE CÓDIGO DE RED?","grid_code_view_reset_selection":"RESTABLECER SELECCIÓN DE CÓDIGO DE RED","grid_code_view_retailer_label":"COMERCIANTE","grid_code_view_settings_summary":"{voltage} {frequency} {phase}","grid_code_view_standard_label":"ESTÁNDAR","grid_code_view_utility_label":"RED ELÉCTRICA","grid_code_view_volt_freq_label":"VOLTAJE/FRECUENCIA","grid_code_view_voltage":"Voltaje","grid_code_view_voltage_reading_split":"{voltageLN} / {voltageLL}","label_button_edit":"EDITAR","label_button_enter_manually":"INTRODUCIR MANUALMENTE","label_button_finish":"FINALIZAR","label_button_scan_barcode":"ESCANEAR CÓDIGO DE BARRAS","label_button_scan_qrcode":"ESCANEAR CÓDIGO QR","label_button_upload":"CARGAR","label_factory_reset":"RESTABLECIMIENTO DE FÁBRICA","label_form_input_file":"ARCHIVO","label_form_input_software_update":"ACTUALIZACIÓN DE SOFTWARE","label_model":"Modelo","label_part_number":"Número de pieza","label_part_number_psn":"Número de pieza (TPN)","label_serial_number":"Número de serie","label_serial_number_tsn":"Número de serie (TSN)","menu_card_label_active_alerts":"Activas: {alertCount}","menu_card_label_no_active_alerts":"Ninguna activa","menu_card_label_version":"Versión: {version}","modal_close":"CERRAR","modal_refresh":"ACTUALIZAR","modal_save":"GUARDAR","navigation_back":"ATRÁS","navigation_cancel":"CANCELAR","navigation_forward":"CONTINUAR","navigation_skip":"SALTAR","network_view_cable_connected_label":"Cable conectado:","network_view_connection_heading":"Conexión","network_view_connection_not_supported_label":"Conexión (no se admite)","network_view_disable_button_label":"Desactivar","network_view_dns_label_":"DNS:","network_view_edit_button_label":"Editar","network_view_enable_button_label":"Habilitar","network_view_enabled_info_label":"Habilitada:","network_view_ethernet_title":"Ethernet","network_view_gsm_title":"Móvil","network_view_internet_connection_label":"Conectado a Internet:","network_view_ip_address_label":"Dirección:","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"Dirección MAC","network_view_mac_address_label":"Dirección MAC:","network_view_primary_connection_label":"Activo:","network_view_signal_strength_label":"Intensidad de la señal:","network_view_ssid_label":"Red configurada:","network_view_subnet_mask_label":"Subred:","network_view_tesla_connection_label":"Conectado a Tesla:","network_view_wifi_title":"Wi-Fi","network_view_wireless_connected_label":"Conectado:","not_found_description":"Disculpe, la página que busca no existe.","not_found_title":"404 No se encuentra esa página","password_input_view_password":"CONTRASEÑA","password_input_view_show_password":"Mostrar contraseña","phase_type_single":"Monofásica","phase_type_split":"Fase dividida","phase_type_three":"Trifásica","phase_type_two":"Bifásica","phase_type_wye_ll":"Conexión en Y L-L","prompt_required_field":"Este campo es obligatorio.","service_factory_reset_confirmation":"La configuración local se borrará y se reiniciará el dispositivo. Por favor, confirme.","sideload_container_subtitle":"Seleccione un archivo .bin","summary_container_title":"Resumen","title_installation":"Instalación","title_metering":"Medición","title_networks":"Redes","title_service":"Servicio","title_site_info":"Información del sitio","title_site_meter":"Medidor del emplazamiento","title_software":"Software","title_software_update":"Actualización de software","update_handshake_result_failed":"No se puede contactar con el servidor. Compruebe la conexión a internet del dispositivo e inténtelo de nuevo.","update_handshake_result_non_actionable":"No hay actualizaciones disponibles.","update_handshake_result_update_staged":"Hay una nueva versión de software disponible.","update_handshake_result_update_staged_version":"La versión de software {version} está disponible.","update_last_update_result_failed":"No se ha podido completar la actualización del software. Inténtelo de nuevo o póngase en contacto con el equipo de servicio de Tesla.","update_status_downloading":"Descargando actualización...","update_view_button_label_check_for_update":"BUSCAR ACTUALIZACIONES","update_view_button_label_install":"INSTALAR","update_view_check_notice_not_internet_connected":"Sin conexión a Internet no se puede comprobar si hay actualizaciones. Compruebe la configuración de red del dispositivo.","update_view_handshake_failed":"No se puede contactar con el servidor para comprobar si hay actualizaciones.","update_view_handshake_non_actionable":"No hay actualizaciones disponibles.","update_view_handshake_update_staged":"Hay una actualización disponible y se descargará en segundo plano.","update_view_install_notice_not_internet_connected":"No se puede descargar la actualización de software sin una conexión a internet. Compruebe la configuración de red del dispositivo.","update_view_label_current_version":"Versión actual: {version} ({identifier})","update_view_latest_version":"Versión más reciente: {version}","update_view_not_yet_checked":"Todavía no se ha comprobado si hay alguna actualización.","update_view_notice_automatic_update":"Haga clic para aplicar ahora. De otro modo, la actualización se instalará más tarde en segundo plano.","update_view_result_failed":"No se ha podido completar la actualización del software. Inténtelo de nuevo o póngase en contacto con el equipo de servicio de Tesla.","update_view_result_succeeded":"Se ha completado correctamente la actualización del software.","update_view_status_downloaded":"Descarga completada. Preparando actualización...","update_view_status_downloading":"Descargando actualización...","update_view_status_staged":"Actualización preparada. Haga clic en el botón de instalación para continuar.","wifi_page_available_networks":"Redes disponibles","wifi_page_cancel_button_label":"Cancelar","wifi_page_check_password":"No se puede conectar, compruebe la contraseña de Wi-Fi.","wifi_view_available_networks_subtitle":"REDES DISPONIBLES","wifi_view_button_label_join":"CONECTARSE","wifi_view_button_label_manual":"INTRODUCIR RED MANUALMENTE","wifi_view_input_label_ssid":"RED (SSID)","wifi_view_label_connecting_ssid":"Conectándose a {ssid}","wifi_view_mac_address_label":"Dirección MAC: {mac}","wifi_view_no_networks":"No se ha encontrado ninguna red Wi-Fi.","wifi_view_no_password_placeholder":"No se necesita contraseña","wifi_view_notice_joining":"Este proceso puede tardar unos minutos y es posible que el dispositivo se reinicie. Para continuar con la instalación, es posible que tenga que volver a conectarse al punto de acceso wifi.","wifi_view_password_label":"CONTRASEÑA","wifi_view_prompt_network_types":"Conectarse a redes WPA de 2,4 GHz disponibles.","wifi_view_reconnect_notice":"Durante el proceso es posible que tenga que volver a conectarse al punto de acceso Wi-Fi del dispositivo antes de continuar con la instalación.","wifi_view_rescan":"VOLVER A ESCANEAR","wifi_view_username_label":"NOMBRE DE USUARIO","wifi_view_wpa2_password_label":"CONTRASEÑA WPA2"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"Waarschuwingen","alerts_view_no_active_alerts":"Geen actieve waarschuwingen","barcode_reader_checksum_error":"Ongeldige barcode. Probeer het opnieuw en zorg ervoor dat u de juiste barcode indient.","barcode_reader_format_error":"Onjuiste barcode-indeling. Probeer het opnieuw en zorg ervoor dat u de juiste barcode indient.","barcode_reader_internal_error":"Barcodescanner niet beschikbaar. Geef de informatie handmatig op.","barcode_reader_not_found":"Barcode kon niet worden gedetecteerd. Probeer het opnieuw en zorg ervoor dat de barcode scherp en groot genoeg is.","button_factory_reset":"RESET","button_label_confirm":"BEVESTIGEN","button_label_factory_reset":"STANDAARD FABRIEKSINSTELLINGEN TERUGZETTEN","connection_details_network_configured":"Geconfigureerd","connection_details_network_configured_ip":"Geconfigureerd netwerk: {ipAddress}","connection_details_network_configured_ssid":"Geconfigureerd netwerk: {ssid}","connection_details_network_configured_ssid_ip":"Geconfigureerd netwerk: {ssid} ({ipAddress})","connection_details_network_not_connected":"Niet verbonden","connection_modal_description":"Dit is te verwachten wanneer het apparaat uit en weer aan word gezet, bij het toepassen van een software-update of wanneer bepaalde apparaatconfiguratie wordt gewijzigd.{br}{br}Mogelijk moet u opnieuw verbinding maken met het wifitoegangspunt van het apparaat om door te gaan.","connection_modal_title":"Verbinding met apparaat verbroken","connection_status_network_configured":"Geconfigureerd","connection_status_network_connected":"Verbonden","connection_status_network_connection_problem":"Verbindingsprobleem","connection_status_network_disabled":"Uitgeschakeld","connection_status_network_no_internet":"Geen verbinding met internet. Controleer IP-adresconfiguratie en internet-uplink.","connection_status_network_no_ip":"Geen IP-adres gekregen. Controleer de routerconfiguratie voor MAC-adresblokkeringslijsten of gelijkaardige instellingen.","connection_status_network_no_tesla":"Geen verbinding met Tesla. Controleer de router- en firewall-instellingen.","connection_status_network_not_connected":"Niet verbonden","control_connect":"AANSLUITEN","control_delete":"VERWIJDEREN","country_name_ad":"Andorra","country_name_ae":"Verenigde Arabische Emiraten","country_name_am":"Armenië","country_name_at":"Oostenrijk","country_name_au":"Australië","country_name_ba":"Bosnië en Herzegovina","country_name_be":"België","country_name_bg":"Bulgarije","country_name_ca":"Canada","country_name_ch":"Zwitserland","country_name_cn":"China","country_name_cy":"Cyprus","country_name_cz":"Tsjechië","country_name_de":"Duitsland","country_name_dk":"Denemarken","country_name_ee":"Estland","country_name_es":"Spanje","country_name_fi":"Finland","country_name_fr":"Frankrijk","country_name_gb":"Verenigd Koninkrijk","country_name_gi":"Gibraltar","country_name_gr":"Griekenland","country_name_hk":"Hongkong","country_name_hr":"Kroatië","country_name_hu":"Hongarije","country_name_ie":"Ierland","country_name_il":"Israël","country_name_is":"IJsland","country_name_it":"Italië","country_name_jp":"Japan","country_name_kr":"Zuid-Korea","country_name_li":"Liechtenstein","country_name_lt":"Litouwen","country_name_lu":"Luxemburg","country_name_lv":"Letland","country_name_mc":"Monaco","country_name_mo":"Macao","country_name_mt":"Malta","country_name_mx":"Mexico","country_name_nl":"Nederland","country_name_no":"Noorwegen","country_name_nz":"Nieuw-Zeeland","country_name_pl":"Polen","country_name_pt":"Portugal","country_name_ro":"Roemenië","country_name_rs":"Servië","country_name_ru":"Rusland","country_name_se":"Zweden","country_name_sg":"Singapore","country_name_sk":"Slowakije","country_name_sm":"San Marino","country_name_tw":"Taiwan","country_name_uk":"Oekraïne","country_name_us":"Verenigde Staten","display_current_amps":"{current}A","display_energy_kilowatt_hours":"{energy} kWh","display_energy_watt_hours":"{energy}Wh","display_frequency_hertz":"{frequency}Hz","display_phase_type_unknown":"onbekend","display_power_kilowatts":"{power}kW","display_power_watts":"{power}W","display_resistance_kiloohms":"{resistance}kΩ","display_resistance_ohms":"{resistance}Ω","display_voltage_volts":"{voltage}V","dropdown_default_selection":"Selecteren","error_boundary_label_error_details":"Foutdetails:","error_boundary_subtitle":"Wat is dit vervelend! Er is een fout opgetreden in de app.","error_boundary_title":"Oeps! Er is iets fout gegaan.","error_messages_invalid_password":"Ongeldig wachtwoord. Probeer het opnieuw.","factory_reset_subtitle":"Hiermee worden alle netwerk- en apparaatinstellingen gewist. Er wordt zo goed mogelijk geprobeerd om eventuele gekoppelde apparaten te ontkoppelen. Dit heeft geen invloed op levensduurgegevens.","grid_code_container_title":"Netcode","grid_code_point_PINVrx_SmartInvSelect":"Ingeschakelde functies voor slimme omvormer","grid_code_point_nominal_grid_frequency":"Nominale netfrequentie","grid_code_point_nominal_grid_voltage":" Nominale netspanning (L-N)","grid_code_point_nominal_pinv_voltage":"Nominale netspanning van aangesloten Powerwalls","grid_code_point_vf_limit_over_frequency_0_grid_following":"Bovenlimiet heraansluitingsfrequentie","grid_code_point_vf_limit_over_frequency_1_grid_following":"Over Frequency Trip 1 - Limit","grid_code_point_vf_limit_over_voltage_0_grid_following":"Bovenlimiet heraansluitingsspanning","grid_code_point_vf_limit_over_voltage_1_grid_following":"Over Voltage Trip 1 - Limit","grid_code_point_vf_limit_under_frequency_0_grid_following":"Onderlimiet heraansluitingsfrequentie","grid_code_point_vf_limit_under_frequency_1_grid_following":"Under Frequency Trip 1 - Limit","grid_code_point_vf_limit_under_voltage_0_grid_following":"Onderlimiet heraansluitingsspanning","grid_code_point_vf_limit_under_voltage_1_grid_following":"Under Voltage Trip 1 - Limit","grid_code_point_vf_param_allow_charging_while_qualifying":"Opladen van de batterij toestaan tijdens de kwalificatieperiode van het net","grid_code_point_vf_timing_over_frequency_1_grid_following":"Over Frequency Trip 1 - Timing","grid_code_point_vf_timing_over_voltage_1_grid_following":"Over Voltage Trip 1 - Timing","grid_code_point_vf_timing_qualifying_time_grid_following":"Omvormer herkwalificatietijd net","grid_code_point_vf_timing_under_frequency_1_grid_following":"Under Frequency Trip 1 - Timing","grid_code_point_vf_timing_under_voltage_1_grid_following":"Under Voltage Trip 1 - Timing","grid_code_unit_Hz":"Hz","grid_code_unit_V":"Volt","grid_code_unit_V_pu":"V / V_nominal","grid_code_unit_bool":"0 = nee, 1 = ja","grid_code_unit_enum":"genummerde waarde, zie handleiding","grid_code_unit_s":"seconden","grid_code_view_advanced_label":"GEAVANCEERDE INSTELLINGEN","grid_code_view_confirmation":"Bevestig dat de geselecteerde netcode van toepassing is op deze locatie","grid_code_view_country_label":"LAND","grid_code_view_distributor_label":"NETBEHEERDER","grid_code_view_filter_freq":"Deze locatie is momenteel niet met het elektriciteitsnet verbonden. Keuze uit alle netcodes toestaan.","grid_code_view_filter_freq_warning":"Selecteer zorgvuldig de juiste netcode om ervoor te zorgen dat het systeem op de gewenste spanning en frequentie draait.","grid_code_view_frequency":"Frequentie","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"Bevestig dat de voorgeconfigureerde netcode van toepassing is op deze locatie","grid_code_view_preconfigured_label":"VOORGECONFIGUREERDE NETCODE","grid_code_view_region_label":"REGIO","grid_code_view_reset_modal_body":"Deze locatie heeft aangepaste instellingen voor de netcode. Deze geconfigureerde instellingen worden gewist wanneer de netcode wordt gewijzigd of gereset.","grid_code_view_reset_modal_cancel_button":"Annuleren","grid_code_view_reset_modal_confirm_button":"Instellingen wissen en doorgaan","grid_code_view_reset_modal_header":"SELECTIE VAN NETCODE RESETTEN?","grid_code_view_reset_selection":"SELECTIE VAN NETCODE RESETTEN","grid_code_view_retailer_label":"ENERGIELEVERANCIER","grid_code_view_settings_summary":"{voltage} {frequency} {phase}","grid_code_view_standard_label":"NETCODE","grid_code_view_utility_label":"ENERGIEMAATSCHAPPIJ","grid_code_view_volt_freq_label":"SPANNING/FREQUENTIE","grid_code_view_voltage":"Spanning","grid_code_view_voltage_reading_split":"{voltageLN} / {voltageLL}","label_button_edit":"BEWERKEN","label_button_enter_manually":"HANDMATIG INVOEREN","label_button_finish":"VOLTOOIEN","label_button_scan_barcode":"BARCODE SCANNEN","label_button_scan_qrcode":"QR-CODE SCANNEN","label_button_upload":"UPLOADEN","label_factory_reset":"INSTELLINGEN WISSEN","label_form_input_file":"BESTAND","label_form_input_software_update":"SOFTWARE-UPDATE","label_model":"Model","label_part_number":"Onderdeelnummer","label_part_number_psn":"Onderdeelnummer (TPN)","label_serial_number":"Serienummer","label_serial_number_tsn":"Serienummer (TSN)","menu_card_label_active_alerts":"Actief: {alertCount}","menu_card_label_no_active_alerts":"Geen actief","menu_card_label_version":"Versie: {version}","modal_close":"SLUITEN","modal_refresh":"VERNIEUWEN","modal_save":"OPSLAAN","navigation_back":"TERUG","navigation_cancel":"ANNULEREN","navigation_forward":"DOORGAAN","navigation_skip":"OVERSLAAN","network_view_cable_connected_label":"Kabel aangesloten:","network_view_connection_heading":"Verbinding","network_view_connection_not_supported_label":"Verbinding (niet ondersteund)","network_view_disable_button_label":"Uitschakelen","network_view_dns_label_":"DNS:","network_view_edit_button_label":"Bewerken","network_view_enable_button_label":"Inschakeling","network_view_enabled_info_label":"Ingeschakeld:","network_view_ethernet_title":"Ethernet","network_view_gsm_title":"Mobiel","network_view_internet_connection_label":"Verbonden met internet:","network_view_ip_address_label":"Adres:","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"MAC-adres","network_view_mac_address_label":"MAC-adres:","network_view_primary_connection_label":"Actief:","network_view_signal_strength_label":"Signaalsterkte:","network_view_ssid_label":"Geconfigureerd netwerk:","network_view_subnet_mask_label":"Subnet:","network_view_tesla_connection_label":"Verbonden met Tesla:","network_view_wifi_title":"Wifi","network_view_wireless_connected_label":"Verbonden:","not_found_description":"Het spijt ons, maar de pagina die u zoekt bestaat niet.","not_found_title":"404 pagina niet gevonden","password_input_view_password":"PASWOORD","password_input_view_show_password":"Paswoord tonen","phase_type_single":"Enkele fase","phase_type_split":"Gesplitste fasen","phase_type_three":"Drie fasen","phase_type_two":"Twee fasen","phase_type_wye_ll":"Wye L-L","prompt_required_field":"Dit veld is vereist.","service_factory_reset_confirmation":"De lokale instellingen worden verwijderd en het apparaat wordt opnieuw opgestart. Bevestig.","sideload_container_subtitle":"Selecteer een .bin-bestand","summary_container_title":"Overzicht","title_installation":"Installatie","title_networks":"Netwerken","title_service":"Service","title_site_meter":"Locatiemeter","title_software":"Software","title_software_update":"Software-update","update_handshake_result_failed":"Kan geen contact maken met de server. Controleer de internetverbinding van het apparaat en probeer het opnieuw.","update_handshake_result_non_actionable":"Geen updates beschikbaar.","update_handshake_result_update_staged":"Er is een nieuwe softwareversie beschikbaar.","update_handshake_result_update_staged_version":"Softwareversie {version} is beschikbaar.","update_last_update_result_failed":"De nieuwste software-update is mislukt. Probeer het opnieuw of neem contact op met Tesla Service.","update_status_downloading":"Update downloaden...","update_view_button_label_check_for_update":"CONTROLEREN OP UPDATE","update_view_button_label_install":"INSTALLEREN","update_view_check_notice_not_internet_connected":"Kan niet zoeken naar updates zonder internetverbinding. Controleer de netwerkconfiguratie van het apparaat.","update_view_handshake_failed":"Kan geen contact maken met de server om te controleren of er een update is.","update_view_handshake_non_actionable":"Er zijn geen updates beschikbaar.","update_view_handshake_update_staged":"Er is een update beschikbaar, die in de achtergrond wordt gedownload.","update_view_install_notice_not_internet_connected":"Kan de software-update niet downloaden zonder internetverbinding. Controleer de netwerkconfiguratie van het apparaat.","update_view_label_current_version":"Huidige versie: {version} ({identifier})","update_view_latest_version":"Nieuwste versie: {version}","update_view_not_yet_checked":"Nog niet gecontroleerd op update.","update_view_notice_automatic_update":"Klik om nu toe te passen. Anders wordt de update later in de achtergrond geïnstalleerd.","update_view_result_failed":"De nieuwste software-update is mislukt. Probeer het opnieuw of neem contact op met Tesla Service.","update_view_result_succeeded":"De laatste software-update is geslaagd.","update_view_status_downloaded":"Download voltooid. Tijdelijk opslaan update...","update_view_status_downloading":"Update downloaden...","update_view_status_staged":"Update tijdelijk opgeslagen. Klik op de installatieknop om door te gaan.","wifi_view_available_networks_subtitle":"BESCHIKBARE NETWERKEN","wifi_view_button_label_join":"VERBINDEN","wifi_view_button_label_manual":"HANDMATIG NETWERK INVOEREN","wifi_view_input_label_ssid":"NETWERK (SSID)","wifi_view_label_connecting_ssid":"Verbinding maken met {ssid}","wifi_view_mac_address_label":"MAC-adres: {mac}","wifi_view_no_networks":"Geen wifinetwerken gevonden!","wifi_view_no_password_placeholder":"Geen paswoord vereist","wifi_view_notice_joining":"Het proces kan enkele minuten duren en kan ervoor zorgen dat het apparaat opnieuw wordt opgestart. Mogelijk moet u opnieuw verbinding maken met het wifitoegangspunt van het apparaat om door te gaan met de installatie.","wifi_view_password_label":"PASWOORD","wifi_view_prompt_network_types":"Maak verbinding met beschikbare 2,4 GHz WPA-netwerken.","wifi_view_reconnect_notice":"Tijdens dit proces moet u mogelijk opnieuw verbinding maken met het wifi-toegangspunt van het apparaat om de installatie voort te zetten.","wifi_view_rescan":"OPNIEUW SCANNEN","wifi_view_username_label":"GEBRUIKERSNAAM","wifi_view_wpa2_password_label":"WPA2-WACHTWOORD"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"Alertes","alerts_view_no_active_alerts":"Pas d\'alerte active","barcode_reader_checksum_error":"Code-barres non valide. Veuillez réessayer en vous assurant que le code-barres correct est envoyé.","barcode_reader_format_error":"Format de code-barres incorrect. Veuillez réessayer en vous assurant que le code-barres correct est envoyé.","barcode_reader_internal_error":"Lecteur de code-barres indisponible. Feuillez fournir les informations manuellement.","barcode_reader_not_found":"Le code-barres n\'a pas pu être détecté. Veuillez réessayer en vous assurant que le code-barres est centré et suffisamment large.","button_factory_reset":"RÉINITIALISER","button_label_confirm":"CONFIRMER","button_label_factory_reset":"RÉTABLIR LES PARAMÈTRES D\'USINE","connection_details_network_configured":"Configuré","connection_details_network_configured_ip":"Réseau configuré: {AdresseIP}","connection_details_network_configured_ssid":"Réseau configuré: {ssid}","connection_details_network_configured_ssid_ip":"Réseau configuré : {ssid} ({AdresseIP})","connection_details_network_not_connected":"Déconnecté","connection_modal_description":"Ce comportement est prévisible lors de la mise sous tension de l\'appareil, de la mise en œuvre d\'une mise à jour logicielle, ou lorsque des modifications sont apportées à une certaine configuration de l\'appareil.{br}{br}Vous devrez peut-être vous reconnecter au point d\'accès Wi-Fi de l\'appareil pour continuer.","connection_modal_title":"Perte de la connexion à l\'appareil","connection_status_network_configured":"Configuré","connection_status_network_connected":"Connecté","connection_status_network_connection_problem":"Problème de connexion","connection_status_network_disabled":"Désactivé","connection_status_network_no_internet":"Pas de connexion à Internet. Vérifiez la configuration de l\'adresse IP et la liaison montante vers Internet.","connection_status_network_no_ip":"N\'a pas obtenu d\'adresse IP. Vérifiez la configuration du routeur pour les listes de blocs d\'adresses MAC ou semblables.","connection_status_network_no_tesla":"Pas de connexion avec Tesla. Vérifiez les paramètres du routeur et du pare-feu.","connection_status_network_not_connected":"Déconnecté","control_connect":"RELIER","control_delete":"SUPPRIMER","country_name_ad":"Andorre","country_name_ae":"Émirats arabes unis","country_name_am":"Arménie","country_name_at":"Autriche","country_name_au":"Australie","country_name_ba":"Bosnie-Herzégovine","country_name_be":"Belgique","country_name_bg":"Bulgarie","country_name_ca":"Canada","country_name_ch":"Suisse","country_name_cn":"Chine","country_name_cy":"Chypre","country_name_cz":"Tchéquie","country_name_de":"Allemagne","country_name_dk":"Danemark","country_name_ee":"Estonie","country_name_es":"Espagne","country_name_fi":"Finlande","country_name_fr":"France","country_name_gb":"Royaume-Uni","country_name_gi":"Gibraltar","country_name_gr":"Grèce","country_name_hk":"Hong Kong","country_name_hr":"Croatie","country_name_hu":"Hongrie","country_name_ie":"Irlande","country_name_il":"Israël","country_name_is":"Islande","country_name_it":"Italie","country_name_jp":"Japon","country_name_kr":"Corée du Sud","country_name_li":"Liechtenstein","country_name_lt":"Lituanie","country_name_lu":"Luxembourg","country_name_lv":"Lettonie","country_name_mc":"Monaco","country_name_mo":"Macao","country_name_mt":"Malte","country_name_mx":"Mexique","country_name_nl":"Pays-Bas","country_name_no":"Norvège","country_name_nz":"Nouvelle Zélande","country_name_pl":"Pologne","country_name_pt":"Portugal","country_name_ro":"Roumanie","country_name_rs":"Serbie","country_name_ru":"Russie","country_name_se":"Suède","country_name_sg":"Singapour","country_name_sk":"Slovaquie","country_name_sm":"Saint-Marin","country_name_tw":"Taïwan","country_name_uk":"Ukraine","country_name_us":"États-Unis","display_current_amps":"{current}A","display_energy_kilowatt_hours":"{energy}kWh","display_energy_watt_hours":"{energy}Wh","display_frequency_hertz":"{frequency}Hz","display_meter_site_export_power":"{realPower} Exportation","display_meter_site_import_power":"{realPower} Importation","display_meter_solar_generation_power":"{realPower} Génération","display_phase_type_unknown":"inconnu","display_power_kilowatts":"{power}kW","display_power_watts":"{power}W","display_resistance_kiloohms":"{resistance}kΩ","display_resistance_ohms":"{resistance}Ω","display_voltage_volts":"{voltage}V","dropdown_default_selection":"Sélectionner","error_boundary_label_error_details":"Détails de l\'erreur :","error_boundary_subtitle":"C\'est assez embarrassant. Nous avons rencontré une erreur dans l\'application.","error_boundary_title":"Mince alors ! Une erreur s’est produite.","error_messages_invalid_password":"Mot de passe non valide. Veuillez réessayer.","factory_reset_subtitle":"Supprime tous les paramètres du réseau et de l\'appareil. Nous tenterons de désapparier tout appareil associé. Les données relatives à la durée de vie ne seront pas affectées.","grid_code_container_title":"Norme électrique","grid_code_point_PINVrx_SmartInvSelect":"Caractéristiques de l\'onduleur intelligent activé","grid_code_point_nominal_grid_frequency":"Fréquence nominale du réseau","grid_code_point_nominal_grid_voltage":" Tension nominale du réseau (L-N)","grid_code_point_nominal_pinv_voltage":"Tension nominale du réseau des Powerwalls","grid_code_point_vf_limit_over_frequency_0_grid_following":"Limite de reconnexion de surfréquence","grid_code_point_vf_limit_over_frequency_1_grid_following":"Over Frequency Trip 1 - Limit","grid_code_point_vf_limit_over_voltage_0_grid_following":"Limite de reconnexion de surtension","grid_code_point_vf_limit_over_voltage_1_grid_following":"Over Voltage Trip 1 - Limit","grid_code_point_vf_limit_under_frequency_0_grid_following":"Limite de reconnexion de sous-fréquence","grid_code_point_vf_limit_under_frequency_1_grid_following":"Under Frequency Trip 1 - Limit","grid_code_point_vf_limit_under_voltage_0_grid_following":"Limite de reconnexion de sous tension","grid_code_point_vf_limit_under_voltage_1_grid_following":"Under Voltage Trip 1 - Limit","grid_code_point_vf_param_allow_charging_while_qualifying":"Permet la recharge de la batterie pendant la période de qualification du réseau","grid_code_point_vf_timing_over_frequency_1_grid_following":"Over Frequency Trip 1 - Timing","grid_code_point_vf_timing_over_voltage_1_grid_following":"Over Voltage Trip 1 - Timing","grid_code_point_vf_timing_qualifying_time_grid_following":"Heure de requalification du réseau de l\'onduleur","grid_code_point_vf_timing_under_frequency_1_grid_following":"Under Frequency Trip 1 - Timing","grid_code_point_vf_timing_under_voltage_1_grid_following":"Under Voltage Trip 1 - Timing","grid_code_unit_Hz":"Hz","grid_code_unit_V":"Volts","grid_code_unit_V_pu":"V / V_nominal","grid_code_unit_bool":"0 = non, 1 = oui","grid_code_unit_enum":"valeur énumérée, voir le manuel","grid_code_unit_s":"secondes","grid_code_view_advanced_label":"PARAMÈTRES AVANCÉS","grid_code_view_confirmation":"Confirmez que la norme électrique sélectionnée s’applique à ce lieu","grid_code_view_country_label":"PAYS","grid_code_view_distributor_label":"DISTRIBUTEUR","grid_code_view_filter_freq":"Le Powerwall n\'est pas actuellement connecté au réseau électrique. Veuillez parcourir les normes électriques disponibles afin de sélectionner celle qui s\'applique à votre localisation.","grid_code_view_filter_freq_warning":"Sélectionnez la norme électrique pour vous assurer que le système fonctionne à la tension et à la fréquence correcte.","grid_code_view_frequency":"Fréquence","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"Confirme que le code de réseau sélectionné s’applique à ce lieu","grid_code_view_preconfigured_label":"CODE DE RÉSEAU PRÉCONFIGURÉ","grid_code_view_region_label":"RÉGION","grid_code_view_reset_modal_body":"Ce site utilise des paramètres de code de réseau personnalisés. Ces paramètres personnalisés sont effacés lorsque le code de réseau est modifié ou réinitialisé.","grid_code_view_reset_modal_cancel_button":"Annuler","grid_code_view_reset_modal_confirm_button":"Effacer les paramètres et continuer","grid_code_view_reset_modal_header":"RÉINITIALISER LA SÉLECTION DE CODE DE RÉSEAU ?","grid_code_view_reset_selection":"RÉINITIALISER LA SÉLECTION DE CODE DE RÉSEAU","grid_code_view_retailer_label":"FOURNISSEUR","grid_code_view_settings_summary":"{voltage} {fréquence} {phase}","grid_code_view_standard_label":"NORME ELECTRIQUE","grid_code_view_utility_label":"PRODUCTEUR","grid_code_view_volt_freq_label":"TENSION/FRÉQUENCE","grid_code_view_voltage":"Tension","grid_code_view_voltage_reading_split":"{voltageLN} / {voltageLL}","label_button_edit":"ÉDITER","label_button_enter_manually":"SAISIR MANUELLEMENT","label_button_finish":"TERMINER","label_button_scan_barcode":"SCANNER LE CODE-BARRES","label_button_scan_qrcode":"SCANNER LE QR CODE","label_button_upload":"TRANSFÉRER","label_factory_reset":"RESTAURATION D\'USINE","label_form_input_file":"FICHIER","label_form_input_software_update":"METTRE À JOUR","label_model":"Modèle","label_part_number":"Référence","label_part_number_psn":"Référence (TPN)","label_serial_number":"Numéro de série","label_serial_number_tsn":"N° de série (TSN)","menu_card_label_active_alerts":"Actif : {alertCount}","menu_card_label_no_active_alerts":"Aucune active","menu_card_label_version":"Version : {version}","modal_close":"FERMER","modal_refresh":"ACTUALISER","modal_save":"ENREGISTRER","navigation_back":"RETOUR","navigation_cancel":"ANNULER","navigation_forward":"CONTINUER","navigation_skip":"IGNORER","network_view_cable_connected_label":"Câble connecté :","network_view_connection_heading":"Connexion","network_view_connection_not_supported_label":"Connexion (non prise en charge)","network_view_disable_button_label":"Désactiver","network_view_dns_label_":"DNS :","network_view_edit_button_label":"Modifier","network_view_enable_button_label":"Activer","network_view_enabled_info_label":"Activé :","network_view_ethernet_title":"Ethernet","network_view_gsm_title":"Cellulaire","network_view_internet_connection_label":"Connecté à Internet :","network_view_ip_address_label":"Adresse :","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"Adresse MAC","network_view_mac_address_label":"Adresse MAC :","network_view_primary_connection_label":"Actif :","network_view_signal_strength_label":"Puissance du signal :","network_view_ssid_label":"Réseau configuré :","network_view_subnet_mask_label":"Sous-réseau :","network_view_tesla_connection_label":"Connecté à Tesla :","network_view_wifi_title":"Wi-Fi","network_view_wireless_connected_label":"Connecté :","not_found_description":"Désolé, la page que vous cherchez n’existe pas.","not_found_title":"404 page introuvable","password_input_view_password":"MOT DE PASSE","password_input_view_show_password":"Afficher le mot de passe","phase_type_single":"Monophasé","phase_type_split":"Phase auxiliaire","phase_type_three":"Triphasé","phase_type_two":"Biphasé","phase_type_wye_ll":"Wye L-L","prompt_required_field":"Ce champ est obligatoire.","service_factory_reset_confirmation":"Les paramètres locaux seront supprimés et l\'appareil redémarrera. Veuillez S.V.P. Confirmer.","sideload_container_subtitle":"Sélectionner un fichier .bin","summary_container_title":"Synthèse","title_installation":"Installation","title_metering":"Comptage","title_networks":"Réseaux","title_service":"Entretien","title_site_info":"Informations sur le site","title_site_meter":"Compteur de site","title_software":"Logiciel","title_software_update":"Mise à jour du logiciel","update_handshake_result_failed":"Impossible de contacter le serveur. Vérifiez la connexion Internet de l\'appareil et réessayez.","update_handshake_result_non_actionable":"Aucune mise à jour disponible.","update_handshake_result_update_staged":"Une nouvelle version du logiciel est disponible.","update_handshake_result_update_staged_version":"La version {version} du logiciel est disponible.","update_last_update_result_failed":"La dernière mise à jour du logiciel a échoué. Veuillez réessayer ou contacter l\'assistance Tesla.","update_status_downloading":"Téléchargement de la mise à jour...","update_view_button_label_check_for_update":"VÉRIFIER LES MISES À JOUR","update_view_button_label_install":"INSTALLER","update_view_check_notice_not_internet_connected":"Impossible de rechercher des mises à jour sans connexion Internet. Vérifiez la configuration de la mise en réseau de l\'appareil.","update_view_handshake_failed":"Impossible de contacter le serveur pour vérifier la mise à jour.","update_view_handshake_non_actionable":"Pas de mise à jour disponible.","update_view_handshake_update_staged":"Une mise à jour est disponible et sera téléchargée en arrière-plan.","update_view_install_notice_not_internet_connected":"Téléchargement d\'une mise à jour logicielle impossible sans connexion Internet. Vérifiez la configuration de la mise en réseau de l\'appareil.","update_view_label_current_version":"Version actuelle : {version} ({identifier})","update_view_latest_version":"Dernière version : {version}","update_view_not_yet_checked":"Vérification de mise à jour pas encore effectuée.","update_view_notice_automatic_update":"Cliquez ici pour appliquer maintenant. Dans le cas contraire, la mise à jour sera installée ultérieurement en arrière-plan.","update_view_result_failed":"La dernière mise à jour du logiciel a échoué. Veuillez réessayer ou contacter l\'assistance Tesla.","update_view_result_succeeded":"La dernière mise à jour du logiciel a réussi.","update_view_status_downloaded":"Téléchargement terminé. Organisation de la mise à jour...","update_view_status_downloading":"Téléchargement de la mise à jour...","update_view_status_staged":"Mise à jour organisée. Cliquez sur le bouton d\'installation pour poursuivre.","wifi_page_available_networks":"Réseaux disponibles","wifi_page_cancel_button_label":"Annuler","wifi_page_check_password":"Impossible de se connecter, veuillez vérifier le mot de passe du Wi-Fi.","wifi_view_available_networks_subtitle":"RÉSEAUX DISPONIBLES","wifi_view_button_label_join":"REJOINDRE","wifi_view_button_label_manual":"SAISIR MANUELLEMENT LE RÉSEAU","wifi_view_input_label_ssid":"RÉSEAU (SSID)","wifi_view_label_connecting_ssid":"Connexion à {ssid}","wifi_view_mac_address_label":"Adresse MAC : {mac}","wifi_view_no_networks":"Aucun réseau Wi-Fi trouvé !","wifi_view_no_password_placeholder":"Aucun mot de passe requis","wifi_view_notice_joining":"Ce processus peut prendre plusieurs minutes et entraîner un redémarrage de l\'appareil. Il se peut que vous deviez vous reconnecter au point d\'accès Wi-Fi de l\'appareil pour continuer l\'installation.","wifi_view_password_label":"MOT DE PASSE","wifi_view_prompt_network_types":"Connectez-vous aux réseaux WPA de 2,4 Ghz disponibles.","wifi_view_reconnect_notice":"Pendant ce processus, il se peut que vous deviez vous reconnecter au point d\'accès Wi-Fi pour continuer l\'installation.","wifi_view_rescan":"RELANCER LA RECHERCHE","wifi_view_username_label":"NOM D\'UTILISATEUR","wifi_view_wpa2_password_label":"MOT DE PASSE WPA2"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"alert_container_title":"アラート","alerts_view_no_active_alerts":"アクティブなアラートがありません","barcode_reader_checksum_error":"無効なバーコードです。正しいバーコードを送信していることを確認したうえでやり直してください。","barcode_reader_format_error":"無効なバーコードのフォーマットです。正しいバーコードを送信していることを確認したうえでやり直してください。","barcode_reader_internal_error":"バーコード スキャナが使用できません。情報を手入力してください。","barcode_reader_not_found":"バーコードを検出できませんでした。バーコードは、確実に焦点を当て、十分な大きさになるようにしてください。","button_factory_reset":"リセット","button_label_confirm":"確定","button_label_factory_reset":"工場デフォルトにリセット","connection_details_network_configured":"構成済み","connection_details_network_configured_ip":"構成済みのネットワーク: {ipAddress}","connection_details_network_configured_ssid":"構成済みのネットワーク: {ssid}","connection_details_network_configured_ssid_ip":"構成済みのネットワーク: {ssid} ({ipAddress})","connection_details_network_connected":"接続されています","connection_details_network_connected_ip":"({ipAddress})に接続されています","connection_details_network_connected_to_ssid":"{ssid}に接続されています","connection_details_network_connected_to_ssid_ip":"{ssid}({ipAddress})に接続されています","connection_details_network_not_connected":"接続されていません","connection_modal_description":"これは、デバイスの電源を入れ直した場合、ソフトウェアを更新した場合、特定のデバイスの設定を変更した場合に起こりえます。{br}{br}継続するにはそのデバイスのWi-Fiアクセス ポイントに再接続する必要がある場合があります。","connection_modal_title":"デバイスへの接続が失われました","connection_status_network_configured":"設定済み","connection_status_network_connected":"接続されました","connection_status_network_connection_problem":"接続問題","connection_status_network_disabled":"無効になっています","connection_status_network_no_internet":"インターネットと接続されていません。IPアドレスの構成とインターネット アップリンクを確認してください。","connection_status_network_no_ip":"IPアドレスが割り当てられていません。ルーター構成でMACアドレス ブロック リストなどの情報を確認してください。","connection_status_network_no_tesla":"Teslaに接続されていません。ルーターとファイアウォールの設定を確認してください。","connection_status_network_not_connected":"接続されていません","control_connect":"接続","control_delete":"削除","country_name_ad":"アンドラ","country_name_ae":"アラブ首長国連邦","country_name_am":"アメリカ","country_name_at":"オーストリア","country_name_au":"オーストラリア","country_name_ba":"ボスニア・ヘルツェゴビナ","country_name_be":"ベルギー","country_name_bg":"ブルガリア","country_name_ca":"カナダ","country_name_ch":"スイス","country_name_cn":"中国","country_name_cy":"キプロス","country_name_cz":"チェコ共和国","country_name_de":"ドイツ","country_name_dk":"デンマーク","country_name_ee":"エストニア","country_name_es":"スペイン","country_name_fi":"フィンランド","country_name_fr":"フランス","country_name_gb":"英国","country_name_gi":"ジブラルタル","country_name_gr":"ギリシャ","country_name_hk":"香港","country_name_hr":"クロアチア","country_name_hu":"ハンガリー","country_name_ie":"アイルランド","country_name_il":"イスラエル","country_name_is":"アイスランド","country_name_it":"イタリア","country_name_jp":"日本","country_name_kr":"韓国","country_name_li":"リヒテンシュタイン","country_name_lt":"リトアニア","country_name_lu":"ルクセンブルク","country_name_lv":"ラトビア","country_name_mc":"モナコ","country_name_mo":"マカオ","country_name_mt":"マルタ","country_name_mx":"メキシコ","country_name_nl":"オランダ","country_name_no":"ノルウェー","country_name_nz":"ニュージーランド","country_name_pl":"ポーランド","country_name_pt":"ポルトガル","country_name_ro":"ルーマニア","country_name_rs":"セルビア","country_name_ru":"ロシア","country_name_se":"スウェーデン","country_name_sg":"シンガポール","country_name_sk":"スロバキア","country_name_sm":"サンマリノ","country_name_tw":"台湾","country_name_uk":"ウクライナ","country_name_us":"米国","display_current_amps":"{current}A","display_energy_kilowatt_hours":"{energy}kWh","display_energy_watt_hours":"{energy}Wh","display_frequency_hertz":"{frequency}Hz","display_meter_site_export_power":"{realPower}エクスポート","display_meter_site_import_power":"{realPower}インポート","display_meter_solar_generation_power":"{realPower}生成","display_phase_type_unknown":"不明","display_power_kilowatts":"{power}kW","display_power_watts":"{power}W","display_resistance_kiloohms":"{resistance}kΩ","display_resistance_ohms":"{resistance}Ω","display_voltage_volts":"{voltage}V","dropdown_default_selection":"選択","error_boundary_label_error_details":"エラーの内容:","error_boundary_subtitle":"アプリケーションにエラーが発生しました。","error_boundary_title":"問題が発生しました。","error_messages_invalid_password":"パスワードが無効です。もう一度実行してください。","factory_reset_subtitle":"すべてのネットワーク設定とデバイス設定をクリアします。ペアリングされているデバイスのペアリング解除のためにベストエフォートが実施されます。寿命データは影響を受けません。","grid_code_container_title":"グリッドコード:","grid_code_point_PINVrx_SmartInvSelect":"スマート インバーター機能が有効です","grid_code_point_nominal_grid_frequency":"公称配電網周波数","grid_code_point_nominal_grid_voltage":" 公称配電網電圧(L-N)","grid_code_point_nominal_pinv_voltage":"接続されているPowerwallの公称配電網電圧","grid_code_point_vf_limit_over_frequency_0_grid_following":"周波数再接続限度を超えています","grid_code_point_vf_limit_over_frequency_1_grid_following":"OFR","grid_code_point_vf_limit_over_voltage_0_grid_following":"電圧再接続限度を超えています","grid_code_point_vf_limit_over_voltage_1_grid_following":"OVR","grid_code_point_vf_limit_under_frequency_0_grid_following":"周波数再接続限度に達していません","grid_code_point_vf_limit_under_frequency_1_grid_following":"UFR","grid_code_point_vf_limit_under_voltage_0_grid_following":"電圧再接続限度に達していません","grid_code_point_vf_limit_under_voltage_1_grid_following":"UVR","grid_code_point_vf_param_allow_charging_while_qualifying":"配電網認定期間はバッテリー充電ができます","grid_code_point_vf_timing_over_frequency_1_grid_following":"OFR 時限","grid_code_point_vf_timing_over_voltage_1_grid_following":"OVR 時限","grid_code_point_vf_timing_qualifying_time_grid_following":"インバーター再接続時間","grid_code_point_vf_timing_under_frequency_1_grid_following":"UFR 時限","grid_code_point_vf_timing_under_voltage_1_grid_following":"UVR 時限","grid_code_unit_Hz":"Hz","grid_code_unit_V":"ボルト","grid_code_unit_V_pu":"p.u.","grid_code_unit_bool":"0 = いいえ、1 = はい","grid_code_unit_enum":"列挙値については、マニュアルを参照してください","grid_code_unit_s":"秒","grid_code_view_advanced_label":"詳細設定","grid_code_view_confirmation":"選択されたグリッド コードがこの場所に適用されることを確認します。","grid_code_view_country_label":"国","grid_code_view_distributor_label":"DNO","grid_code_view_filter_freq":"このサイトは、現在オフグリッドです。すべてのグリッド コードからの選択を許可。","grid_code_view_filter_freq_warning":"システムが意図した電圧および周波数で動作することを保証するために適切なグリッド コードを慎重に選択してください。","grid_code_view_frequency":"周波数","grid_code_view_missing_reading":"--","grid_code_view_preconfigured_confirmation":"事前設定済みグリッド コードがこの場所に適用されることを確認します。","grid_code_view_preconfigured_label":"事前設定済みグリッド コード","grid_code_view_region_label":"都道府県","grid_code_view_reset_modal_body":"特定のグリットコードの設定がされています。設定は変更・リセットすると初期化されます。","grid_code_view_reset_modal_cancel_button":"キャンセル","grid_code_view_reset_modal_confirm_button":"設定を取り消して次に進む","grid_code_view_reset_modal_header":"グリットコードの設定をリセットしますか?","grid_code_view_reset_selection":"グリッド コードの選択をリセットします","grid_code_view_retailer_label":"電力小売り事業者","grid_code_view_settings_summary":"{voltage} {frequency} {phase}","grid_code_view_standard_label":"規格","grid_code_view_utility_label":"電力会社","grid_code_view_volt_freq_label":"電圧/周波数","grid_code_view_voltage":"電圧","grid_code_view_voltage_reading_split":"{voltageLN} / {voltageLL}","label_button_edit":"編集","label_button_enter_manually":"手入力","label_button_finish":"完了","label_button_scan_barcode":"バーコードをスキャン","label_button_scan_qrcode":"QRコードをスキャン","label_button_upload":"アップロード","label_factory_reset":"出荷時状態にリセット","label_form_input_file":"ファイル","label_form_input_software_update":"ソフトウェア アップデート","label_model":"モデル","label_part_number":"部品番号","label_part_number_psn":"部品番号 (TPN)","label_serial_number":"シリアル番号","label_serial_number_tsn":"シリアル番号 (TSN)","menu_card_label_active_alerts":"アクティブ: {alertCount}","menu_card_label_no_active_alerts":"アクティブなし","menu_card_label_version":"バージョン: {version}","modal_close":"閉じる","modal_refresh":"更新","modal_save":"保存","navigation_back":"戻る","navigation_cancel":"キャンセル","navigation_forward":"次へ","navigation_skip":"スキップ","network_view_cable_connected_label":"ケーブル接続されています:","network_view_connection_heading":"接続","network_view_connection_not_supported_label":"接続(サポート対象外)","network_view_disable_button_label":"無効","network_view_dns_label_":"DNS:","network_view_edit_button_label":"編集","network_view_enable_button_label":"有効","network_view_enabled_info_label":"有効:","network_view_ethernet_title":"イーサネット","network_view_gsm_title":"モバイルデータ通信","network_view_internet_connection_label":"インターネットに接続されています:","network_view_ip_address_label":"アドレス:","network_view_ip_info_heading":"IP","network_view_mac_address_heading":"MACアドレス","network_view_mac_address_label":"MACアドレス:","network_view_primary_connection_label":"アクティブ:","network_view_signal_strength_label":"信号強度:","network_view_ssid_label":"構成済みのネットワーク:","network_view_subnet_mask_label":"サブネット マスク:","network_view_tesla_connection_label":"Teslaに接続されました:","network_view_wifi_title":"Wi-Fi","network_view_wireless_connected_label":"接続あり:","not_found_description":"申し訳ございませんが、お探しのページは存在しません。","not_found_title":"404エラー ページが見つかりませんでした","password_input_view_password":"パスワード","password_input_view_show_password":"パスワード表示","phase_type_single":"単相","phase_type_split":"分相","phase_type_three":"3相","phase_type_two":"2相","phase_type_wye_ll":"ワイL-L","prompt_required_field":"このフィールドは必須です。","service_factory_reset_confirmation":"ローカル設定は削除され、デバイスは再起動します。確認してください。","sideload_container_subtitle":".binファイルを選択します","summary_container_title":"まとめ","title_installation":"設置","title_metering":"測定","title_networks":"ネットワーク","title_service":"サービス","title_site_info":"サイト情報","title_site_meter":"サイト メーター","title_software":"ソフトウェア","title_software_update":"ソフトウェア アップデート","update_handshake_result_failed":"サーバと通信することができません。デバイスのインターネット接続を確認してからやり直してください。","update_handshake_result_non_actionable":"アップデートはありません。","update_handshake_result_update_staged":"新しいソフトウェアバージョンを入手できます。","update_handshake_result_update_staged_version":"ソフトウェアバージョン{version}が入手できます。","update_last_update_result_failed":"最新のソフトウェア アップデートができませんでした。やり直すか、Teslaサービスにお問い合わせください。","update_status_downloading":"アップデートのダウンロード中...","update_view_button_label_check_for_update":"アップデートの確認","update_view_button_label_install":"インストール","update_view_check_notice_not_internet_connected":"インターネット接続なしでアップデートを確認することはできません。デバイスのネットワーク設定を確認してください。","update_view_handshake_failed":"サーバーに接続してアップデートがあるか確認できません。","update_view_handshake_non_actionable":"アップデートはありません。","update_view_handshake_update_staged":"アップデートがあります。バックグラウンドでダウンロードされます。","update_view_install_notice_not_internet_connected":"ソフトウェアのアップデートをダウンロードするには、インターネットへの接続が必要です。デバイスのネットワーク設定を確認してください。","update_view_label_current_version":"現在のバージョン: {version}({identifier})","update_view_latest_version":"最新バージョン: {version}","update_view_not_yet_checked":"アップデートの確認はまだ実施されていません。","update_view_notice_automatic_update":"クリックするとすぐに適用されます。そうしない場合、アップデートは後でバックグラウンドでインストールされます。","update_view_result_failed":"最新のソフトウェア アップデートができませんでした。やり直すか、Teslaサービスにお問い合わせください。","update_view_result_succeeded":"最新のソフトウェア アップデートが完了しました。","update_view_status_downloaded":"ダウンロードが完了しました。アップデートのステージング...","update_view_status_downloading":"アップデートのダウンロード...","update_view_status_staged":"アップデートがステージされました。インストール ボタンをクリックして操作を続けます。","wifi_page_available_networks":"利用可能なネットワーク","wifi_page_cancel_button_label":"キャンセル","wifi_page_check_password":"接続できません。Wi-Fiのパスワードを確認してください。","wifi_view_available_networks_subtitle":"利用可能なネットワーク","wifi_view_button_label_join":"参加","wifi_view_button_label_manual":"手動でネットワークに接続","wifi_view_input_label_ssid":"ネットワーク(SSID)","wifi_view_label_connecting_ssid":"{ssid}に接続中","wifi_view_mac_address_label":"MACアドレス: {mac}","wifi_view_no_networks":"Wi-Fiネットワークは見つかりませんでした","wifi_view_no_password_placeholder":"パスワードは必要ありません","wifi_view_notice_joining":"この処理には数分かかり、デバイスが再起動する可能性があります。インストールを続行するためには、デバイスのWi-Fiアクセス ポイントへの再接続が必要になる場合があります。","wifi_view_password_label":"パスワード","wifi_view_prompt_network_types":"使用可能な2.4 GHz WPネットワークに接続します。","wifi_view_reconnect_notice":"このプロセス中に、インストールを続行するためデバイスのWi-Fiアクセス ポイントへの再接続が必要になる場合があります。","wifi_view_rescan":"再スキャン","wifi_view_username_label":"ユーザー名","wifi_view_wpa2_password_label":"WPA2パスワード"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Error","advanced_settings_submit":"Submit","advanced_settings_submitted":"Submitted","advanced_settings_title":"Advanced Settings","alert_container_ac_phase_1_over_voltage":"AC Over-Voltage","alert_container_ac_phase_1_under_voltage":"AC Under-Voltage","alert_container_ac_phase_2_over_voltage":"AC Over-Voltage","alert_container_ac_phase_2_under_voltage":"AC Under-Voltage","alert_container_ac_phase_3_over_voltage":"AC Over-Voltage","alert_container_ac_phase_3_under_voltage":"AC Under-Voltage","alert_container_over_frequency":"AC Over-Frequency","alert_container_rate_of_change_frequency":"AC Rate of Change of Frequency","alert_container_under_frequency":"AC Under-Frequency","app_container_engineering_mode_banner_message":"Tesla Service Mode requires no authentication. Please \'Stop System\' if you are making operational changes. Before closing the browser, leave the System in an acceptable state. Please close the browser when completed since this mode requires no authentication.","app_container_engineering_mode_title":"Tesla Service Mode","app_container_firmware_update_banner_message":"Leave installation and wiring undisturbed and remain on this page until update is complete.","app_container_firmware_update_banner_title":"Firmware Update In Progress","app_container_sitemaster_message_title":"The system is currently running. In order to view the status of the battery blocks, the system must be shut down. You can stop the system from the home page.","app_container_sitemaster_power_supply_mode_banner_message":"Battery producing AC voltage to power devices for pairing and configuration. Button to stop system on landing page.","app_container_sitemaster_power_supply_mode_banner_title":"Grid Forming Mode","app_container_sitemaster_running_banner_title":"System Running","auto_config_check_network_button":"Check the network and enable wifi","auto_config_check_system_and_summary":"Check the System and Summary pages.","auto_config_done_button_text":"Done","auto_config_instructions_cannot_determine_grid_connection":"Check wiring to the Backup Switch or Gateway before starting system.","auto_config_instructions_determining_on_grid":"If this message persists for more than 3 minutes, check the wiring to the Backup Switch or Gateway.","auto_config_instructions_finding_contactor_controller":"If this message persists for more than 3 minutes, check the wiring to the Backup Switch or Gateway.","auto_config_instructions_finding_powerwalls":"If this message persists for more than 3 minutes, verify Powerwall wiring.","auto_config_instructions_lookup_failed_retry":"Scan the serial number sticker into Bolt to enable automatic Powerwall setup, and then {retryButton}","auto_config_instructions_lookup_failed_wizard":"Or {wizardButton} for manual Powerwall setup.","auto_config_instructions_missing_info_1":"Automatic Powerwall setup failed because the following information was missing:","auto_config_instructions_missing_info_2":"{wizardButton} to enter it manually.","auto_config_instructions_missing_info_3":"{registrationButton} manually.","auto_config_instructions_no_grid_detected":"Check wiring and breakers before starting system.","auto_config_instructions_no_network_retry":"{networkLink} to enable automatic Powerwall setup and then {retryButton}","auto_config_instructions_no_network_wizard":"Or {wizardButton} for manual Powerwall setup.","auto_config_instructions_retry":"{networkLink} if the problem persists","auto_config_instructions_retry_wizard":"Or {wizardButton} for manual Powerwall setup.","auto_config_instructions_updating":"A software update is required before automatic Powerwall setup can begin. The update will be downloaded and applied automatically. You may need to re-connect to Powerwall\'s WiFi network afterward.","auto_config_missing_grid":"Grid for the customer site","auto_config_missing_gridcode":"Grid code for the customer site","auto_config_missing_registration":"Customer information for product registration","auto_config_missing_timezone":"Timezone at the customer site","auto_config_network_button_text":"Setup the Network","auto_config_registration_button_text":"Enter Customer Information","auto_config_retry_button_label":"Retry","auto_config_run_button_label":"Set Up Powerwall Automatically","auto_config_run_wizard_button_text":"Run the Wizard","auto_config_section_title":"Automatic Powerwall Setup","auto_config_status_cancelled":"Automatic setup was cancelled. You can try again:","auto_config_status_cannot_determine_grid_connection":"Could not determine grid connection.","auto_config_status_complete":"Successfully completed","auto_config_status_determining_on_grid":"Determining grid connection...","auto_config_status_finding_contactor_controller":"Finding Contactor Controller...","auto_config_status_finding_powerwalls":"Finding Powerwalls...","auto_config_status_in_progress":"In progress","auto_config_status_lookup_failed":"Serial Number Lookup Failed","auto_config_status_missing_information":"Missing Information","auto_config_status_no_grid_detected":"No grid detected.","auto_config_status_no_network":"Not Connected to Tesla","auto_config_status_not_applicable":"Automatic setup is not needed or has already been run. You can run it again:","auto_config_status_retrying":"Retrying failed network request","auto_config_status_timeout":"Automatic setup has timed out. You can try again:","auto_config_status_updating":"Software update required","auto_config_stop_system_modal_message":"Automatic setup process cannot run while the system is running. Stop the system and try again.","auto_config_stop_system_modal_title":"Cannot start automatic setup","battery_container_add_all_batteries_button_label":"ADD ALL","battery_container_available_batteries_subtitle":"These batteries will not be part of system operation unless added to the \\"Configured\\" list.","battery_container_available_batteries_title":"Available Battery Blocks","battery_container_available_chargers_subtitle":"These chargers will not be part of system operation unless added to the \\"Configured\\" list.","battery_container_available_chargers_title":"Available Charger Blocks","battery_container_cannot_communicate_with_device":"Cannot communicate with device. Check CAN bus wiring and termination.","battery_container_chinv":"Compressor and Heater VFD (CHINV) {index}","battery_container_configured_batteries_label":"Configured Battery Blocks","battery_container_configured_batteries_subtitle":"These batteries will be part of system operation.","battery_container_configured_chargers_label":"Configured Charger Blocks","battery_container_configured_chargers_subtitle":"These chargers will be part of system operation.","battery_container_confirm_update_firmware":"This process may take several minutes. Do not interrupt the update or navigate away from this page.","battery_container_dcbc":"Battery Block {index}","battery_container_dcbc_comms_failure":"Communications failure. Check network connection to the unit and scan again.","battery_container_dcbc_dcdisconnect_opened":"DC Disconnect handle is in the off position.","battery_container_dcbc_door_switch_opened":"Inverter door enable line open. Investigate door switch.","battery_container_dcbc_enable_line_return_low_estop":"Inverter remote shutdown open. Investigate remote shutdown circuit.","battery_container_dcbc_enable_line_return_low_inv":"Inverter system enable line open. Investigate circuit breaker feedback.","battery_container_dcbc_enable_line_return_low_str":"Enable line for one or more Powerpack rows is open. Investigate wiring and Powerpack doors. Refer to the Enable Line Troubleshooting Guide for diagnosis.","battery_container_delete_button_title":"Delete this device","battery_container_diagnosis_incomplete":"Diagnosis incomplete. A firmware update is required before further checks can be performed.","battery_container_faults":"Faults","battery_container_firmware_update_needed":"Firmware update needed.","battery_container_gateway_contactor_meter_controller":"Gateway Contactor/Meter Controller","battery_container_industrial_confirm_update_firmware_info":"This will update the firmware of each battery block in the \\"Configured\\" list and its subcomponents.","battery_container_internal_communications_fault":"Internal communications fault. Check CAN bus wiring and termination and perform a firmware update.","battery_container_meter_socket_adapter":"Backup Switch","battery_container_mpbc":"Battery Block {index}","battery_container_mpthc":"Thermal Controller (MPTHC) {index}","battery_container_no_msa_detected":"No Backup Switch Detected.","battery_container_no_sync_detected":"No Contactor Controller Detected. No Backup Capability Detected.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN: {pn}","battery_container_pod":"Pod {index}","battery_container_post":"Post (LCC) {index}","battery_container_post_missing":"Missing Post {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Powerstage {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"The Powerwall is switched off. Ensure the switch is in the ON position.","battery_container_qbms":"Qbert (QBMS)","battery_container_qhvp":"High Voltage Processor (QHVP)","battery_container_residential_confirm_update_firmware":"This will update the firmware of each Powerwall and the Contactor Controller (if present).","battery_container_resolve_connectivity":"Resolve connectivity issues before running a firmware update.","battery_container_scan":"SCAN","battery_container_scan_in_progress":"SCANNING...","battery_container_scbc":"Charger Block {index}","battery_container_scthc":"Thermal Controller (SCTHC) {index}","battery_container_self_tests_failure":"Did not pass self test.","battery_container_self_tests_inconclusive":"Self test results inconclusive.","battery_container_self_tests_internal_error":"Self tests failed due to internal system error.","battery_container_self_tests_stall":"Timeout: self tests unable to start.","battery_container_self_tests_system_down":"Cannot run self tests while system is down. Start the system and try again.","battery_container_self_tests_updating":"Cannot run self tests while batteries are updating. Try again when the update completes.","battery_container_serial_number":"SN: {sn}","battery_container_solar_powerwall":"{index} Solar Powerwall","battery_container_starc":"DC-DC Converter (STARC) {index}","battery_container_stitch":"Control Power DC-DC (STITCH)","battery_container_unknown":"Unknown Bus Controller {index}","battery_container_update_failed":"Update failed. Try again and ensure wiring and enable switches are not interrupted during the update process.","battery_container_update_firmware":"UPDATE FIRMWARE","battery_container_update_in_progress":"UPDATE IN PROGRESS...","battery_container_waiting_to_report_firmware":"Waiting for unit to report firmware version.","battery_container_warnings":"Warnings","button_label_generate":"GENERATE","can_reboot_message_backup":"Backup Mode","can_reboot_message_block_update":"Block Update in progress","can_reboot_message_enumeration":"Enumeration in progress","can_reboot_message_initializing":"System Initializing","can_reboot_message_power_flow_is_too_high":"Power flow is too high","can_reboot_message_updating":"Site Package Update in progress","caution":"CAUTION","charger_settings_all_posts_have_meter":"All posts have a DC meter installed","charger_settings_cabinet_2":"Cabinet {state}","charger_settings_cabinet_posts_warning":"These controls stop post enable and cabinet internal HV bus only. You must still isolate power and follow complete safety procedure when accessing cabinets.","charger_settings_cabinet_title":"Cabinet {sn}","charger_settings_common_bus":"Common Bus {state}","charger_settings_common_bus_usage":"Disable to stop common HV bus.","charger_settings_common_bus_warning":"Stops common HV bus only. You must still isolate power and follow complete safety procedure when accessing cabinets.","charger_settings_dc_bus_group":"DC Bus Group","charger_settings_disabled":"disabled","charger_settings_enabled":"enabled","charger_settings_kiosk_support":"Kiosk support {state}","charger_settings_kiosk_usage":"Enable only for sites with a kiosk","charger_settings_no_dc_meter":"No DC Meter","charger_settings_no_posts_have_meter":"No posts have a DC meter installed","charger_settings_payter_serial":"Payter S/N","charger_settings_payter_support":"Show Payter serial number inputs","charger_settings_payter_support_usage":"Enable only for sites with Payter payment modules","charger_settings_post":"Post {id} {state}","charger_settings_post_label":"Post {id} Label","charger_settings_saving":"saving {spinner}","charger_settings_semicharger":"Semi Charger {state}","charger_settings_semicharger_usage":"Enable only for Semi Charger sites.","charger_settings_some_posts_have_no_meter":"Some posts are missing a DC meter","client_protocols_container_subtitle":"Enable or disable client protocols.","client_protocols_container_title":"Client Protocols","client_protocols_menu_title":"Client Protocols","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"REST API","client_protocols_view_modbus_label":"Modbus TCP/IP","client_protocols_view_service_shell_label":"Service Shell","compliance_container_label_fcc_id":"FCC ID: {fccId}","compliance_container_label_ic_id":"IC: {icId}","compliance_container_label_manufacturer":"Manufacturer: {manufacturer}","compliance_container_label_model":"Model: {model}","compliance_container_title":"Compliance","component-menu-title":"Components","conductor_limit":"Batteries are controlled to avoid exceeding configured current limits on each phase of the conductor CTs. Review conductor limit application note for more details about where this is used, and what limits should be configured.","conductor_min_current":"Conductor Export Limit","control_container_add_on":"ADD ON","control_container_always_active":"ALWAYS ACTIVE","control_container_battery_ok":"FULL BATTERY EXPORT ALLOWED","control_container_charge_power_target":"CHARGE POWER TARGET","control_container_conductor_max_current":"Conductor Import Limit","control_container_conductor_min_current_max_bound":"{mode} has maximum value of 200 A","control_container_conductor_min_current_min_bound":"{mode} has minimum value of 5 A","control_container_control_subtitle":"Control subtitle","control_container_control_title":"Control title","control_container_direct":"DIRECT","control_container_disable":"Disable","control_container_discharge_power_target":"DISCHARGE POWER TARGET","control_container_enabled":"ENABLED","control_container_energy_target":"ENERGY TARGET. This value should match the system size per the design documents and inspectors report","control_container_error_message":"{mode} is required","control_container_explanation_bullet_five_max_site_meter_power_kw":"When net load is larger than this limit, batteries will discharge in a best effort manner to prevent surpassing this limit.","control_container_explanation_bullet_five_min_site_meter_power_kw":"When net generation is larger than this limit, batteries will charge in an best effort manner to prevent surpassing this limit.","control_container_explanation_bullet_four_max_site_meter_power_kw":"When net load is smaller than this limit, batteries will be limited in their allowed charge power.","control_container_explanation_bullet_four_min_site_meter_power_kw":"When net generation is smaller than this limit, batteries will be limited in their allowed discharge power.","control_container_explanation_bullet_one_max_site_meter_power_kw":"Site Import Limit is an optional setting. Leave this field empty to disable limiting.","control_container_explanation_bullet_one_min_site_meter_power_kw":"Site Export Limit is an optional setting. Leave this field empty to disable limiting.","control_container_explanation_bullet_three_max_site_meter_power_kw":"This is an aggregate limit across all phases on all Site meters. (Note: When Load meters are used, the Site meter is calculated using Load, Solar and Battery).","control_container_explanation_bullet_three_min_site_meter_power_kw":"This is an aggregate limit across all phases on all Site meters. (Note: When Load meters are used, the Site meter is calculated using Load, Solar and Battery).","control_container_explanation_bullet_two_max_site_meter_power_kw":"When enabled, the sitemaster controls the maximum power that is allowed to be imported from the grid into the site.","control_container_explanation_bullet_two_min_site_meter_power_kw":"When enabled, the sitemaster controls the maximum power that is allowed to be exported from the site to the grid.","control_container_explanation_export_restrictions_locked":"Determines how the system may export power to the grid. Once set, regulation requires that it can only be changed by contacting Tesla.","control_container_explanation_export_restrictions_unlocked":"Regulation requires that export characteristics can only be set during initial commissioning. Please contact Tesla to modify.","control_container_explanation_nominal_system":"This value should match the system size as per the design documents and inspector\'s report.","control_container_heat_for_energy":"HEAT FOR ENERGY","control_container_heat_mode":"HEAT MODE","control_container_heco_committed_capacity":"Committed Capacity","control_container_heco_committed_discharge_power_W_max_bound":"{mode} has maximum value of 100000 W (100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"{mode} has minimum value of 100 W","control_container_loading":"Loading","control_container_max_site_meter_power_W_max_bound":"{mode} has maximum value of 50000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"{mode} has minimum value of 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} must be greater than or equal to 0","control_container_max_site_meter_power_kw":"Site Import Limit","control_container_max_site_meter_power_w":"Site Import Limit","control_container_menu":"Menu","control_container_min_site_meter_power_kW_positive":"{mode} must be greater than or equal to 0","control_container_min_site_meter_power_kw":"Site Export Limit","control_container_min_site_meter_power_w":"Site Export Limit","control_container_minimum_charge_power":"MINIMUM CHARGE POWER","control_container_minimum_discharge_power":"MINIMUM DISCHARGE POWER","control_container_misc":"MISC","control_container_net_meter_mode":"Site Export Restrictions","control_container_never":"NO SITE EXPORT","control_container_nominal_system_energy_kW_positive":"{mode} must be greater than or equal to 0","control_container_nominal_system_energy_kWh_positive":"{mode} must be greater than or equal to 0","control_container_nominal_system_energy_kwh":"Nominal System Energy","control_container_nominal_system_energy_max_error":"Nominal System Energy exceeds the max energy limit","control_container_nominal_system_power_kw":"Nominal System Power","control_container_nominal_system_power_max_error":"Nominal System Power exceeds the max power limit","control_container_number_error_message":"{mode} must be a numerical input","control_container_power":"POWER","control_container_pv_only":"EXPORT UP TO PV METER READING OK","control_container_reactive_mode":"REACTIVE MODE","control_container_real_mode":"REAL MODE","control_container_reset":"Reset","control_container_site_control":"SITE CONTROL","control_container_site_limits":"SITE LIMITS","control_container_site_max_power":"SITE MAX POWER","control_container_site_min_power":"SITE MIN POWER","control_container_submit":"Submit","control_container_submitting_control":"Submitting Control","control_start":"START","control_stop":"STOP","current_password_placeholder_text":"Enter your current password","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"Amp {id}","current_transformer_item_view_battery_ct":"Battery","current_transformer_item_view_calculated_reading":"Calculated:","current_transformer_item_view_conductor_ct":"Conductor","current_transformer_item_view_ct_voltage_pairing_1":"Phase L1","current_transformer_item_view_ct_voltage_pairing_2":"Phase L2","current_transformer_item_view_ct_voltage_pairing_3":"Phase L3","current_transformer_item_view_ct_voltage_pairing_default":"Default Phase","current_transformer_item_view_doubled_solar_ct":"Solar (1CT x2)","current_transformer_item_view_flip":"Flip","current_transformer_item_view_generator_ct":"Generator","current_transformer_item_view_load_ct":"Load","current_transformer_item_view_measure_pw_plus_input":"Measuring a Powerwall+ Inverter","current_transformer_item_view_measured_reading":"Per CT:","current_transformer_item_view_missing_ct":"Missing","current_transformer_item_view_no_reading":"No reading","current_transformer_item_view_none_ct":"None","current_transformer_item_view_phase_sequence_dropdown_title":"Phase","current_transformer_item_view_site_ct":"Site","current_transformer_item_view_smart_ct":"Smart","current_transformer_item_view_solar_ct":"Solar","current_transformer_item_view_solar_rgm_ct":"Solar Revenue-Only","current_transformers_container_800a_ct_ensure":"Ensure the CT selection on this page matches what is installed.","current_transformers_container_800a_ct_larger":"800 A CTs are physically larger than the 200/264 A CTs.","current_transformers_container_800a_ct_use_case":"When metering large conductors or panels (like 400A / 800A), use and configure the 800A CT.","current_transformers_container_amps_explanation":"Current flowing through the current transformer","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Ensure the CT is installed on the correct phase ({sequence}).","current_transformers_container_configure_subtitle":"Configure the meter current transformers.","current_transformers_container_ct_flipping_ensure_direction":"First ensure the CT label is facing the solar inverter (for solar CT) or facing the grid supply (for site CT). Then check the phase wiring, and verify the reported current, power, and power factor readings.","current_transformers_container_ct_flipping_modal_title":"Flipping CT in Software","current_transformers_container_ct_flipping_software_incorrect_metering":"Using software to flip a CT installed on the wrong phase will result in incorrect metering.","current_transformers_container_ct_flipping_wrong_phase":"A negative power reading may indicate the CT is installed backwards or on the wrong phase.","current_transformers_container_double_check_recommendation":"Double-check wiring, voltage taps, CTs, and meter configuration before continuing.","current_transformers_container_doubled_solar_ct_explanation":"A single CT may be used to meter a balanced PV inverter","current_transformers_container_doubled_solar_ct_modal_title":"Metering a Split-Phase Solar Inverter with one CT","current_transformers_container_grid_code_phase_modal_title":"Warning: Number of CTs does not match grid code phase recommendation","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Warning: Number of CTs does not match grid code phase recommendation for multiple meters","current_transformers_container_grid_code_phase_multiple_warnings_message":"Unexpected number of CTs attached to the following {numMeters} meters:","current_transformers_container_grid_code_phase_warning_message":"Unexpected number of CTs attached to the following meter:","current_transformers_container_grid_code_single_phase_warning":"The applied grid code is single phase. Single-phase systems typically have either a 1- or 3-phase service. {lb} An odd number of CTs (1 or 3) is recommended.","current_transformers_container_grid_code_split_phase_warning":"The applied grid code is split phase. Split-phase systems typically have one CT on each \\"hot\\" conductor. {lb} An even number of CTs (2 or 4) is recommended if not using the single solar CT option.","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"A Neurio meter measuring Powerwall+ solar inverters is required to enable Revenue Grade Metering (RGM).","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Select Yes if this measures a Powerwall+ solar inverter. Select No if this measures a solar inverter not part of a Powerwall+ assembly.","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"Is this measuring a Powerwall+ Inverter?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Ensure the label on the CT faces the solar inverter.","current_transformers_container_label_modal_title":"Explanation of Labels","current_transformers_container_load_ct_ensure":"When configuring Load CTs, ensure all loads on site are metered and that backed-up and non-backup loads are metered separately.","current_transformers_container_load_ct_modal_title":"Load CT","current_transformers_container_load_ct_recommended":"Configuring Load CTs is only recommended for specific uses where it is not possible to configure a Site CT.","current_transformers_container_meter_id":"Meter {id}","current_transformers_container_no_load_and_site_ct":"There cannot be both a Load and Site CT.","current_transformers_container_no_loads_doubled_solar_ct_bullet":"There cannot be loads behind the CT.","current_transformers_container_no_site_or_load_warning":"NO SITE OR LOAD CURRENT TRANSFORMERS CONFIGURED","current_transformers_container_no_solar_ct_warning":"NO SOLAR CURRENT TRANSFORMER CONFIGURED","current_transformers_container_phase_usages_modal_title":"Warning: CT configuration does not match phase configuration","current_transformers_container_phase_usages_warning":"The number of configured phases does not match the number of configured CTs. {lb} {num} configured CT(s) are recommended.","current_transformers_container_phase_usages_warning_message":"Unexpected number of CTs attached to the following meter(s):","current_transformers_container_power_amperage_configure_warning":"{type} CT requires both positive power and amperage to be configured correctly.","current_transformers_container_power_factor_explanation":"Power Factor (Power_Real / Power_Apparent). Only shown for high power levels. For common resistive loads, power factor should be close to 1. A low power factor may indicate that a current transformer is installed incorrectly, or there are very large capacitive/inductive loads.","current_transformers_container_power_factor_out_of_range_warning":"Power Factor measurement is out of expected range. {lb} Measured Power Factor: {powerFactor} PF {lb} The meter may be installed incorrectly or on an incorrect phase, or there are very large capacitive/inductive loads.","current_transformers_container_system_test_configured_incorrect":"Warning: CT {id} may be configured incorrectly","current_transformers_container_title":"Current Transformers","current_transformers_container_voltage_out_of_range_warning":"Voltage is out of range. {lb} Measured Voltage: {volts} V {lb} Measured voltage of this CT is outside normal operating range.","current_transformers_container_volts_explanation":"Voltage from line to neutral on the voltage tap associated with the current transformer","current_transformers_container_watts_explanation":"Power as current flowing through the current transformer multiplied by voltage on the associated voltage tap","customer_installation_view_email_label":"CUSTOMER EMAIL","customer_installation_view_email_placeholder":"Email","customer_registration_view_address_label":"ADDRESS","customer_registration_view_address_placeholder":"Address","customer_registration_view_city_label":"CITY","customer_registration_view_city_placeholder":"City","customer_registration_view_country_label":"country","customer_registration_view_customer_information":"CUSTOMER INFORMATION","customer_registration_view_email_address_label":"EMAIL","customer_registration_view_email_address_label_confirmation":"RE-ENTER EMAIL","customer_registration_view_email_placeholder":"Email","customer_registration_view_family_name_label":"FAMILY NAME (LAST NAME)","customer_registration_view_family_name_warning":"Enter the customer\'s last name.","customer_registration_view_given_name_label":"GIVEN NAME (FIRST NAME)","customer_registration_view_given_name_warning":"Enter the customer\'s first name.","customer_registration_view_homeowner_family_name_placeholder":"Last Name","customer_registration_view_homeowner_given_name_placeholder":"First Name","customer_registration_view_installation_address":"INSTALLATION ADDRESS","customer_registration_view_phone_number_label":"PHONE","customer_registration_view_phone_placeholder":"Phone","customer_registration_view_skip_explanation":"If skipped, the homeowner will have to perform registration themselves through the Tesla mobile app before getting access to the system.","customer_registration_view_state_placeholder":"State","customer_registration_view_state_province_region_label":"STATE / PROVINCE / REGION","customer_registration_view_zip_label":"ZIP / POSTAL CODE","customer_registration_view_zip_placeholder":"ZIP / Postal Code","diagnostic-alert-affected-children":"Affected Components ({count})","diagnostic-alerts-missing-alert-information":"Missing Alert Information","diagnostic-alerts-missing-data":"","diagnostic-alerts-toolbox-article":"Toolbox Article","diagnostic-alerts-toolbox-article-external-link":"External Links","diagnostic_alert_alert_name":"Alert Name","diagnostic_alert_alert_type":"Alert Type","diagnostic_alert_audience":"Audience","diagnostic_alert_clear_condition":"Clear Condition","diagnostic_alert_description":"Description","diagnostic_alert_display_name":"Display Name","diagnostic_alert_id":"Alert ID","diagnostic_alert_impact_category":"Impact Category","diagnostic_alert_latching":"Latching","diagnostic_alert_max":"Max","diagnostic_alert_min":"Min","diagnostic_alert_name":"Name","diagnostic_alert_node":"Node","diagnostic_alert_offset":"Offset","diagnostic_alert_payload_signals":"Payload Signals","diagnostic_alert_potential_impact":"Potential Impact","diagnostic_alert_safety_reason":"Safety Reason","diagnostic_alert_scale":"Scale","diagnostic_alert_set_condition":"Set Condition","diagnostic_alert_signal_name":"Signal Name","diagnostic_alert_signoff":"Sign Off","diagnostic_alert_sna_value":"SNA Value","diagnostic_alert_supplier_dtc_name":"Supplier DTC Name","diagnostic_alert_uiID":"UI ID","diagnostic_alert_units":"Units","diagnostic_alert_urgent":"Urgent","diagnostic_category_item_view_alerts_description":"Site, component and subcomponent alerts","diagnostic_category_item_view_download_results":"DOWNLOAD RESULTS","diagnostic_category_item_view_internal_comms_description":"Check all device communications","diagnostic_category_item_view_internal_comms_title":"Device Communications","diagnostic_category_item_view_live_results":"LIVE RESULTS","diagnostic_category_item_view_metering_description":"Check meter connections","diagnostic_category_item_view_metering_title":"Metering","diagnostic_category_item_view_networking_description":"Check network connection","diagnostic_category_item_view_networking_title":"Networking","diagnostic_category_item_view_no_selected_tests":"NO SELECTED TESTS","diagnostic_category_item_view_rerun_selected":"RERUN {num} SELECTED TESTS","diagnostic_category_item_view_rerun_selected_test":"RERUN SELECTED TEST","diagnostic_category_item_view_run_selected":"RUN {num} SELECTED TESTS","diagnostic_category_item_view_run_selected_test":"RUN SELECTED TEST","diagnostic_category_item_view_select_all_tests":"Select All","diagnostic_category_item_view_self_tests_description":"Initiate charge and discharge tests on the system","diagnostic_category_item_view_self_tests_title":"Self Tests","diagnostic_input_view_blocks_label":"BLOCKS","diagnostic_input_view_individual_test_name_label":"INDIVIDUAL TEST NAME","diagnostic_input_view_max_allowed_charge_power_label":"MAX ALLOWED CHARGE POWER","diagnostic_input_view_max_allowed_discharge_power_label":"MAX ALLOWED DISCHARGE POWER","diagnostic_test_enable_line":"Enable Line","diagnostic_test_item_view_ac_self_test_description_2":"Runs a sequence of power slosh tests on the AC system. Powerpack systems will use the \\"MAX_ALLOWED_POWER\\" settings. Set these to 0 for Megapack and Supercharger systems.","diagnostic_test_item_view_dc_self_test_description_2":"Runs a sequence of tests on the DC system including thermal checks.","diagnostic_test_item_view_enable_line_description":"Test enable line high for all Powerwalls","diagnostic_test_item_view_enable_line_resolution":"Toggle Enable Line and try again","diagnostic_test_item_view_individual_self_test_description":"Select from a list of self tests available on the configured bus controllers.","diagnostic_test_item_view_meter_comms_description":"Ping meter communications","diagnostic_test_item_view_network_connection_description":"Test connection to Internet and Tesla servers","diagnostic_test_item_view_network_connection_resolution":"Reconfigure networking","diagnostic_test_item_view_resolution_generic_text":"Reconfigure {name} and try again","diagnostic_test_item_view_step_canceled":"Test was canceled by user","diagnostic_test_item_view_step_config_update_status":"Check Tesla Configuration Server Status","diagnostic_test_item_view_step_google_http":"Ping Google HTTP","diagnostic_test_item_view_step_google_https":"Ping Google HTTPS","diagnostic_test_item_view_step_hermes_status":"Check Tesla Logging Server Status","diagnostic_test_item_view_step_results_ip_address":"IP Address","diagnostic_test_item_view_step_results_subnet_mask":"Subnet","diagnostic_test_item_view_table_header_key":"Identifier","diagnostic_test_item_view_table_header_name":"Step","diagnostic_test_item_view_table_header_value":"Value","diagnostic_test_meter_comms":"Meter Communications","diagnostic_test_network_connection":"Network Connection","diagnostics_composite_view_no_tests_found":"NO AVAILABLE TESTS FOUND","diagnostics_composite_view_run_all_selected_tests":"RUN ALL SELECTED TESTS","diagnostics_container_industrial_disruptive_tests_description":"The following tests will trigger the fan and thermal systems to operate, which will generate noise. Approximately 30kW per inverter draw should be expected. Additionally, the following tests may disrupt normal operation of the system:","diagnostics_container_required_inputs_description":"The following tests require additional inputs:","diagnostics_container_residential_disruptive_tests_description":"The following tests may disrupt normal operation of both the Gateway and Powerwall:","diagnostics_container_stop_test_title":"Stop {name} Test?","diagnostics_container_subtitle":"Tools to diagnose issues on the system installation.","diagnostics_container_tests_running":"Diagnostic Tests Running","diagnostics_container_title":"Diagnostics","disabled_reason_battery_breaker_open":"Battery breaker is open","disabled_reason_checking_firmware_update":"Checking for firmware update","disabled_reason_config":"Disabled by configuration file","disabled_reason_excessive_voltage_drop":"Excessive voltage drop","disabled_reason_firmware_update_failed":"Firmware update failed","disabled_reason_gridcode_write_failed":"Grid code setting failed","disabled_reason_user_requested":"Disabled at user request","dropdown_default_placeholder":"Type...","dropdown_list_view_not_listed_label":"Not Listed: \\"{searchText}\\"","dropdown_list_view_select_all":"Select All","dropdown_list_view_select_field":"Please select a field.","dropdown_list_view_show_complete":"SWITCH TO COMPLETE LIST","dropdown_list_view_show_searchable":"SWITCH TO SEARCHABLE LIST","enumeration_warning_details_miswired_12v":"When connecting two Powerwall+, only the unit connected to Gateway/Backup Switch should have 12V applied. Remove 12V from all subsequent Powerwall+ in the chain, then Rescan Devices (at the bottom of this page) to clear this warning.","enumeration_warning_details_multiple_controllers_gateway":"Unplug the power harness of all Powerwall+ site controllers, located in the top-right of the Solar Assembly.","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"Unplug the power harness of the Expansion Powerwall+ site controller (not connected to Backup Switch), located in the top-right of the Solar Assembly.","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"Unplug the power harness of all Powerwall+ site controllers, located in the top-right of the Solar Assembly. Commission the system by connecting to the Backup Gateway.","enumeration_warning_details_multiple_controllers_unknown_with_details":"Only a single site controller must be active. When using Backup Gateway, unplug all Powerwall+ controllers. When using a Backup Switch, unplug all but one Powerwall+ controller. Run Wizard is disabled until there is only one site controller active.","enumeration_warning_title_miswired_12v":"12v Wiring Error","enumeration_warning_title_multiple_controllers":"Multiple Site Controllers are Active","error_details":"Error Details","error_item_view_check_network":"Check network connection.","error_item_view_disconnected":"Disconnected from Gateway. Check network connection and {refresh}","error_item_view_forgot_password":"Click to reset password.","error_item_view_refresh_browser":"Refresh browser.","error_item_view_try_logging_in_again":"Try logging in again.","ethernet_view_backup_dns_label":"BACKUP DNS SERVER","ethernet_view_backup_dns_warning":"Valid Backup DNS Server","ethernet_view_configuration_label":"CONFIGURATION","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"GATEWAY","ethernet_view_gateway_warning":"Valid Gateway (Router) IP","ethernet_view_ip_address_label":"IP ADDRESS","ethernet_view_ip_address_warning":"Valid IP Address","ethernet_view_not_available":"Not available","ethernet_view_primary_dns_label":"PRIMARY DNS SERVER","ethernet_view_primary_dns_warning":"Valid Primary DNS Server","ethernet_view_static_label":"Static","ethernet_view_subnet_mask_label":"SUBNET MASK","ethernet_view_subnet_mask_warning":"Valid Subnet Mask","factory_reset_message":"This will cause the unit to reset to the default state as provided by Tesla. This action cannot be undone. The unit will need to be re-commissioned by a professional installer before operation is possible. You may need to reconnect to the unit\'s WiFi network.","field_false":"False","field_true":"True","follower_powerwall_message":"This Powerwall is controlled by {leader}","follower_powerwall_title":"Follower Powerwall","form_legend_text":"denotes a required field","generation_container_connecting_status":"Connecting","generation_container_connection":"Inverter {id} Connection","generation_container_connection_summary":"During this connection process, you may temporarily disconnect from the network. {lb} Ensure you reconnect to the correct network. This may take up to 3 minutes.","generation_container_subtitle":"Add both solar inverter and generator information below.","generation_container_title":"Generation","generator_item_view_disconnect_type_label":"DISCONNECT TYPE","generator_item_view_generator":"GENERATOR {id}","generator_item_view_manufacturer_label":"MANUFACTURER (OPT)","generator_item_view_model_label":"MODEL","generator_item_view_serial_label":"SERIAL","generator_item_view_sustained_power_label":"SUSTAINED POWER","generator_view_add_generator":"ADD GENERATOR","grid_code_container_off_grid_confirmation":"Is the system off grid?","grid_code_container_off_grid_detected":"Off grid system detected. Make sure that this is the correct setting.","grid_code_container_off_grid_warning":"{warning}: Could not detect off grid status of the system. Setting the wrong off grid status could result in system failure.","grid_code_container_results":"Grid Detection Results","grid_code_container_retrieving":"Retrieving Grid Codes","grid_code_container_saving":"Saving Grid Code","grid_code_container_subtitle":"Based on location and meter readings, find the best settings for your installation.","grid_services_view_grid_services":"Grid Services","heading_change_password":"Change Password","help_view_how_password":"Finding the password on a Gateway","help_view_how_password_description":"Open the door on the Gateway. The password is found on the sticker after \\"Password:\\"","help_view_how_serial_number":"Finding the serial number on a Non-Backup Gateway","help_view_how_serial_number_backup":"Finding the serial number on a Backup Gateway","help_view_how_serial_number_backup_description":"Open the door on the Backup Gateway. The serial number begins with an \\"(S):\\"","help_view_how_serial_number_description":"Open the door on the Gateway. The serial number begins with an \\"(S):\\"","help_view_how_to_enable_line":"Toggling a Powerwall","help_view_how_to_enable_line_description":"Toggle the Powerwall switch off and back on. With multi-Powerwall systems, you only need to toggle one switch","hierarchy_charger":"Charger Block {name}","hierarchy_chinv":"VFD for Compressor and Heater (CHINV)","hierarchy_converter":"DC-DC Converter (STARC)","hierarchy_inverter":"Battery Block {name}","hierarchy_mega_thermal_controller":"Thermal Controller (MPTHC)","hierarchy_missing_post":"Missing Post","hierarchy_mpbc":"Battery Block {name}","hierarchy_part_number":"Part Number","hierarchy_pod":"Pod","hierarchy_pods_reporting":"Pods Reporting","hierarchy_post":"Post (LCC)","hierarchy_posts":"Posts","hierarchy_power_stage":"Power Stage","hierarchy_power_stages":"Power Stages","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Battery Management Board (QBMS)","hierarchy_qhvp":"High Voltage Processor (QHVP)","hierarchy_scthcs":"Thermal Controllers","hierarchy_serial_number":"Serial Number","hierarchy_sitemaster":"Sitemaster {name}","hierarchy_starcs":"DC-DC Converters","hierarchy_stitch":"Control Power DC-DC (STITCH)","hierarchy_thermal_controller":"Thermal Controller (SCTHC)","higher_order_login_login_required":"Login Required","higher_order_login_title":"Let\'s get started.","home_container_caution":"⚠️ Caution","home_container_caution_deenergize":"To safely de-energize the system turn all Powerwall switches OFF.","home_container_caution_energized":"System may remain energized if solar strings are connected.","home_container_inactive_meter":"Stale Meter Data","home_container_inactive_meter_description":"Check {type} meter connection.","home_container_inactive_meter_timestamp":"Last meter reading at {timestamp}","home_container_login_required":"Login Required","home_container_missing_meter":"Meter is Missing","home_container_positive_meter":"Warning: {type} meter may be configured incorrectly","home_container_positive_meter_description":"{type} meter requires both positive power and amperage to be configured correctly.","home_container_powerwall_error":"Powerwall System Error","home_container_powerwall_start_error":"Unable to start system: {reason}","home_container_site_controller_error":"Site Controller System Error","home_container_sitemaster_confirm_industrial":"Are you sure you want to stop the system?","home_container_sitemaster_confirm_wizard":"Run Wizard requires the system to be stopped. Proceed and stop the system?","home_container_sitemaster_header_warning_industrial":"{warning} This system is in a state where Tesla does not recommend stopping it. Reason: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning} This system is in a state where Tesla does not recommend stopping it. Reason: \\"{reason}\\"","home_container_start_powerwall":"Start System","home_container_start_system_button":"START SYSTEM","home_container_stop_powerwall":"Stop System","home_container_stop_system_button":"STOP SYSTEM","home_view_compliance":"COMPLIANCE","home_view_download_all_logs":"Download All Logs","home_view_download_logs":"DOWNLOAD LOGS","home_view_download_logs_description_one":"This downloads a compressed set of system logs that can be helpful to diagnose operating system, software, and networking issues.","home_view_download_logs_description_three":"Logs are signed and encrypted and should be sent to Tesla Energy Service for investigation.","home_view_download_logs_description_two":"This is especially useful when the Gateway cannot be connected to the network, and advanced troubleshooting is needed.","home_view_login":"LOGIN","home_view_logout":"LOGOUT","home_view_run_wizard":"RUN WIZARD","input_accept":"I accept","input_confirm":"I acknowledge all system warnings.","input_consent":"I consent","input_decline":"I decline","input_no_consent":"I do not consent","input_title_email":"Enter a valid email address: name@name.domain","installation_container_relay_section_modal_title":"Gateway Low Voltage Relay","installation_container_residual_current_device_modal_title":"Installation Requirement for Site RCDs","installation_container_subtitle":"Installer and site information","installation_container_sync_relay_usage_open_off_grid":"Open Relay when Off-Grid","installation_container_title":"Installation Information","installation_problem_detail_site_shutdown_0":"To re-enable system:","installation_problem_detail_site_shutdown_1":"Turn on all Powerwall ON/OFF switches","installation_problem_detail_site_shutdown_2":"Close E-Stops","installation_problem_detail_site_shutdown_3":"Ensure Rapid shutdown jumpers are properly installed","installation_problem_detail_site_shutdown_4":"Check shutdown circuit wiring.","installation_problem_detail_title_site_shutdown":"Site Shutdown circuit triggered","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Site shutdown circuit triggered by a Powerwall+ rapid shutdown.","installation_problem_details_pvacs_with_no_solar_rgm":"Solar meters are only required when measuring solar inverters that are not part of a Powerwall+ assembly. Meters that measure a Powerwall+ inverter should be marked as such on the Current Transformers page.","installation_problem_details_too_few_solar_rgm":"The number of CTs measuring a Powerwall+ solar inverter should match the number of Powerwall+ solar inverters. Run wizard, pair the Neurio meter if needed, and adjust the CT configuration on the Current Transfomers page.","installation_problem_details_too_many_solar_rgm":"The number of CTs measuring a Powerwall+ solar inverter should match the number of Powerwall+ solar inverters. Run wizard and adjust the CT configuration on the Current Transfomers page.","installation_problem_title_pvacs_with_no_solar_rgm":"Solar meter not measuring Powerwall+ inverter. Is this correct?","installation_problem_title_site_shutdown":"Site shutdown circuit triggered. All Powerwalls and Powerwall+ solar inverters are disabled.","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Site shutdown circuit triggered by a Powerwall+ rapid shutdown. All Powerwalls and Powerwall+ solar inverters are disabled.","installation_problem_title_too_few_solar_rgm":"Too few solar meters measuring Powerwall+ inverter","installation_problem_title_too_many_solar_rgm":"Too many solar meters measuring Powerwall+ inverter","installation_view_add_on_solar":"Add-on","installation_view_additional_connections_label":"ADDITIONAL CONNECTIONS","installation_view_back_wiring":"Back","installation_view_backup_configuration_label":"BACKUP CONFIGURATION","installation_view_basement_location":"Basement","installation_view_company_label":"COMPANY NAME","installation_view_company_placeholder":"Company name","installation_view_conditioned_space_location":"Conditioned Space","installation_view_existing_solar":"Existing","installation_view_floor_mounting":"Floor","installation_view_garage_location":"Garage","installation_view_home_label":"HOME WIRING","installation_view_location_label":"POWERWALL INSTALL LOCATION","installation_view_modem_ethernet":"Has cellular modem to Ethernet?","installation_view_modem_wifi":"Has cellular modem to Wi-Fi?","installation_view_mounting_label":"POWERWALL MOUNTING","installation_view_na_backup_configuration":"N/A","installation_view_new_solar":"New","installation_view_none_solar":"None","installation_view_outdoor_location":"Outdoor","installation_view_pad_mounting":"Pad","installation_view_partial_home_backup_configuration":"Partial Home","installation_view_phone_label":"PHONE","installation_view_phone_placeholder":"Installer phone number","installation_view_powerline_ethernet":"Has power line to Ethernet?","installation_view_relay_enabled":"Open Relay when Off-Grid","installation_view_relay_label":"GATEWAY LOW VOLTAGE RELAY","installation_view_relay_options_modal_content":"When On-Grid or connected to another AC voltage source this relay will be closed. {lb1} When Off-grid this relay will be open. {lb1} As an example, this can be used to allow an Air Conditioner to run when on-grid, then not run when off-grid to prevent the associated high inrush current from overloading the Powerwalls.","installation_view_relay_section_modal_content":"The Gateway has a built in Relay that is controlled to turn on and off according to system status. {lb1} This can be used to control an external device, such as a load, or secondary energy source. {lb1} On Backup Gateway 1, use Pins 1 & 2 on the Auxiliary connector (9 pin Large Green Phoenix connector). {lb1} On Backup Gateway 2, use Pins 3 & 4 (GSO/GSI) on the Auxiliary connector (5 pin Green Phoenix connector). {lb1} This relay is rated to 60 Volts / 2 Amps, and is commonly used with 12V or 24V circuits. {lb1} Review load shedding and related application notes for more details.","installation_view_residual_current_device":"Has RCD installed upstream of Gateway?","installation_view_residual_current_device_modal_content":"Site-level Residual Current Devices (RCDs) may be required for certain installations, such as grids with TT earthing configuration. {lb1}{lb2} To reduce risk of nuisance tripping during off-grid operation, Tesla recommends ensuring all upstream RCDs are Time-Delay (Type S), or relocating site RCD after the Gateway’s contactor if possible. {lb1}{lb2} For additional information refer to the RCD and Fault Protection Application Note.","installation_view_satellite_ethernet":"Has satellite to Ethernet?","installation_view_satellite_wifi":"Has satellite to Wi-Fi?","installation_view_side_wiring":"Side","installation_view_solar_label":"SOLAR INSTALLATION","installation_view_solar_panels":"Solar Panels","installation_view_solar_roof":"Solar Roof","installation_view_solar_type_label":"SOLAR INSTALLATION TYPE","installation_view_stack_kit":"Has Stack Kit?","installation_view_type_commercial":"Commercial","installation_view_type_label":"INSTALLATION INFORMATION","installation_view_type_perm_off_grid":"Permanently Off-Grid","installation_view_type_residential":"Residential","installation_view_wall_mounting":"Wall","installation_view_whole_home_backup_configuration":"Whole Home","installation_view_wifi_extender":"Has Wi-Fi extender?","installation_view_wiring_label":"POWERWALL WIRING","inverter_test_view_accuracy_magnitude":"Accuracy Magnitude","inverter_test_view_accuracy_time":"Accuracy Time","inverter_test_view_complete":"Complete","inverter_test_view_current_magnitude":"Current Magnitude","inverter_test_view_fail":"Fail","inverter_test_view_na":"N/A","inverter_test_view_not_run":"Not Run","inverter_test_view_pass":"Pass","inverter_test_view_running":"Running","inverter_test_view_set_magnitude":"Set Magnitude","inverter_test_view_set_time":"Set Time","inverter_test_view_test_description":"Performing Inverter Self Test","inverter_test_view_test_name_all":"All Tests","inverter_test_view_test_name_over_freq_stage_one":"Over Frequency Stage 1","inverter_test_view_test_name_over_freq_stage_two":"Over Frequency Stage 2","inverter_test_view_test_name_over_volt_one":"Over Voltage Stage 1","inverter_test_view_test_name_over_volt_two":"Over Voltage Stage 2","inverter_test_view_test_name_under_freq_stage_one":"Under Frequency Stage 1","inverter_test_view_test_name_under_freq_stage_two":"Under Frequency Stage 2","inverter_test_view_test_name_under_volt_one":"Under Voltage Stage 1","inverter_test_view_test_name_under_volt_two":"Under Voltage Stage 2","inverter_test_view_timestamp":"Timestamp","inverter_test_view_trip_magnitude":"Trip Magnitude","inverter_test_view_trip_time":"Trip Time","inverter_test_view_warning":"Note: The inverter test may take up to 20 to 30 minutes per inverter.","label_fail":"Fail","label_inconclusive":"Inconclusive","label_pass":"Pass","legal_container_customer_policy_subtitle":"Must be completed by homeowner.","legal_container_customer_policy_title":"Tesla Customer Privacy Policy & Limited Warranty","legal_container_no_meters_warning":"NO METERS CONFIGURED","legal_container_no_powerwalls_warning":"NO POWERWALLS DETECTED","login_type_customer":"Customer","login_type_engineer":"Engineer","login_type_installer":"Installer","login_view_cancel_login_auth":"Cancel Login","login_view_change_forgot_password":"CHANGE OR FORGOT PASSWORD","login_view_compliance":"COMPLIANCE","login_view_customer_email_placeholder":"Customer email","login_view_email":"EMAIL","login_view_email_placeholder":"Lead installer email","login_view_forgot_password":"FORGOT PASSWORD","login_view_forgot_password_login_type":"Please select login type","login_view_language_label":"LANGUAGE","login_view_login_type_label":"LOGIN TYPE","login_view_password_placeholder":"Enter your password","login_view_start_login_auth":"START LOGIN PROCESS","login_view_start_login_auth_how_to_enable_line_description":"To login, toggle the Powerwall enable switch off and back on. With multi-Powerwall systems, you only need to toggle one switch","login_view_username":"USERNAME","login_view_username_placeholder":"Username","login_warning_view_expand":"If the Wizard does not launch, {click}.","login_warning_view_firmware_update":"When a firmware update is in progress","login_warning_view_heading":"{warning} Launching the Wizard stops battery operation.","login_warning_view_protect_system":"To protect the system, the Wizard will not launch:","login_warning_view_stop_operation":"Force Launch Wizard","login_warning_view_supported_browsers":"{warning} Only Chrome and Safari web browsers are currently supported.","login_warning_view_system_force_launch":"If you want to launch the Wizard and stop system operation, select Force Launch Wizard.","login_warning_view_system_off_grid":"When the electrical system is off-grid","login_warning_view_warning_click":"click for more","mater_item_view_bad_barcode":"Incorrect barcode scanned","mater_item_view_barcode_scan_failed":"Barcode scan failed","menu-switch-tesla-pros-reason":"The current experience is no longer supported","menu-switch-to-tesla-pros-title":"Switch to Tesla Pros for a better commissioning experience","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"Battery","meter_aggregate_type_load":"Load","meter_aggregate_type_site":"Site","meter_aggregate_type_solar":"Solar","meter_container_add_meter_error":"Verifying Meter","meter_container_add_meter_status":"Adding Meter","meter_container_authorizing_status":"Authorizing","meter_container_decode":"Could not decode serial from image.","meter_container_detecting_status":"Detecting Wired Meters","meter_container_failed_status":"Failed to Add Meter","meter_container_reconnecting_status":"Reconnecting","meter_container_skip_title":"No meters have been commissioned, are you sure you want to continue?","meter_container_starting_status":"Starting","meter_container_subtitle":"Enter the energy meter short ID(s) and serial(s) to connect. Test each meter after it is commissioned.","meter_container_subtitle_industrial":"Enter the energy meter IP address(es) and location(s) to connect. Test each meter after it is commissioned.","meter_container_success_status":"Meter Successfully Added","meter_container_title":"Meters","meter_container_unknown_status":"Unknown","meter_container_updating_status":"Updating Meter","meter_container_verification":"Meter {id} Verification","meter_container_verification_gw1":"During this WiFi pairing process, you may be temporarily disconnected from the Gateway WiFi network. {lb} Ensure you reconnect to the correct network. This may take up to 3 minutes.","meter_container_verification_gw2":"The WiFi pairing process may take up to 3 minutes.","meter_container_verify_meter_error":"Verifying Meter","meter_container_verifying_status":"Verifying Meter","meter_item_view_add_failed":"Failed to Add Meter","meter_item_view_add_failed_help":"Check short ID and Serial number. Power cycle meter and connect when meter chimes. If issue persists, delete meter and try again.","meter_item_view_advanced_settings":"ADVANCED SETTINGS (OPTIONAL)","meter_item_view_battery_location":"Battery","meter_item_view_check_meter":"CHECK METER {id} CONNECTION","meter_item_view_conductor_location":"Conductor","meter_item_view_cts":"{count} CTs detected","meter_item_view_doubled_solar_location":"Doubled Solar","meter_item_view_generator_location":"Generator","meter_item_view_ip_address":"IP ADDRESS","meter_item_view_load_location":"Load","meter_item_view_mac_address":"MAC ADDRESS","meter_item_view_meter_location":"METER LOCATION","meter_item_view_none_location":"None","meter_item_view_remote_ip_address_placeholder":"e.g. 123.123.123.123","meter_item_view_remote_mac_address_placeholder":"e.g. 12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"e.g. OBB1231231234, VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"e.g. 01234","meter_item_view_serial":"SERIAL","meter_item_view_short_id":"SHORT ID","meter_item_view_site_location":"Site","meter_item_view_solar_location":"Solar","meter_item_view_solar_rgm_location":"Solar Revenue-Only","meter_item_view_success":"SUCCESSFULLY CONNECTED!","meter_item_view_unable":"UNABLE TO READ METER!","meter_item_view_upgrading":"METER IS UPGRADING!","meter_list_view_add":"ADD WI-FI METER","meter_list_view_add_ip":"ADD IP METER","meter_list_view_detect":"DETECT WIRED METERS","meter_list_view_enable_inverter_readings":"Enable Battery Inverter Readings","meter_list_view_inverter_meter":"INVERTER METERS","meter_list_view_inverter_meter_desc":"When enabled and there are no battery meters configured, the Site Controller will use readings from the battery inverters as the battery meter.","meter_msa_id":"BACKUP SWITCH {id}","meter_sync_x_id":"INTERNAL PRIMARY METER X (GATEWAY) {id}","meter_sync_y_id":"INTERNAL AUXILIARY METER Y (GATEWAY) {id}","meter_update_modal_fetch_status_error":"Error: Unable to fetch meter update status","meter_update_modal_footer":"Meter Update may take up to 2 Minutes","meter_update_modal_remaining_time":"Time Remaining: {seconds} seconds","meter_update_modal_timeout_error":"Error: Timeout occurred while updating the meter","meter_update_modal_title":"Meter Update is Underway","meter_validation_container_error":"Meter Validation unavailable while site controller is running.","meter_validation_container_error_placeholder":"Meter Validation unavailable: {error}.","meter_validation_container_power_command":"Power Command","meter_validation_container_power_start":"Start","meter_validation_container_power_stop":"Stop","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Reactive Power Command","meter_validation_container_real_power_command":"Real Power Command","meter_validation_container_show_per_phase":"Show Per Phase values","meter_validation_container_title":"Meter Validation","meter_validation_container_usage":"Send a power command and validate meter data. You must stay on this page to keep the power command continuous. Negative values will cause the system to charge. Positive values will cause the system to discharge.","meter_validation_control_subtitle":"Control","meter_validation_control_title":"Control title","meter_validation_disable":"Disable","meter_validation_loading":"Loading","meter_validation_menu":"Menu","meter_validation_reset":"Reset","meter_validation_submit":"Submit","meter_validation_submitting_control":"Submitting Control","meter_validation_title":"Meter Validation","meter_validation_view_apparent_power":"Apparent Power (kVA)","meter_validation_view_battery_location":"Battery","meter_validation_view_conductor_location":"Conductor","meter_validation_view_current":"Current (A)","meter_validation_view_doubled_solar_location":"Doubled Solar","meter_validation_view_generator_location":"Generator","meter_validation_view_inverters":"Inverters ({length})","meter_validation_view_load_location":"Load","meter_validation_view_meter":"Meters ({length})","meter_validation_view_none_location":"None","meter_validation_view_pf":"Power Factor","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"Average","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Total","meter_validation_view_reactive_power":"Reactive Power (kVAr)","meter_validation_view_real_power":"Real Power (kW)","meter_validation_view_site_location":"Site","meter_validation_view_solar_location":"Solar","meter_validation_view_solar_rgm_location":"Solar Revenue-Only","meter_validation_view_voltage":"Voltage (V)","meter_w1_wifi_id":"METER {id}","meter_w1_wired_id":"WIRED METER {id}","meter_w2_wifi_id":"METER {id}","meter_w2_wired_id":"WIRED METER {id}","metrics_aggregate":"System","metrics_apparent_power":"Apparent Power ({unit})","metrics_battery":"Battery","metrics_current":"Current ({unit})","metrics_meter":"Meter","metrics_no_metrics":"No Metrics to Display.","metrics_power_factor":"Power Factor","metrics_reactive_power":"Reactive Power ({unit})","metrics_real_power":"Real Power ({unit})","metrics_subtitle":"Metrics","metrics_voltage_l_n":"Voltage L-N ({unit})","modal_acknowledge":"ACKNOWLEDGE","modal_confirm":"CONFIRM","modal_exit":"EXIT","modal_no":"NO","modal_note":"Note","modal_ok":"OK","modal_reconfigure":"RECONFIGURE","modal_yes":"YES","modbus_container_title":"Modbus Interface","modbus_table_register_address":"Address","modbus_table_register_name":"Name","modbus_table_register_type":"Type","modbus_table_register_value":"Value","modbus_table_register_value_decimal":"Value (decimal)","modbus_table_register_value_hex":"Value (hex)","msa-off-grid":"Off Grid","msa-on-grid":"On Grid","navigation_email":"EMAIL","network-switch-menu-item":"Network Switches","network_cellular_configured":"Configured, but not connected. Ensure cellular network is available and there are no obstructions around antenna.","network_connected":"Connected","network_container_connect_ethernet":"Connecting to Ethernet","network_container_connect_to_internet":"Please wait while the system attempts to connect to the Internet.","network_container_connect_wifi":"Connecting to {ssid}","network_container_connect_wifi_description":"During this process you may have to reconnect to the Gateway network to continue installation.","network_container_connman":"Network Connection Manager connects dynamically to the best network.","network_container_connman_body":"To ensure connectivity, configure all available connection types:","network_container_delete_network":"Delete Configured Network?","network_container_ethernet_and_wifi_warning":"Configure available Ethernet and Wi-Fi networks to ensure connectivity.","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Configure available Ethernet networks to ensure connectivity.","network_container_network_description":"Connect to the Internet with all available network types.","network_container_network_subtitle":"Network","network_container_no_internet_bullet_four":"Powerwall can send performance data to Tesla, allowing Technical Support to identify issues","network_container_no_internet_bullet_four_industrial":"Devices can send performance data to Tesla, allowing Technical Support to identify issues","network_container_no_internet_bullet_one":"Powerwall registration information is sent to Tesla, activating the full 10-year warranty","network_container_no_internet_bullet_three":"The customer can use the Tesla mobile app to monitor energy usage and control Powerwall","network_container_no_internet_bullet_two":"Powerwall can receive remote firmware updates, enabling performance improvements and new features","network_container_no_internet_bullet_two_industrial":"Devices can receive remote firmware updates, enabling performance improvements and new features","network_container_no_internet_bullet_zero":"It is possible to determine whether a firmware update is required before commissioning","network_container_no_internet_no_cell_title":"If the installation site has an available Internet connection, do not skip this step. Connect to the customer\'s Internet service via Ethernet (preferred) or Wi-Fi.","network_container_no_internet_title":"If the installation site has an available Internet connection, do not skip this step. Connect to the customer\'s Internet service via Ethernet (preferred) or Wi-Fi, or establish a cellular link.","network_container_no_internet_warning":"It is important to establish a reliable Internet connection so that:","network_container_scan_networks":"Scan Wi-Fi Networks","network_container_scan_wifi_disconnect_warning":"Warning: Scanning for new networks will temporarily disconnect the wireless connection.","network_container_wifi_subtitle":"Wi-Fi","network_container_wifi_warning":"Configure available Wi-Fi networks to ensure connectivity.","network_disabled":"Disabled","network_disconnected":"Not connected","network_ethernet_configured":"Configured, but not connected. Check the ethernet cable connection.","network_switches_container_discover_failure":"Last discovery failure: {error}","network_switches_container_discover_switches":"Discover Network Switches","network_switches_container_discovered_label":"Discovered Network Switches","network_switches_container_discovering_stop_button":"Stop Discovery","network_switches_container_discovery_switches_running_label":"Currently running discovery of network switches. You can stop discovery below.","network_switches_container_ip":"IP: {ip}","network_switches_container_mac":"MAC: {mac}","network_switches_container_not_supported":"Network Switches supported only on industrial systems.","network_switches_container_password_not_set":"Password is not set","network_switches_container_password_set":"Password is set","network_switches_container_passwords_error":"Password Setting Status: {status}","network_switches_container_set_password_label":"Set password on all Network Switches that are still using the factory default password.\\n All the passwords will be set to the same value.","network_switches_container_set_passwords":"Set Passwords","network_switches_container_set_passwords_button":"Set Password","network_switches_container_setting_passwords_button":"Setting Password...","network_switches_container_start_discovering_button":"Start Discovery","network_switches_container_start_discovery_help":"Network Switch Discovery is run automatically and periodically but can be triggered via the Start Discovery button.","network_switches_container_subtitle":"View Network Switches","network_switches_container_title":"Network Switches","network_view_check_connection":"CHECK INTERNET CONNECTION","network_view_connection_failed":"NOT CONNECTED!","network_view_connection_success":"SUCCESSFULLY CONNECTED!","network_view_continue_no_internet":"CONTINUE WITHOUT INTERNET","network_view_default_error":"Connection Error","network_view_local_network_connected":"Local Network Connected","network_view_local_network_disconnected":"Local Network Error","network_view_tesla_internet_connected":"Tesla Services and Internet Connected","network_view_tesla_internet_disconnected":"Tesla Services and Internet Connection Error","network_warning":"Warning","network_wifi_configured":"Configured, but not connected. Check your WiFi settings.","open_meter_validatiion_container_title":"Open Meter Validation","operation_mode_autonomous":"Autonomous Mode","operation_mode_backup":"Backup Charging Only","operation_mode_self_consumption":"Self-consumption Mode","operation_mode_site_control":"Site Control","overview_menu_control_title":"Control","overview_menu_diagnostics_title":"Diagnostics","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Connected","overview_menu_network_no_connection":"No Connection","overview_menu_registration_complete":"Complete","overview_menu_registration_incomplete":"Incomplete","overview_menu_registration_pending":"Pending internet connection","overview_menu_security_title":"Change or reset password","overview_menu_settings_title":"Settings","overview_menu_summary_title":"Summary","overview_menu_system_title":"System","overview_menu_update_title":"Software Update","overview_menu_view_alerts_event":"Event","overview_menu_view_alerts_events":"Events","overview_menu_view_inverter_title":"Inverter test","overview_menu_view_network_title":"Network","overview_menu_view_registration_title":"Registration","overview_menu_view_test_title":"Self test","overview_meter_validation_title":"Meter Validation","password_generate_error":"There was an error generating a new password. Verify connectivity and the current password and try again.","password_generate_help_text":"Enter the existing password to generate a new random password.","password_generate_menu_title":"Change Password","password_generate_notice":"The password has been changed. Record the new password before leaving this page.","phase_container_detect_timeout":"Phase detection timed out","phase_container_detection_attempt":"Attempt #{num}","phase_container_grid_code_validating_modal_title":"Validating Grid Code","phase_container_grid_compliant_description":"Grid Compliant {checkmark}","phase_container_grid_modal_description":"Grid will be compliant in {time} seconds.","phase_container_grid_modal_title":"Waiting for Grid Compliance","phase_container_modal_description":"Phase detection may take up to 2 minutes per Powerwall.","phase_container_modal_title":"Running Phase Detection","phase_container_saving_phases_modal_title":"Saving Phases","phase_container_subtitle":"View which line each Powerwall is on and update Line Status","phase_container_supported_error":"No Powerwalls detected. Phase detection is not supported.","phase_container_title":"Phase","phase_container_voltage_caution_body":"Unexpected voltage {voltage}V detected on {lineNumber}. Double-check {lineStatus} is the appropriate setting for this phase.","phase_container_warning_body":"No Backup Phases have been selected. Therefore, the system will not support any loads when the grid connection is lost.","phase_container_warning_modal_header":"Backup is Disabled","phase_line_id":"Line-{id}","phase_line_item_view_line":"Line","phase_line_item_view_line_status_backup":"Backup","phase_line_item_view_line_status_configured":"Non Backup","phase_line_item_view_line_status_not_configured":"Not Configured","phase_line_status_backup":"Backup","phase_line_status_configured":"Non Backup","phase_line_status_not_configured":"Not Configured","phase_view_detect":"DETECT PHASES","phase_view_split_phase":"Split Phase","power_flow_view_go_off_grid":"GO OFF GRID","power_flow_view_go_on_grid":"GO ON GRID","power_flow_view_grid_button_disabled_reason":"System must be started in order to go off grid.","power_flow_view_grid_spinner_alt_label":"System Transitioning","power_flow_view_start_system":"START SYSTEM","power_flow_view_stop_system":"STOP SYSTEM","powerwall_container_industrial_no_additional_title":"No additional Battery Blocks found","powerwall_container_industrial_subtitle_auto_detection_2":"Listed are all the Battery or Charger Blocks auto-detected by the Site Controller. If a block is not listed, check networking equipment including wiring, and make the sure bus controllers are powered on.","powerwall_container_industrial_title_2":"Battery/Charger Blocks","powerwall_container_industrial_updating":"Verifying Battery Blocks","powerwall_container_no_additional_powerwalls_description":"Refer to the Powerwall Installation Manual for tips on resolving possible wiring issues.","powerwall_container_no_additional_powerwalls_title":"No additional Powerwalls found","powerwall_container_scan_again":"SCAN AGAIN","powerwall_container_scanning":"Scanning","powerwall_container_scanning_for_more":"Scanning for more","powerwall_container_subtitle_component_auto_detection":"Listed are all the components auto-detected by the Gateway. Check wiring if a component is not listed.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Verifying Powerwalls","powerwall_container_updating_note":"Note: This may take up to 60 seconds per Powerwall.","powerwall_item_view_blank_numbers":"Awaiting Verification...","powerwall_item_view_numbers":"PartNumber:{partNumber} Serial:{serialNumber}","powerwall_item_view_powerwall":"POWERWALL:{id}","powerwall_pairing_cancel":"Cancel","powerwall_pairing_connect":"Connect","powerwall_pairing_done":"Done","powerwall_pairing_error_already_paired":"Pairing Failed: the device is already paired","powerwall_pairing_error_bad_pairing_response":"Pairing Failed: device refused to pair. Ensure the follower has been stopped","powerwall_pairing_error_bad_qr_code":"Not a WiFi QR code","powerwall_pairing_error_internal":"Pairing Failed: internal error","powerwall_pairing_error_no_qr_code":"No QR code found","powerwall_pairing_error_no_response":"Pairing Failed: device did not respond.","powerwall_pairing_error_not_leader":"Pairing Failed: this is a follower device. Reconnect to the leader device.","powerwall_pairing_error_prohibited_uncommissioned":"Pairing Failed: this Powerwall is not commissioned yet","powerwall_pairing_error_too_many_devices":"Pairing Failed: the maximum number of devices are already paired","powerwall_pairing_error_unknown":"Pairing Failed: Unknown Error","powerwall_pairing_error_wifi_connection_failed":"Pairing Failed: Could not connect to WiFi. Check the password.","powerwall_pairing_error_wifi_not_found":"Pairing Failed: WiFi network not found","powerwall_pairing_exception":"Pairing Failed: Exception","powerwall_pairing_instructions_2":"Enter or scan the WiFi SSID and password for the Powerwall to be paired. Look for a QR code on the device.","powerwall_pairing_password_label":"Password:","powerwall_pairing_scan_qr_code":"Scan QR Code","powerwall_pairing_ssid_label":"SSID:","powerwall_pairing_state_complete":"Pairing complete. The new device may not start responding for a minute or more (longer if there is an update in progress). Click Done to dismiss.","powerwall_pairing_state_monitoring":"Pairing new device. This may take up to a minute.","powerwall_starting":"Starting Powerwall","powerwall_view_detected_backup":"Detected Backup Capability","powerwall_view_detected_synchrometers":"Detected Meter Capability","powerwall_view_failed":"FAILED","powerwall_view_no_backup":"No Backup Capability Detected","powerwall_view_no_sync":"No Synchronizer Detected","powerwall_view_scan":"SCAN","powerwall_view_success":"SUCCESS","powerwall_view_synchrometer_detected":"Synchrometers Detected","powerwall_view_synchronizer_detected":"Synchronizer Detected","powerwall_view_update":"VERIFY POWERWALLS","privacy_policy_view_accept_warranty_title":"Accept Tesla Powerwall Limited Warranty","privacy_policy_view_contact_bullet_one":"via e‐mail at {privacyEmail};","privacy_policy_view_contact_bullet_two":"via mail at Tesla, Inc., Attn: Legal, 45500 Fremont Boulevard, Fremont, California 94538, United States.","privacy_policy_view_contact_header":"How to Contact Us","privacy_policy_view_contact_paragraph_one":"To contact us with a question or comment or to opt out from certain services, please contact us:","privacy_policy_view_contact_paragraph_three":"If you are located in the EEA or Switzerland, your local Tesla affiliate may be the entity responsible for processing your personal information.","privacy_policy_view_contact_paragraph_two":"Please note that e-mail communications are not always secure, so please do not include credit card information or sensitive information in your e-mails to us.","privacy_policy_view_cross_border_transfers_header":"Cross Border Transfers","privacy_policy_view_cross_border_transfers_paragraph_one":"The Services are controlled and operated from the United States. Information from or about you or your use of our products or the Services may be stored and processed in any country where we have facilities or in which we engage service providers. Those countries may not have the same data protection laws as the country in which you initially provided that information. When we transfer information from or about you or your use of our products or the Services to other countries, we will protect it as described in this Privacy Policy. By using our products, the Services, or otherwise providing information to us, you consent to the transfer of information from or about you or your use of our products or the Services to countries outside of your country of residence, including the United States.","privacy_policy_view_cross_border_transfers_paragraph_two":"If you are located in the EEA or Switzerland, we comply with applicable legal requirements providing adequate protection for the transfer of personal information to countries outside of the EEA or Switzerland. Tesla has certified its adherence to the EU-U.S. Privacy Shield Framework as set forth by the Department of Commerce and the European Commission with respect to the processing of certain personal information transferred from the EEA to Tesla and its wholly-owned U.S. subsidiaries. Tesla\'s {privacyShield} is available here.","privacy_policy_view_devices":"From or about you or your devices","privacy_policy_view_energy_products":"From or about your Tesla energy products","privacy_policy_view_eu_policy_warning":"You must consent to the Privacy Policy to register your Powerwall and monitor it in the Tesla mobile app.","privacy_policy_view_eu_warranty_warning":"If you do not consent to the Tesla Customer Privacy Policy, we may be unable to honor the full ten year Warranty. Tesla will honor your Warranty for at least four years following the date your Powerwall was installed for the first time, subject to the exclusions and limitations set out in the Warranty {warrantyLink}.","privacy_policy_view_grid_services":"Your Powerwall can support the reliability of the electrical grid by providing services under optional programs offered by utilities or third parties. These services typically involve a partial discharge of your Powerwall at opportune times in exchange for some financial benefit to you, and require us to share your energy usage and Powerwall information with utilities or third parties. Before we enroll you into one of these programs, we will provide you program details and give you an opportunity to opt out. If you do not opt out at that time, you will be enrolled into the program.","privacy_policy_view_grid_services_title":"Grid Services","privacy_policy_view_grid_warning":"You do not have to consent. If you don’t consent, we may still give you the opportunity to enroll in these programs later.","privacy_policy_view_here":"here","privacy_policy_view_homeowner_na":"HOMEOWNER NOT AVAILABLE","privacy_policy_view_homeowner_required":"Must be completed by homeowner","privacy_policy_view_information_collection_devices_bullet_five":"Through your browser or device: Certain information is collected by most browsers or automatically through your device, such as your Media Access Control (MAC) address, computer type (Windows or Macintosh), screen resolution, operating system name and version, device manufacturer and model, language, Internet browser type and version, and the name and version of the Services (such as the Tesla App) you are using. We use this information to ensure that the Services function properly.","privacy_policy_view_information_collection_devices_bullet_four":"Offline: We may collect information from or about you offline, such as when you visit a Tesla store or repair facility, attend one of our events, sign up for a test drive, place an order over the phone, or contact our customer service or sales department.","privacy_policy_view_information_collection_devices_bullet_one":"Through the Services: We may collect information from or about you through our websites, software applications, social media pages, e-mail messages, or other digital services (the “Services”), e.g., when you sign up for a newsletter, make a purchase, or register your product with us.","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla: Customers who purchase certain Tesla products will receive a My Tesla account, which is hosted on our website. We may collect and process the following types of data for your My Tesla account that you elect to provide to us: your customer registration information; the status of your order; warranty and other documentation for your Tesla products; and general information about your Tesla products (including, for example, vehicle identification number or other product serial number, service plan information, or connectivity package), insurance forms, driver’s licenses, financing agreements, and similar information. You can access your My Tesla account to update the information from or about you in that account at any time.","privacy_policy_view_information_collection_devices_bullet_two":"From other sources: We also may receive information about you from other sources, such as public databases, joint marketing partners, certified installers, third-party vehicle repair or service centers, and social media platforms.","privacy_policy_view_information_collection_energy_products_bullet_one":"We may collect information about your product, such as your installation date, number of products installed, and serial number(s).","privacy_policy_view_information_collection_energy_products_bullet_two":"In order to provide and improve our energy products and services, we may collect data regarding where your product is installed and how it is configured, data related to the product’s use and performance, data regarding your aggregate home energy consumption, and other data relevant to diagnose issues.","privacy_policy_view_information_collection_header":"Information We May Collect","privacy_policy_view_information_collection_paragraph_five":"If you no longer wish us to collect performance data or any other data from your Tesla energy product, please contact us as indicated in the “How to Contact Us” section below. Please note that if you opt out from the collection of performance data from your Tesla energy product, we will not be able to notify you of issues applicable to your energy product in real time, and this may result in your energy product suffering from reduced functionality, serious damage, or inoperability, and it may also disable many features of your energy product including periodic software and firmware updates.","privacy_policy_view_information_collection_paragraph_four":"We may collect a variety of information from or about your Tesla energy products from you, via a certified installer or from the installed products (directly or via paired equipment, such as an inverter), including:","privacy_policy_view_information_collection_paragraph_one":"We collect three main types of information related to you or your use of our products and services: (1) information from or about you or your devices; (2) information from or about your Tesla vehicle; and (3) information from or about your Tesla energy products. Depending on the Tesla products and services you request, own, or use, not all of these types of information may be applicable to you.","privacy_policy_view_information_collection_paragraph_three":"When you visit our website or otherwise use our Services, we may use cookies, pixel tags, analytics tools, and other similar technologies to help provide and improve our Services, and as detailed below:","privacy_policy_view_information_collection_paragraph_two":"We may collect information from or about you (such as your name, address, phone number, e-mail, payment information, etc.) or your devices in a variety of ways, including:","privacy_policy_view_information_collection_services_bullet_five":"You can learn about Google’s practices in connection with this information collection and how to opt out of it by downloading the Google Analytics opt-out browser add-on, available at {website}.","privacy_policy_view_information_collection_services_bullet_four":"Analytics tools: We use website and application analytics services provided by third parties that use cookies and other similar technologies to collect information about website or application use and to report trends, without identifying individual visitors. The third parties that provide us with these services may also collect information about your use of third-party websites.","privacy_policy_view_information_collection_services_bullet_one":"Cookies: Cookies are pieces of information stored directly on the computer that you are using. Cookies allow us to collect information such as browser type, time spent on the Services, pages visited, language preferences, and other web traffic data. Our service providers and we use the information for security purposes, to facilitate online navigation, to display information more effectively, to personalize your experience while using the Services, and to otherwise analyze user activity. We can recognize your computer to assist your use of the Services. We also gather statistical information about the usage of the Services in order to continually improve their design and functionality, understand how the Services are used, and assist us with resolving questions regarding the Services. Cookies further allow us to select which of our advertisements or offers are most likely to appeal to you and to display them to you. We may also use cookies in online advertising to see how you interact with our advertisements, and we may use cookies or other files to understand your use of other websites.","privacy_policy_view_information_collection_services_bullet_three":"Pixel tags and other similar technologies: Pixel tags (also known as web beacons and clear GIFs) may be used in connection with some Services to, among other things, track the actions of users of the Services (including e-mail recipients), measure the success of our marketing campaigns, and compile statistics about usage of the Services and response rates.","privacy_policy_view_information_collection_services_bullet_two":"If you do not want information collected through the use of cookies when using your My Tesla account or our website, there is a simple procedure in most browsers that allows you to automatically decline cookies or gives you the choice of declining or accepting the transfer to your computer of a particular cookie (or cookies) from a particular site. You may also wish to refer to {website}. However, if you do not accept these cookies, you may experience some inconvenience in your use of the Services. For example, we may not be able to recognize your computer, and you may need to log in every time you visit the applicable Services.","privacy_policy_view_information_rights_choices_agree_eu":"You must consent to the Privacy Policy to register your Powerwall and monitor it in the Tesla mobile app.","privacy_policy_view_information_rights_choices_agree_one":"You must consent to the Privacy Policy to register your Powerwall and monitor it in the Tesla mobile app. No further action is needed if you don\'t want to access your Powerwall information via the Tesla mobile app.","privacy_policy_view_information_rights_choices_bullet_one":"You can access your My Tesla account to update the information from or about you in that account at any time.","privacy_policy_view_information_rights_choices_bullet_two":"If you would like to review, correct, update, suppress, or delete information from or about you that has been previously provided to us by you, you may contact us at the address below.","privacy_policy_view_information_rights_choices_header":"Rights and Choices","privacy_policy_view_information_rights_choices_paragraph_four":"Please note that we may need to retain certain information for recordkeeping or legal compliance purposes and/or to complete any transactions that you began prior to requesting such change or deletion (e.g., when you make a purchase or enter a promotion, you may not be able to change or delete the information provided until after the completion of such purchase or promotion). There may also be residual information that will remain within our databases and other records, which will not be removed.","privacy_policy_view_information_rights_choices_paragraph_one":"As detailed in the sections above, we give you many choices regarding our collection, use, and sharing of information from or about you or your use of our products or the Services. Subject to applicable law, in certain jurisdictions you may also have the rights to request access to and receive information about certain information we maintain about you, update and correct inaccuracies in that information, and have the information blocked or deleted, as appropriate. These rights may be limited in some circumstances by local law. We give you several methods to access, correct, update, or request blocking or deletion of information from or about you including:","privacy_policy_view_information_rights_choices_paragraph_three":"We will comply with your request(s) to exercise these rights and choices as soon as reasonably practicable.","privacy_policy_view_information_rights_choices_paragraph_two":"In your request, please make clear what information you would like to have changed, whether you would like to have the information that you have provided to us suppressed from our database, or otherwise let us know what limitations you would like to put on our use of the information that you have provided to us. For your protection, we may only implement requests with respect to the information associated with the particular e-mail address that you use to send us your request, and we may need to verify your identity before implementing your request.","privacy_policy_view_information_share_header":"How We May Share Information We Collect","privacy_policy_view_information_share_paragraph_eight":"In other circumstances","privacy_policy_view_information_share_paragraph_eleven":"If you wish to opt out of any processing of information for which you have provided your prior explicit opt-in consent, you may do so by contacting us as indicated in the “How to Contact Us” section below.","privacy_policy_view_information_share_paragraph_five":"We may share information with other third parties you authorize, such as in the following circumstances:","privacy_policy_view_information_share_paragraph_five_point_four":"With your social media account provider, if you connect your Services account and your social media account. If you do so, you authorize us to share information with your social media account provider and you understand that the use of the information we share will be governed by the social media account provider’s privacy policy.","privacy_policy_view_information_share_paragraph_five_point_one":"With our certified installers to facilitate the provision of energy products to you that you have requested.","privacy_policy_view_information_share_paragraph_five_point_three":"With third-party sponsors of contests and similar promotions, if you elect to participate.","privacy_policy_view_information_share_paragraph_five_point_two":"With third party service centers or providers, if you choose to utilize them. Note that some information about you is stored on certain Tesla products and may be accessible directly to the third party service centers or providers that you choose to utilize to diagnose or service your Tesla product.","privacy_policy_view_information_share_paragraph_four":"With other third parties you authorize","privacy_policy_view_information_share_paragraph_nine":"We may share information in other circumstances, such as:","privacy_policy_view_information_share_paragraph_nine_point_one":"With your employer or other fleet operator or the owner of the Tesla product, if you do not directly own it and as authorized under applicable law.","privacy_policy_view_information_share_paragraph_nine_point_two":"With a third party in connection with any reorganization, merger, sale, joint venture, assignment, transfer, or other disposition of all or any portion of our business, assets, or stock (including in connection with any bankruptcy or similar proceedings).","privacy_policy_view_information_share_paragraph_one":"We may share information we collect with our service providers and business partners, with other third parties you authorize, with other third parties when required by law, and in other circumstances. Examples of how we share information with these parties and under these circumstances are provided below.","privacy_policy_view_information_share_paragraph_seven":"Tesla may transfer and disclose information, including information that may or may not personally identify you, to third parties to comply with a legal obligation (including, but not limited to, subpoenas); when we believe in good faith that the law requires it; in response to a lawful request by governmental authorities conducting an investigation, including to comply with law enforcement requirements; to verify or enforce our policies and procedures; to respond to an emergency; to prevent or stop activity we may consider to be, or to pose a risk of being, illegal, unethical or legally actionable; or to protect the rights, property, safety, or security of the Services, Tesla, third parties, visitors to our Services, or the public, as determined by us in our sole discretion.","privacy_policy_view_information_share_paragraph_six":"With other third parties when required by law","privacy_policy_view_information_share_paragraph_ten":"We do not share information that personally identifies you with unaffiliated third parties for their marketing purposes unless you opt in to that sharing.","privacy_policy_view_information_share_paragraph_three":"We may share information with our service providers and business partners when necessary to perform services on our or on your behalf, such as in the following circumstances:","privacy_policy_view_information_share_paragraph_three_point_one":"With Tesla affiliates for the purposes described in this Privacy Policy. Tesla affiliates are companies that are owned or controlled by Tesla, Inc. and companies in which Tesla, Inc. has a substantial ownership interest.","privacy_policy_view_information_share_paragraph_three_point_three":"With other third party business partners to the extent that they are involved in your purchase or the service of your Tesla products. We share limited information from or about you to allow you to take advantage of those services if you elect to utilize them, with such partners as finance, leasing, registration, and title companies.","privacy_policy_view_information_share_paragraph_three_point_two":"With our third party service providers and channel partners to provide services such as website hosting, data analysis and storage, payment processing, order fulfillment and product installation, wireless connectivity to Tesla products, information technology and related infrastructure, customer service, product maintenance or related services, e-mail delivery, credit card processing, auditing, marketing, voice command processing, and other similar services.","privacy_policy_view_information_share_paragraph_two":"With our service providers and business partners","privacy_policy_view_information_use_commuicate":"To communicate with you","privacy_policy_view_information_use_header":"How We May Use Information We Collect","privacy_policy_view_information_use_other_purposes":"For other purposes","privacy_policy_view_information_use_paragraph_five":"We also may use information we collect for other purposes, such as:","privacy_policy_view_information_use_paragraph_five_point_one":"For our business purposes, such as: data analysis; audits; fraud monitoring and prevention; identifying usage trends; determining the effectiveness of our promotional campaigns; and operating and expanding our business activities.","privacy_policy_view_information_use_paragraph_five_point_two":"Except as described above and below, Tesla may use or share information that does not personally identify you for any purpose, such as for operational or research purposes, for industry analysis, to improve or modify our products and services, to better tailor our products and services to your needs, and where legally required.","privacy_policy_view_information_use_paragraph_four":"We may use information we collect to provide and improve our products and services, such as:","privacy_policy_view_information_use_paragraph_four_point_five":"To analyze and improve the safety and security of our products and services.","privacy_policy_view_information_use_paragraph_four_point_four":"To develop and promote new products and services, and to improve or modify our existing products and services.","privacy_policy_view_information_use_paragraph_four_point_one":"To complete and fulfill your purchase, e.g., to process your payments, have your order delivered to you, communicate with you regarding your purchase, and provide you with related customer service.","privacy_policy_view_information_use_paragraph_four_point_six":"To deliver any other services you have requested.","privacy_policy_view_information_use_paragraph_four_point_three":"To monitor your Tesla product’s performance and provide services related to your product.","privacy_policy_view_information_use_paragraph_four_point_two":"To provide service to your Tesla product, such as to contact you with service recommendations and to deliver over-the-air updates to your product.","privacy_policy_view_information_use_paragraph_one":"We may use information we collect to communicate with you, to provide and improve our products and services, and for other purposes. Examples of how we use information for these purposes are provided below.","privacy_policy_view_information_use_paragraph_three":"Your communication choices:","privacy_policy_view_information_use_paragraph_three_point_one":"Receiving electronic communications from us or our affiliates: If you no longer want to receive marketing-related e-mails from us or our affiliates, you may opt out of receiving them by following the opt-out instructions in any e-mail received from us or by contacting us at the address below. Please note that we may still send you important administrative and safety messages even if you opt out of receiving marketing e-mails.","privacy_policy_view_information_use_paragraph_three_point_two":"Receiving marketing-related calls from us: If you receive a marketing-related call from us and do not want to receive similar calls in the future, simply ask to be placed on our “do not call” list. Please note that we may still call you regarding administrative, safety, or product service issues even if you opt out of receiving marketing calls.","privacy_policy_view_information_use_paragraph_two":"We may use information we collect to communicate with you, such as:","privacy_policy_view_information_use_paragraph_two_point_five":"To present products and offers tailored to you and to enhance our lists with information from other sources.","privacy_policy_view_information_use_paragraph_two_point_four":"To send administrative information to you, for example, information regarding the Services and changes to our terms, conditions, and policies.","privacy_policy_view_information_use_paragraph_two_point_one":"To respond to your inquiries and fulfill your requests, such as to send you newsletters or product information, information alerts, or brochures.","privacy_policy_view_information_use_paragraph_two_point_seven":"To facilitate social sharing and communications functionality.","privacy_policy_view_information_use_paragraph_two_point_six":"To allow you to participate in contests and similar promotions and to administer these activities.","privacy_policy_view_information_use_paragraph_two_point_three":"To advise you of important safety-related information or to notify first responders in the event of an accident involving your vehicle.","privacy_policy_view_information_use_paragraph_two_point_two":"To set up, evaluate, and provide feedback regarding your Tesla test drive.","privacy_policy_view_information_use_provide":"To provide and improve our products and services","privacy_policy_view_links_header":"Links","privacy_policy_view_links_paragraph_one":"This Privacy Policy does not address, and we are not responsible for, the privacy, information, or other practices of any third parties, including any third party operating any site or service to which the Services link. The inclusion of a link on the Services does not imply endorsement of the linked site or service by us or by our affiliates, nor does it imply an affiliation with the third party.","privacy_policy_view_links_paragraph_two":"Please note that we are not responsible for the collection, use, or disclosure policies and practices (including the data security practices) of other organizations, such as any other app developer, app provider, social media platform provider, operating system provider, or wireless service provider, including any information you disclose to other organizations through or in connection with our software applications or social media pages.","privacy_policy_view_minors_header":"Minors","privacy_policy_view_minors_paragraph":"The Services are not directed to individuals under the age of sixteen (16), and we request that these individuals not provide any information to Tesla.","privacy_policy_view_offers_eu":"Yes, I’d like to receive marketing communications by e-mail, including surveys, promotions, offers, from Tesla and its affiliates about Tesla’s products and services. You have the right to withdraw your consent at any time. More information {legalLink}.","privacy_policy_view_offers_title":"Product Announcements and New Offers","privacy_policy_view_offers_usa":"I agree to be contacted at the number provided with more information or offers about Tesla products. I understand these calls or texts may use computer-assisted dialing or pre-recorded messages. This consent is not a condition of purchase.","privacy_policy_view_powerwall_warranty":"Tesla Powerwall Limited Warranty","privacy_policy_view_privacy_policy":"Privacy Notice","privacy_policy_view_privacy_policy_agreement_eu":"I, the homeowner, have read the Tesla Customer Privacy Policy in full and consent to the processing of my Personal Information by Tesla as described in the Tesla Customer Privacy Policy. You have the right to withdraw your consent at any time, as described in the Tesla Customer Privacy Policy.","privacy_policy_view_privacy_policy_agreement_usa_australia":"I, the homeowner, have read the Tesla Customer Privacy Policy in full and consent to the processing of my Personal Information by Tesla as described in the Tesla Customer Privacy Policy.","privacy_policy_view_privacy_shield":"Privacy Shield Policy","privacy_policy_view_retention_period_header":"Retention Period","privacy_policy_view_retention_period_paragraph":"We will retain information we collect from or about our customers, our products, and the Services for the period necessary to fulfill the purposes outlined in this Privacy Policy unless a longer retention period is required or permitted by law.","privacy_policy_view_security_header":"Security","privacy_policy_view_security_paragraph_one":"We seek to use reasonable organizational, technical, and administrative measures to protect information within our organization. Unfortunately, no data transmission or storage system can be guaranteed to be 100% secure. If you have reason to believe that your interaction with us is no longer secure (for example, if you feel that the security of any account with us has been compromised), please immediately notify us of the problem by contacting us in accordance with the “How to Contact Us” section below.","privacy_policy_view_security_paragraph_two":"If you sell or transfer your Tesla product to another person, please notify us so that we can determine whether additional steps are required to help safeguard information from or about you from disclosure to the purchaser or transferee of the Tesla product.","privacy_policy_view_title":"View Full Privacy Policy","privacy_policy_view_updates_header":"Updates to this Policy","privacy_policy_view_updates_paragraph":"We may change this Privacy Policy. Please take a look at the “Last Updated” legend at the bottom of this page to see when this Privacy Policy was last revised. Any changes to this Privacy Policy will become effective when we post the revised Privacy Policy on the Services. By using our products, the Services, or otherwise providing information to us following these changes, you accept the revised Privacy Policy.","privacy_policy_view_us_warranty_warning":"You must consent to the Tesla Limited Warranty to register your Powerwall and monitor it in the Tesla mobile app.","privacy_policy_view_warranty_information":"I, the homeowner, accept the terms of the Tesla Powerwall Limited Warranty, available {warrantyLink}. Those terms include an arbitration provision that waives my right to bring or participate in class actions and jury trials. I can opt out of this provision within 30 days by following the process described in the provision.","prompt_factory_reset_confirmation":"Confirm you really wish to reset the unit to factory settings?","pvac-state-active":"Active","pvac-state-faulted":"Faulted","pvac-state-init":"Initializing...","pvac-state-standby":"Wait for Solar","pvac_alert_ac_fault":"Inverter AC Fault","pvac_alert_check_ac_note":"Check AC wiring and grid connection. Reboot inverter and retry operation.","pvac_alert_check_dc_string1_note":"Check String 1 DC wiring and panels. Reboot inverter and retry operation.","pvac_alert_check_dc_string2_note":"Check String 2 DC wiring and panels. Reboot inverter and retry operation.","pvac_alert_check_dc_string3_note":"Check String 3 DC wiring and panels. Reboot inverter and retry operation.","pvac_alert_check_dc_string4_note":"Check String 4 DC wiring and panels. Reboot inverter and retry operation.","pvac_alert_confirm_grid_code_note":"Check AC wiring and grid connection. Confirm selected grid code.","pvac_alert_dc_fault_string1":"Inverter DC Fault - String 1","pvac_alert_dc_fault_string2":"Inverter DC Fault - String 2","pvac_alert_dc_fault_string3":"Inverter DC Fault - String 3","pvac_alert_dc_fault_string4":"Inverter DC Fault - String 4","pvac_alert_freq_change":"Grid Uncompliant - Frequency Change","pvac_alert_internal_comms":"Internal Communication Issue","pvac_alert_over_freq":"Grid Uncompliant - Over Frequency","pvac_alert_over_temp":"Inverter Over Temperature","pvac_alert_over_voltage":"Grid Uncompliant - Over Voltage","pvac_alert_production_limited_note":"Production may be limited. Ensure proper wire terminations, sufficient airflow, and installation environment.","pvac_alert_reboot_note":"Reboot inverter, ensure system is up to date and fully commissioned.","pvac_alert_under_freq":"Grid Uncompliant - Under Frequency","pvac_alert_under_voltage":"Grid Uncompliant - Under Voltage","pvi-power-status-dc-only":"DC Only","pvi-power-status-disabled":"Disabled","pvi-power-status-enabled":"Enabled","pvi-reset-button-label":"Restart Inverter and Clear Alerts","pvs-self-test-1":"Self-test (1/6): Ground Fault","pvs-self-test-2":"Self-test (2/6): Arc Fault","pvs-self-test-3":"Self-test (3/6): MCI","pvs-self-test-4":"Self-test (4/6): Isolation","pvs-self-test-5":"Self-test (5/6): Relay Weld","pvs-self-test-6":"Self-test (6/6): Impedance","pvs_alert_check_arc_fault_note":"Check DC wiring, connections, panels, and rapid shutdown devices for Arc fault issues.","pvs_alert_check_dc_note":"Check DC wiring, connections, panels, and rapid shutdown devices for ground fault issues.","pvs_alert_check_dc_string1_note":"Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 1.","pvs_alert_check_dc_string2_note":"Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 2.","pvs_alert_check_dc_string3_note":"Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 3.","pvs_alert_check_dc_string4_note":"Check DC wiring, connections, panels, and rapid shutdown devices for Isolation issues, focusing on String 4.","pvs_alert_check_dc_strings_note":"Check DC wiring, connections, panels, and string configurations.","pvs_alert_dc_arc_fault_detected":"DC Arc Fault - Detected","pvs_alert_dc_arc_fault_lockout":"DC Arc Fault - Lockout","pvs_alert_dc_ground_fault":"DC Ground Fault","pvs_alert_dc_isolation_string1":"DC Isolation Issue - String 1","pvs_alert_dc_isolation_string2":"DC Isolation Issue - String 2","pvs_alert_dc_isolation_string3":"DC Isolation Issue - String 3","pvs_alert_dc_isolation_string4":"DC Isolation Issue - String 4","pvs_alert_dc_over_voltage":"DC Over Voltage","pvs_alert_rapid_shutdown":"Rapid Shutdown Initiated","pvs_alert_rapid_shutdown_note":"Check AC breaker and low-voltage rapid shutdown circuit.","registration_container_continue_header":"Customer email entered: {email}","registration_container_continue_modal_description":"The customer will be unable to access the Tesla Mobile App if the email is incorrect. Confirm customer email is valid.","registration_container_customer_email_required":"Customer email is necessary to enable the Tesla Mobile App.","registration_container_customer_information_title":"Site Information","registration_container_fill_required_fields":"Installer or customer must fill in all required fields.","registration_container_loading_modal_registering":"Registering","registration_container_reset_form_modal_description":"Please confirm that you would like to proceed with resetting the form.","registration_container_reset_form_modal_header":"Any information previously entered will be lost.","security_container_settings_title_customer":"Change or Reset Password (Customer)","security_container_settings_title_installer":"Change or Reset Password (Installer)","security_view_copied_to_clipboard":"Copied!","security_view_not_wifi_qr_code_error":"Not a WiFi QR code.","security_view_scan_qr_code_not_found_error":"No QR Code found.","security_view_settings_change_password_error":"New passwords do not match","security_view_settings_change_password_label":"CHANGE PASSWORD","security_view_settings_completed":"COMPLETE","security_view_settings_new_password_label":"NEW PASSWORD","security_view_settings_old_password":"CURRENT PASSWORD","security_view_settings_password_change_info":"To change the password, enter the current password and a new password.","security_view_settings_password_customer":"PASSWORD","security_view_settings_password_customer_placeholder":"Last 5 characters of the Gateway sticker password","security_view_settings_password_installer_label":"Gateway password","security_view_settings_password_reset_info":"To reset the password, toggle the switch on a Powerwall, then enter the 5 last characters of the Gateway sticker password.","security_view_settings_password_reset_info_serial":"To reset the password, toggle the switch on a Powerwall, then enter the 5 last characters of the Gateway serial number.","security_view_settings_password_reset_installer_info":"To reset the password, toggle the switch on a Powerwall, then enter the Gateway sticker password.","security_view_settings_password_reset_installer_info_serial":"To reset the password, toggle the switch on a Powerwall, then enter the Gateway serial number.","security_view_settings_re_enter_password_label":"RE-ENTER NEW PASSWORD","security_view_settings_reset_password_label":"RESET PASSWORD","security_view_settings_serial_customer":"SERIAL NUMBER","security_view_settings_serial_customer_placeholder":"Last 5 characters of the Gateway serial number","security_view_settings_serial_installer_label":"Gateway serial number","security_view_settings_success":"Password successfully updated","security_view_settings_success_new_password":"The new password is:","security_view_settings_toggled_password":"Forgot Password?","self_test_result_viewer_resi_only":"Self Test Log Viewer is not available.","self_test_results_viewer_collapse_all":"Collapse All","self_test_results_viewer_column_name":"Name","self_test_results_viewer_column_result":"Result","self_test_results_viewer_column_spec":"Specification","self_test_results_viewer_column_test_time":"Test Time","self_test_results_viewer_column_value":"Value","self_test_results_viewer_expand_all":"Expand All","self_test_results_viewer_failed":"Failed","self_test_results_viewer_in_progress":"In Progress","self_test_results_viewer_inconclusive":"Inconclusive","self_test_results_viewer_not_started":"Not Started","self_test_results_viewer_passed":"Passed","self_test_results_viewer_skipped":"Skipped","self_test_results_viewer_warning":"Warning","settings_container_confirm_reset_operation_mode":"Confirm mode change to {operation}","settings_container_heco_modal_description":"This setting can not be changed after selection. Confirm that the customer is currently enrolled in the HECO Battery Bonus Program before submitting your selection.","settings_container_heco_modal_title":"Confirm Enrollment","settings_container_heco_view_description":"Powerwall will discharge, at the comitted capacity daily, to meet the program requirements. This setting can not be changed after activation.","settings_container_heco_view_scheduled_dispatch_start_time":"Start Time","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"HECO Scheduled Dispatch","settings_container_heco_view_title":"HECO Battery Bonus Program","settings_container_operation_modes_modal_content":"Use the Tesla Mobile App \'Customize\' screen to change operation modes.","settings_container_operation_modes_modal_reset":"RESET MODE","settings_container_operation_modes_modal_title":"Operation Mode","settings_container_operation_modes_modal_warning":"This is a one way change. Advanced modes can only be re-enabled via the Tesla Mobile App.","settings_container_operation_modes_reset_modal_title":"Reset Operation Mode?","settings_container_operation_settings_subtitle":"Set the name of your system, operation mode, and export limitations, if any.","settings_container_operation_settings_title":"Operation Settings","settings_container_save_instructions":"Click CONTINUE to save.","settings_container_saving_site_info_modal":"Saving Site Settings","settings_container_site_import_description":"Site Import Limit is an optional setting. Leave this field empty to disable import limiting. When enabled this setting specifies the maximum power allowed to be imported from the grid to the site.","settings_container_site_limits_header":"Site Limits","settings_view_custom_modes_label":"PRECONFIGURED MODE","settings_view_energy_reserve_heco_label":"Changes to backup reserve are restricted due to enrollment in the HECO Battery Bonus program. The customer will be able to set backup reserve in their app.","settings_view_energy_reserve_label":"BACKUP RESERVE","settings_view_instruction_site_name":"Enter a site name","settings_view_net_meter_mode":"Export Mode","settings_view_operation_label":"OPERATION MODE","settings_view_operation_set_label":"OPERATION MODE TO SET","settings_view_set_net_meter_mode_never_label":"Permanent Non Export","settings_view_set_net_meter_mode_solar_label":"Solar Export","settings_view_site_name":"SITE NAME","settings_view_site_name_placeholder":"Ex. My Home","settings_view_solar_export_limitation_slider":"Solar export limitation","settings_view_solar_feature":"This feature should only be activated when interconnection requires the solar system to not export energy to the grid. Typical in Hawaii (CSS) and Australia regions.","settings_view_solar_limitation":"POWERWALL INSTALLED ALONGSIDE A SOLAR SYSTEM THAT IS NOT A POWERWALL+?","site_info_container_submit":"SUBMIT","soft-blocker-continue-button":"CONTINUE","solar_item_view_baudrate_label":"Baud rate","solar_item_view_brand_input_label":"BRAND","solar_item_view_brand_label":"Brand","solar_item_view_check_inverter":"CHECK INVERTER {id} CONNECTION","solar_item_view_connection_warning":"Could not establish connection","solar_item_view_inverter_brand":"Inverter Brand","solar_item_view_inverter_communication":"Configure direct inverter communication","solar_item_view_inverter_model_label":"Inverter Model","solar_item_view_ip_label":"IP ADDRESS","solar_item_view_model_label":"MODEL","solar_item_view_power_rating_explanation":"This is the total power rating of the photovoltaic system with respect to the modules/panels. This is the nominal power of the array. For example if you have 10x 300W solar panels, list 3000W, even if the PV inverter is 2500W or 3500W.","solar_item_view_pv_array_dc_power_rating":"PV Array DC Power Rating","solar_item_view_pv_array_dc_power_rating_label":"PV ARRAY DC POWER RATING","solar_item_view_revenue_grade":"Revenue Grade","solar_item_view_revenue_grade_explanation":"Check this only if the inverter has an integrated revenue grade meter. Inverter data will be read from the meter instead of the inverter if this option is enabled.","solar_item_view_revenue_grade_title":"Revenue Grade","solar_item_view_solar":"SOLAR {id}","solar_item_view_success":"SUCCESSFULLY CONNECTED!","solar_item_view_unable":"UNABLE TO READ INVERTER!","solar_list_view_continue_add_solar":"ADD SOLAR","solar_view_continue_add_solar":"ADD SOLAR","status_update_urgency_none":"Up To Date","status_update_urgency_optional":"Update Optional","status_update_urgency_required":"Update Required","status_update_urgency_unknown":"Unknown","success_view_awesome":"AWESOME!","success_view_copied_to_clipboard":"Copied!","success_view_installation_complete":"Installation complete","success_view_new_password_error_title":"Wizard Password","success_view_new_password_title":"New Wizard Password","success_view_password_set":"Password is already set","success_view_record_password":"Please record this password before continuing","success_view_retry_registration":"RETRY REGISTRATION","success_view_set_customer_password":"SET CUSTOMER PASSWORD","success_view_syncing_configuration":"Syncing configuration","summary_container_company":"Company","summary_container_connection_type":"Connection Type","summary_container_email":"Email","summary_container_installer_information":"Installer Information","summary_container_ip_address":"IP Address","summary_container_location":"Location","summary_container_meter":"Meter #{index}","summary_container_meter_information":"Meter Information","summary_container_phone":"Phone Number","summary_container_print":"Print","summary_container_serial_number":"Serial Number","summary_container_site_info":"Site Information","summary_container_site_name":"Site Name","summary_container_subtitle":"Product and Installation Information","summary_site_information":"SITE INFORMATION","summary_view_autonomous":"Time-based control","summary_view_backup":"Backup-only","summary_view_backup_capable":"Backup Capable","summary_view_backup_reserve":"BACKUP RESERVE","summary_view_backup_switch":"BACKUP SWITCH","summary_view_conductor_export":"CONDUCTOR EXPORT LIMIT","summary_view_conductor_import":"CONDUCTOR IMPORT LIMIT","summary_view_control":"Site Control","summary_view_customer_version":"CUSTOMER VERSION","summary_view_direct":"Direct","summary_view_disabled":"DISABLED","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"PV EXPORT LIMIT","summary_view_extra_programs":"EXTRA PROGRAMS","summary_view_followers":"FOLLOWERS","summary_view_gateway":"GATEWAY","summary_view_grid_code":"GRID CODE","summary_view_gsm":"CELLULAR","summary_view_heco_battery_bonus":"HECO Battery Bonus","summary_view_ip_address":"IP ADDRESS","summary_view_leader":"LEADER","summary_view_mode":"MODE","summary_view_msg_cannot_read_solar_assembly":"Stop system first to see part number and serial of Powerwall+ solar assembly.","summary_view_network":"NETWORK","summary_view_non_backup":"Non-Backup","summary_view_panel_limit":"PANEL MAXIMUM CURRENT","summary_view_partnum":"Part {partNumber}","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"Aggregation","summary_view_self_consumption":"Self Consumption","summary_view_serialnum":"Serial {serialNumber}","summary_view_site_export":"SITE EXPORT LIMIT","summary_view_site_import":"SITE IMPORT LIMIT","summary_view_site_name":"SITE NAME","summary_view_solar_assembly":"SOLAR ASSEMBLY","summary_view_sync":"BACKUP CAPABILITY","summary_view_time":"SUMMARY COMPILATION TIME","summary_view_time_zone":"TIME ZONE","summary_view_wifi":"Wi-Fi","system-device-follower-not-responding":"WiFi-paired device is not currently responding","system-device-unknown-sitecontroller":"Device has not yet discovered its children","system_acpw_vitals_charge":"Charge Level: {charge}%","system_acpw_vitals_power":"AC Power: {power}","system_acpw_vitals_power_charging":"AC Power: {power} Charging","system_acpw_vitals_power_discharging":"AC Power: {power} Discharging","system_acpw_vitals_state":"Powerwall State: {state}","system_acpw_vitals_voltage":"AC Voltage: {voltage}","system_controller_din":"Controller: {din}","system_device_alert_disabled":"Device disabled","system_device_gateway_not_islanding":"This is not the islanding controller.","system_device_name_backup_switch":"Backup Switch ({sn})","system_device_name_battery_assembly":"Battery Assembly ({sn})","system_device_name_gateway":"Gateway ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus_leader":"Leader Powerwall+","system_device_name_powerwall_plus_solo":"Powerwall+","system_device_name_powerwall_plus_wired":"Powerwall+ (wired)","system_device_name_powerwall_plus_wireless":"Powerwall+ (wireless)","system_device_name_remote_meter":"Remote Meter ({sn})","system_device_name_solar_assembly_1":"Solar Assembly","system_device_name_sync":"Gateway Contactor / Meter Controller ({sn})","system_firmware_update":"Updating: {percent}% ({step}/{numSteps})","system_gateway_din":"Gateway: {din}","system_islanding_vitals_backup_state":"Backup state: {backupState}","system_islanding_vitals_grid_line":"Grid Line {lineNumber}: {v} {f}","system_islanding_vitals_island_line":"Island Line {lineNumber}: {v} {f}","system_overview_connected":"Connected To Tesla","system_overview_disconnected":"Not Connected To Tesla","system_overview_follower":"Follower Powerwall","system_overview_login_required":"Login Required To View System Operation","system_overview_scanning":"Scanning for devices...","system_overview_site_controller":"Site Controller","system_overview_updating":"Updating devices...","system_pvi_vitals_ac_solar_power_only":"AC Solar Power: {power}","system_pvi_vitals_lifetime_energy_kwh":"Lifetime Energy: {energy}","system_pvi_vitals_state":"State: {message}","system_pvi_vitals_string":"String {number}: {voltage} / {current}","system_pvi_vitals_string_not_connected":"String {number}: Not connected","system_remote_meter_ct_line":"CT {n} ({location}): {value}","system_remote_meter_no_cts":"No CTs configured","system_rescan_button_text":"Rescan Devices","system_scanning_label_text":"Scanning for Devices...","system_vitals_missing_value":"---","test_container_configure_subtitle":"Test that the system is working as expected.","test_container_system_test_title":"System Test","test_inverter_container_error_grid_uncompliant":"The test cannot be run because the grid is noncompliant.","test_inverter_container_error_not_idle":"The Powerwall must be in standby to perform the test.","test_inverter_container_results_error_plural_subtitle":"{num} Tests Failed","test_inverter_container_results_error_singular_subtitle":"{num} Test Failed","test_inverter_container_results_success_plural_subtitle":"{num} Tests Passed","test_inverter_container_results_success_singular_subtitle":"{num} Test Passed","test_inverter_container_results_success_subtitle":"All Tests Passed","test_inverter_container_results_title":"Inverter Self Test Results","test_inverter_container_title":"Inverter Self Test","test_meter_composite_view_configure_meters":"CONFIGURE METERS","test_meter_composite_view_current_transformer_setup_instructions":"Use at least one Site CT OR Load CT, but not both.","test_meter_composite_view_external_meter_setup_instructions":"At least one current transformer must be set for each external meter.","test_meter_composite_view_external_meters_title":"External Meters","test_meter_composite_view_internal_meters_gateway_title":"Internal Meters (Gateway)","test_meter_composite_view_no_configured_meters":"NO CONFIGURED METERS. PLEASE {configure} TO CONTINUE.","test_meter_composite_view_note":"NOTE","test_meter_item_view_acuvim_label":"Meter {id}: Acuvim Meter","test_meter_item_view_backup_switch_label":"Meter {id}: Backup Switch Meter","test_meter_item_view_configure_phases_note":"Configure phases in order to enable CTs for this meter","test_meter_item_view_internal_meter_x_gateway_label":"Meter {id}: Internal Primary Meter X (Gateway)","test_meter_item_view_internal_meter_y_gateway_label":"Meter {id}: Internal Auxiliary Meter Y (Gateway)","test_meter_item_view_remote_w1_wifi_label":"Meter {id}: Remote Wi-Fi","test_meter_item_view_remote_w1_wired_label":"Meter {id}: Remote Wired","test_meter_item_view_remote_w2_wifi_label":"Meter {id}: Remote Wi-Fi","test_meter_item_view_remote_w2_wired_label":"Meter {id}: Remote Wired","test_meter_item_view_reset":"RESET ALL","test_meter_item_view_toggle_advanced":"Advanced","test_meter_item_view_toggle_power":"Power","test_view_canceled_status":"Test Has Been Canceled","test_view_failed_status":"Test Has Failed","test_view_idle_status":"Beginning System Testing","test_view_init_status":"Preparing To Start Test","test_view_inverter_test_warning_message":"If you have a 0 Export PV inverter, the self test procedure of the Gateway is unable to adequately qualify the system. Turn off the PV inverter until after the self test is complete.","test_view_passed_status":"Test Has Passed","test_view_prep_status":"Initializing Controls: May take a few minutes!","test_view_running_status":"Running Charge Tests","test_view_skip_start_system_test_text":"Confirm to skip the system test","test_view_start_system_test_warning":"WARNING","test_view_system_test_completed_message":"System Test Completed!","time_minute":"minute","time_minutes":"minutes","time_second":"second","time_seconds":"seconds","time_started_at":"Started at: {time}","timezone_container_subtitle":"Based on location and IP address, we can help you find the time zone for your installation.","timezone_container_title":"Time Zone","timezone_view_label":"time zone","toast_view_standard_title":"Note","toast_view_warning_title":"Warning","update_container_industrial_updating_description":"The Site Controller will now automatically restart in order to install the update. {lb1}{lb2} Please wait for 2 minutes, reconnect to the Site Controller network, and then {refresh}","update_container_preparing_title":"Preparing for Latest Update","update_container_refresh_browser":"Refresh your Browser","update_container_residential_updating_description":"The Gateway will now automatically restart in order to install the update. {lb1}{lb2} Please wait for 2 minutes, reconnect to the Gateway network, and then {refresh}","update_container_skip_title":"Skip Update?","update_container_subtitle":"Check for Updates. Note: Pushing Firmware Update to the Powerwalls occurs on the Powerwall page.","update_container_subtitle_industrial":"Check for Updates. Note: Pushing Firmware Update to Batteries occurs on the Battery Page.","update_container_title":"Update","update_container_updating_title":"Installing Update","update_step_item_view_resolution_title":"Suggested Fix","update_view_check_again":"CLICK TO CHECK AGAIN","update_view_check_for_update":"CHECK FOR GATEWAY UPDATE","update_view_check_for_update_industrial":"CHECK FOR SITE CONTROLLER UPDATE","update_view_checking_update":"Checking for update","update_view_current_version":"Current Version: {version}","update_view_downloading":"DOWNLOADING","update_view_downloading_update":"Downloading update","update_view_no_power_cicle":"DO NOT POWER CYCLE!","update_view_percent_complete":"{percent} complete","update_view_progress":"UPDATE PROGRESS","update_view_staged":"NEW VERSION STAGED","update_view_staged_update":"Ready to install update","update_view_staging":"STAGING","update_view_staging_update":"Staging update","update_view_time_remaining":"remaining","update_view_up_to_date":"VERSION UP-TO-DATE","update_view_update_now":"UPDATE NOW","update_view_update_urgency_label":"Update Status: {status}","update_view_updated_industrial":"Site Controller Software is up-to-date.","update_view_updated_residential":"Gateway Software is up-to-date.","update_view_wait_minutes":"PLEASE WAIT A FEW MINUTES","upgrade_page_banner_prompt":"Tesla Pros is a better commissioning experience","upgrade_page_improvements_title":"Improvements include:","upgrade_page_instructions_step_1_description":"Disconnect from the TEG Wi-Fi network","upgrade_page_instructions_step_1_label":"Step 1:","upgrade_page_instructions_step_2_description":"Tap the button below to download Tesla Pros","upgrade_page_instructions_step_2_external_link":"Or visit: {externalLink}","upgrade_page_instructions_step_2_label":"Step 2:","upgrade_page_instructions_step_2_wifi_disconnect_symbol_label":"Turn off Wi-Fi on your phone","upgrade_page_navigation":"Upgrade Now","upgrade_screen_upgrade_later_button":"UPGRADE LATER","upgrade_tesla_pros_improvement_1":"Better update experience and quicker commissioning","upgrade_tesla_pros_improvement_2":"Access to more system information and self-tests","upgrade_tesla_pros_improvement_3":"Improved Neurio meter pairing","upgrade_tesla_pros_improvement_4":"Better diagnostics and alerts","upgrade_to_tesla_pros_banner_title":"Tesla Pros is a better commissioning experience","upgrade_to_tesla_pros_download_prompt":"UPGRADE NOW","validation_phone":"Input a valid telephone number","vitals_header_subtitle_firmware_update":"Firmware update in progress...","vitals_header_subtitle_firmware_update_failed":"Firmware update failed. Check enable switches and wiring.","vitals_header_title":"System","vitals_powerwall_state_ac_fault":"AC Stage Fault","vitals_powerwall_state_dc_fault":"DC Stage Fault","vitals_powerwall_state_grid_following":"Grid Following","vitals_powerwall_state_grid_forming":"Grid Forming","vitals_powerwall_state_init":"Initializing","vitals_powerwall_state_off":"Off","vitals_powerwall_state_standby":"Standby","vitals_powerwall_state_support_dc":"Support DC","warning":"WARNING","warning_off_grid":"If the electrical system is off-grid, any backed up loads will be dropped within 5 minutes.","warning_on_grid":"If the electrical system is on-grid, Powerwall will stop charging/discharging.","warning_sitemaster_container_not_running":"The Sitemaster is not running","wifi_pairing_link_message":"Add a WiFi-connected Powerwall","wifi_view_find_network":"FIND NETWORK BY SSID","wifi_view_note":"Note: The Gateway is only compatible with 2.4 GHz wireless networks.","wifi_view_note_five_ghz":"Note: The Gateway is compatible with both 2.4 GHz and 5 GHz wireless networks.","wifi_view_readonly":"This is a follower Powerwall, so its wireless network configuration may not be edited.","wifi_view_security_label":"SECURITY","wizard_container_commissioning_wizard":"Tesla Commissioning Wizard","wizard_container_login_required":"Login Required","wizard_container_title":"Let\'s get started.","wizard_container_verifying_login_title":"Verifying Login"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Fehler","advanced_settings_submit":"Senden","advanced_settings_submitted":"Gesendet","advanced_settings_title":"Erweiterte Einstellungen","alert_container_ac_phase_1_over_voltage":"AC-Überspannung","alert_container_ac_phase_1_under_voltage":"AC-Unterspannung","alert_container_ac_phase_2_over_voltage":"AC-Überspannung","alert_container_ac_phase_2_under_voltage":"AC-Unterspannung","alert_container_ac_phase_3_over_voltage":"AC-Überspannung","alert_container_ac_phase_3_under_voltage":"AC-Unterspannung","alert_container_over_frequency":"AC-Überfrequenz","alert_container_rate_of_change_frequency":"AC-Frequenzgradientenüberwachung","alert_container_under_frequency":"AC-Unterfrequenz","app_container_engineering_mode_banner_message":"Für den Tesla Service-Modus ist keine Authentifizierung erforderlich. Stoppen Sie bitte das System, bevor Sie Veränderungen an der Installation durchführen. Verlassen Sie das System in einem akzeptablen Status, bevor Sie den Browser schließen. Schließen Sie nach Abschluss der Arbeiten bitte den Browser, da für diesen Modus keine Authentifizierung erforderlich ist.","app_container_engineering_mode_title":"Tesla Service-Modus","app_container_firmware_update_banner_message":"Lassen Sie die Installation und die Verkabelung unberührt und bleiben Sie auf dieser Seite, bis die Aktualisierung abgeschlossen ist.","app_container_firmware_update_banner_title":"Firmware-Update wird durchgeführt","app_container_sitemaster_message_title":"Das System ist aktuell in Betrieb. Um den Status der Batterie(n) einsehen zu können, muss das System heruntergefahren sein. Sie können das System über die Startseite stoppen.","app_container_sitemaster_power_supply_mode_banner_message":"Die Batterie erzeugt Wechselstrom, um alle für die Konfiguration nötigen Geräte zu betreiben. Die Schaltfläche auf der Startseite, um das System zu stoppen.","app_container_sitemaster_power_supply_mode_banner_title":"Netzbildungs-Modus","app_container_sitemaster_running_banner_title":"System ist in Betrieb","auto_config_check_network_button":"Überprüfen Sie das Netzwerk und aktivieren Sie W-LAN","auto_config_check_system_and_summary":"Sehen Sie sich die Seiten \\"System\\" und \\"Zusammenfassung\\" an.","auto_config_done_button_text":"Fertig","auto_config_instructions_cannot_determine_grid_connection":"Bevor Sie das System in Betrieb nehmen, überprüfen Sie die Verkabelung zum Backup-Switch oder Gateway.","auto_config_instructions_determining_on_grid":"Sollte diese Meldung länger als 3 Minuten andauern, überprüfen Sie die Verkabelung zum Backup-Switch oder Gateway.","auto_config_instructions_finding_contactor_controller":"Sollte diese Meldung länger als 3 Minuten andauern, überprüfen Sie die Verkabelung zum Backup-Switch oder Gateway.","auto_config_instructions_finding_powerwalls":"Sollte diese Meldung länger als 3 Minuten andauern, überprüfen Sie die Verkabelung der Powerwall.","auto_config_instructions_finding_solar_powerwall":"Sollte diese Meldung länger als 3 Minuten andauern, überprüfen Sie die Verkabelung der Solar Powerwall.","auto_config_instructions_lookup_failed_retry":"Scannen Sie den Seriennummern-Aufkleber in Bolt, um die automatische Einrichtung der Powerwall zu aktivieren, und dann {retryButton}","auto_config_instructions_lookup_failed_wizard":"Oder {wizardButton} für eine manuelle Powerwall-Einrichtung.","auto_config_instructions_missing_info_1":"Die automatische Powerwall-Einrichtung ist fehlgeschlagen, weil die folgenden Informationen nicht vorhanden waren:","auto_config_instructions_missing_info_2":"{wizardButton}, um sie manuell einzugeben.","auto_config_instructions_missing_info_3":"{registrationButton} manuell.","auto_config_instructions_no_grid_connection":"Überprüfen Sie die Verkabelung zum Backup-Switch oder Gateway","auto_config_instructions_no_grid_detected":"Bevor Sie das System in Betrieb nehmen, überprüfen Sie die Verkabelung und die Schutzschalter.","auto_config_instructions_no_network_retry":"{networkLink} zum Aktivieren der automatischen Powerwall-Einrichtung und danach {retryButton}","auto_config_instructions_no_network_wizard":"Oder {wizardButton} zur manuellen Einrichtung der Powerwall.","auto_config_instructions_retry":"{networkLink} falls das Problem weiterhin besteht","auto_config_instructions_retry_wizard":"Oder {wizardButton} zur manuellen Einrichtung der Powerwall.","auto_config_instructions_updating":"Bevor die automatische Einrichtung der Powerwall beginnen kann, ist ein Software-Update erforderlich. Der Download und die Anwendung des Updates erfolgen automatisch. Es kann sein, dass Sie sich danach erneut mit dem W-LAN-Netzwerk der Powerwall verbinden müssen.","auto_config_missing_grid":"Netz für den Kundenstandort","auto_config_missing_gridcode":"Netzanschlussbedingungen für den Kundenstandort","auto_config_missing_registration":"Kundeninformationen für die Produktregistrierung","auto_config_missing_timezone":"Zeitzone am Kundenstandort","auto_config_network_button_text":"Netzwerk einrichten","auto_config_registration_button_text":"Kundeninformationen eingeben","auto_config_retry_button_label":"Erneut versuchen","auto_config_run_button_label":"Powerwall automatisch einrichten","auto_config_run_wizard_button_text":"Assistent ausführen","auto_config_section_title":"Automatische Powerwall-Einrichtung","auto_config_status_cancelled":"Die automatische Einrichtung wurde abgebrochen. Sie können es erneut versuchen:","auto_config_status_cannot_determine_grid_connection":"Netzanschluss konnte nicht ermittelt werden.","auto_config_status_complete":"Erfolgreich abgeschlossen","auto_config_status_determining_on_grid":"Netzanschluss wird bestimmt...","auto_config_status_finding_contactor_controller":"Nach Schützsteuerung suchen...","auto_config_status_finding_powerwalls":"Suche Powerwalls ...","auto_config_status_finding_solar_powerwall":"Nach Solar Powerwall suchen...","auto_config_status_in_progress":"Vorgang läuft","auto_config_status_lookup_failed":"Suche nach Seriennummer fehlgeschlagen","auto_config_status_missing_information":"Informationen fehlen","auto_config_status_no_grid_connection":"Keine Verbindung zum Netz","auto_config_status_no_grid_detected":"Es wurde kein Netz erkannt.","auto_config_status_no_network":"Nicht mit Tesla verbunden","auto_config_status_not_applicable":"Eine automatische Einrichtung ist nicht erforderlich oder sie wurde bereits ausgeführt. Sie können sie erneut ausführen:","auto_config_status_retrying":"Fehlgeschlagene Netzwerkanforderung erneut versuchen","auto_config_status_timeout":"Das Zeitlimit für die automatische Einrichtung ist abgelaufen. Sie können es erneut versuchen:","auto_config_status_updating":"Software-Update erforderlich","auto_config_stop_system_modal_message":"Der automatische Einrichtungsvorgang kann nicht ausgeführt werden, während das System in Betrieb ist. Stoppen Sie das System und versuchen Sie es erneut.","auto_config_stop_system_modal_title":"Automatische Einrichtung kann nicht gestartet werden","battery_container_add_all_batteries_button_label":"ALLE HINZUFÜGEN","battery_container_available_batteries_subtitle":"Diese Batterien sind nicht Teil des Systembetriebs, es sei denn, sie werden hinzugefügt.","battery_container_available_batteries_title":"Verfügbare Batterieblöcke","battery_container_cannot_communicate":"Kommunikation mit Powerwall nicht möglich. Prüfen Sie die Verkabelung und diie Terminierung des CAN-Bus.","battery_container_cannot_communicate_with_device":"Keine Kommunikation mit dem Gerät möglich. Prüfen Sie die Verkabelung und diie Terminierung des CAN-Bus.","battery_container_chinv":"VFD für Kompressor and Heizung (CHINV) {index}","battery_container_configured_batteries_label":"Konfigurierte Batterieblöcke","battery_container_configured_batteries_subtitle":"Diese Batterien sind Teil des Systembetriebs.","battery_container_confirm_update_firmware":"Dieser Vorgang kann einige Minuten in Anspruch nehmen. Unterbrechen Sie das Update nicht und bleiben Sie auf dieser Seite.","battery_container_dcbc":"Batterieblock {index}","battery_container_dcbc_comms_failure":"Kommunikationsfehler. Prüfen Sie die Netzwerkverbindung zum Gerät und führen Sie einen erneuten Scan durch.","battery_container_dcbc_dcdisconnect_opened":"Der Gleichstrom-Trennschalter befindet sich in Position Aus.","battery_container_dcbc_door_switch_opened":"Freischaltleitung der Wechselrichterklappe unterbrochen. Prüfen Sie den Türschalter.","battery_container_dcbc_enable_line_return_low_estop":"Wechselrichter-Fernabschaltung unterbrochen. Schaltkreis für Fernabschaltung prüfen.","battery_container_dcbc_enable_line_return_low_inv":"Freischaltleitung des Wechselrichtersystems unterbrochen. Prüfen Sie die Rückmeldung des Leitungsschutzschalters.","battery_container_dcbc_enable_line_return_low_str":"Die Freischaltleitung für eine oder mehrere Powerpack-Reihen ist unterbrochen. Prüfen Sie die Verdrahtung und die Klappen des Powerpack. Lesen Sie für eine Diagnose die Anleitung zur Problemlösung für die Freischaltleitung.","battery_container_delete_button_title":"Dieses Gerät entfernen","battery_container_diagnosis_incomplete":"Diagnose unvollständig. Bevor weitere Prüfungen ausgeführt werden können, ist ein Firmware-Update erforderlich.","battery_container_faults":"Fehler","battery_container_firmware_update_needed":"Firmware-Update erforderlich.","battery_container_gateway_contactor_meter_controller":"Gateway-Schütz/Zählersteuerung","battery_container_industrial_confirm_update_firmware":"Dies aktualisiert die Firmware aller Batterieblöcke und ihrer Teilkomponenten.","battery_container_industrial_confirm_update_firmware_info":"Hierdurch wird die Firmware jedes Batterieblocks in aktualisiert.","battery_container_internal_communications_fault":"Interner Kommunikationsfehler. Prüfen Sie Verkabelung und Terminierung des CAN-Bus und aktualisieren Sie die Firmware.","battery_container_meter_socket_adapter":"Backup-Switch","battery_container_mpbc":"Batterieblock {index}","battery_container_mpthc":"Thermosteuergerät (MPTHC) {index}","battery_container_no_msa_detected":"Es wurde kein Backup-Switch erkannt.","battery_container_no_sync_detected":"Keine Schützsteuerung erkannt. Keine Backup-Fähigkeit erkannt.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN: {pn}","battery_container_pod":"Pod {index}","battery_container_post":"Eintrag (LCC) {index}","battery_container_post_missing":"Fehlender Eintrag {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Leistungsstufe {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"Die Powerwall ist ausgeschaltet. Stellen Sie sicher, dass sich der Schalter in Position EIN befindet.","battery_container_qbms":"Batterieüberwachungsplatine (QBMS)","battery_container_qhvp":"Hochvoltprozessor (QHVP)","battery_container_residential_confirm_update_firmware":"Dies aktualisiert die Firmware aller Powerwalls und der Schützsteuerung (falls vorhanden).","battery_container_resolve_connectivity":"Beheben Sie mögliche Verbindungsprobleme, bevor Sie die Firmware aktualisieren.","battery_container_scan":"SCAN","battery_container_scan_in_progress":"SCANNT ...","battery_container_scbc":"Ladeblock {index}","battery_container_scthc":"Thermosteuergerät (SCTHC) {index}","battery_container_self_tests_failure":"Selbsttest nicht bestanden.","battery_container_self_tests_inconclusive":"Unklare Ergebnisse des Selbsttests.","battery_container_self_tests_internal_error":"Selbsttest wegen internem Systemfehler fehlgeschlagen.","battery_container_self_tests_stall":"Timeout: Selbsttests können nicht gestartet werden.","battery_container_self_tests_system_down":"Selbsttests können nicht ausgeführt werden, wenn das System abgeschaltet ist. Starten Sie das System und versuchen Sie es erneut.","battery_container_self_tests_updating":"Es können keine Selbsttests durchgeführt werden, während die Batterien aktualisiert werden. Versuchen Sie es erneut, wenn das Update abgeschlossen ist.","battery_container_serial_number":"Seriennummer: {sn}","battery_container_solar_powerwall":"{index} Solar Powerwall","battery_container_starc":"Gleichspannungswandler (STARC) {index}","battery_container_stitch":"Regelspannung DC-DC (STITCH)","battery_container_synchronizer":"Schützsteuerung","battery_container_unknown":"Unbekannter Bus-Regler {index}","battery_container_update_failed":"Update fehlgeschlagen. Versuchen Sie es erneut. Sorgen Sie dafür, dass die Drähte und die Freigabeschalter während des Updates nicht getrennt werden.","battery_container_update_firmware":"FIRMWARE AKTUALISIEREN","battery_container_update_in_progress":"UPDATE WIRD DURCHGEFÜHRT ...","battery_container_waiting_to_report_firmware":"Warte darauf, dass die Einheit die Firmware-Version meldet.","battery_container_warnings":"Warnhinweise","button_label_generate":"GENERIEREN","can_reboot_message_backup":"Backup-Modus","can_reboot_message_block_update":"Block-Update wird ausgeführt","can_reboot_message_enumeration":"Nummerierung wird ausgeführt","can_reboot_message_initializing":"System wird initialisiert","can_reboot_message_power_flow_is_too_high":"Stromfluss zu hoch","can_reboot_message_updating":"Site Package-Update wird ausgeführt","caution":"VORSICHT","charger_settings_cabinet":"Schrank {sn} {state}","charger_settings_cabinet_posts_warning":"Mit diesen Steuerelementen werden nur die Nachfreigabe und der schrankinterne HV-Bus gestoppt. Beim Zugang zu den Schränken müssen Sie trotzdem die Stromzufuhr unterbrechen und alle Sicherheitsvorschriften beachten.","charger_settings_common_bus":"Gemeinsamer Bus {state}","charger_settings_common_bus_warning":"Stoppt nur den gemeinsamen HV-Bus. Beim Zugang zu den Schränken müssen Sie trotzdem die Stromzufuhr unterbrechen und alle Sicherheitsvorschriften beachten.","charger_settings_disabled":"deaktiviert","charger_settings_enabled":"aktiviert","charger_settings_post":"Post {id} {state}","charger_settings_saving":"speichern {spinner}","client_protocols_container_subtitle":"Client-Protokolle ein- oder ausschalten.","client_protocols_container_title":"Client-Protokolle","client_protocols_menu_title":"Client-Protokolle","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"REST API","client_protocols_view_modbus_label":"Modbus TCP/IP","compliance_container_label_fcc_id":"FCC-ID: {fccId}","compliance_container_label_ic_id":"IC: {icId}","compliance_container_label_manufacturer":"Hersteller: {manufacturer}","compliance_container_label_model":"Modell: {model}","compliance_container_title":"Konformität","component-menu-title":"Komponenten","conductor_limit":"Batterien werden geregelt, um auf allen Phasen der Stromwandler ein Überschreiten der konfigurierten Spannungsgrenzwerte zu vermeiden. In den Anwendungshinweisen zu den Spannungsgrenzwerten finden Sie weitere Informationen zu den Anwendungsbereichen und den zu konfigurierenden Grenzwerten.","conductor_min_current":"Exportgrenzwert des Leiters","control_container_add_on":"HINZUFÜGEN","control_container_always_active":"IMMER AKTIV","control_container_battery_ok":"VOLLSTÄNDIGER BATTERIE-EXPORT ZULÄSSIG","control_container_charge_power_target":"ZIEL FÜR LADESTROM","control_container_conductor_max_current":"Importgrenzwert des Leiters","control_container_conductor_min_current_max_bound":"Der Maximalwert für {mode} beträgt 200 A","control_container_conductor_min_current_min_bound":"Der Minimalwert für {mode} beträgt 5 A","control_container_control_subtitle":"Steuer-Untertitel","control_container_control_title":"Steuertitel","control_container_direct":"DIREKT","control_container_disable":"Deaktivieren","control_container_discharge_power_target":"ZIEL FÜR ENTLADESTROM","control_container_enabled":"AKTIVIERT","control_container_energy_target":"ENERGIEZIEL. Dieser Wert sollte der Systemgröße laut Konstruktionsdokumenten und dem Prüfbericht entsprechen","control_container_error_message":"{mode} ist erforderlich","control_container_explanation_bullet_five_max_site_meter_power_kw":"Wenn die Nettoleistung diesen Grenzwert übersteigt, werden die Batterien entladen, um bestmöglich ein Überschreiten dieses Grenzwerts zu verhindern.","control_container_explanation_bullet_five_min_site_meter_power_kw":"Wenn die Nettoerzeugung diesen Grenzwert übersteigt, werden die Batterien geladen, um bestmöglich ein Überschreiten dieses Grenzwerts zu verhindern.","control_container_explanation_bullet_four_max_site_meter_power_kw":"Wenn die Nettoleistung diesen Grenzwert unterschreitet, wird der zulässige Ladestrom der Batterien begrenzt.","control_container_explanation_bullet_four_min_site_meter_power_kw":"Wenn die Nettoerzeugung diesen Grenzwert unterschreitet, wird der zulässige Entladestrom der Batterien begrenzt.","control_container_explanation_bullet_one_max_site_meter_power_kw":"Import-Grenzwert der Anlage ist eine optionale Einstellung. Lassen Sie dieses Feld frei, um die Begrenzung zu deaktivieren.","control_container_explanation_bullet_one_min_site_meter_power_kw":"Export-Grenzwert der Anlage ist eine optionale Einstellung. Lassen Sie dieses Feld frei, um die Begrenzung zu deaktivieren.","control_container_explanation_bullet_three_max_site_meter_power_kw":"Dies ist ein Gesamtlimit über alle Phasen an allen Zählern der Anlage. (Hinweis: Wenn Verbraucherzähler verwendet werden, wird der Anlagenzähler mithilfe der Werte für Last, Solar und Batterie berechnet).","control_container_explanation_bullet_three_min_site_meter_power_kw":"Dies ist ein Gesamtlimit über alle Phasen an allen Zählern der Anlage. (Hinweis: Wenn Verbraucherzähler verwendet werden, wird der Anlagenzähler mithilfe der Werte für Last, Solar und Batterie berechnet).","control_container_explanation_bullet_two_max_site_meter_power_kw":"Wenn dieser Wert aktiviert ist, regelt der Anlagen-Master die Maximalleistung, die aus dem Netz in die Anlage eingespeist werden darf.","control_container_explanation_bullet_two_min_site_meter_power_kw":"Wenn dieser Wert aktiviert ist, regelt der Anlagen-Master die Maximalleistung, die aus der Anlage in das Netz eingespeist werden darf.","control_container_explanation_export_restrictions_locked":"Bestimmt, wie das System Strom in das Netz einspeist. Sobald der Wert eingestellt ist, erfordern die Vorschriften, dass er nur über Tesla geändert werden darf.","control_container_explanation_export_restrictions_unlocked":"Gemäß den Vorschriften darf die Export-Charakteristik nur während der ersten Inbetriebnahme eingestellt werden. Wenden Sie sich für eine Änderung an Tesla.","control_container_explanation_nominal_system":"Dieser Wert sollte der Systemgröße nach den Konstruktionsdokumenten und dem Prüfbericht entsprechen.","control_container_heat_for_energy":"WÄRME FÜR ENERGIE","control_container_heat_mode":"HEIZMODUS","control_container_heco_committed_capacity":"Vereinbarte Kapazität","control_container_heco_committed_discharge_power_W_max_bound":"Der Maximalwert für {mode} beträgt 100000 W (100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"Der Minimalwert für {mode} beträgt 100 W","control_container_loading":"Wird geladen","control_container_max_site_meter_power_W_max_bound":"Der Maximalwert für {mode} beträgt 50000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"Der Minimalwert für {mode} beträgt 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} muss größer oder gleich 0 sein","control_container_max_site_meter_power_kw":"Importgrenzwert der Anlage","control_container_max_site_meter_power_w":"Importgrenzwert der Anlage","control_container_menu":"Menü","control_container_min_site_meter_power_kW_positive":"{mode} muss größer oder gleich 0 sein","control_container_min_site_meter_power_kw":"Exportgrenzwert der Anlage","control_container_min_site_meter_power_w":"Exportgrenzwert der Anlage","control_container_minimum_charge_power":"MINIMALER LADESTROM","control_container_minimum_discharge_power":"MINIMALER ENTLADESTROM","control_container_misc":"VERSCHIEDENES","control_container_net_meter_mode":"Exportbegrenzungen der Anlage","control_container_never":"KEIN EXPORT DER ANLAGE","control_container_nominal_system_energy_kW_positive":"{mode} muss größer oder gleich 0 sein","control_container_nominal_system_energy_kWh_positive":"{mode} muss größer oder gleich 0 sein","control_container_nominal_system_energy_kwh":"Nennstrom des Systems","control_container_nominal_system_energy_max_error":"Nennstrom des Systems überschreitet maximalen Stromgrenzwert","control_container_nominal_system_power_kw":"Nennleistung des Systems","control_container_nominal_system_power_max_error":"Nennleistung des Systems überschreitet maximalen Leistungsgrenzwert","control_container_number_error_message":"{mode} muss eine numerische Eingabe sein","control_container_power":"LEISTUNG","control_container_pv_only":"EXPORT BIS ZU PV-ZÄHLERWERT OK","control_container_reactive_mode":"REAKTIVER MODUS","control_container_real_mode":"REALER MODUS","control_container_reset":"Reset","control_container_site_control":"ANLAGEN-REGELUNG","control_container_site_limits":"ANLAGEN-GRENZWERTE","control_container_site_max_power":"MAX. ANLAGENLEISTUNG","control_container_site_min_power":"MIN. ANLAGENLEISTUNG","control_container_submit":"Senden","control_container_submitting_control":"Steuerung übermitteln","control_start":"STARTEN","control_stop":"UNTERBRECHEN","current_password_placeholder_text":"Geben Sie Ihr aktuelles Passwort ein","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"A {id}","current_transformer_item_view_battery_ct":"Batterie","current_transformer_item_view_calculated_reading":"Berechnet:","current_transformer_item_view_conductor_ct":"elektrischer Leiter","current_transformer_item_view_ct_voltage_pairing_1":"Phase L1","current_transformer_item_view_ct_voltage_pairing_2":"Phase L2","current_transformer_item_view_ct_voltage_pairing_3":"Phase L3","current_transformer_item_view_ct_voltage_pairing_default":"Standardphase","current_transformer_item_view_doubled_solar_ct":"Solar (1Stromwandler x2)","current_transformer_item_view_flip":"Flip","current_transformer_item_view_generator_ct":"Stromerzeuger","current_transformer_item_view_load_ct":"Lasten","current_transformer_item_view_measure_pw_plus_input":"Messen eines Powerwall+-Wechselrichters","current_transformer_item_view_measured_reading":"Pro Stromwandler:","current_transformer_item_view_missing_ct":"Fehlt","current_transformer_item_view_no_reading":"Keine Daten vorhanden","current_transformer_item_view_none_ct":"Keiner","current_transformer_item_view_phase_sequence_dropdown_title":"Phase","current_transformer_item_view_site_ct":"Netzanschluss","current_transformer_item_view_smart_ct":"Smart","current_transformer_item_view_solar_ct":"Solarstrom","current_transformer_item_view_solar_rgm_ct":"Ausschließlich Solarüberschuss","current_transformers_container_800a_ct_ensure":"Stellen Sie sicher, dass die Stromwandler-Auswahl auf dieser Seite der Installation entspricht.","current_transformers_container_800a_ct_larger":"Stromwandler mit 800 A sind physisch größer als solche mit 200 / 264 A.","current_transformers_container_800a_ct_use_case":"Wenn Sie große Leiter messen (z. B. 400 A / 800 A), verwenden und konfigurieren Sie den Stromwandler mit 800 A.","current_transformers_container_amps_explanation":"Strom, der durch den Stromwandler fließt","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Stellen Sie sicher, dass die Stromwandler auf der korrekten Phase installiert wurde ({sequence}).","current_transformers_container_configure_subtitle":"Zähler und Stromwandler werden konfiguriert.","current_transformers_container_ct_flipping_ensure_direction":"Stellen Sie zunächst sicher, dass der Stromwandler-Aufkleber zum Solar-Wechselrichter (für Solar-Stromwandler) oder zur Netzeinspeisung weist (für Anlagen-Stromwandler). Prüfen Sie als nächstes das Drehfeld und prüfen Sie die gemeldeten Ablesewerte für Strom, Leistung und Leistungsfaktor.","current_transformers_container_ct_flipping_modal_title":"Stromwandler in Software umdrehen","current_transformers_container_ct_flipping_software_incorrect_metering":"Wenn Sie ein auf der falschen Phase installierten Stromwandler über die Software umdrehen, führt dies zu falschen Messwerten.","current_transformers_container_ct_flipping_wrong_phase":"Ein negativer Ablesewert für die Leistung kann darauf hindeuten, dass der Stromwandler rückwärts oder auf der falschen Phase installiert wurde.","current_transformers_container_double_check_recommendation":"Überprüfen Sie die Verkabelung, Spannungsabgriffe, CTs und Meterkonfigurationen, bevor Sie fortfahren.","current_transformers_container_doubled_solar_ct_explanation":"Ein balancierter PV-Wechselrichter kann mit einem einzelnen CT gemessen werden","current_transformers_container_doubled_solar_ct_modal_title":"Einen Solar-Wechselrichter mit Split-Phase mithilfe eines einzelnen CT messen","current_transformers_container_grid_code_phase_modal_title":"Warnung: Anzahl der CTs entspricht nicht der Netzstandard-Phasenempfehlung","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Warnung: Anzahl der CTs entspricht nicht der Netzstandard-Phasenempfehlung für mehrere Messgeräte","current_transformers_container_grid_code_phase_multiple_warnings_message":"Unerwartete Anzahl von CTs an folgende {numMeters} Messgeräte angeschlossen:","current_transformers_container_grid_code_phase_warning_message":"Unerwartete Anzahl von CTs an folgendes Messgerät angeschlossen:","current_transformers_container_grid_code_single_phase_warning":"Der angewendete Netzstandard ist einphasig. Einphasige Systeme verfügen typischerweise entweder über einen 1- oder einen 3-Phasen-Service. {lb} Eine ungerade Anzahl von CTs (1 oder 3) wird empfohlen.","current_transformers_container_grid_code_split_phase_warning":"Der angewendete Netzstandard ist Split-Phase. Split-Phasen-Systeme verfügen typischerweise über einen CT an jedem \\"hot\\" Leiter. {lb} Eine gerade Anzahl von CTs (2 oder 4) wird empfohlen. ","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"Für das Revenue Grade Metering (RGM) ist ein Neurio-Zähler erforderlich, der Powerwall+-Solarwechselrichter misst.","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Wählen Sie Ja, wenn damit ein Powerwall+-Solarwechselrichter gemessen wird. Wählen Sie Nein, wenn damit ein Solarwechselrichter gemessen wird, der nicht Teil einer Powerwall+-Baugruppe ist.","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"Wird damit ein Powerwall+-Wechselrichter gemessen?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Sorgen Sie dafür, dass die Kennzeichnung des Stromwandlers zum Solar-Wechselrichter weist.","current_transformers_container_label_modal_title":"Erklärung der Labels","current_transformers_container_load_ct_ensure":"Wenn Sie Verbraucher-Stromwandler konfigurieren, stellen Sie sicher, dass alle Lasten innerhalb der Anlage gemessen werden und dass Lasten mit bzw. ohne Backup getrennt voneinander gemessen werden.","current_transformers_container_load_ct_modal_title":"Verbraucher-CTs","current_transformers_container_load_ct_recommended":"Die Konfiguration von Verbraucher-nStromwandler ist nur für bestimmte Anwendungen empfohlen, bei denen es nicht möglich ist, einen Anlagen-Stromwandler zu konfigurieren.","current_transformers_container_meter_id":"Messgerät {id}","current_transformers_container_no_load_and_site_ct":"Ein Verbraucher-Stromwandler und ein Anlagen-Stromwandler können nicht gleichzeitig verwendet werden.","current_transformers_container_no_loads_doubled_solar_ct_bullet":"Hinter dem Stromwandler dürfen sich keine Verbraucher befinden.","current_transformers_container_no_site_or_load_warning":"KEINE STROMWANDLER (CTS) AM NETZANSCHLUSS ODER AN LAST (VERBRAUCHER) KONFIGURIERT","current_transformers_container_no_solar_ct_warning":"KEIN SOLAR STROMWANDLER KONFIGURIERT","current_transformers_container_no_solar_inverter_warning":"KEIN SOLAR WECHSELRICHTER AUSGEWÄHLT","current_transformers_container_phase_usages_modal_title":"Warnung: Die Stromwandler-Konfiguration entspricht nicht der Phasen-Konfiguration","current_transformers_container_phase_usages_warning":"Die Anzahl der konfigurierten Phasen entspricht nicht der Anzahl der konfigurierten Stromwandler. {lb} {num} konfigurierte Stromwandler werden empfohlen.","current_transformers_container_phase_usages_warning_message":"Unerwartete Anzahl von Stromwandlern an folgende Messgeräte angeschlossen:","current_transformers_container_power_amperage_configure_warning":"{type} Stromwandler müssen positive Leistung und Strom messen um richtig konfiguriert zu sein.","current_transformers_container_power_factor_explanation":"Leistungsfaktor (Wirkleistung / Scheinleistung) Wird nur bei hohen Leistungswerten angezeigt. Bei normalen ohmschen Lasten sollte der Leistungsfaktor etwa 1 betragen. Ein niedriger Leistungsfaktor könnte ein Anzeichen für eine fehlerhafte Installation des Stromwandlers sein oder für das Vorhandensein von sehr großen kapazitiven/induktiven Lasten.","current_transformers_container_power_factor_out_of_range_warning":"Leistungsfaktorwerte liegen außerhalb des erwarteten Bereichs. {lb} Gemessener Leistungsfaktor: {powerFactor} PF {lb} Das Messgerät ist möglicherweise falsch oder an einer falschen Phase installiert, oder es liegt eine sehr hohe kapazitive/induktive Last vor.","current_transformers_container_system_test_configured_incorrect":"Warnung: CT {id} ist möglicherweise falsch konfiguriert","current_transformers_container_title":"Stromwandler","current_transformers_container_voltage_out_of_range_warning":"Spannung liegt außerhalb des Bereichs. {lb} Gemessene Spannung: {volts} V {lb} Die bei diesem CT gemessene Spannung liegt außerhalb des normalen Betriebsbereichs.","current_transformers_container_volts_explanation":"Spannung zwischen Leiter und Neutralleiter am Spannungsabgriff, der mit dem Stromwandler verknüpft ist","current_transformers_container_watts_explanation":"Leistung als Produkt aus Strom, der durch den Stromwandler fließt, und Spannung am entsprechenden Spannungsabgriff","customer_installation_view_email_label":"E-MAIL-ADRESSE DES KUNDEN","customer_installation_view_email_placeholder":"E-Mail-Adresse","customer_registration_view_address_label":"ADRESSE","customer_registration_view_address_placeholder":"Adresse","customer_registration_view_city_label":"STADT","customer_registration_view_city_placeholder":"Stadt","customer_registration_view_clear_form":"FORMULAR LEEREN","customer_registration_view_country_label":"Land","customer_registration_view_customer_information":"KUNDENINFORMATIONEN","customer_registration_view_email_address_label":"E-MAIL-ADRESSE","customer_registration_view_email_address_label_confirmation":"E-MAIL ERNEUT EINGEBEN","customer_registration_view_email_placeholder":"Email","customer_registration_view_family_name_label":"FAMILIENNAME (NACHNAME)","customer_registration_view_family_name_warning":"Geben Sie den Nachnamen des Kunden ein.","customer_registration_view_given_name_label":"VORNAME","customer_registration_view_given_name_warning":"Geben Sie den Vornamen des Kunden ein.","customer_registration_view_homeowner_family_name_placeholder":"Nachname","customer_registration_view_homeowner_given_name_placeholder":"Vorname","customer_registration_view_installation_address":"Installationsadresse","customer_registration_view_phone_number_label":"TELEFON","customer_registration_view_phone_placeholder":"Telefon","customer_registration_view_skip_explanation":"Wird dies übersprungen, muss der Hausbesitzer die Registrierung selbst über die mobile Tesla-App vornehmen, bevor er Zugang zum System erhält,.","customer_registration_view_state_placeholder":"Bundesland","customer_registration_view_state_province_region_label":"STAAT / BUNDESLAND / REGION","customer_registration_view_zip_label":"Postleitzahl","customer_registration_view_zip_placeholder":"PLZ","diagnostic-alert-affected-children":"Betroffene Komponenten ({count})","diagnostic-alerts-missing-alert-information":"Warnhinweise fehlen","diagnostic-alerts-missing-data":"","diagnostic-alerts-toolbox-article":"Toolbox-Artikel","diagnostic-alerts-toolbox-article-external-link":"Externe Links","diagnostic_alert_alert_name":"Name der Warnung","diagnostic_alert_alert_type":"Art der Warnung","diagnostic_alert_audience":"Zielgruppe","diagnostic_alert_clear_condition":"Zustand löschen","diagnostic_alert_description":"Beschreibung","diagnostic_alert_display_name":"Anzeigename","diagnostic_alert_id":"Warnungs-ID","diagnostic_alert_impact_category":"Auswirkungskategorie","diagnostic_alert_latching":"Einrasten","diagnostic_alert_max":"Max","diagnostic_alert_min":"Min","diagnostic_alert_name":"Name","diagnostic_alert_node":"Knoten","diagnostic_alert_offset":"Abweichung","diagnostic_alert_payload_signals":"Payload-Signale","diagnostic_alert_potential_impact":"Mögliche Auswirkungen","diagnostic_alert_safety_reason":"Sicherheitsgrund","diagnostic_alert_scale":"Skala","diagnostic_alert_set_condition":"Zustand einstellen","diagnostic_alert_signal_name":"Name des Signals","diagnostic_alert_signoff":"Abmelden","diagnostic_alert_sna_value":"SNA-Wert","diagnostic_alert_supplier_dtc_name":"Hersteller-DTC-Name","diagnostic_alert_uiID":"UI-ID","diagnostic_alert_units":"Einheiten","diagnostic_alert_urgent":"Dringend","diagnostic_category_item_view_alerts_description":"Warnmeldungen zu Standorten, Komponenten und Unterkomponenten","diagnostic_category_item_view_download_results":"ERGEBNISSE HERUNTERLADEN","diagnostic_category_item_view_internal_comms_description":"Gesamte Gerätekommunikation prüfen","diagnostic_category_item_view_internal_comms_title":"Gerätekommunikation","diagnostic_category_item_view_live_results":"ECHTZEIT-ERGEBNISSE","diagnostic_category_item_view_metering_description":"Zählerverbindungen prüfen","diagnostic_category_item_view_metering_title":"Messungen","diagnostic_category_item_view_networking_description":"Netzwerkverbindung prüfen","diagnostic_category_item_view_networking_title":"Netze","diagnostic_category_item_view_no_selected_tests":"KEINE AUSGEWÄHLTEN TESTS","diagnostic_category_item_view_rerun_selected":"{num} AUSGEWÄHLTE TESTS ERNEUT AUSFÜHREN","diagnostic_category_item_view_rerun_selected_test":"AUSGEWÄHLTEN TEST ERNEUT AUSFÜHREN","diagnostic_category_item_view_run_selected":"{num} AUSGEWÄHLTE TESTS AUSFÜHREN","diagnostic_category_item_view_run_selected_test":"AUSGEWÄHLTEN TEST AUSFÜHREN","diagnostic_category_item_view_select_all_tests":"Alle auswählen","diagnostic_category_item_view_self_tests_description":"Leiten Sie die Lade- und Entladetests im System ein","diagnostic_category_item_view_self_tests_title":"Selbsttests","diagnostic_category_item_view_toggle_all_tests":"Alle auswählen","diagnostic_input_view_blocks_label":"BLÖCKE","diagnostic_input_view_individual_test_name_label":"INDIVIDUELLER TESTNAME","diagnostic_input_view_max_allowed_charge_power_label":"MAX. ZULÄSSIGE LADELEISTUNG","diagnostic_input_view_max_allowed_discharge_power_label":"MAX. ZULÄSSIGE ENTLADELEISTUNG","diagnostic_test_enable_line":"Freischaltleitung","diagnostic_test_item_view_ac_self_test_description":"Wechselstrom-Selbsttest","diagnostic_test_item_view_ac_self_test_description_2":"Führt eine Reihe von Power-Slosh-Tests für das AC-System durch. Bei Powerpack-Systemen wird die Einstellung \\"MAX_ALLOWED_POWER\\" verwendet. Setzen Sie diese Werte für Megapack- und Supercharger-Systeme auf 0.","diagnostic_test_item_view_dc_self_test_description":"Gleichstrom-Selbsttest","diagnostic_test_item_view_dc_self_test_description_2":"Führt eine Reihe von Tests am DC-System durch, einschließlich thermischer Prüfungen.","diagnostic_test_item_view_enable_line_description":"Freischaltleitung für alle Powerwalls testen","diagnostic_test_item_view_enable_line_resolution":"Freischaltleitung auswählen und erneut versuchen","diagnostic_test_item_view_individual_self_test_description":"Wählen Sie aus einer Liste von Selbsttests, die in den konfigurierten Buscontrollern verfügbar sind.","diagnostic_test_item_view_meter_comms_description":"Ping Zählerkommunikation","diagnostic_test_item_view_network_connection_description":"Verbindung zum Internet und zu den Tesla-Servern testen","diagnostic_test_item_view_network_connection_resolution":"Netzwerke erneut konfigurieren","diagnostic_test_item_view_resolution_generic_text":"{name} erneut konfigurieren und noch einmal versuchen","diagnostic_test_item_view_step_canceled":"Test wurde durch den Benutzer abgebrochen","diagnostic_test_item_view_step_config_update_status":"Prüfen Sie den Status des Tesla-Konfigurationsservers","diagnostic_test_item_view_step_google_http":"Ping Google-HTTP","diagnostic_test_item_view_step_google_https":"Ping Google-HTTPS","diagnostic_test_item_view_step_hermes_status":"Prüfen Sie den Status des Tesla-Protokollservers","diagnostic_test_item_view_step_results_ip_address":"IP-Adresse","diagnostic_test_item_view_step_results_subnet_mask":"Subnetz","diagnostic_test_item_view_table_header_key":"Identifikator","diagnostic_test_item_view_table_header_name":"Schritt","diagnostic_test_item_view_table_header_value":"Wert","diagnostic_test_meter_comms":"Zählerkommunikation","diagnostic_test_network_connection":"Netzwerkverbindung","diagnostics_composite_view_no_tests_found":"KEINE VERFÜGBAREN TESTS GEFUNDEN","diagnostics_composite_view_run_all_selected_tests":"ALLE AUSGEWÄHLTEN TESTS AUSFÜHREN","diagnostics_container_industrial_disruptive_tests_description":"Die folgenden Tests lösen den Betrieb der Lüfter und Kühlsysteme aus. Dies erzeugt Geräusche. Es ist mit einer Leistungsaufnahme von ungefähr 30 kW pro Wechselrichter zu rechnen. Zusätzlich können die folgenden Tests den normalen Systembetrieb stören:","diagnostics_container_required_inputs_description":"Die folgenden Tests erfordern zusätzliche Eingaben:","diagnostics_container_residential_disruptive_tests_description":"Die folgenden Tests können den normalen Betrieb des Gateway und der Powerwall stören:","diagnostics_container_stop_test_title":"Test {name} stoppen?","diagnostics_container_subtitle":"Werkzeuge zur Diagnose von Fehlern in der Systeminstallation.","diagnostics_container_tests_running":"Diagnosetests werden ausgeführt","diagnostics_container_title":"Diagnose","disabled_reason_battery_breaker_open":"Batterietrennschalter offen","disabled_reason_checking_firmware_update":"Nach Firmware-Updates suchen","disabled_reason_config":"Deaktiviert durch Konfigurationsdatei","disabled_reason_excessive_voltage_drop":"Zu hoher Spannungsabfall","disabled_reason_firmware_update_failed":"Firmware-Update fehlgeschlagen","disabled_reason_firmware_update_in_progress":"Firmware-Update wird ausgeführt.","disabled_reason_gridcode_write_failed":"Einrichtung der Netzwerkanschlussbedingungen fehlgeschlagen","disabled_reason_user_requested":"Auf Wunsch des Benutzers deaktiviert","dropdown_default_placeholder":"Eingeben ...","dropdown_list_view_not_listed_label":"Nicht aufgeführt: \\"{searchText}\\"","dropdown_list_view_select_all":"Alle auswählen","dropdown_list_view_select_field":"Bitte Eingabefeld auswählen","dropdown_list_view_show_complete":"Aus kompletter Liste auswählen","dropdown_list_view_show_searchable":"Liste mit Suchfunktion","enumeration_warning_details_miswired_12v":"Beim Anschließen von zwei Powerwall+ sollte nur das mit dem Gateway/Backup-Switch verbundene Gerät mit 12 V versorgt werden. Entfernen Sie die 12 V von allen weiteren Powerwall+ in der Kette und scannen Sie dann erneut die Geräte (unten auf dieser Seite), um diese Warnung zu löschen.","enumeration_warning_details_multiple_controllers_gateway":"Ziehen Sie den Stromkabelbaum aller Powerwall+-Standortsteuergeräte ab, der sich oben rechts in der Solaranlage befindet.","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"Ziehen Sie den Stromkabelbaum des Expansion Powerwall+ -Standortsteuergeräts ab (nicht mit dem Backup-Switch verbunden), der sich oben rechts in der Solaranlage befindet.","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"Ziehen Sie den Stromkabelbaum aller Powerwall+-Standortsteuergeräte ab, der sich oben rechts in der Solaranlage befindet. Nehmen Sie das System in Betrieb, indem Sie es mit dem Backup-Gateway verbinden.","enumeration_warning_details_multiple_controllers_unknown":"Bei einer CAN-verkabelten Multi-Powerwall+-Einrichtung darf es nur ein eingeschaltetes Standortsteuergerät geben.","enumeration_warning_details_multiple_controllers_unknown_with_details":"Es muss nur ein einziger Site Controller aktiv sein. Bei Verwendung des Backup-Gateways müssen Sie alle Powerwall+-Steuerungen vom Stromnetz trennen. Bei Verwendung eines Backup-Switch müssen Sie alle Powerwall+-Steuerungen bis auf eine vom Stromnetz trennen. Der Ausführungsassistent ist so lange deaktiviert, bis nur noch ein Site Controller aktiv ist.","enumeration_warning_title_miswired_12v":"12V-Verkabelungsfehler","enumeration_warning_title_multiple_controllers":"Es sind mehrere Standortsteuergeräte aktiv","error_details":"Fehlerdetails","error_item_view_check_network":"Netzwerkverbindung prüfen","error_item_view_disconnected":"Vom Gateway getrennt. Prüfen Sie die Netzwerkverbindung und {refresh}","error_item_view_forgot_password":"Klicken Sie, um das Passwort zurückzusetzen.","error_item_view_refresh_browser":"Browserinhalt aktualisieren.","error_item_view_try_logging_in_again":"Anmelden neu versuchen.","ethernet_view_backup_dns_label":"BACKUP-DNS-SERVER","ethernet_view_backup_dns_warning":"Gültiger Backup-DNS-Server","ethernet_view_configuration_label":"KONFIGURATION","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"GATEWAY (OPT)","ethernet_view_gateway_warning":"Gültige Gateway- (Router-)IP","ethernet_view_ip_address_label":"IP ADRESSE","ethernet_view_ip_address_warning":"Gültige IP-Adresse","ethernet_view_not_available":"Nicht verfügbar","ethernet_view_primary_dns_label":"PRIMÄRER DNS-SERVER","ethernet_view_primary_dns_warning":"Gültiger primärer DNS-Server","ethernet_view_static_label":"Static","ethernet_view_subnet_mask_label":"SUBNET MASK (OPT)","ethernet_view_subnet_mask_warning":"Gültige Subnet Mask","factory_reset_message":"Hierdurch wird das Gerät auf den von Tesla vorgesehenen Standardzustand zurückgesetzt. Diese Aktion kann nicht rückgängig gemacht werden. Bevor der Betrieb möglich ist, muss das Gerät neu eingerichtet werden.","field_false":"Falsch","field_true":"Richtig","follower_powerwall_message":"Diese Powerwall wird gesteuert von {leader}","follower_powerwall_title":"Folge-Powerwall","form_legend_text":"bezeichnet ein Pflichtfeld","generation_container_connecting_status":"Verbinden","generation_container_connection":"Wechselrichter {id} Verbindung","generation_container_connection_summary":"Während dieses Verbindungs-Prozesses wird die Netzwerkverbindung zeitweilig unterbrochen {lb} Stellen Sie die Verbindung zum richtigen Netzwerk wieder her. Dies kann bis zu 3 Minuten dauern.","generation_container_subtitle":"Daten für Photovoltaikwechselrichter und Stromerzeuger hinzufügen","generation_container_title":"Erzeugung","generator_item_view_disconnect_type_label":"UNTERBRECHER TYP","generator_item_view_generator":"STROMERZEUGER {id}","generator_item_view_manufacturer_label":"HERSTELLER","generator_item_view_model_label":"TYP","generator_item_view_serial_label":"SERIENNUMMER","generator_item_view_sustained_power_label":"LEISTUNG DAUERBETRIEB","generator_view_add_generator":"STROMERZEUGER HINZUFÜGEN","grid_code_container_off_grid_confirmation":"Ist das System Off-grid.","grid_code_container_off_grid_detected":"Das System ist als off-grid erkannt. Stellen Sie sicher dass, dies die korrekte Konfiguration ist.","grid_code_container_off_grid_warning":"{warning}: Der Off-grid Status konnte nicht ermittelt werden. Bitte Off-grid Einstellung überprüfen, falsche einstellung kann zu Systemfehlern führen.","grid_code_container_results":"Netzerkennungs Ergebnisse","grid_code_container_retrieving":"Lade Netzstandards","grid_code_container_saving":"Speichere Netzcode","grid_code_container_subtitle":"Basierend auf Installationsort, Spannung und Netzfrequenz, wählen Sie den passenden Standard.","grid_services_view_grid_services":"Netz Service","heading_change_password":"Kennwort ändern","help_view_how_password":"Wo Sie das Passwort am Gateway finden.","help_view_how_password_description":"Gatewaytür öffnen. Das Passwort steht auf dem Passwortaufkleber. ","help_view_how_serial_number":"Anbringungsort der Seriennummer beim Gateway ohne Backup","help_view_how_serial_number_backup":"Anbringungsort der Seriennummer auf einem Backup-Gateway","help_view_how_serial_number_backup_description":"Öffnen Sie die Tür am Backup-Gateway. Die Seriennummer beginnt mit einem \\"(S):\\"","help_view_how_serial_number_description":"Öffnen Sie die Klappe am Gateway. Die Seriennummer beginnt mit einem \\"(S):\\"","help_view_how_to_enable_line":"Eine Powerwall auf Aus und Ein schalten","help_view_how_to_enable_line_description":"Stellen Sie den Schalter an der Powerwall auf Aus und wieder auf Ein. Bei Systemen mit mehreren Powerwalls muss nur ein Schalter betätigt werden.","hierarchy_charger":"Ladeblock {name}","hierarchy_chinv":"VFD für Kompressor and Heizung (CHINV)","hierarchy_converter":"Gleichspannungswandler (STARC)","hierarchy_inverter":"Batterieblock {name}","hierarchy_mega_thermal_controller":"Thermosteuergerät (MPTHC)","hierarchy_missing_post":"Fehlende Ladesäule","hierarchy_mpbc":"Batterieblock {name}","hierarchy_part_number":"Teilenummer","hierarchy_pod":"Pod","hierarchy_pods_reporting":"Berichtende Pods","hierarchy_post":"Ladesäule (LCC)","hierarchy_posts":"Ladesäulen","hierarchy_power_stage":"Leistungsstufe","hierarchy_power_stages":"Leistungsstufen","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Batterieüberwachungsplatine (QBMS)","hierarchy_qhvp":"Hochvoltprozessor (QHVP)","hierarchy_scthcs":"Thermosteuergeräte","hierarchy_serial_number":"Seriennummer","hierarchy_sitemaster":"Anlagen-Master {name}","hierarchy_starcs":"Gleichspannungswandler","hierarchy_stitch":"Regelspannung DC-DC (STITCH)","hierarchy_thermal_controller":"Thermosteuergerät (SCTHC)","higher_order_login_login_required":"Anmeldung erforderlich","higher_order_login_title":"Jetzt starten.","home_container_caution":"⚠️ Vorsicht","home_container_caution_deenergize":"Schalten Sie für eine sichere Abschaltung des Systems alle Powerwall-Schalter AUS.","home_container_caution_energized":"Bei angeschlossenen Solarstrings kann es vorkommen, dass die Anlage unter Spannung bleibt.","home_container_inactive_meter":"Abgelaufene Zählerdaten","home_container_inactive_meter_description":"Prüfen Sie die Verbindung des {type}-Zählers.","home_container_inactive_meter_timestamp":"Letzte Zählerablesung um {timestamp}","home_container_login_required":"Anmeldung erforderlich","home_container_missing_meter":"Zähler fehlt","home_container_positive_meter":"Warnung: {type}-Zähler ist möglicherweise falsch konfiguriert","home_container_positive_meter_description":"Für eine korrekte Konfiguration benötigt der {type}-Zähler eine positive Leistung und Stromstärke.","home_container_powerwall_error":"Powerwall Systemfehler","home_container_powerwall_start_error":"System-Start nicht möglich: {reason}","home_container_site_controller_error":"Anlagenregler-Systemfehler","home_container_sitemaster_alternative":"Hinweis: Das System wird normalerweise durch Abschalten der Schalter an allen Powerwalls und Öffnen der Sicherungen deaktiviert.","home_container_sitemaster_confirm":"Ja klicken, wenn Sie sicher sind, dass der Systembetrieb unterbrochen werden soll.","home_container_sitemaster_confirm_industrial":"Möchten Sie das System wirklich stoppen?","home_container_sitemaster_confirm_wizard":"Run Wizard verlangt einen System-Stopp. Fortfahren und System stoppen?","home_container_sitemaster_header_warning":"{warning} Dies wird den Systembetrieb unterbrechen.","home_container_sitemaster_header_warning_industrial":"{warning} Dieses System befindet sich in einem Zustand, in dem Tesla einen Stopp des Systems nicht empfiehlt. Grund: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning} Dieses System befindet sich in einem Zustand, in dem Tesla einen Stopp des Systems nicht empfiehlt. Grund: \\"{reason}\\"","home_container_sitemaster_logging":"Während der Systemunterbrechung werden keine Daten erfasst.","home_container_sitemaster_reset":"Um den Systembetrieb nach der Unterbrechung wieder zu starten, den Startknopf klicken.","home_container_sitemaster_update":"Wenn gerade ein Update eingespielt wird, wird dieser Vorgang unterbrochen.","home_container_start_powerwall":"Powerwall System starten","home_container_start_system_button":"SYSTEM STARTEN","home_container_stop_powerwall":"Powerwall System unterbrechen","home_container_stop_system_button":"SYSTEM STOPPEN","home_view_compliance":"COMPLIANCE","home_view_download_all_logs":"Alle Protokolle herunterladen","home_view_download_logs":"PROTOKOLLE HERUNTERLADEN","home_view_download_logs_description_one":"Lädt einen komprimierten Satz Systemprotokolle herunter, die Ihnen bei der Diagnose von Problemen im Betriebssystem, der Software und dem Netzwerk helfen können.","home_view_download_logs_description_three":"Die Protokolle sind signiert und verschlüsselt. Sie sollten für eine Untersuchung an Tesla Energy Service gesendet werden.","home_view_download_logs_description_two":"Dies ist besonders nützlich, wenn das Gateway nicht mit dem Netzwerk verbunden werden kann und eine erweiterte Fehlersuche erforderlich ist.","home_view_login":"ANMELDEN","home_view_logout":"ABMELDEN","home_view_run_wizard":"Konfigurationsassistent","input_accept":"Ich akzeptiere.","input_confirm":"Ich nehme alle Systemwarnungen zur Kenntnis.","input_consent":"Ich stimme zu","input_decline":"Ich lehne ab.","input_no_consent":"Ich stimme nicht zu","input_title_email":"Bitte eine gültige email Addresse eingeben: name@name.domain","installation_container_relay_section_modal_title":"Gateway-Unterspannungsrelais","installation_container_residual_current_device_modal_title":"Installationsanforderung für Anlagen-FIs","installation_container_subtitle":"Installations Informationen","installation_container_sync_relay_usage_open_off_grid":"Relais offen, wenn vom Stromnetz getrennt","installation_container_title":"Installations informationen","installation_problem_detail_site_shutdown_0":"Erneute Aktivierung des Systems:","installation_problem_detail_site_shutdown_1":"Schalten Sie alle Powerwall-EIN/AUS-Schalter ein.","installation_problem_detail_site_shutdown_2":"Not-Aus-Schalter schließen","installation_problem_detail_site_shutdown_3":"Stellen Sie sicher, dass die Schnellabschalt-Steckbrücken richtig installiert sind.","installation_problem_detail_site_shutdown_4":"Überprüfen Sie die Abschaltkreis-Verkabelung","installation_problem_detail_title_site_shutdown":"Standort-Abschaltkreis ausgelöst","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Standort-Abschaltkreis, ausgelöst durch eine Schnellabschaltung der Powerwall+.","installation_problem_details_pvacs_with_no_solar_rgm":"Solar-Zähler sind nur für die Messung von Solar-Wechselrichtern erforderlich, die nicht zu einer Powerwall+ gehören. Zähler zur Messung von Powerwall+-Wechselrichtern sollten auf der Stromwandler-Seite als solche gekennzeichnet sein.","installation_problem_details_too_few_solar_rgm":"Die Anzahl der CT, die einen Powerwall+-Solarwechselrichter messen, sollte mit der Anzahl der Powerwall+-Solarwechselrichter übereinstimmen. Assistent ausführen, Neurio-Zähler koppeln, falls erforderlich, und die CT-Konfiguration auf der Stromwandler-Seite anpassen.","installation_problem_details_too_many_solar_rgm":"Die Anzahl der CT, die einen Powerwall+-Solarwechselrichter messen, sollte mit der Anzahl der Powerwall+-Solarwechselrichter übereinstimmen. Assistent ausführen und die CT-Konfiguration auf der Stromwandler-Seite anpassen.","installation_problem_title_pvacs_with_no_solar_rgm":"Solar-Zähler misst Powerwall+-Wechselrichter nicht. Ist das richtig?","installation_problem_title_site_shutdown":"Standort-Abschaltkreis ausgelöst. Es sind alle Powerwalls und Powerwall+-Solarwechselrichter deaktiviert.","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Standort-Abschaltkreis, ausgelöst durch eine Schnellabschaltung der Powerwall+. Es sind alle Powerwalls und Powerwall+-Solarwechselrichter deaktiviert.","installation_problem_title_too_few_solar_rgm":"Es messen zu wenige Solar-Zähler Powerwall+-Wechselrichter","installation_problem_title_too_many_solar_rgm":"Es messen zu viele Solar-Zähler Powerwall+-Wechselrichter","installation_view_add_on_solar":"Erweiterung","installation_view_additional_connections_label":"ZUSÄTZLICHE ANSCHLÜSSE","installation_view_back_wiring":"Hinten","installation_view_backup_configuration_label":"BACKUP-KONFIGURATION","installation_view_basement_location":"Keller","installation_view_company_label":"FIRMEN NAME","installation_view_company_placeholder":"Firmenname","installation_view_conditioned_space_location":"Klimatisierter Raum","installation_view_existing_solar":"Vorhanden","installation_view_floor_mounting":"Boden","installation_view_garage_location":"Garage","installation_view_home_label":"HAUSVERKABELUNG","installation_view_location_label":"POWERWALL INSTALLATIONSORT","installation_view_modem_ethernet":"Hat Mobilfunkmodem zu Ethernet?","installation_view_modem_wifi":"Mobilfunkmodem zu WLAN vorhanden?","installation_view_mounting_label":"POWERWALL-MONTAGE","installation_view_na_backup_configuration":"Unzutreffend","installation_view_new_solar":"Neu","installation_view_none_solar":"Keine","installation_view_outdoor_location":"Im Freien","installation_view_pad_mounting":"Grundplatte","installation_view_partial_home_backup_configuration":"Teil des Hauses","installation_view_phone_label":"Telefon","installation_view_phone_placeholder":"Installateur Telefonnummer","installation_view_powerline_ethernet":"Stromleitung zu Ethernet vorhanden?","installation_view_pv_panel":"PV-Panel","installation_view_relay_enabled":"Relais offen, wenn vom Stromnetz getrennt","installation_view_relay_label":"GATEWAY-NIEDERSPANNUNGSRELAIS","installation_view_relay_options_modal_content":"Dieses Relais wird geschlossen, wenn eine Verbindung zum Stromnetz oder einer anderen Wechselstromquelle besteht. {lb1} Dieses Relais ist geöffnet, wenn keine Verbindung zum Stromnetz besteht. {lb1} Dies kann beispielsweise genutzt werden, damit bei Verbindung mit dem Stromnetz eine Klimaanlage betrieben werden kann, die ohne Verbindung zum Netz abgeschaltet wird. So wird verhindert, dass der damit verbundene hohe Einschaltstrom die Powerwall(s) überlastet.","installation_view_relay_section_modal_content":"Das Gateway verfügt über ein eingebautes Relais, das je nach Systemstatus ein- und ausgeschaltet wird. {lb1} Dies kann verwendet werden, um ein externes Gerät zu steuern, wie einen Verbraucher oder eine sekundäre Energiequelle. {lb1} Verwenden Sie am Backup Gateway 1 die Eingänge 1 und 2 am Hilfsverbinder (9-poliger großer grüner Phoenix-Steckverbinder). {lb1} Verwenden Sie am Backup Gateway 2 die Eingänge 3 und 4 (GSO/GSI) am Aux-Steckverbinder (5-poliger grüner Phoenix-Steckverbinder). {lb1} Dieses Relais ist mit 60 Volt / 2 Ampere bemessen und wird üblicherweise in Stromkreisen mit 12 oder 24 V verwendet. {lb1} Prüfen Sie für weitere Informationen den Lastabwurf und die entsprechenden Anwendungshinweise.","installation_view_residual_current_device":"Ist dem Gateway ein FI vorgeschalten?","installation_view_residual_current_device_modal_content":"Für bestimmte Installationen sind Fehlerstrom-Schutzschalter (FIs) auf Anlagenebene erforderlich, wie bei Stromnetzen mit einer TT-Erdungskonfiguration. {lb1}{lb2} Um das Risiko von Fehlauslösungen im vom Netz getrennten Betrieb zu verringern, empfiehlt Tesla, dass alle vorgeschalteten FIs verzögert ansprechen (Typ S) oder, falls möglich, der Anlagen-FI hinter den Schütz des Gateway verlegt wird. {lb1}{lb2} Weitere Informationen finden Sie im Anwendungshinweis zu RCDs und zum Fehlerschutz.","installation_view_satellite_ethernet":"Satellit zu Ethernet vorhanden?","installation_view_satellite_wifi":"Satellit zu WLAN vorhanden?","installation_view_side_wiring":"Seite","installation_view_solar_label":"SOLARANLAGE","installation_view_solar_panels":"Solarpanele","installation_view_solar_roof":"Solar Roof","installation_view_solar_type_label":"SOLAR-INSTALLATIONSTYP","installation_view_solarglass":"Solarglas","installation_view_stack_kit":"Stack Kit vorhanden?","installation_view_type_commercial":"Großanlage ","installation_view_type_label":"INSTALLATIONSINFORMATIONEN","installation_view_type_perm_off_grid":"Dauerhaft vom Netz getrennt","installation_view_type_residential":"Häuslicher Bereich","installation_view_wall_mounting":"Wand","installation_view_whole_home_backup_configuration":"Gesamtes Haus","installation_view_wifi_extender":"WLAN-Repeater vorhanden?","installation_view_wiring_label":"VERKABELUNG POWERWALL","inverter_test_view_accuracy_magnitude":"Genauigkeit Wert","inverter_test_view_accuracy_time":"Genauigkeit Zeit","inverter_test_view_complete":"Komplett","inverter_test_view_current_magnitude":"Strom Wert","inverter_test_view_fail":"Fehler","inverter_test_view_na":"Nicht zutreffend","inverter_test_view_not_run":"Nicht ausgeführt","inverter_test_view_pass":"Erfolg","inverter_test_view_running":"Läuft","inverter_test_view_set_magnitude":"Wert stellen","inverter_test_view_set_time":"Zeit stellen","inverter_test_view_test_description":"Wechselrichterselbsttest wird ausgeführt","inverter_test_view_test_name_all":"Alle Tests","inverter_test_view_test_name_over_freq_stage_one":"Überfrequenz Stufe 1","inverter_test_view_test_name_over_freq_stage_two":"Überfrequenz Stufe 2","inverter_test_view_test_name_over_volt_one":"Überspannung Stufe 1","inverter_test_view_test_name_over_volt_two":"Überspannung Stufe 2","inverter_test_view_test_name_under_freq_stage_one":"Unterfrequenz Stufe 1","inverter_test_view_test_name_under_freq_stage_two":"Unterfrequenz Stufe 2","inverter_test_view_test_name_under_volt_one":"Unterspannung Stufe 1","inverter_test_view_test_name_under_volt_two":"Unterspannung Stufe 2","inverter_test_view_timestamp":"Zeitstempel","inverter_test_view_trip_magnitude":"Auslösewert","inverter_test_view_trip_time":"Auslösezeit","inverter_test_view_warning":"Hinweis: Der Wechselrichter-Test kann bis zu 20 bis 30 Minuten pro Wechselrichter aufnehmen.","label_fail":"Fehlgeschlagen","label_inconclusive":"Unklar","label_pass":"Erfolgreich","legal_container_customer_policy_subtitle":"Muss vom Kunden ausgefüllt werden.","legal_container_customer_policy_title":"Tesla Kunden Datenschutz & Garantie","legal_container_no_meters_warning":"KEINE ZÄHLER KONFIGURIERT","legal_container_no_powerwalls_warning":"KEINE POWERWALLS ERKANNT","login_type_customer":"Kunde","login_type_engineer":"Ingenieur","login_type_installer":"Installateur","login_view_cancel_login_auth":"Login abbrechen","login_view_change_forgot_password":"PASSWORT ÄNDERN ODER PASSWORT VERGESSEN","login_view_compliance":"COMPLIANCE","login_view_customer_email_placeholder":"E-Mail-Adresse des Kunden","login_view_email":"EMAIL","login_view_email_placeholder":"Email Installateur","login_view_forgot_password":"PASSWORT VERGESSEN","login_view_forgot_password_login_type":"Bitte Anmeldetyp wählen","login_view_language_label":"SPRACHE","login_view_login_type_label":"ANMELDETYP","login_view_password_placeholder":"Ihr Passwort eingeben","login_view_start_login_auth":"LOGIN-VORGANG STARTEN","login_view_start_login_auth_how_to_enable_line_description":"Schalten Sie zum Login den An/Aus-Schalter der Powerwall aus und wieder ein. Bei Systemen mit mehreren Powerwalls muss nur ein Schalter betätigt werden.","login_view_username":"BENUTZERNAME","login_view_username_placeholder":"Benutzername","login_warning_view_expand":"Falls der Konfigurationsassistent nicht startet, {click}.","login_warning_view_firmware_update":"Wenn ein Firmwareupdate installiert wird","login_warning_view_heading":"{warning} Der Start des Assistenten beendet den Batteriebetrieb.","login_warning_view_protect_system":"Um die Stromversorgung aufrecht zu erhalten wird der Konfigurationsassitent nicht gestartet:","login_warning_view_stop_operation":"Start des Konfigurationsasistenten erzwingen (Force Launch Wizard)","login_warning_view_supported_browsers":"{warning} Derzeit werden nur Chrome und Safari Webbrowser unterstützt.","login_warning_view_system_force_launch":"Wenn Sie den Systembetrieb unterbrechen wollen, wählen Sie Start des Konfigurationsasistenten erzwingen aus.","login_warning_view_system_off_grid":"Wenn Ihr System im off-grid Modus betrieben wird","login_warning_view_warning_click":"klicken sie für mehr","mater_item_view_bad_barcode":"Falscher Barcode eingescannt","mater_item_view_barcode_scan_failed":"Barcode-Scan fehlgeschlagen","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"Batterie","meter_aggregate_type_load":"Verbraucher","meter_aggregate_type_site":"Anlage","meter_aggregate_type_solar":"Solar","meter_container_add_meter_error":"Zähler überprüfen","meter_container_add_meter_status":"Zähler wird hinzugefügt","meter_container_authorizing_status":"Autorisieren","meter_container_decode":"Barcode konnte nicht gelesen werden.","meter_container_detecting_status":"Suche verdrahtete Zähler","meter_container_failed_status":"Fehler beim Zähler konfigurieren","meter_container_reconnecting_status":"Wieder verbinden","meter_container_skip_title":"Es wurden keine Zähler in Betrieb genommen. Möchten Sie wirklich fortfahren?","meter_container_starting_status":"Starte","meter_container_subtitle":"Stromzähler short ID(s) und Seriennummer(n) eingeben um eine Verbindung herzustellen. Verbindung zum Zähler überprüfen.","meter_container_subtitle_industrial":"Geben Sie die IP-Adressen und Positionen der Stromzähler ein, um die Verbindung herzustellen. Testen Sie jeden Zähler nach der Inbetriebnahme.","meter_container_success_status":"Zähler erfolgreich hinzugefügt","meter_container_title":"Zähler","meter_container_unknown_status":"Unbekannt","meter_container_updating_status":"Meter-Update läuft","meter_container_verification":"Zä {id} überprüfen","meter_container_verification_gw1":"Während die Verbindung zum WLAN hergestellt wird, werden Sie möglicherweise vorübergehend vom Gateway-WLAN getrennt. {lb} Stellen Sie sicher, dass Sie die erneute Verbindung mit dem korrekten Netzwerk herstellen. Dies kann bis zu 3 Minuten dauern.","meter_container_verification_gw2":"Es kann bis zu 3 Minuten dauern, die Verbindung zum WLAN herzustellen.","meter_container_verify_meter_error":"Zähler überprüfen","meter_container_verifying_status":"Zähler überprüfen","meter_item_view_add_failed":"Zähler konnte nicht hinzugefügt werden","meter_item_view_add_failed_help":"Prüfen Sie Kurz-ID und Seriennummer. Schalten Sie den Zähler aus und wieder ein und schließen Sie ihn an, wenn der Zähler einen Signalton abgibt. Wenn das Problem bestehen bleibt, löschen Sie den Zähler und versuchen Sie es erneut.","meter_item_view_advanced_settings":"ERWEITERTE EINSTELLUNGEN (OPTIONAL)","meter_item_view_battery_ct":"Batterie","meter_item_view_battery_location":"Batterie","meter_item_view_check_meter":"ZÄHLER {id} VERBINDUNG TESTEN","meter_item_view_conductor_location":"elektrischer Leiter","meter_item_view_cts":"{count} Stromwandler erkannt","meter_item_view_doubled_solar_location":"Solar, verdoppelt","meter_item_view_generator_location":"Generator","meter_item_view_ip_address":"IP-ADRESSE","meter_item_view_load_location":"Verbraucher","meter_item_view_mac_address":"MAC-ADRESSE","meter_item_view_meter_location":"ZÄHLERPOSITION","meter_item_view_none_location":"Keine","meter_item_view_remote_ip_address_placeholder":"z. B. 123.123.123.123","meter_item_view_remote_mac_address_placeholder":"z. B. 12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"z. B. OBB1231231234, VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"z. B. 01234","meter_item_view_serial":"SERIENNUMMER","meter_item_view_short_id":"SHORT ID","meter_item_view_site_ct":"Anlage","meter_item_view_site_location":"Anlage","meter_item_view_solar_ct":"Solar","meter_item_view_solar_location":"Solar","meter_item_view_solar_rgm_location":"Ausschließlich Solarüberschuss","meter_item_view_success":"ERFOLGREICH VERBUNDEN!","meter_item_view_unable":"ZÄHLER NICHT ERREICHBAR!","meter_item_view_upgrading":"Meter wird aktualisiert!","meter_list_view_add":"WLAN ZÄHLER HINZUFÜGEN","meter_list_view_add_ip":"IP-ZÄHLER HINZUFÜGEN","meter_list_view_detect":"VERDRAHTETE ZÄHLER ERKENNEN","meter_list_view_enable_inverter_readings":"Auslesen der Batterie-Wechselrichter aktivieren","meter_list_view_inverter_meter":"WECHSELRICHTER-ZÄHLER","meter_list_view_inverter_meter_desc":"Falls aktiviert ohne dass Batterie-Zähler konfiguriert wurden, werden die Messwerte aus den Batterie-Wechselrichtern als Batteriezähler verwendet.","meter_msa_id":"BACKUP-SWITCH {id}","meter_sync_id":"Meter Synchronisation {id}","meter_sync_x_id":"INTERNER PRIMÄRZÄHLER X (GATEWAY) {id}","meter_sync_y_id":"INTERNER HILFSZÄHLER Y (GATEWAY) {id}","meter_update_modal_fetch_status_error":"Status des Meter-Updates nicht verfügbar","meter_update_modal_footer":"Meter-Update kann bis zu 2 Minuten dauern","meter_update_modal_remaining_time":"Verbleibende Zeit {seconds} s","meter_update_modal_timeout_error":"Zeitüberschreitung während des Meter-Updates","meter_update_modal_title":"Meter Update…läuft","meter_validation_container_error":"Solange die Anlagensteuerung in Betrieb ist, kann der Zähler nicht validiert werden.","meter_validation_container_error_placeholder":"Validierung des Zählers nicht verfügbar: {error}.","meter_validation_container_power_command":"Stromzufuhr-Steueranweisung","meter_validation_container_power_start":"Start","meter_validation_container_power_stop":"Stopp","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Blindleistungs-Steueranweisung","meter_validation_container_real_power_command":"Wirkleistungs-Steueranweisung","meter_validation_container_show_per_phase":"Werte pro Phase anzeigen","meter_validation_container_title":"Validierung des Zählers","meter_validation_container_usage":"Eine Stromzufuhr-Steueranweisung senden und die Zählerdaten validieren. Lassen Sie diese Seite geöffnet, damit die Stromzufuhr-Steueranweisung nicht unterbrochen wird. Negative Werten versetzen das System in den Ladezustand. Positive Werten versetzen das System in den Entladezustand.","meter_validation_control_subtitle":"Steuerung","meter_validation_control_title":"Steuertitel","meter_validation_disable":"Deaktivieren","meter_validation_loading":"Wird geladen","meter_validation_menu":"Menü","meter_validation_reset":"Reset","meter_validation_submit":"Senden","meter_validation_submitting_control":"Steuerung übermitteln","meter_validation_title":"Validierung des Zählers","meter_validation_view_apparent_power":"Scheinleistung (kVA)","meter_validation_view_battery_location":"Batterie","meter_validation_view_conductor_location":"elektrischer Leiter","meter_validation_view_current":"Strom (A)","meter_validation_view_doubled_solar_location":"Solar, verdoppelt","meter_validation_view_generator_location":"Generator","meter_validation_view_inverters":"Wechselrichter ({length})","meter_validation_view_load_location":"Verbraucher","meter_validation_view_meter":"Zähler ({length})","meter_validation_view_none_location":"Keine","meter_validation_view_pf":"Leistungsfaktor","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"Mittel","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Gesamt","meter_validation_view_reactive_power":"Blindleistung (kVAr)","meter_validation_view_real_power":"Wirkleistung (kW)","meter_validation_view_site_location":"Anlage","meter_validation_view_solar_location":"Solar","meter_validation_view_solar_rgm_location":"Ausschließlich Solarüberschuss","meter_validation_view_voltage":"Spannung (U)","meter_w1_wifi_id":"ZÄHLER {id}","meter_w1_wired_id":"KABELGEBUNDENER ZÄHLER {id}","meter_w2_wifi_id":"ZÄHLER {id}","meter_w2_wired_id":"KABELGEBUNDENER ZÄHLER {id}","meter_wifi_id":"ZÄHLER {id}","meter_wired_id":"Verkabelter Meter {id}","metrics_aggregate":"System","metrics_apparent_power":"Scheinleistung ({unit})","metrics_battery":"Batterie","metrics_current":"Strom ({unit})","metrics_meter":"Zähler","metrics_no_metrics":"Keine anzuzeigenden Metriken.","metrics_power_factor":"Leistungsfaktor","metrics_reactive_power":"Blindleistung ({unit})","metrics_real_power":"Wirkleistung ({unit})","metrics_subtitle":"Metriken","metrics_voltage_l_n":"Spannung L-N ({unit})","modal_acknowledge":"BESTÄTIGEN","modal_confirm":"BESTÄTIGEN","modal_exit":"BEENDEN","modal_no":"NEIN","modal_note":"Hinweis","modal_ok":"OK","modal_reconfigure":"ERNEUT KONFIGURIEREN","modal_yes":"JA","modbus_container_title":"Modbus-Schnittstelle","modbus_table_register_address":"Adresse","modbus_table_register_name":"Name","modbus_table_register_type":"Typ","modbus_table_register_value":"Wert","modbus_table_register_value_decimal":"Wert (dezimal)","modbus_table_register_value_hex":"Wert (hexadezimal)","msa-off-grid":"Mit dem Netz nicht verbunden","msa-on-grid":"Mit dem Netz verbunden","navigation_email":"E-MAIL","network-switch-menu-item":"Netzwerk-Switches","network_cellular_configured":"Konfiguriert, aber nicht verbunden. Stellen Sie sicher, dass das Handy Netzwerk verfügbar ist und sich um die Antenne keine Blockierungen befinden.","network_connected":"Verbunden","network_container_connect_ethernet":"Verbinde mit Ethernet","network_container_connect_to_internet":"Bitte warten das System versucht eine Internet Verbindung herzustellen.","network_container_connect_wifi":"Verbinde mit {ssid}","network_container_connect_wifi_description":"Während diesem Prozess kommt es vor dass Sie sich erneut mit dem Gateway Netzwerk verbinden müssen um die Konfiguration fortzusetzen.","network_container_connman":"Powerwall verbindet sich automatisch mit dem besten Netzwerk.","network_container_connman_body":"Um die Verbindung zu sichern, bitte alle verfügbaren Netzwerke konfigurieren:","network_container_delete_network":"Netzwerkkonfiguration entfernen?","network_container_ethernet_and_wifi_warning":"Bitte WLAN und Ethernet Netzwerke konfigurieren um eine gute Verbindung zu ermöglichen.","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Bitte Ethernet Netzwerk konfigurieren um eine gute Verbindung zu ermöglichen.","network_container_network_description":"Mit allen verfügbaren Netzwerken verbinden.","network_container_network_subtitle":"Netzwerk","network_container_no_internet_bullet_four":"Die Powerwall kann Performancedaten an Tesla schicken um dem support team fern Diagnose zu ermöglichen.","network_container_no_internet_bullet_four_industrial":"Geräte können Leistungsdaten an Tesla senden, sodass der technische Support Probleme erkennen kann","network_container_no_internet_bullet_one":"Anmeldeinformation zur Powerwall werden Tesla zugestellt und aktivierten die volle 10-Jahre-Garantie.","network_container_no_internet_bullet_three":"Mit der Tesla App kann der Stromverbrauch beobachtet und der Powerwall Betriebsmodus eingestellt werden.","network_container_no_internet_bullet_two":"Die Powerwall kann Firmware-Updates herunterladen die Performance Verbesserungen und neue Funktionalitäten aktivieren.","network_container_no_internet_bullet_two_industrial":"Geräte können für Leistungsverbesserungen und neue Funktionen Firmware-Updates aus der Ferne empfangen","network_container_no_internet_bullet_zero":"Vor der Inbetriebnahme kann festgestellt werden, ob ein Firmware-Update erforderlich ist","network_container_no_internet_no_cell_title":"Falls der Installationsort über eine Internetverbindung verfügt, führen Sie diesen Schritt aus. Stellen Sie über Ethernet (bevorzugt) oder WLAN die Verbindung zum Internetdienst des Kunden her.","network_container_no_internet_title":"Diesen Schritt nicht übergehen wenn eine Internetverbindung möglich ist. Verbinden Sie die Powerwall mit der Internetverbindung des Kunden per Ethernet (bevorzugt), WLAN oder stellen Sie eine GSM Verbindung her.","network_container_no_internet_warning":"Betrieb ohne Internetverbindung kann die Powerwall Garantie beeinträchtigen.","network_container_scan_networks":"WLAN Netzwerke scannen.","network_container_scan_wifi_disconnect_warning":"Warnung: Um nach neuen Netzwerken zu suchen wird die drahtlose Verbindung vorübergehend getrennt.","network_container_wifi_subtitle":"WLAN","network_container_wifi_warning":"Bitte WLAN Netzwerk konfigurieren um eine gute Verbindung zu ermöglichen.","network_disabled":"Deaktiviert","network_disconnected":"Nicht verbunden","network_ethernet_configured":"Konfiguriert, aber nicht verbunden. Prüfen Sie die Ethernet-Kabelverbindung.","network_switches_container_discover_failure":"Letzter Erkennungsfehler: {error}","network_switches_container_discover_switches":"Netzwerk-Switches erkennen","network_switches_container_discovered_label":"Erkannte Netzwerk-Switches","network_switches_container_discovering_stop_button":"Erkennung stoppen","network_switches_container_discovery_switches_running_label":"Die Erkennung von Netzwerk-Switches läuft derzeit. Sie können die Erkennung unten beenden.","network_switches_container_ip":"IP: {ip}","network_switches_container_mac":"MAC: {mac}","network_switches_container_not_supported":"Netzwerk-Switches werden nur auf Industriesystemen unterstützt.","network_switches_container_password_not_set":"Passwort ist nicht eingerichtet","network_switches_container_password_set":"Das Passwort ist eingerichtet","network_switches_container_passwords_error":"Passwort-Einrichtungsstatus: {status}","network_switches_container_set_password_label":"Passwort auf allen Netzwerk-Switches einrichten, die noch das werkseitige Standardpasswort verwenden.\\n Alle Passwörter werden auf denselben Wert eingerichtet.","network_switches_container_set_passwords":"Passwörter einrichten","network_switches_container_set_passwords_button":"Passwort einrichten","network_switches_container_setting_passwords_button":"Passwort wird eingerichtet...","network_switches_container_start_discovering_button":"Erkennung starten","network_switches_container_start_discovery_help":"Die Netzwerk-Switch-Erkennung erfolgt automatisch und periodisch, kann aber über die \\"Erkennung Starten\\"-Schaltfläche ausgelöst werden.","network_switches_container_subtitle":"Netzwerk-Switches anzeigen","network_switches_container_title":"Netzwerk-Switches","network_view_check_connection":"INTERNET VERBINDUNG TESTEN","network_view_connection_failed":"NICHT VERBUNDEN!","network_view_connection_success":"ERFOLGREICH VERBUNDEN!","network_view_continue_no_internet":"OHNE INTERNET FORTFAHREN","network_view_default_error":"Fehler bei der Verbindung","network_view_local_network_connected":"Lokales Netzwerk verbunden","network_view_local_network_disconnected":"Fehler im lokalen Netzwerk","network_view_tesla_internet_connected":"Tesla-Dienste und Internet verbunden","network_view_tesla_internet_disconnected":"Fehler bei der Verbindung zu Tesla-Diensten und Internet","network_warning":"Warnung","network_wifi_configured":"Konfiguriert, aber nicht verbunden. Prüfen Sie Ihre WLAN-Einstellungen.","open_meter_validatiion_container_title":"Zählervalidierung öffnen","operation_mode_autonomous":"Autonomer Modus","operation_mode_backup":"Nur Backup-Laden","operation_mode_self_consumption":"Eigenverbrauchsmodus","operation_mode_site_control":"Anlagen-Regelung","overview_menu_control_title":"Steuerung","overview_menu_diagnostics_title":"Diagnose","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Verbunden","overview_menu_network_no_connection":"Keine Verbindung","overview_menu_registration_complete":"Abgeschlossen","overview_menu_registration_incomplete":"Unvollständig","overview_menu_registration_pending":"Warte auf Internetverbindung","overview_menu_security_title":"Passwort ändern oder zurücksetzen","overview_menu_settings_title":"Einstellungen","overview_menu_summary_title":"Zusammenfassung","overview_menu_system_title":"System","overview_menu_update_title":"Software-Update","overview_menu_view_alerts_event":"Vorfall","overview_menu_view_alerts_events":"Vorfälle","overview_menu_view_inverter_title":"Wechselrichtertest","overview_menu_view_network_title":"Netz","overview_menu_view_registration_title":"Registrierung","overview_menu_view_test_title":"Selbsttest","overview_meter_validation_title":"Validierung des Zählers","password_generate_error":"Beim Generieren eines neuen Passworts ist ein Fehler aufgetreten. Überprüfen Sie die Verbindung sowie das aktuelle Passwort und versuchen Sie es erneut.","password_generate_help_text":"Um ein neues Zufallspasswort zu generieren, geben Sie das vorhandene Passwort ein.","password_generate_menu_title":"Kennwort ändern","password_generate_notice":"Das Passwort wurde geändert. Notieren Sie sich das neue Passwort, bevor Sie diese Seite verlassen.","phase_container_detect_timeout":"Phasenerkennung abgelaufen","phase_container_detection_attempt":"Versuch Nr. {num}","phase_container_grid_code_validating_modal_title":"Anschlussbedingungen validieren","phase_container_grid_compliant_description":"Netzkonform {checkmark}","phase_container_grid_modal_description":"Netzkonform in {time} Sekunden.","phase_container_grid_modal_title":"Warten auf Netzkonformität","phase_container_modal_description":"Phasenerkennung dauert bis zu 2 Minuten pro Powerwall","phase_container_modal_title":"Phasenerkennung läuft","phase_container_saving_phases_modal_title":"Sparphasen","phase_container_subtitle":"Darstellung der Phasen und der angeschlossenen Powerwall. Ermöglicht die Konfiguration der Phasen.","phase_container_supported_error":"Keine Powerwalls erkannt. Phasenerkennung wird nicht unterstützt.","phase_container_title":"Phase","phase_container_voltage_caution_body":"Unerwartete Spannung von {voltage} V an {lineNumber} erkannt. Vergewissern Sie sich, ob {lineStatus} für diese Phase die geeignete Einstellung ist.","phase_container_warning_body":"Es wurden keine Backup-Phasen ausgewählt. Daher unterstützt das System keine Verbraucher, wenn die Verbindung zum Stromnetz unterbrochen wird.","phase_container_warning_modal_header":"Backup ist inaktiv","phase_line_id":"Zeilen-{id}","phase_line_item_view_line":"Phase","phase_line_item_view_line_status_backup":"Backup/Notstrom","phase_line_item_view_line_status_configured":"Non Backup","phase_line_item_view_line_status_not_configured":"Nicht konfiguriert","phase_line_status_backup":"Backup","phase_line_status_configured":"Nicht-Backup","phase_line_status_not_configured":"Nicht konfiguriert","phase_view_detect":"Phasenerkennung","phase_view_split_phase":"Split Phase","power_flow_view_go_off_grid":"VOM NETZ TRENNEN","power_flow_view_go_on_grid":"MIT NETZ VERBINDEN","power_flow_view_grid_button_disabled_reason":"Für eine Trennung vom Netz muss das System gestartet werden.","power_flow_view_grid_spinner_alt_label":"Systemumschaltung","power_flow_view_start_system":"SYSTEM STARTEN","power_flow_view_stop_system":"SYSTEM STOPPEN","powerwall_container_industrial_no_additional_title":"Keine zusätzlichen Batterieblöcke gefunden","powerwall_container_industrial_subtitle":"Es sind alle automatisch durch die Anlagensteuerung erkannten Batterien aufgeführt. Führen Sie einen neuen Scan durch, wenn die Batterie nicht aufgeführt ist.","powerwall_container_industrial_subtitle_auto_detection":"Es sind alle automatisch durch die Anlagensteuerung erkannten Batterien aufgeführt. Wenn ein Batterieblock nicht in der Liste aufgeführt ist, überprüfen Sie die Netzwerkausrüstung, einschließlich der Verkabelung, und stellen Sie sicher, dass die Bus-Controller eingeschaltet sind.","powerwall_container_industrial_title":"Batterie","powerwall_container_industrial_updating":"Batterien werden geprüft","powerwall_container_no_additional_powerwalls_description":"Im Installationshandbuch nach Tips zu verdrahtungsproblemen suchen.","powerwall_container_no_additional_powerwalls_title":"Keine weiteren Powerwalls gefunden","powerwall_container_scan_again":"ERNEUT SCANNEN","powerwall_container_scanning":"Scanne","powerwall_container_scanning_for_more":"Scanne ...","powerwall_container_subtitle":"Liste der automatisch erkannten Powerwalls. Erneut scannen falls eine Powerwall nicht aufgeistet ist.","powerwall_container_subtitle_component_auto_detection":"In der Liste sind alle Komponenten aufgeführt, die vom Gateway automatisch erkannt werden. Wenn eine Komponente nicht aufgeführt ist, überprüfen Sie die Verkabelung.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Powerwalls werden überprüft","powerwall_container_updating_note":"Hinweis: Dies dauert bis zu 60 Sekunden pro Powerwall.","powerwall_item_view_blank_numbers":"Wartet auf Überprüfung…","powerwall_item_view_numbers":"PartNummer:{partNumber} Seriennummer:{serialNumber}","powerwall_item_view_powerwall":"POWERWALL:{id}","powerwall_pairing_cancel":"Abbrechen","powerwall_pairing_connect":"Anschließen","powerwall_pairing_done":"Fertig","powerwall_pairing_error_already_paired":"Kopplung fehlgeschlagen: Das Gerät ist bereits gekoppelt","powerwall_pairing_error_bad_pairing_response":"Kopplung fehlgeschlagen: Gerät verweigert die Kopplung. Stellen Sie sicher, dass das Folgegerät gestoppt wurde","powerwall_pairing_error_bad_qr_code":"Kein W-LAN-QR-Code","powerwall_pairing_error_changes_prohibited":"Kopplung fehlgeschlagen Verboten","powerwall_pairing_error_internal":"Kopplung fehlgeschlagen: interner Fehler","powerwall_pairing_error_no_qr_code":"Es wurde kein QR-Code gefunden","powerwall_pairing_error_no_response":"Kopplung fehlgeschlagen: Gerät hat nicht geantwortet.","powerwall_pairing_error_not_leader":"Kopplung fehlgeschlagen: Dies ist ein Folgegerät. Verbinden Sie sich erneut mit dem Führungsgerät.","powerwall_pairing_error_prohibited_uncommissioned":"Kopplung fehlgeschlagen: Diese Powerwall wurde noch nicht in Betrieb genommen","powerwall_pairing_error_too_many_devices":"Kopplung fehlgeschlagen: Die maximale Anzahl von Geräten ist bereits gekoppelt","powerwall_pairing_error_unknown":"Kopplung fehlgeschlagen: Unbekannter Fehler","powerwall_pairing_error_wifi_connection_failed":"Kopplung fehlgeschlagen: Es konnte keine Verbindung zum W-LAN hergestellt werden. Bitte überprüfen Sie das Passwort.","powerwall_pairing_error_wifi_not_found":"Kopplung fehlgeschlagen: W-LAN-Netzwerk nicht gefunden","powerwall_pairing_exception":"Kopplung fehlgeschlagen: Ausnahme","powerwall_pairing_instructions_2":"Geben Sie die W-LAN-SSID und das Passwort für die zu koppelnde Powerwall ein oder scannen Sie sie. Suchen Sie auf dem Gerät nach einem QR-Code.","powerwall_pairing_password_label":"Kennwort:","powerwall_pairing_scan_qr_code":"QR-Code scannen","powerwall_pairing_ssid_label":"SSID:","powerwall_pairing_state_complete":"Kopplung abgeschlossen. Es kann sein, dass das neue Gerät erst nach einer Minute oder länger reagiert (länger, wenn gerade ein Update durchgeführt wird). Klicken Sie auf \\"Fertig\\", um den Vorgang abzubrechen.","powerwall_pairing_state_monitoring":"Neues Gerät koppeln. Dies kann bis zu einer Minute dauern.","powerwall_starting":"Powerwall wird gestartet","powerwall_view_detected_backup":"Notstromfunktion erkannt","powerwall_view_detected_synchrometers":"Meter-Leistungsfähigkeit","powerwall_view_failed":"PROBLEM","powerwall_view_no_backup":"Notstromfunktion nicht erkannt","powerwall_view_no_sync":"Synchronizer nicht erkannt","powerwall_view_scan":"SCANNEN","powerwall_view_success":"ERFOLG","powerwall_view_synchrometer_detected":"Synchrometer erkannt","powerwall_view_synchronizer_detected":"Synchronizer erkannt","powerwall_view_update":"POWERWALLS PRÜFEN","privacy_policy_view_accept_warranty_title":"Tesla Powerwall beschränkte Garantie akzeptieren","privacy_policy_view_contact_bullet_one":"per E-Mail an {privacyEmail};","privacy_policy_view_contact_bullet_two":"per Post an Tesla, Inc., z. Hd.: Legal, 45500 Fremont Boulevard, Fremont, Kalifornien, 94538, Vereinigte Staaten.","privacy_policy_view_contact_header":"Wie Sie uns erreichen","privacy_policy_view_contact_paragraph_one":"Um uns eine Frage oder Anmerkung zukommen zu lassen oder sich von bestimmten Dienstleistungen abzumelden, kontaktieren Sie uns bitte unter:","privacy_policy_view_contact_paragraph_three":"Falls Sie im EWR oder in der Schweiz Ihren Wohnsitz haben, ist für die Verarbeitung Ihrer personenbezogenen Daten womöglich Ihr lokales Tesla Unternehmen zuständig.","privacy_policy_view_contact_paragraph_two":"Bitte beachten Sie, dass E-Mail-Mitteilungen nicht immer sicher sind. Fügen Sie Ihren E-Mails an uns also keine Kreditkarteninformationen oder sensible Informationen bei.","privacy_policy_view_cross_border_transfers_header":"Grenzüberschreitende Übertragungen","privacy_policy_view_cross_border_transfers_paragraph_one":"Die Dienstleistungen werden von den Vereinigten Staaten aus kontrolliert und betrieben. Informationen von Ihnen, über Sie oder über Ihre Nutzung unserer Produkte oder der Dienstleistungen können in jedem Land, in dem wir Standorte haben oder wo wir Dienstleister beauftragen, gespeichert und verarbeitet werden. In diesen Ländern bestehen möglicherweise nicht die gleichen Datenschutzgesetze in dem Land, in dem Sie diese Informationen erstmalig mitgeteilt haben. Wenn wir Informationen von Ihnen, über Sie oder Ihre Nutzung unserer Produkte oder der Dienstleistungen in andere Länder übermitteln, schützen wir diese in der in dieser Datenschutzrichtlinie beschriebenen Weise. Mit der Nutzung unserer Produkte, unserer Dienstleistungen, oder indem Sie uns auf sonstige Weise Informationen zur Verfügung stellen, erklären Sie sich mit der Übermittlung von Informationen von Ihnen, über Sie oder über Ihre Nutzung unserer Produkte oder Dienstleistungen in Länder außerhalb Ihres Wohnsitzlandes, einschließlich der USA, einverstanden.","privacy_policy_view_cross_border_transfers_paragraph_two":"Falls Sie sich im EWR oder in der Schweiz befinden, befolgen wir maßgebliche Rechtsvorschriften, die einen angemessenen Schutz bei der Übermittlung personenbezogener Informationen in Länder außerhalb des EWR oder der Schweiz gewährleisten. Tesla ist zertifiziert und befolgt das von dem U.S. Handelsministerium und der Europäischen Kommission verfügbar gemachte EU-U.S. Privacy Shield Programm {privacyShield} in Bezug auf die Verarbeitung von bestimmten personenbezogenen Informationen, die aus dem EWR zu Tesla und zu ihren hundertprozentigen U.S. Tochtergesellschaften übertragen werden. Teslas EU-U.S. Privacy Shield Datenschutzrichtlinie ist hier verfügbar.","privacy_policy_view_devices":"Informationen von Ihnen, über Sie oder Ihre Geräte","privacy_policy_view_energy_products":"FVon oder über Ihre Tesla-Energieprodukte","privacy_policy_view_eu_policy_warning":"Sie müssen den Datenschutzrichtlinien zustimmen, um Ihre Powerwall zu registrieren und mit der Tesla Mobile App überwachen zu können.","privacy_policy_view_eu_warranty_warning":"Wenn Sie die Tesla Datenschutzerklärung nicht akzeptieren, sind wir unter Umständen nicht in der Lage die volle 10 Jahre Garantie zu erfüllen. Tesla erfüllt mindestens eine 4 Jahre Garantie vom Datum der ersten Installation der Powerwall, vorbehaltlich der Ausschlüsse und Beschränkungen in der Garantieerklärung {warrantyLink}.","privacy_policy_view_grid_services":"Ihre Powerwall kann kann die Zuverlässigkeit des Stromnetzes durch die Bereitstellung von Dienstleistungen unter optionalen Programmen, die von Dienstleistern oder Dritten angeboten werden, unterstützen. Diese Dienstleistungen beinhalten eine stückweise Entladung Ihrer Powerwall zu günstigen Zeiten mit finanziellen Vorteilen für Sie. Dazu müssen wir jedoch Ihre Energieverbrauchsdaten und Powerwall-Informationen an Versorger oder Drittparteien weitergeben. Bevor wir Sie in ein solches Netzdienstprogramm einbinden, werden wir Ihnen dessen Einzelheiten mitteilen und Ihnen die Möglichkeit bieten, diese Teilnahme zu verweigern. Wenn Sie zu diesem Zeitpunkt die Teilnahme nicht ablehnen, werden Sie in das Programm eingegliedert.","privacy_policy_view_grid_services_title":"Stromnets-Dienstleistungen","privacy_policy_view_grid_warning":"Sie müssen nicht zustimmen. Falls Sie ablehnen, können wir Ihnen evtl. zu einem späteren Zeitpunkt erneut die Gelegenheit bieten, an diesem Programmen teilzunehmen.","privacy_policy_view_here":"hier","privacy_policy_view_homeowner_na":"Hauseigentümer nicht verfügbar","privacy_policy_view_homeowner_required":"Muss vom Kunden ausgefüllt werden.","privacy_policy_view_information_collection_devices_bullet_five":"Über Ihren Browser oder Ihr Gerät: Bestimmte Informationen werden von den meisten Browsern oder automatisch über Ihr Gerät erfasst, wie beispielsweise Ihre Media Access Control (MAC) Adresse, Computertyp (Windows oder Macintosh), Bildschirmauflösung, Name und Version des Betriebssystems, Hersteller und Modell des Geräts, Sprache, Typ und Version des Internetbrowsers sowie Name und Version der Dienstleistungen (z. B. der Tesla App), die Sie verwenden. Wir verwenden diese Informationen um sicherzustellen, dass die Dienstleistungen ordnungsgemäß funktionieren.","privacy_policy_view_information_collection_devices_bullet_four":"Offline: Wir können offline von Ihnen oder über Sie Informationen erfassen, beispielsweise wenn Sie einen Tesla-Store oder einen Reparaturstandort besuchen, an einem unserer Events teilnehmen, sich für eine Probefahrt anmelden, eine telefonische Bestellung aufgeben oder unseren Kundenservice bzw. unsere Verkaufsabteilung kontaktieren.","privacy_policy_view_information_collection_devices_bullet_one":"Über die Dienstleistungen: Wir erfassen möglicherweise Informationen von Ihnen oder über Sie über unsere Webseiten, Softwareanwendungen, Seiten der sozialen Medien, E-Mail-Nachrichten oder andere digitale Dienstleistungen (die „Dienstleistungen“), z. B. wenn Sie sich für einen Newsletter anmelden, einen Einkauf tätigen oder Ihr Produkt bei uns registrieren.","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla: Kunden, die bestimmte Tesla-Produkte kaufen, erhalten ein My Tesla-Konto, welches auf unserer Webseite gehostet wird. Wir können folgende Arten von Daten, die Sie uns freiwillig zur Verfügung stellen, über Ihr My Tesla-Konto erfassen und verarbeiten: Ihre Kundenanmeldedaten; den Status Ihrer Bestellung; Garantie- oder andere Dokumente über Ihre Tesla-Produkte sowie allgemeine Informationen über Ihre Tesla-Produkte (wie beispielsweise Fahrzeugidentifikationsnummer oder eine andere Produktseriennummer, Serviceplandaten oder das Konnektivitätspaket), Versicherungsformulare, Führerscheine, Finanzierungsverträge und ähnliche Informationen. Sie können auf Ihr My Tesla-Konto jederzeit zugreifen um die Informationen von Ihnen oder über Sie auf diesem Konto zu aktualisieren.","privacy_policy_view_information_collection_devices_bullet_two":"Aus anderen Quellen: Wir können möglicherweise auch aus anderen Quellen Informationen über Sie erhalten, wie beispielsweise aus öffentlichen Datenbanken, von gemeinsamen Marketingpartnern, zertifizierten Installationsunternehmen, externen Reparatur- oder Servicecentern und von Plattformen sozialer Medien.","privacy_policy_view_information_collection_energy_products_bullet_one":"Wir können Informationen über Ihr Produkt, wie Ihr Installationsdatum, die Anzahl der installierten Produkte und Seriennummer(n) erheben.","privacy_policy_view_information_collection_energy_products_bullet_two":"Damit wir unsere Energieprodukte und -dienstleistungen anbieten und verbessern können, können wir Daten darüber erfassen, wo Ihr Produkt installiert und wie es konfiguriert ist, Daten betreffend die Nutzung und Leistung des Produkts, Daten hinsichtlich Ihres aggregierten Heimenergieverbrauchs und weitere Daten, die für die Fehlerdiagnose von Bedeutung sind.","privacy_policy_view_information_collection_header":"Welche Informationen wir erfassen","privacy_policy_view_information_collection_paragraph_five":"Wenn Sie nicht mehr möchten, dass wir Telematikprotokolldaten oder andere Dateien von Ihrem Tesla Fahrzeug erhalten, kontaktieren Sie uns bitte wie im Abschnitt „Wie Sie uns erreichen“ unten beschrieben. Bitte beachten Sie, dass, wenn Sie der Erfassung von Telematikprotokolldaten oder anderer Daten von Ihrem Tesla Fahrzeug widersprechen (mit Ausnahme der oben angeführten Einstellungen für die Datenfreigabe), wir nicht in der Lage sind, Sie in Echtzeit über Probleme im Zusammenhang mit Ihrem Fahrzeug zu informieren. Dies kann dazu führen, dass bei Ihrem Fahrzeug eine lediglich eingeschränkte Funktionalität, ernsthafte Schäden oder Funktionsunfähigkeit eintreten können. Es können dadurch auch zahlreiche Funktionen Ihres Fahrzeugs außer Betrieb gesetzt werden, wie regelmäßige Software- und Firmwareaktualisierungen, Fernwartungen und die Interaktion mit mobilen Anwendungen und im Auto installierten Funktionen, wie beispielsweise Standortsuche, Internetradio, Sprachsteuerung und Webbrowserfunktionalität.","privacy_policy_view_information_collection_paragraph_four":"Wir können unterschiedliche Informationen von oder über Ihre Tesla Energieprodukte mithilfe des zertifizierten Installationsunternehmens oder von den installierten Produkten (direkt oder über verbundene Geräte wie beispielsweise Umwandler) erheben. Dazu zählen:","privacy_policy_view_information_collection_paragraph_one":"Wir erfassen im Wesentlichen drei Arten von Informationen über Sie oder darüber, wie Sie unsere Produkte und Dienstleistungen nutzen: (1) Informationen von Ihnen oder über Sie oder Ihre Geräte, (2) Informationen von oder über Ihr Tesla-Fahrzeug, und (3) Informationen von oder über Ihre Tesla-Energieprodukte. Abhängig davon welche Tesla-Produkte und -Dienstleistungen Sie anfragen, besitzen oder verwenden, treffen nicht alle genannten Arten von Informationen auf Sie zu.","privacy_policy_view_information_collection_paragraph_three":"Wenn Sie unsere Website besuchen oder andere unserer Dienstleistungen nutzen, können wir Cookies, Pixel Tags, Analysetools und andere vergleichbare Technologien verwenden, die uns dabei helfen, unsere Dienstleistungen anzubieten und zu verbessern. Nachstehend gehen wir näher darauf ein:","privacy_policy_view_information_collection_paragraph_two":"Wir erfassen möglicherweise auf unterschiedlichen Wegen Informationen von Ihnen oder über Sie (wie beispielsweise Name, Adresse, Telefonnummer, E-Mail, Zahlungsinformationen, etc.) oder Ihre Geräte, einschließlich:","privacy_policy_view_information_collection_services_bullet_five":"Wenn Sie sich das Add-on zum Google Analytics Opt-out-Browser herunterladen, verfügbar unter {website}, erfahren Sie mehr darüber, wie Google bei der Erfassung dieser Informationen vorgeht und wie Sie dem widersprechen können.","privacy_policy_view_information_collection_services_bullet_four":"Analysetools: Wir nutzen von Dritten erbrachte Dienste für die Website- und Anwendungsanalyse, bei denen zur Sammlung von Informationen über die Nutzung von Websites oder Anwendungen und der Meldung von Trends Cookies und ähnliche Technologien verwendet werden, ohne einzelne Besucher zu identifizieren. Diese Dritte, die solche Dienste für uns erbringen, können außerdem Informationen über Ihre Nutzung von Websites Dritter erheben.","privacy_policy_view_information_collection_services_bullet_one":"Cookies: Cookies sind Informationen, die direkt auf dem von Ihnen genutzten Computer gespeichert werden. Cookies ermöglichen es uns, Informationen wie Browsertyp, mit den Dienstleistungen verbrachte Zeit, besuchte Seiten, bevorzugte Sprachen und sonstige Daten über den Webverkehr zu sammeln. Gemeinsam mit unseren Dienstleistern nutzen wir diese Informationen zu Sicherheitszwecken, um die Online-Navigation zu erleichtern, zur effektiveren Anzeige von Informationen, zur individuellen Anpassung Ihrer Erfahrungen bei der Nutzung der Dienstleistungen und um die Benutzeraktivität auf andere Weise zu analysieren. Wir können Ihren Computer erkennen, um Ihre Nutzung der Dienstleistungen zu unterstützen. Wir sammeln auch statistische Daten über die Nutzung der Dienstleistungen, um deren Design und Funktionalität fortwährend zu verbessern, um zu verstehen, wie die Dienstleistungen genutzt werden und um uns bei der Beantwortung von Fragen in Bezug auf die Dienstleistungen zu unterstützen. Cookies ermöglichen es uns außerdem zu ermitteln, welche unserer Werbungen oder Angebote Sie am meisten ansprechen und ermöglichen uns deren Einblendung. Wir können Cookies auch in Online-Werbungen verwenden um festzustellen, wie Sie mit unseren Anzeigen interagieren und wir können Cookies oder andere Dateien zur Nachvollziehung Ihrer Nutzung von anderen Webseiten verwenden.","privacy_policy_view_information_collection_services_bullet_three":"Pixel Tags und sonstige ähnliche Technologien: Pixel-Tags (auch Web Beacons oder Clear GIFs genannt) können in Verbindung mit einigen Dienstleistungen unter anderem dazu verwendet werden, die Handlungen von Nutzern der Dienstleistungen (inklusive E-Mail-Empfängern) nachzuvollziehen, den Erfolg unserer Werbekampagnen zu messen und Statistiken über die Nutzung der Dienstleistungen und die Ansprechraten zusammenzustellen.","privacy_policy_view_information_collection_services_bullet_two":"Wenn Sie bei der Nutzung Ihres Kontos „My Tesla“ oder unserer Website auf eine Datenerhebung mittels Cookies verzichten möchten, sehen die meisten Browser eine einfache Möglichkeit vor, mit der Sie Cookies automatisch ablehnen können oder die Ihnen die Wahl bietet, die Übertragung eines bestimmten oder mehrerer Cookies von einer bestimmten Website auf Ihren Computer abzulehnen oder zu akzeptieren. Lesen Sie sich gegebenenfalls auch die Informationen auf {website} durch. Wenn Sie diese Cookies jedoch nicht akzeptieren, können bei Ihrer Nutzung der Dienstleistungen möglicherweise Unannehmlichkeiten auftreten. So kann uns beispielsweise die Erkennung Ihres Computers nicht möglich sein und Sie müssen sich bei jedem Besuch der betreffenden Dienstleistungen neu einloggen.","privacy_policy_view_information_rights_choices_agree_eu":"Sie müssen der Datenschutzrichtlinie zustimmen, um Ihre Powerwall registrieren und mit der Tesla Mobile App überwachen zu können.","privacy_policy_view_information_rights_choices_agree_one":"Sie müssen der Datenschutzrichtlinie zustimmen, um Ihre Powerwall registrieren und mit der Tesla Mobile App überwachen zu können. Es ist keine weitere Handlung erforderlich, wenn Sie nicht auf Ihre Powerwall-Informationen über die Tesla Mobile App zugreifen möchten.","privacy_policy_view_information_rights_choices_bullet_one":"Sie können auf Ihr My Tesla Konto jederzeit zugreifen um die Informationen von Ihnen oder über Sie auf diesem Konto zu aktualisieren.","privacy_policy_view_information_rights_choices_bullet_two":"Wenn Sie vorher von Ihnen uns zur Verfügung gestellte Informationen über sich oder von Ihnen überprüfen, korrigieren, aktualisieren, sperren oder löschen möchten, können Sie uns unter der unten angeführten Adresse kontaktieren.","privacy_policy_view_information_rights_choices_header":"Rechte und Wahlmöglichkeiten","privacy_policy_view_information_rights_choices_paragraph_four":"Beachten Sie bitte, dass wir bestimmte Informationen gegebenenfalls zu Dokumentverwaltungs- oder gesetzlich vorgeschriebenen Zwecken und/oder zum Abschluss von Transaktionen aufbewahren müssen, die vor der erbetenen Änderung oder Löschung begonnen haben (wenn Sie z. B. einen Kauf tätigen oder an einer Werbeaktion teilnehmen, können Sie die mitgeteilten personenbezogenen Informationen möglicherweise erst nach Abschluss dieses Kaufs oder dieser Werbeaktion ändern oder löschen). Es können auch Restinformationen vorhanden sein, die in unseren Datenbanken und anderen Aufzeichnungen verbleiben und nicht entfernt werden.","privacy_policy_view_information_rights_choices_paragraph_one":"Wie oben ausgeführt, stellen wir Ihnen zahlreiche Wahlmöglichkeiten hinsichtlich der Erfassung, Nutzung und Weitergabe von Informationen von Ihnen, über Sie oder Ihrer Nutzung unserer Produkte oder Dienstleistungen durch uns zur Verfügung. Vorbehaltlich geltendem Recht haben Sie in manchen Ländern womöglich das Recht, Zugang zu bestimmten Informationen, die wir über Sie speichern, oder Informationen über diese zu erhalten, diese zu aktualisieren und Fehler in diesen Informationen zu korrigieren und diese Daten sperren oder löschen zu lassen. Diese Rechte können unter bestimmten Umständen durch örtliche Gesetze eingeschränkt sein. Wir bieten Ihnen mehrere Möglichkeiten auf Informationen von Ihnen oder über Sie zuzugreifen, diese zu korrigieren, aktualisieren oder deren Sperrung oder Löschung zu verlangen. Zu diesen zählen:","privacy_policy_view_information_rights_choices_paragraph_three":"Wir werden bezüglich Ihrer Anfrage(n) der Geltendmachung dieser Rechte und Wahlmöglichkeiten so schnell wie möglich nachkommen.","privacy_policy_view_information_rights_choices_paragraph_two":"Bitte geben Sie in Ihrer Anfrage deutlich an welche Informationen Sie ändern möchten, ob Sie möchten, dass die uns von Ihnen zur Verfügung gestellten Informationen in unserer Datenbank gesperrt werden bzw. welche sonstigen Einschränkungen Sie uns bezüglich der Nutzung der von Ihnen bereitgestellten Informationen auferlegen möchten. Zu Ihrem Schutz bearbeiten wir nur Anfragen bezüglich Informationen, die mit der von Ihnen für die Übermittlung der Anfrage verwendeten E-Mail-Adresse verbunden sind. Wir müssen möglicherweise Ihre Identität prüfen bevor wir Ihrer Anfrage nachkommen.","privacy_policy_view_information_share_header":"Wie wir die von uns erhobenen Informationen weitergeben","privacy_policy_view_information_share_paragraph_eight":"Unter anderen Umständen","privacy_policy_view_information_share_paragraph_eleven":"Wenn Sie der Verarbeitung von Informationen widersprechen möchten, für welche Sie zuvor ausdrücklich Ihre Einwilligung erteilt haben, kontaktieren Sie uns bitte wie im Abschnitt „Wie Sie uns erreichen“ unten beschrieben.","privacy_policy_view_information_share_paragraph_five":"Wir können Informationen an andere von Ihnen genehmigte Dritte weitergeben, beispielsweise unter den folgenden Umständen:","privacy_policy_view_information_share_paragraph_five_point_four":"An den Anbieter Ihres Kontos für soziale Medien, wenn Sie Ihr Konto für die Dienstleistungen und Ihr Konto für soziale Medien miteinander vernetzen. Wenn Sie das tun, ermächtigen Sie uns Informationen an den Anbieter Ihres Kontos für soziale Medien weiterzugeben und Sie verstehen, dass die Nutzung der Informationen die wir weitergeben der Datenschutzlinie des Anbieters des Kontos für soziale Medien unterliegt.","privacy_policy_view_information_share_paragraph_five_point_one":"An unsere zertifizierten Installationsunternehmen, damit wir Ihnen die von Ihnen angefragten Energieprodukte leichter zur Verfügung stellen können.","privacy_policy_view_information_share_paragraph_five_point_three":"An externe Sponsoren von Preisausschreiben oder ähnlichen Werbeaktionen, wenn Sie beschließen an diesen teilzunehmen.","privacy_policy_view_information_share_paragraph_five_point_two":"An externe Servicecenter oder Dienstleister, wenn Sie sich zu deren Nutzung entschieden haben. Beachten Sie, dass einige Informationen über Sie auf bestimmten Tesla Produkten gespeichert werden und externe Servicecenter oder Dienstleister, die Sie mit der Diagnostizierung oder Wartung Ihres Tesla Produkts beauftragen, darauf möglicherweise direkten Zugriff haben.","privacy_policy_view_information_share_paragraph_four":"An andere von Ihnen genehmigte Dritte","privacy_policy_view_information_share_paragraph_nine":"Wir können Informationen unter anderen Umständen weitergeben, beispielsweise:","privacy_policy_view_information_share_paragraph_nine_point_one":"An Ihren Arbeitgeber, andere Fuhrparkbetreiber oder den Eigentümer von Tesla Produkten, wenn das Produkt nicht Ihnen selbst gehört und sofern dies nach geltendem Recht zulässig ist.","privacy_policy_view_information_share_paragraph_nine_point_two":"An Dritte in Zusammenhang mit jeder Neuorganisierung, Fusion, Verkauf, Joint Venture, Abtretung, Übertragung oder sonstigen Verfügungen über unser gesamtes Geschäft, Vermögen oder unsere Aktien (auch in Zusammenhang mit jedweden Konkurs- oder vergleichbaren Verfahren) oder über einen Teil davon.","privacy_policy_view_information_share_paragraph_one":"Wir können die von uns erfassten Informationen an unsere Dienstleister und Geschäftspartner weitergeben, an von Ihnen genehmigte Dritte, an andere Dritte, wenn dies rechtlich vorgeschrieben ist und unter anderen Umständen. Beispiele dafür, wie wir Informationen an diese Dritten weitergeben und unter welchen Umständen, finden Sie unten.","privacy_policy_view_information_share_paragraph_seven":"Tesla kann Informationen an Dritte übertragen und diesen gegenüber offenlegen. Dazu zählen auch Informationen, die möglicherweise Rückschlüsse auf Ihre Identität zulassen können, um eine rechtliche Verpflichtung zu erfüllen (beispielsweise, aber nicht beschränkt auf Vorladungen); wenn wir gutgläubig der Ansicht sind, dass dies rechtlich vorgeschrieben ist; in Beantwortung einer rechtmäßigen Anfrage von staatlichen Behörden, die eine Ermittlung durchführen, dazu zählt auch die Erfüllung von Rechtsdurchsetzungsanforderungen; um unsere Richtlinien und Verfahren zu überprüfen oder durchzusetzen; um auf einen Notfall zu reagieren; um eine Handlung zu verhindern oder zu unterbinden, von der wir der Ansicht sind, dass sie möglicherweise oder tatsächlich rechtswidrig, unethisch oder rechtlich angreifbar ist; um die Rechte, das Eigentum oder die Sicherheit der Dienstleistungen von Tesla, Dritter, von Besuchern, die unsere Dienstleistungen abrufen oder der Öffentlichkeit zu schützen, was wir ausschließlich nach unserem eigenen Ermessen bestimmen.","privacy_policy_view_information_share_paragraph_six":"An andere Dritte in rechtlich vorgeschriebenen Fällen","privacy_policy_view_information_share_paragraph_ten":"Wir geben keine Informationen, die einen Rückschluss auf Ihre Identität zulassen, an nicht an uns angeschlossene Dritte für deren Marketingzwecke weiter, sofern Sie dieser Weitergabe nicht einwilligen.","privacy_policy_view_information_share_paragraph_three":"Wir können Informationen an unsere Dienstleister und Geschäftspartner weitergeben, wenn dies notwendig ist um Dienstleistungen für uns oder Sie zu erbringen, beispielsweise unter den folgenden Umständen:","privacy_policy_view_information_share_paragraph_three_point_one":"An die an Tesla angeschlossene Unternehmen zu den in der Datenschutzrichtlinie beschriebenen Zwecken. An Tesla angeschlossene Unternehmen sind Unternehmen, die im Eigentum von Tesla, Inc. stehen oder von dieser kontrolliert werden bzw. Unternehmen, an denen Tesla, Inc. eine wesentliche Beteiligung hält.","privacy_policy_view_information_share_paragraph_three_point_three":"An andere externe Geschäftspartner insoweit diese in Ihren Kauf oder die Wartung von Tesla Produkten eingebunden sind. Wir geben begrenzte Informationen von Ihnen oder über Sie an Partner in den Bereichen Finanz-, Leasing- und Anmeldewesen sowie an Rechtstitelversicherungsfirmen weiter, damit Sie diese Dienstleistungen in Anspruch nehmen können, falls Sie sich für deren Nutzung entscheiden.","privacy_policy_view_information_share_paragraph_three_point_two":"An unsere externen Dienstleister und Vertriebskanalpartner um Dienstleistungen wie Website-Hosting, Datenanalyse und -speicherung, Zahlungsbearbeitung, Auftragserfüllung und Produktinstallation, drahtlose Konnektivität mit Tesla Produkten, Informationstechnologie und dazugehörige Infrastruktur, Kundenservice, Produktwartung und dazugehörige Dienstleistungen, E-Mail-Zustellungen, Kreditkartenzahlungen, Buchführung, Marketing, Verarbeitung der Sprachsteuerung und vergleichbare Dienstleistungen zur Verfügung zu stellen.","privacy_policy_view_information_share_paragraph_two":"An unsere Dienstleister und Geschäftspartner","privacy_policy_view_information_use_commuicate":"Zur Kommunikation mit Ihnen","privacy_policy_view_information_use_header":"Nutzung der von uns erhobenen Informationen","privacy_policy_view_information_use_other_purposes":"Für andere Zwecke","privacy_policy_view_information_use_paragraph_five":"Wir können die von uns erfassten Informationen auch für andere Zwecke nutzen, beispielsweise:","privacy_policy_view_information_use_paragraph_five_point_one":"Für unsere Geschäftszwecke, wie beispielsweise Datenanalyse, Audits, Betrugsüberwachung und –prävention, Ermittlung von Nutzertrends, Bestimmung der Effektivität unserer Werbekampagnen und Betrieb und Ausweitung unserer Geschäftstätigkeit.","privacy_policy_view_information_use_paragraph_five_point_two":"Ausgenommen der oben genannten und unten aufgeführten Fälle kann Tesla Informationen, die keine Rückschlüsse auf Ihre Identität zulassen, für jedwede Zwecke nutzen oder weitergeben, beispielsweise für betriebliche oder Forschungszwecke, für Branchenanalysen, zur Verbesserung oder Änderung unserer Produkte und Dienstleistungen, um unsere Produkte und Dienstleistungen besser auf Ihre Bedürfnisse abzustimmen und wenn dies rechtlich erforderlich ist.","privacy_policy_view_information_use_paragraph_four":"Wir können die von uns erfassten Informationen nutzen um unsere Produkte und Dienstleistungen anzubieten und zu verbessern, beispielsweise:","privacy_policy_view_information_use_paragraph_four_point_five":"Um die Sicherheit unserer Produkte und Dienstleistungen zu überprüfen und zu verbessern.","privacy_policy_view_information_use_paragraph_four_point_four":"Um neue Produkte und Dienstleistungen zu entwickeln und zu bewerben und unsere bestehenden Produkte und Dienstleistungen zu verändern oder zu verbessern.","privacy_policy_view_information_use_paragraph_four_point_one":"Um Ihren Kauf abzuwickeln und zu erfüllen, beispielsweise um Ihre Zahlungen zu bearbeiten, Ihnen Ihre Bestellung zuzusenden, mit Ihnen hinsichtlich Ihres Kaufs zu kommunizieren und Ihnen den dazugehörigen Kundenservice zu bieten.","privacy_policy_view_information_use_paragraph_four_point_six":"Um Ihnen alle sonstigen von Ihnen angeforderten Dienstleistungen bereitzustellen.","privacy_policy_view_information_use_paragraph_four_point_three":"Um die Leistung Ihres Tesla-Produkts zu überwachen und Ihnen entsprechende Dienstleistungen bereitzustellen.","privacy_policy_view_information_use_paragraph_four_point_two":"Um Ihr Tesla Produkt zu warten, beispielsweise um Sie bezüglich Service-Empfehlungen zu kontaktieren und Ihr Produkt drahtlos zu aktualisieren.","privacy_policy_view_information_use_paragraph_one":"Wir können die von Ihnen erhobenen Daten zur Kommunikation mit Ihnen, zum zur Verfügung stellen von Produkten und Dienstleistungen für andere Zwecke nutzen. Beispiele dafür, wie wir Informationen für diese Zwecke nutzen, finden Sie nachstehend.","privacy_policy_view_information_use_paragraph_three":"Ihre Kommunikationswahlmöglichkeiten:","privacy_policy_view_information_use_paragraph_three_point_one":"Erhalt elektronischer Mitteilungen von uns oder uns angeschlossener Unternehmen: Wenn Sie von uns oder den uns angeschlossenen Unternehmen keine E-Mails mit Marketinginhalten mehr erhalten möchten, können Sie dem Erhalt widersprechen indem Sie die Opt-Out-Anweisungen befolgen, die Sie in jeder unserer E-Mails finden oder indem Sie uns unter der unten angeführten Adresse kontaktieren. Bitte beachten Sie, dass auch wenn Sie den Erhalt von Marketing-E-Mails abgewählt haben, wir Ihnen weiterhin wichtige administrative und sicherheitsrelevante Mitteilungen übermitteln können.","privacy_policy_view_information_use_paragraph_three_point_two":"Erhalt von Marketinganrufen von uns: Lassen Sie sich bitte einfach auf die „Nicht anrufen“-Liste setzen wenn Sie von uns Marketinganrufe erhalten und in Zukunft keine derartigen Anrufe mehr erhalten möchten. Bitte beachten Sie, dass wir Sie weiterhin in Bezug auf administrative, sicherheitsrelevante oder produktservicetechnische Fragen anrufen können, auch wenn Sie den Erhalt von Marketing-Anrufen abgewählt haben.","privacy_policy_view_information_use_paragraph_two":"Wir können die von uns erfassten Informationen nutzen, um mit Ihnen zu kommunizieren, wie beispielsweise:","privacy_policy_view_information_use_paragraph_two_point_five":"Um Ihnen auf Sie individuell angepasste Produkte und Angebote vorzustellen und unsere Listen mit Informationen aus anderen Quellen zu ergänzen.","privacy_policy_view_information_use_paragraph_two_point_four":"Um Ihnen administrative Informationen zukommen zu lassen, wie beispielsweise Informationen über die Dienstleistungen und Änderungen unserer Geschäftsbedingungen und Richtlinien.","privacy_policy_view_information_use_paragraph_two_point_one":"Um auf Ihre Anfragen zu antworten und Ihre Aufträge zu erfüllen, wie indem wir Ihnen Newsletter oder Produktinformationen, Informationsbenachrichtigungen oder Broschüren zukommen lassen","privacy_policy_view_information_use_paragraph_two_point_seven":"Um das Teilen in den sozialen Medien und die Kommunikationsfunktionalitäten zu erleichtern.","privacy_policy_view_information_use_paragraph_two_point_six":"Um es Ihnen zu ermöglichen, an Preisausschreiben oder ähnlichen Werbeaktionen teilzunehmen und um diese Aktivitäten zu verwalten","privacy_policy_view_information_use_paragraph_two_point_three":"Um Sie auf wichtige sicherheitsbezogene Informationen hinzuweisen oder um Einsatzkräfte im Falle eines Unfalls mit Ihrem Fahrzeug zu verständigen.","privacy_policy_view_information_use_paragraph_two_point_two":"Um Feedback bezüglich Ihrer Tesla Probefahrt einzuholen, auszuwerten und bereitzustellen.","privacy_policy_view_information_use_provide":"Um unsere Produkte und Dienstleistungen anzubieten und zu verbessern","privacy_policy_view_links_header":"Links","privacy_policy_view_links_paragraph_one":"Diese Datenschutzrichtlinie bezieht sich nicht auf den Datenschutz, Informationen oder sonstige Praktiken von Dritten und wir sind für diese nicht verantwortlich. Dazu zählen auch Dritte, die Seiten oder Dienstleistungen betreiben, auf welche die Dienstleistungen verlinkt sind. Die Aufnahme eines Links in die Dienstleistungen bedeutet keine Unterstützung der verlinkten Seite oder Leistung unsererseits oder seitens unserer verbundenen Unternehmen und sie ist auch kein Hinweis auf eine Zugehörigkeit zu diesem Dritten.","privacy_policy_view_links_paragraph_two":"Bitte beachten Sie, dass wir nicht für die Erfassungs-, Nutzungs- oder Offenlegungsrichtlinien und -praktiken (einschließlich Datenschutzpraktiken) anderer Organisationen, wie die anderer App-Entwickler, App-Anbieter, Anbieter von Plattformen für soziale Medien, Betriebssystemanbieter oder WLAN-Anbieter verantwortlich sind. Ebenso sind wir nicht für Informationen verantwortlich, die Sie gegenüber anderen Organisationen über oder in Verbindung mit unseren Software-Anwendungen oder Seiten in den sozialen Medien offenlegen.","privacy_policy_view_minors_header":"Minderjährige","privacy_policy_view_minors_paragraph":"Die Dienstleistungen richten sich nicht an Personen, die jünger als sechzehn (16) Jahre sind und wir bitten darum, dass diese Personen Tesla keine Informationen zur Verfügung stellen.","privacy_policy_view_offers_eu":"Ja, ich möchte gerne Marketing-Mitteilungen per E-Mail empfangen. Dazu gehören Umfragen, Aktionen, sowie Angebote von Produkten und Dienstleistungen durch Tesla und Tesla-Partnern. Ich habe das Recht, diese Zustimmung jederzeit zurückzuziehen. Weitere Informationen: {legalLink}.","privacy_policy_view_offers_title":"Zustimmung Zum Empfang Von Marketing-Informationen","privacy_policy_view_offers_usa":"Ich erlaube Tesla mich per automatischer Text- oder Sprachnachricht auf der angegebenen Nummer zu kontaktieren.","privacy_policy_view_powerwall_warranty":"Tesla Powerwall Garantie","privacy_policy_view_privacy_policy":"Anmerkung Zum Datenschutz","privacy_policy_view_privacy_policy_agreement_eu":"Ich, der Hauseigentümer, habe die Tesla Datenschutzrichtlinien in Gänze durchgelesen und stimme der Verarbeitung meiner persönlichen Angaben durch Tesla, wie in den Tesla Datenschutzrichtlinien beschrieben, zu. Ich habe das Recht, diese Zustimmung jederzeit zurückzuziehen, wie in den Tesla Datenschutzrichtlinien dargelegt.","privacy_policy_view_privacy_policy_agreement_usa_australia":"Ich, der Eigentümer, habe die gesamte Tesla Datenschutzerklärung gelesen und stimme der Verarbeitung und Nutzung meiner privaten Daten der Datenschutzerklärung entsprechend zu.","privacy_policy_view_privacy_shield":"Privacy Shield Datenschutzrichtlinie","privacy_policy_view_retention_period_header":"Aufbewahrungsfrist","privacy_policy_view_retention_period_paragraph":"Wir bewahren Informationen, die wir von Ihnen oder über unsere Kunden, unsere Produkte und die Dienstleistungen erfassen, so lange auf, wie es erforderlich ist um die in dieser Datenschutzrichtlinie dargestellten Zwecke zu erfüllen, es sei denn eine längere Aufbewahrungsfrist ist rechtlich zulässig oder vorgeschrieben.","privacy_policy_view_security_header":"Sicherheit","privacy_policy_view_security_paragraph_one":"Wir sind bestrebt, für angemessene organisatorische, technische und verwaltungstechnische Sicherheitsmaßnahmen zu sorgen, um Informationen innerhalb unserer Organisation zu schützen. Leider kann die Sicherheit einer Datenübertragung oder eines Speichersystems niemals zu 100% garantiert werden. Wenn Sie Grund zu der Annahme haben, dass Ihre Interaktion mit uns nicht mehr sicher ist (z.B. wenn Sie glauben, dass die Sicherheit eines Ihrer Konten bei uns beeinträchtigt wurde), informieren Sie uns bitte umgehend über das Problem, indem Sie sich mit uns, wie im Abschnitt „Wie Sie uns erreichen“ unten beschrieben, in Verbindung setzen.","privacy_policy_view_security_paragraph_two":"Verkaufen oder übertragen Sie Ihr Tesla Produkt an eine andere Person, benachrichtigen Sie uns bitte, damit wird feststellen können, welche weiteren Schritte erforderlich sind, um die Informationen von Ihnen oder über Sie gegen Offenlegung gegenüber dem Käufer oder Übertragungsempfänger des Tesla-Produkts zu schützen.","privacy_policy_view_title":"Datenschutzbestimmungen ansehen","privacy_policy_view_updates_header":"Aktualisierungen dieser Richtlinie","privacy_policy_view_updates_paragraph":"Wir können diese Datenschutzrichtlinie ändern. Bitte sehen Sie sich die „Zuletzt aktualisiert am“-Legende am Seitenende an um festzustellen, wann diese Datenschutzrichtlinie das letzte Mal überarbeitet wurde. Alle Änderungen dieser Datenschutzrichtlinie werden, sobald wir die überarbeitete Datenschutzrichtlinie über die Dienstleistungen veröffentlichen, wirksam. Durch die Nutzung unserer Produkte, der Dienstleistungen oder indem Sie uns auf andere Weise Informationen nach diesen Änderungen zur Verfügung stellen, nehmen Sie die überarbeitete Datenschutzrichtlinie an.","privacy_policy_view_us_warranty_warning":"Sie müssen den Datenschutzrichtlinien zustimmen, um Ihre Powerwall zu registrieren und mit der Tesla Mobile App überwachen zu können.","privacy_policy_view_warranty_information":"Ich, der Hauseigentümer, akzeptiere die Bedingungen der Tesla Powerwall Garantie unter {warrantyLink}. In diesen Bedingungen ist eine Schlichtungsbestimmung enthalten, durch die ich auf das Recht verzichte, an Sammelklagen oder an Verfahren in Geschworenengerichten teilzunehmen. Ich kann innerhalb von 30 Tagen dieser Bestimmung widersprechen, indem ich den entsprechenden Prozess, die in der Bestimmung beschrieben ist, befolge.","prompt_factory_reset_confirmation":"Möchten Sie das Gerät wirklich auf die Werkseinstellungen zurücksetzen?","pvac-state-active":"Aktiv","pvac-state-faulted":"Fehlerhaft","pvac-state-init":"Initialisieren ...","pvac-state-standby":"Warten auf","pvac_alert_ac_fault":"AC-Fehler des Solarwechselrichters","pvac_alert_check_ac_note":"Überprüfen Sie die AC-Verkabelung und den Netzanschluss. Wechselrichter neu starten und Vorgang wiederholen.","pvac_alert_check_dc_string1_note":"Überprüfen Sie die DC-Verkabelung und die Schalttafeln von String 1. Wechselrichter neu starten und Vorgang wiederholen.","pvac_alert_check_dc_string2_note":"Überprüfen Sie die DC-Verkabelung und die Schalttafeln von String 2. Wechselrichter neu starten und Vorgang wiederholen.","pvac_alert_check_dc_string3_note":"Überprüfen Sie die DC-Verkabelung und die Schalttafeln von String 3. Wechselrichter neu starten und Vorgang wiederholen.","pvac_alert_check_dc_string4_note":"Überprüfen Sie die DC-Verkabelung und die Schalttafeln von String 4. Wechselrichter neu starten und Vorgang wiederholen.","pvac_alert_confirm_grid_code_note":"Überprüfen Sie die AC-Verkabelung und den Netzanschluss. Bestätigen Sie die ausgewählten Netzanschlussbedingungen.","pvac_alert_dc_fault_string1":"Wechselrichter-DC-Fehler - String 1","pvac_alert_dc_fault_string2":"Wechselrichter-DC-Fehler - String 2","pvac_alert_dc_fault_string3":"Wechselrichter-DC-Fehler - String 3","pvac_alert_dc_fault_string4":"Wechselrichter-DC-Fehler - String 4","pvac_alert_freq_change":"Nicht netzkonform - Frequenzänderung","pvac_alert_internal_comms":"Internes Kommunikationsproblem","pvac_alert_over_freq":"Nicht netzkonform - Überfrequenz","pvac_alert_over_temp":"Wechselrichter-Übertemperatur","pvac_alert_over_voltage":"Nicht netzkonform - Überspannung","pvac_alert_production_limited_note":"Die Produktion kann eingeschränkt sein. Stellen Sie sicher, dass die Kabel ordnungsgemäß angeschlossen sind, ein ausreichender Luftstrom vorhanden ist und die Installationsumgebung stimmt.","pvac_alert_reboot_note":"Wechselrichter neu starten, sicherstellen, dass das System auf dem neuesten Stand und vollständig in Betrieb ist.","pvac_alert_under_freq":"Nicht netzkonform - Unterfrequenz","pvac_alert_under_voltage":"Nicht netzkonform - Unterspannung","pvi-power-status-dc-only":"Nur Gleichstrom","pvi-power-status-disabled":"Deaktiviert","pvi-power-status-enabled":"Aktiviert","pvi-reset-button-label":"Starten Sie den Wechselrichter neu und löschen Sie Warnmeldungen","pvs-self-test-1":"Selbsttest (1/6): Erdschluss","pvs-self-test-2":"Selbsttest (2/6): Lichtbogenfehler","pvs-self-test-3":"Selbsttest (3/6): MCI","pvs-self-test-4":"Selbsttest (4/6): Isolation","pvs-self-test-5":"Selbsttest (5/6): Relais-Schweißung","pvs-self-test-6":"Selbsttest (6/6): Impedanz","pvs_alert_check_arc_fault_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Lichtbogenfehler.","pvs_alert_check_dc_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Erdschlussprobleme.","pvs_alert_check_dc_string1_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Isolationsprobleme, mit Schwerpunkt auf String 1.","pvs_alert_check_dc_string2_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Isolationsprobleme, mit Schwerpunkt auf String 2.","pvs_alert_check_dc_string3_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Isolationsprobleme, mit Schwerpunkt auf String 3.","pvs_alert_check_dc_string4_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und Schnellabschaltgeräte auf Isolationsprobleme, mit Schwerpunkt auf String 4.","pvs_alert_check_dc_strings_note":"Überprüfen Sie die DC-Verkabelung, Anschlüsse, Schalttafeln und String-Konfigurationen.","pvs_alert_dc_arc_fault_detected":"Gleichstrom-Lichtbogenfehler - Erkannt","pvs_alert_dc_arc_fault_lockout":"Gleichstrom-Lichtbogenfehler - Sperre","pvs_alert_dc_ground_fault":"Gleichstrom-Erdschlussfehler","pvs_alert_dc_isolation_string1":"Gleichstrom-Isolationsproblem - String 1","pvs_alert_dc_isolation_string2":"Gleichstrom-Isolationsproblem - String 2","pvs_alert_dc_isolation_string3":"Gleichstrom-Isolationsproblem - String 3","pvs_alert_dc_isolation_string4":"Gleichstrom-Isolationsproblem - String 4","pvs_alert_dc_over_voltage":"Gleichstrom-Überspannung","pvs_alert_rapid_shutdown":"Schnellabschaltung ist eingeleitet","pvs_alert_rapid_shutdown_note":"Wechselspannungstrennschalter und Niederspanungs-Schnellabschaltungskreis prüfen.","registration_container_continue_header":"Eingegebene E-Mail-Adresse des Kunden: {email}","registration_container_continue_modal_description":"Mit einer falschen E-Mail-Adresse kann der Kunde nicht auf die Tesla Mobile App zugreifen. Prüfen Sie, ob die E-Mail-Adresse des Kunden korrekt ist.","registration_container_customer_email_required":"Für die Aktivierung der Tesla Mobile App ist die E-Mail-Adresse des Kunden erforderlich.","registration_container_customer_information_title":"Kundeninformation","registration_container_fill_required_fields":"Alle Felder sind durch den Installateur oder den Kunden auszufüllen.","registration_container_loading_modal_registering":"Registrierung läuft","registration_container_reset_form_modal_description":"Bitte bestätigen Sie, dass Sie das Formular tatsächlich zurücksetzen möchten.","registration_container_reset_form_modal_header":"Alle zuvor eingegebenen Informationen werden gelöscht.","security_container_settings_title_customer":"Passwort ändern oder zurücksetzen (Kunde)","security_container_settings_title_installer":"Passwort ändern oder zurücksetzen (Installateur)","security_view_copied_to_clipboard":"Kopiert!","security_view_not_wifi_qr_code_error":"Kein WLAN-QR-Code.","security_view_scan_qr_code_not_found_error":"Kein QR-Code gefunden.","security_view_settings_change_password_error":"Die neuen Kennwörter stimmen nicht überein.","security_view_settings_change_password_label":"PASSWORT ÄNDERN","security_view_settings_completed":"FERTIG","security_view_settings_new_password_label":"NEUES PASSWORT","security_view_settings_old_password":"AKTUELLES PASSWORT","security_view_settings_password_change_info":"Geben Sie zum Ändern des Passworts bitte das aktuelle Passwort und ein neues Passwort ein.","security_view_settings_password_customer":"PASSWORT","security_view_settings_password_customer_placeholder":"letzten 5 Zeichen des Passworts (Gatewayaufkleber)","security_view_settings_password_installer_label":"Gateway Passwort","security_view_settings_password_reset_info":"Betätigen Sie zum Zurücksetzen des Passworts den Schalter an der Powerwall, und geben Sie anschließend die letzten 5 Zeichen der Gateway-Seriennummer ein.","security_view_settings_password_reset_info_serial":"Betätigen Sie zum Zurücksetzen des Kennworts den Schalter an der Powerwall, und geben Sie anschließend die letzten 5 Zeichen der Gateway-Seriennummer ein.","security_view_settings_password_reset_installer_info":"Betätigen Sie zum Zurücksetzen des Passworts den Schalter an der Powerwall, und geben Sie anschließend die Gateway-Seriennummer ein.","security_view_settings_password_reset_installer_info_serial":"Betätigen Sie zum Zurücksetzen des Kennworts den Schalter an der Powerwall, und geben Sie anschließend die Gateway-Seriennummer ein.","security_view_settings_re_enter_password_label":"NEUES PASSWORT ERNEUT EINGEBEN","security_view_settings_reset_password_label":"PASSWORT ZURÜCKSETZEN","security_view_settings_serial_customer":"SERIENNUMMER","security_view_settings_serial_customer_placeholder":"Letzte 5 Zeichen der Gateway-Seriennummer","security_view_settings_serial_installer_label":"Gateway-Seriennummer","security_view_settings_success":"Passwort wurde aktualisiert","security_view_settings_success_new_password":"Das neue Passwort lautet:","security_view_settings_toggled_password":"Passwort vergessen?","self_test_result_viewer_resi_only":"Selbsttest-Protokollanzeige ist nicht verfügbar.","self_test_results_viewer_collapse_all":"Alle einklappen","self_test_results_viewer_column_name":"Name","self_test_results_viewer_column_result":"Ergebnis","self_test_results_viewer_column_spec":"Spezifikation","self_test_results_viewer_column_test_time":"Testzeit","self_test_results_viewer_column_value":"Wert","self_test_results_viewer_expand_all":"Alle ausklappen","self_test_results_viewer_failed":"Fehlgeschlagen","self_test_results_viewer_in_progress":"In Bearbeitung","self_test_results_viewer_inconclusive":"Unklar","self_test_results_viewer_not_started":"Nicht gestartet","self_test_results_viewer_passed":"bestanden","self_test_results_viewer_skipped":"Übersprungen","self_test_results_viewer_warning":"Warnung","settings_container_confirm_reset_operation_mode":"Bestätigen Sie den Wechsel in den Modus {operation}","settings_container_heco_modal_description":"Diese Einstellung kann nach der Auswahl nicht mehr geändert werden. Bestätigen Sie, dass der Kunde derzeit beim HECO-Batterie-Bonusprogramm angemeldet ist, bevor Sie Ihre Auswahl senden.","settings_container_heco_modal_title":"Anmeldung bestätigen","settings_container_heco_view_description":"Die Powerwall entlädt sich täglich mit der vereinbarten Kapazität, um die Anforderungen des Programms zu erfüllen. Diese Einstellung kann nach der Aktivierung nicht mehr geändert werden.","settings_container_heco_view_scheduled_dispatch_start_time":"Startzeit","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"HECO geplanter Versand","settings_container_heco_view_title":"HECO-Batterie-Bonusprogramm","settings_container_operation_modes_modal_content":"Wechseln Sie den Betriebsmodus über den Bildschirm ‚Anpassen‘ der Tesla Mobile App.","settings_container_operation_modes_modal_reset":"MODUS ZURÜCKSETZEN","settings_container_operation_modes_modal_title":"Betriebsmodus","settings_container_operation_modes_modal_warning":"Diese Änderung kann nicht rückgängig gemacht werden. Erweiterte Modi können nur über die Tesla Mobile App wieder aktiviert werden.","settings_container_operation_modes_reset_modal_title":"Betriebsmodus zurücksetzen?","settings_container_operation_settings_subtitle":"Benennen Sie ihr System, Einstellungen für Betriebsmodus und Exportlimits.","settings_container_operation_settings_title":"Betriebseinstellung","settings_container_save_instructions":"Klicken Sie zum Speichern auf WEITER.","settings_container_saving_site_info_modal":"Energiespar-Einstellungen der Anlage","settings_container_site_import_description":"Import-Grenzwert der Anlage ist eine optionale Einstellung. Lassen Sie dieses Feld frei, um die Importbegrenzung zu deaktivieren. Bei Aktivierung gibt diese Einstellung die Maximalleistung, die aus der Anlage in das Netz eingespeist werden darf, an.","settings_container_site_limits_header":"Anlagen-Grenzwerte","settings_view_custom_modes_label":"Voreinstellung - {mode}","settings_view_energy_reserve_heco_label":"Änderungen an der Backup-Reserve sind aufgrund der Anmeldung für das HECO-Batterie-Bonusprogramm eingeschränkt. Der Kunde kann in seiner App eine Backup-Reserve festlegen.","settings_view_energy_reserve_label":"ENERGIE RESERVE (FÜR NOTSTROM IST NICHT FÜR SELBSTNUTZUNG VERFÜGBAR)","settings_view_instruction_site_name":"Bitte Namen eingeben","settings_view_net_meter_mode":"Export-Modus","settings_view_operation_label":"BETRIEBSMODUS","settings_view_operation_set_label":"EINZUSTELLENDER BETRIEBSMODUS","settings_view_set_net_meter_mode_never_label":"Kein Export","settings_view_set_net_meter_mode_solar_label":"Solar-Export","settings_view_site_name":"HAUS NAME","settings_view_site_name_placeholder":"zB. Mein Haus","settings_view_solar_export_limitation_slider":"Solarstrom Einspeiselimit","settings_view_solar_feature":"Diese Funktion sollte nur aktiviert werden, wenn das Solarsystem nicht in das Netz einspeisen darf. Typisch in Hawaii (CSS) und Australien.","settings_view_solar_limitation":"WURDE EINE POWERWALL ZUSAMMEN MIT EINEM SOLARSYSTEM INSTALLIERT, DAS KEINE POWERWALL+ IST?","settings_view_solar_zero_export":"POWERWALL NEBEN EINEM SOLARSYSTEM OHNE EXPORT INSTALLIERT?","site_info_container_submit":"SENDEN","solar_item_view_baudrate_label":"Baudrate","solar_item_view_brand_input_label":"HERSTELLER","solar_item_view_brand_label":"Hersteller","solar_item_view_check_inverter":"Wechselrichter {id} Verbindung überprüfen","solar_item_view_connection_warning":"Verbindung konnte nicht hergestellt werden","solar_item_view_inverter_brand":"Solar Wechselrichter Hersteller","solar_item_view_inverter_communication":"Wechselrichter Kommunikation","solar_item_view_inverter_model_label":"Wechselrichter Modell","solar_item_view_ip_label":"IP Adresse","solar_item_view_model_label":"MODEL","solar_item_view_power_rating_explanation":"Dies ist die Gesamtnennleistung der PV-Anlage hinsichtlich der Module/Panelen. Zum Beispiel: geben Sie bei zehn 300W Panelen als Gesamtnennleistung 3000W an, auch wenn der PV-Wechselrichter eine Nennleistung von 2500W oder 3500W hat.","solar_item_view_pv_array_dc_power_rating":"PV-Anlage DC-Nennleistung","solar_item_view_pv_array_dc_power_rating_label":"Photovoltaik Anlagen DC Nennleistung","solar_item_view_revenue_grade":"Wirkungsgrad","solar_item_view_revenue_grade_explanation":"Nur auswählen, wenn der Wechselrichtger über einen integrierten Wirkungsgradmesser verfügt. Die Wechselrichterdaten werden dann von diesem Messer übernommen.","solar_item_view_revenue_grade_title":"Wirkungsgrad","solar_item_view_solar":"SOLAR {id}","solar_item_view_success":"ERFOLGREICH VERBUNDEN!","solar_item_view_unable":"Wechselrichter nicht erkannt","solar_list_view_continue_add_solar":"Photovoltaik Anlage hinzufügen","solar_view_continue_add_solar":"SOLAR HINZUFÜGEN","status_update_urgency_none":"Auf dem aktuellen Stand","status_update_urgency_optional":"Aktualisierung optional","status_update_urgency_required":"Aktualisierung erforderlich","status_update_urgency_unknown":"Unbekannt","success_view_awesome":"SUPER!","success_view_copied_to_clipboard":"Kopiert!","success_view_installation_complete":"Installation komplett","success_view_new_password_error_title":"Passwort des Assistenten","success_view_new_password_title":"Neues Passwort des Assistenten","success_view_password_set":"Passwort wurde bereits festgelegt","success_view_record_password":"Bitte notieren Sie dieses Passwort, bevor Sie fortfahren.","success_view_retry_registration":"REGISTRIERUNG ERNEUT VERSUCHEN","success_view_set_customer_password":"KUNDENPASSWORT FESTLEGEN","success_view_syncing_configuration":"Konfiguration synchronisieren","summary_container_company":"Unternehmen","summary_container_connection_type":"Anschluss","summary_container_email":"E-Mail-Adresse","summary_container_installer_information":"Informationen des Installateurs","summary_container_ip_address":"IP-Adresse","summary_container_location":"Standort","summary_container_meter":"Zähler Nr. {index}","summary_container_meter_information":"Zählerinformationen","summary_container_phone":"Telefonnummer","summary_container_print":"Drucken","summary_container_serial_number":"Seriennummer","summary_container_site_info":"Standortinformationen","summary_container_site_name":"Name des Standorts","summary_container_subtitle":"Produkt- und Installationsinformationen","summary_site_information":"STANDORTINFORMATIONEN","summary_view_autonomous":"Zeitbasierte Einstellung","summary_view_backup":"Ausschließlich Notstrom","summary_view_backup_capable":"Backup möglich","summary_view_backup_reserve":"NOTSTROMRESERVE","summary_view_backup_switch":"BACKUP-SWITCH","summary_view_conductor_export":"EXPORTGRENZWERT DES LEITERS","summary_view_conductor_import":"IMPORTGRENZWERT DES LEITERS","summary_view_control":"Anlagen-Regelung","summary_view_customer_version":"KUNDENVERSION","summary_view_direct":"Direkt","summary_view_disabled":"DEAKTIVIERT","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"PV-EXPORTGRENZE","summary_view_extra_programs":"EXTRA PROGRAMME","summary_view_followers":"FOLGEGERÄTE","summary_view_gateway":"GATEWAY","summary_view_grid_code":"NETZ-STANDARD","summary_view_gsm":"MOBILFUNK","summary_view_heco_battery_bonus":"HECO-Batterie-Bonus","summary_view_ip_address":"IP-ADRESSE","summary_view_leader":"FÜHRUNGSGERÄT","summary_view_mode":"MODUS","summary_view_msg_cannot_read_solar_assembly":"Stoppen Sie das System zuerst, um die Teilenummer und die Seriennummer der Powerwall+-Solar-Baugruppe zu sehen.","summary_view_network":"NETZWERK","summary_view_non_backup":"Ohne Backup","summary_view_panel_limit":"SCHALTTAFEL-MAXIMALSTROM","summary_view_part_number":"Teilenummer","summary_view_partnum":"Teil {partNumber}","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"Aggregation","summary_view_self_consumption":"Eigenverbrauch","summary_view_serial":"Serie","summary_view_serialnum":"Seriennummer {serialNumber}","summary_view_site_export":"EXPORTGRENZWERT DER ANLAGE","summary_view_site_import":"IMPORTGRENZWERT DER ANLAGE","summary_view_site_name":"NAME DES STANDORTS","summary_view_solar_assembly":"SOLAR-BAUGRUPPE","summary_view_sync":"BACKUP-MÖGLICHKEIT","summary_view_time":"ZUSAMMENFASSUNG KOMPILIERZEIT","summary_view_time_zone":"ZEITZONE","summary_view_wifi":"WLAN","system-device-follower-not-responding":"W-LAN-gekoppeltes Gerät antwortet momentan nicht","system-device-unknown-sitecontroller":"Das Gerät hat seine Untergeräte noch nicht entdeckt","system_acpw_vitals_charge":"Ladestufe: {charge}%","system_acpw_vitals_power":"Wechselstromleistung {power}","system_acpw_vitals_power_charging":"Wechselstromleistung {power} Laden","system_acpw_vitals_power_discharging":"Wechselstromleistung: {power} Entladen","system_acpw_vitals_state":"Powerwall-Status: {state}","system_acpw_vitals_voltage":"Wechselstromspannung: {voltage}","system_controller_din":"Steuergerät: {din}","system_device_alert_disabled":"Gerät deaktiviert","system_device_alert_updating":"Firmware wird aktualisiert...","system_device_gateway_not_islanding":"Es handelt sich nicht um den Inselbildungsregler.","system_device_leader":"Führungsgerät","system_device_name_backup_switch":"Backup-Switch ({sn})","system_device_name_battery_assembly":"Batterie-Baugruppe ({sn})","system_device_name_gateway":"Gateway ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus":"{role} Powerwall+","system_device_name_powerwall_plus_leader":"Haupt-Powerwall+","system_device_name_powerwall_plus_solo":"Powerwall+","system_device_name_powerwall_plus_wired":"Powerwall+ (verkabelt)","system_device_name_powerwall_plus_wireless":"Powerwall+ (drahtlos)","system_device_name_remote_meter":"Remote-Messgerät({sn})","system_device_name_solar_assembly":"Solar-Baugruppe ({sn})","system_device_name_solar_assembly_1":"Solar-Baugruppe","system_device_name_sync":"Gateway Schütz/Zählersteuerung ({sn})","system_firmware_update":"Aktualisierung: {percent}% ({step}/{numSteps})","system_gateway_din":"Gateway: {din}","system_islanding_vitals_backup_state":"Backup-Status: {backupState}","system_islanding_vitals_grid_line":"Netzleitung {lineNumber}: {v} {f}","system_islanding_vitals_island_line":"Inselleitung {lineNumber}: {v} {f}","system_overview_connected":"Mit Tesla verbunden","system_overview_disconnected":"Nicht mit Tesla verbunden","system_overview_follower":"Folge-Powerwall","system_overview_login_required":"Login erforderlich, um Systembetrieb anzuzeigen","system_overview_scanning":"Scan nach weiteren Geräten läuft...","system_overview_site_controller":"Anlagensteuerung","system_overview_updating":"Geräte werden aktualisiert ...","system_pvi_vitals_ac_solar_power":"AC Solarenergie: {power} / {current}","system_pvi_vitals_ac_solar_power_only":"AC Solarenergie: {power}","system_pvi_vitals_lifetime_energy_kwh":"Lebensdauer Energie: {energy}","system_pvi_vitals_state":"Bundesland: {message}","system_pvi_vitals_string":"String {number}: {voltage} / {current}","system_pvi_vitals_string_not_connected":"String {number}: Nicht verbunden","system_remote_meter_ct_line":"CT {n} ({location}): {value}","system_remote_meter_no_cts":"Keine CTs konfiguriert","system_rescan_button_text":"Geräte erneut scannen","system_scanning_label_text":"Scan nach weiteren Geräten läuft...","system_vitals_missing_value":"---","test_container_configure_subtitle":"Prüfen ob das System normal funktioniert.","test_container_system_test_title":"System Test","test_inverter_container_error_grid_uncompliant":"Der Test konnte nicht ausgeführt werden, da das Netz den Vorgaben nicht entspricht.","test_inverter_container_error_not_idle":"Die Powerwall muss im Ruhezustand sein um den Test auszuführen","test_inverter_container_results_error_plural_subtitle":"{num} Tests fehlgeschlagen","test_inverter_container_results_error_singular_subtitle":"{num} Test fehlgeschlagen","test_inverter_container_results_success_plural_subtitle":"{num} Tests bestanden","test_inverter_container_results_success_singular_subtitle":"{num} Test bestanden","test_inverter_container_results_success_subtitle":"Alle Tests erfolgreich ausgeführt","test_inverter_container_results_title":"Ergebnisse Wechselrichterselbsttest","test_inverter_container_title":"Wechselrichterselbsttest","test_meter_composite_view_auxiliary_meter_setup_instructions":"Mindestens ein Stromwandler (CT) pro Meter muss konfiguriert sein","test_meter_composite_view_auxiliary_meters_title":"zusätzliche Meter","test_meter_composite_view_configure_meters":"ZÄHLER KONFIGURIEREN","test_meter_composite_view_current_transformer_setup_instructions":"Mindestens einen Netz-Stromwandler (CT) oder Verbraucherstromwandler (CT) auswählen, aber nicht beides","test_meter_composite_view_external_meter_setup_instructions":"Für jeden externen Stromzähler muss mindestens ein Stromwandler festgelegt werden.","test_meter_composite_view_external_meters_title":"Externe Stromzähler","test_meter_composite_view_internal_meters_gateway_title":"Interne Stromzähler (Gateway)","test_meter_composite_view_internal_meters_title":"Interne Meter","test_meter_composite_view_no_configured_meters":"KEINE ZÄHLER KONFIGURIERT. BITTE {configure} UM FORTZUFAHREN.","test_meter_composite_view_note":"HINWEIS","test_meter_item_view_acuvim_label":"Zähler {id}: Acuvim-Stromzähler","test_meter_item_view_backup_switch_label":"Zähler {id}: Backup-Switch-Stromzähler","test_meter_item_view_configure_phases_note":"Phasen bestimmen, um die Stromwandler (CTs) für diesen Meter zu konfigurieren","test_meter_item_view_internal_meter_x_gateway_label":"Zähler {id}: Interner Primärstromzähler X (Gateway)","test_meter_item_view_internal_meter_y_gateway_label":"Zähler {id}: Interner Hilfsstromzähler Y (Gateway)","test_meter_item_view_remote_w1_wifi_label":"Zähler {id}: Remote-W-LAN","test_meter_item_view_remote_w1_wired_label":"Zähler {id}: Remote-Verkabelt","test_meter_item_view_remote_w2_wifi_label":"Zähler {id}: Remote-W-LAN","test_meter_item_view_remote_w2_wired_label":"Zähler {id}: Remote-Verkabelt","test_meter_item_view_reset":"ZURÜCKSETZEN","test_meter_item_view_site_meter_title":"Interner Netzanschluss Meter","test_meter_item_view_sync_id":"Meter Synchronisation {id}","test_meter_item_view_toggle_advanced":"Fortgeschritten","test_meter_item_view_toggle_power":"Leistung","test_meter_item_view_wifi_id":"Meter {id}","test_meter_item_view_wired_id":"Verkabelter Meter {id}","test_view_canceled_status":"Test wurde abgebrochen","test_view_failed_status":"Test ist fehlgeschlagen","test_view_idle_status":"System Testing beginnt","test_view_init_status":"Vorbereitung um Test zu starten","test_view_inverter_test_warning_message":"Falls die Solaranlage für 0 Export eingestellt ist kann die System Test Funktion des Gateways das System nicht korrekt konfigurieren. Bitte Wechselrichter für den Test abstellen.","test_view_passed_status":"Test ist erfolgreich abgeschlossen","test_view_prep_status":"Initializierung: Dies kann ein paar Minuten dauern!","test_view_running_status":"Lade Test wird ausgeführt","test_view_skip_start_system_test_text":"Bestätigen um den System Test zu überspringen","test_view_start_system_test_warning":"WARNUNG","test_view_system_test_completed_message":"System Test Abgeschlossen!","time_minute":"Minute","time_minutes":"Minuten","time_second":"Sekunde","time_seconds":"Sekunden","time_started_at":"Start um: {time}","timezone_container_subtitle":"Aufgrund von Ort und IP Adresse, helfen wir die Zeitzone auszuwählen.","timezone_container_title":"Zeitzone","timezone_view_label":"Zeitzone","toast_view_standard_title":"Hinweis","toast_view_warning_title":"Warnung","update_container_industrial_updating_description":"Der Anlagenregler startet nun automatisch neu, um das Update zu installieren. {lb1}{lb2} Warten Sie bitte 2 Minuten, stellen Sie die Verbindung zum Netzwerk der Anlagensteuerung wieder her und {refresh} anschließend","update_container_preparing_title":"Aktuellstes Update wird vorbereitet","update_container_refresh_browser":"Seite neu laden.","update_container_residential_updating_description":"Das Gateway wird jetzt neu gestartet um das neueste Update zu laden. {lb1}{lb2} Bitte 2 Minuten warten, danach erneut mit dem Gateway Netzwerk verbinden, und die Seite neu laden.","update_container_skip_title":"Update überspringen?","update_container_subtitle":"Bitte System updaten um die letzte Software und Firmware zu installieren.","update_container_subtitle_industrial":"Nach Updates suchen. Hinweis: Das Senden von Firmware-Updates zu Batterien erfolgt auf der Batterie-Seite.","update_container_title":"Update","update_container_updating_title":"System wird upgedatet","update_step_item_view_resolution_title":"Vorgeschlagene Fehlerbehebung","update_view_check_again":"KLICKEN UM ERNEUT ZU SUCHEN","update_view_check_for_update":"NACH UPDATE SUCHEN","update_view_check_for_update_industrial":"NACH UPDATE DES ANLAGENREGLERS SUCHEN","update_view_checking_update":"SUCHE NACH UPDATE","update_view_current_version":"Aktuelle Version: {version}","update_view_current_version_label":"INSTALLIERTE VERSION:","update_view_downloading":"HERUNTERLADEN","update_view_downloading_update":"Update wird heruntergeladen","update_view_no_power_cicle":"NICHT NEUSTARTEN!","update_view_percent_complete":"{percent} geladen","update_view_progress":"UPDATE FORTSCHRITT","update_view_staged":"NEUE VERSION VORBEREITET","update_view_staged_update":"Bereit für update","update_view_staging":"VORBEREITUNG","update_view_staging_update":"Update wird vorbereitet","update_view_time_remaining":"verbleibend","update_view_up_to_date":"NEUESTE VERSION IST INSTALLIERT","update_view_update_now":"JETZT UPDATEN","update_view_update_urgency_label":"Aktualisierungsstatus: {status}","update_view_updated_industrial":"Die Software der Anlagensteuerung ist auf dem neuesten Stand.","update_view_updated_residential":"Die neueste Firmware ist installiert.","update_view_wait_minutes":"BITTE EIN PAAR MINUTEN WARTEN ...","validation_phone":"Eine gültige Telefonnummer eingeben","vitals_header_subtitle_firmware_update":"Firmware-Update läuft...","vitals_header_subtitle_firmware_update_failed":"Firmware-Update fehlgeschlagen. Überprüfen Sie Freigabeschalter und Verkabelung.","vitals_header_title":"System","vitals_powerwall_state_ac_fault":"AC-Stufenfehler","vitals_powerwall_state_dc_fault":"DC-Stufenfehler","vitals_powerwall_state_grid_following":"Netzverfolgung","vitals_powerwall_state_grid_forming":"Netzformung","vitals_powerwall_state_init":"Initialisieren","vitals_powerwall_state_off":"Aus","vitals_powerwall_state_standby":"Standby","vitals_powerwall_state_support_dc":"DC-Unterstützung","warning":"WARNUNG","warning_off_grid":"Wenn Ihr System im off-grid Modus betrieben wird, wird die Versorgung innerhalb der nächsten 5 Minuten unterbrochen.","warning_on_grid":"Wenn Ihr System im on-grid Modus betrieben wird, wird der Lade oder Entladevorgang der Powerwall unterbrochen.","warning_sitemaster_container_not_running":"Der Anlagen-Master ist nicht in Betrieb","wifi_pairing_link_message":"Hinzufügen einer Powerwall mit W-LAN-Anschluss","wifi_view_find_network":"NETZWERK nach SSID suchen","wifi_view_note":"Note: Gateway ist nur mit 2.4 GHz WLAN Netzwerken kompatibel.","wifi_view_note_five_ghz":"Hinweis: Das Gateway ist sowohl mit 2,4 GHz- als auch mit 5 GHz-Drahtlosnetzwerken kompatibel.","wifi_view_readonly":"Da dies eine Folge-Powerwall ist, kann ihre drahtlose Netzwerkkonfiguration nicht bearbeitet werden.","wifi_view_security_label":"SICHERHEIT","wizard_container_commissioning_wizard":"Tesla Konfigurationsassistent","wizard_container_login_required":"Anmeldung erforderlich","wizard_container_title":"Jetzt starten.","wizard_container_verifying_login_title":"Anmeldung wird geprüft"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Errore","advanced_settings_submit":"Invia","advanced_settings_submitted":"Inviate","advanced_settings_title":"Impostazioni avanzate","alert_container_ac_phase_1_over_voltage":"Sovratensione CA","alert_container_ac_phase_1_under_voltage":"Sottotensione CA","alert_container_ac_phase_2_over_voltage":"Sovratensione CA","alert_container_ac_phase_2_under_voltage":"Sottotensione CA","alert_container_ac_phase_3_over_voltage":"Sovratensione CA","alert_container_ac_phase_3_under_voltage":"Sottotensione CA","alert_container_over_frequency":"Sovrafrequenza CA","alert_container_rate_of_change_frequency":"Tasso di variazione di frequenza CA","alert_container_under_frequency":"Sottofrequenza CA","app_container_engineering_mode_banner_message":"La Modalità assistenza Tesla non richiede l\'autenticazione. Selezionare \\"Arresta sistema\\" se si stanno apportando modifiche operative. Prima di chiudere il browser, lasciare il sistema in uno stato accettabile. Al termine, chiudere il browser perché questa modalità non richiede l\'autenticazione.","app_container_engineering_mode_title":"Modalità assistenza Tesla","app_container_firmware_update_banner_message":"Non proseguire con l\'installazione e il cablaggio e rimanere su questa pagina fino al completamento dell\'aggiornamento.","app_container_firmware_update_banner_title":"Aggiornamento firmware in corso","app_container_sitemaster_message_title":"Il sistema è attualmente in funzione. Per poter visualizzare lo stato dei gruppi batterie, è necessario arrestare il sistema. È possibile arrestare il sistema dalla home page.","app_container_sitemaster_power_supply_mode_banner_message":"Batteria che produce tensione CA per alimentare i dispositivi per l\'abbinamento e la configurazione. Pulsante per arrestare il sistema sulla pagina iniziale.","app_container_sitemaster_power_supply_mode_banner_title":"Modalità a isola","app_container_sitemaster_running_banner_title":"Sistema in funzione","auto_config_check_network_button":"Controllare la rete e attivare il Wi-Fi.","auto_config_check_system_and_summary":"Controllare le pagine Sistema e Sintesi.","auto_config_done_button_text":"Fatto","auto_config_instructions_cannot_determine_grid_connection":"Controllare il cablaggio al Backup Switch o Gateway prima di avviare il sistema.","auto_config_instructions_determining_on_grid":"Se il messaggio persiste per più di 3 minuti, controllare il cablaggio al Backup Switch o Gateway.","auto_config_instructions_finding_contactor_controller":"Se il messaggio persiste per più di 3 minuti, controllare il cablaggio al Backup Switch o Gateway.","auto_config_instructions_finding_powerwalls":"Se il messaggio persiste per più di 3 minuti, controllare il cablaggio dell\'unità Powerwall.","auto_config_instructions_lookup_failed_retry":"Scansionare l\'adesivo con il numero di serie in Bolt per eseguire la configurazione automatica dell\'unità Powerwall, quindi premere {retryButton}","auto_config_instructions_lookup_failed_wizard":"oppure {wizardButton} per configurare manualmente l\'unità Powerwall.","auto_config_instructions_missing_info_1":"Non è stato possibile eseguire la configurazione automatica dell\'unità Powerwall poiché non erano disponibili le seguenti informazioni:","auto_config_instructions_missing_info_2":"{wizardButton} per inserirle manualmente.","auto_config_instructions_missing_info_3":"{registrationButton} manualmente.","auto_config_instructions_no_grid_detected":"Controllare il cablaggio e gli interruttori prima di avviare il sistema.","auto_config_instructions_no_network_retry":"{networkLink} per eseguire la configurazione automatica dell\'unità Powerwall, quindi premere {retryButton}","auto_config_instructions_no_network_wizard":"oppure {wizardButton} per configurare manualmente l\'unità Powerwall.","auto_config_instructions_retry":"{networkLink} se il problema persiste","auto_config_instructions_retry_wizard":"oppure {wizardButton} per configurare manualmente l\'unità Powerwall.","auto_config_instructions_updating":"Prima di poter eseguire la configurazione automatica dell\'unità Powerwall è necessario un aggiornamento software. L\'aggiornamento verrà scaricato e applicato automaticamente. Potrebbe essere necessario ricollegarsi alla rete Wi-Fi dell\'unità Powerwall.","auto_config_missing_grid":"Rete per il sito del cliente","auto_config_missing_gridcode":"Codice rete per il sito del cliente","auto_config_missing_registration":"Informazioni del cliente per la registrazione del prodotto","auto_config_missing_timezone":"Fuso orario del sito del cliente","auto_config_network_button_text":"Configurazione della rete","auto_config_registration_button_text":"Inserire le informazioni del cliente","auto_config_retry_button_label":"Riprova","auto_config_run_button_label":"Configura automaticamente Powerwall","auto_config_run_wizard_button_text":"Esegui la procedura guidata","auto_config_section_title":"Configurazione automatica Powerwall","auto_config_status_cancelled":"La configurazione automatica è stata annullata. È possibile riprovare:","auto_config_status_cannot_determine_grid_connection":"Impossibile determinare la connessione alla rete.","auto_config_status_complete":"Completata correttamente","auto_config_status_determining_on_grid":"Determinazione della connessione alla rete...","auto_config_status_finding_contactor_controller":"Ricerca del controller contattore...","auto_config_status_finding_powerwalls":"Ricerca Powerwall...","auto_config_status_in_progress":"In corso","auto_config_status_lookup_failed":"Ricerca del numero di serie non riuscita","auto_config_status_missing_information":"Informazioni mancanti","auto_config_status_no_grid_detected":"Nessuna rete rilevata.","auto_config_status_no_network":"Non connesso a Tesla","auto_config_status_not_applicable":"La configurazione automatica non è necessaria o è già stata eseguita. È possibile eseguirla nuovamente:","auto_config_status_retrying":"Nuovo tentativo richiesta rete non riuscita","auto_config_status_timeout":"Timeout configurazione automatica. È possibile riprovare:","auto_config_status_updating":"Aggiornamento software necessario","auto_config_stop_system_modal_message":"Non è possibile eseguire la procedura di configurazione automatica mentre il sistema è in funzione. Arrestare il sistema e riprovare.","auto_config_stop_system_modal_title":"Impossibile avviare la configurazione automatica","battery_container_add_all_batteries_button_label":"AGGIUNGI TUTTE","battery_container_available_batteries_subtitle":"Queste batterie non faranno parte del funzionamento del sistema a meno che non vengano aggiunte a \\"Configured\\" list.","battery_container_available_batteries_title":"Gruppi batterie disponibili","battery_container_cannot_communicate":"Impossibile comunicare con il Powerwall. Controllare il cablaggio e la terminazione del bus CAN.","battery_container_cannot_communicate_with_device":"Impossibile comunicare con il dispositivo. Controllare il cablaggio e la terminazione del bus CAN.","battery_container_chinv":"VFD per compressore e riscaldatore (CHINV) {index}","battery_container_configured_batteries_label":"Gruppi batterie configurati","battery_container_configured_batteries_subtitle":"Queste batterie faranno parte del funzionamento del sistema.","battery_container_confirm_update_firmware":"L\'operazione potrebbe richiedere alcuni minuti. Non interrompere l\'aggiornamento e non uscire da questa pagina.","battery_container_dcbc":"Gruppo batterie {index}","battery_container_dcbc_comms_failure":"Errore di comunicazione. Controllare la connessione di rete all\'unità ed eseguire nuovamente la scansione.","battery_container_dcbc_dcdisconnect_opened":"La manopola di sezionamento CC è in posizione OFF.","battery_container_dcbc_door_switch_opened":"Linea di attivazione dello sportello dell\'inverter aperta. Controllare l\'interruttore dello sportello.","battery_container_dcbc_enable_line_return_low_estop":"Pulsante di arresto da remoto dell\'inverter aperto. Controllare il circuito di arresto da remoto.","battery_container_dcbc_enable_line_return_low_inv":"Linea di attivazione del sistema inverter aperta. Controllare feedback dell\'interruttore automatico.","battery_container_dcbc_enable_line_return_low_str":"La linea di attivazione per una o più file di unità Powerpack. Controllare il cablaggio e gli sportelli del Powerpack. Per la diagnosi, consultare la Guida alla risoluzione dei problemi della linea di attivazione.","battery_container_delete_button_title":"Elimina questo dispositivo","battery_container_diagnosis_incomplete":"Diagnosi incompleta. Prima di poter eseguire ulteriori controlli è necessario aggiornare il firmware.","battery_container_faults":"Guasti","battery_container_firmware_update_needed":"Necessario aggiornare il firmware.","battery_container_gateway_contactor_meter_controller":"Controller contattore/contatore gateway","battery_container_industrial_confirm_update_firmware":"Verrà aggiornato il firmware di ogni gruppo batterie e dei relativi componenti secondari.","battery_container_industrial_confirm_update_firmware_info":"Verrà aggiornato il firmware di ogni gruppo batterie in \\"Configured\\" list and its subcomponents.","battery_container_internal_communications_fault":"Errore di comunicazione interno. Controllare il cablaggio e la terminazione del bus CAN e aggiornare il firmware.","battery_container_meter_socket_adapter":"Backup Switch","battery_container_mpbc":"Gruppo batterie {index}","battery_container_mpthc":"Controller termico (MPTHC) {index}","battery_container_no_msa_detected":"Nessun Backup Switch rilevato.","battery_container_no_sync_detected":"Nessun controller contattore rilevato. Funzionalità di backup non rilevata.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN: {pn}","battery_container_pod":"Unità modulare {index}","battery_container_post":"Colonnina (LCC) {index}","battery_container_post_missing":"Colonnina mancante {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Powerstage {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"L\'unità Powerwall è spenta. Verificare che l\'interrutore sia in posizione ON.","battery_container_qbms":"Quadro di gestione batterie (QBMS)","battery_container_qhvp":"Processore ad alta tensione (QHVP)","battery_container_residential_confirm_update_firmware":"Verrà aggiornato il firmware di ogni unità Powerwall e del controller contattore (se presente).","battery_container_resolve_connectivity":"Risolvere i problemi di connettività prima di esegure un aggiornamento del firmware.","battery_container_scan":"SCANSIONA","battery_container_scan_in_progress":"SCANSIONE IN CORSO...","battery_container_scbc":"Gruppo caricatore {index}","battery_container_scthc":"Controller termico (SCTHC) {index}","battery_container_self_tests_failure":"Autodiagnosi non superata.","battery_container_self_tests_inconclusive":"Risultati autodiagnosi inconcludenti.","battery_container_self_tests_internal_error":"Autodiagnosi non riuscite a causa di un errore di sistema interno.","battery_container_self_tests_stall":"Timeout: impossibile avviare le autodiagnosi.","battery_container_self_tests_system_down":"Impossibile eseguire le autodiagnosi quando il sistema non è attivo. Avviare il sistema e riprovare.","battery_container_self_tests_updating":"Impossibile eseguire le autodiagnosi quando è in corso l\'aggiornamento delle batterie. Riprovare al termine dell\'aggiornamento.","battery_container_serial_number":"SN: {sn}","battery_container_solar_powerwall":"{index} Solar Powerwall","battery_container_starc":"Convertitore CC-CC (STARC) {index}","battery_container_stitch":"CC-CC centralina elettronica (STITCH)","battery_container_synchronizer":"Controller contattore","battery_container_unknown":"Controller bus sconosciuto {index}","battery_container_update_failed":"Aggiornamento non riuscito. Riprovare e controllare che il cablaggio e gli interruttori di attivazione non siano interrotti durante l\'aggiornamento.","battery_container_update_firmware":"AGGIORNA FIRMWARE","battery_container_update_in_progress":"AGGIORNAMENTO IN CORSO...","battery_container_waiting_to_report_firmware":"In attesa che l\'unità indichi la versione del firwmare.","battery_container_warnings":"Avvertenze","button_label_generate":"GENERA","can_reboot_message_backup":"Modalità di backup","can_reboot_message_block_update":"Aggiornamento gruppo in corso","can_reboot_message_enumeration":"Enumerazione in corso","can_reboot_message_initializing":"Inizializzazione sistema","can_reboot_message_power_flow_is_too_high":"Il flusso di potenza è troppo elevato","can_reboot_message_updating":"Aggiornamento in corso del pacchetto del sito","caution":"ATTENZIONE","charger_settings_cabinet":"Armadietto {sn} {state}","charger_settings_cabinet_posts_warning":"Questi comandi arrestano solo l\'attivazione delle colonnine e il bus AT interno dell\'armadietto. È comunque necessario isolare l\'alimentazione e seguire la procedura di sicurezza completa quando si accede agli armadietti.","charger_settings_common_bus":"Bus comune {state}","charger_settings_common_bus_warning":"Arresta solo il bus AT comune. È comunque necessario isolare l\'alimentazione e seguire la procedura di sicurezza completa quando si accede agli armadietti.","charger_settings_disabled":"disattivato","charger_settings_enabled":"attivato","charger_settings_post":"Colonnina {id} {state}","charger_settings_saving":"risparmio di {spinner}","client_protocols_container_subtitle":"Attivare o disattivare i protocolli del client.","client_protocols_container_title":"Protocolli del client","client_protocols_menu_title":"Protocolli del client","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"REST API","client_protocols_view_modbus_label":"TCP/IP Modbus","compliance_container_label_fcc_id":"FCC ID: {fccId}","compliance_container_label_ic_id":"IC: {icId}","compliance_container_label_manufacturer":"Produttore: {manufacturer}","compliance_container_label_model":"Modello: {model}","compliance_container_title":"Compatibilità","component-menu-title":"Componenti","conductor_limit":"Le batterie sono controllate per evitare di superare i limiti di corrente configurati su ogni fase dei trasformatori del conduttore. Per ulteriori informazioni su dove viene utilizzato e sui limiti da configurare, consultare la nota sull\'applicazione dei limiti del conduttore.","conductor_min_current":"Limite esportazione conduttore","control_container_add_on":"COMPONENTE AGGIUNTIVO","control_container_always_active":"SEMPRE ATTIVO","control_container_battery_ok":"CONSENTITA ESPORTAZIONE BATTERIA COMPLETA","control_container_charge_power_target":"POTENZA DI CARICA DESIDERATA","control_container_conductor_max_current":"Limite importazione conduttore","control_container_conductor_min_current_max_bound":"{mode} ha un valore massimo di 200 A","control_container_conductor_min_current_min_bound":"{mode} ha un valore minimo di 5 A","control_container_control_subtitle":"Sottotitolo comando","control_container_control_title":"Titolo comando","control_container_direct":"DIRETTO","control_container_disable":"Disattiva","control_container_discharge_power_target":"POTENZA DI SCARICA DESIDERATA","control_container_enabled":"ATTIVATO","control_container_energy_target":"ENERGIA DESIDERATA. Questo valore dovrebbe corrispondere alle dimensioni del sistema in base ai documenti di progettazione e al rapporto dell\'ispettore","control_container_error_message":"{mode} è obbligatoria","control_container_explanation_bullet_five_max_site_meter_power_kw":"Quando il carico netto è superiore a questo limite, le batterie si scaricheranno nel miglior modo possibile per evitare di superare tale limite.","control_container_explanation_bullet_five_min_site_meter_power_kw":"Quando la generazione netta è superiore a questo limite, le batterie si caricheranno nel miglior modo possibile per evitare di superare tale limite.","control_container_explanation_bullet_four_max_site_meter_power_kw":"Quando il carico netto è inferiore a questo limite, la potenza di ricarica consentita delle batterie sarà limitata.","control_container_explanation_bullet_four_min_site_meter_power_kw":"Quando la generazione netta è inferiore a questo limite, la potenza di scarica consentita delle batterie sarà limitata.","control_container_explanation_bullet_one_max_site_meter_power_kw":"Il Limite importazione sito è un\'impostazione opzionale. Lasciare questo campo vuoto per disattivare la limitazione.","control_container_explanation_bullet_one_min_site_meter_power_kw":"Il Limite esportazione sito è un\'impostazione opzionale. Lasciare questo campo vuoto per disattivare la limitazione.","control_container_explanation_bullet_three_max_site_meter_power_kw":"Limite aggregato tra tutte le fasi su tutti i contatori del sito. (Nota: quando si utilizzano contatori del carico, il contatore del sito viene calcolato utilizzando il carico, l\'energia solare e la batteria).","control_container_explanation_bullet_three_min_site_meter_power_kw":"Limite aggregato tra tutte le fasi su tutti i contatori del sito. (Nota: quando si utilizzano contatori del carico, il contatore del sito viene calcolato utilizzando il carico, l\'energia solare e la batteria).","control_container_explanation_bullet_two_max_site_meter_power_kw":"Quando attivato, il sitemaster controlla la potenza massima che è possibile importare dalla rete nel sito.","control_container_explanation_bullet_two_min_site_meter_power_kw":"Quando attivato, il sitemaster controlla la potenza massima che è possibile esportare dalla rete al sito.","control_container_explanation_export_restrictions_locked":"Determina in che modo il sistema può esportare la potenza alla rete. Una volta impostata, la normativa prevede che possa essere modificata solo contattando Tesla.","control_container_explanation_export_restrictions_unlocked":"La normativa prevede che le caratteristiche di esportazione possono essere impostate solo durante la messa in servizio iniziale. Contattare Tesla per modificarle.","control_container_explanation_nominal_system":"Questo valore dovrebbe corrispondere alle dimensioni del sistema in base ai documenti di progettazione e al rapporto dell\'ispettore.","control_container_heat_for_energy":"ENERGIA TERMICA","control_container_heat_mode":"MODALITÀ CALORE","control_container_heco_committed_capacity":"Capacità messa in servizio","control_container_heco_committed_discharge_power_W_max_bound":"{mode} ha un valore massimo di 100000 W (100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"{mode} ha un valore minimo di 100 W","control_container_loading":"Caricamento","control_container_max_site_meter_power_W_max_bound":"{mode} ha un valore massimo di 50000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"{mode} ha un valore minimo di 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} deve essere superiore o uguale a 0","control_container_max_site_meter_power_kw":"Limite importazione sito","control_container_max_site_meter_power_w":"Limite importazione sito","control_container_menu":"Menu","control_container_min_site_meter_power_kW_positive":"{mode} deve essere superiore o uguale a 0","control_container_min_site_meter_power_kw":"Limite esportazione sito","control_container_min_site_meter_power_w":"Limite esportazione sito","control_container_minimum_charge_power":"POTENZA DI CARICA MINIMA","control_container_minimum_discharge_power":"POTENZA DI SCARICA MINIMA","control_container_misc":"VARIE","control_container_net_meter_mode":"Restrizioni esportazione sito","control_container_never":"NESSUNA ESPORTAZIONE SITO","control_container_nominal_system_energy_kW_positive":"{mode} deve essere superiore o uguale a 0","control_container_nominal_system_energy_kWh_positive":"{mode} deve essere superiore o uguale a 0","control_container_nominal_system_energy_kwh":"Energia nominale del sistema","control_container_nominal_system_energy_max_error":"L\'Energia nominale del sistema supera il limite di energia massimo","control_container_nominal_system_power_kw":"Potenza nominale del sistema","control_container_nominal_system_power_max_error":"La Potenza nominale del sistema supera il limite di potenza massimo","control_container_number_error_message":"{mode} deve essere un valore numerico","control_container_power":"POTENZA","control_container_pv_only":"ESPORTAZIONE FINO A LETTURA CONTATORE FOTOVOLTAICO OK","control_container_reactive_mode":"MODALITÀ REATTIVA","control_container_real_mode":"MODALITÀ REALE","control_container_reset":"Reset","control_container_site_control":"CONTROLLO SITO","control_container_site_limits":"LIMITI SITO","control_container_site_max_power":"POTENZA MAX. SITO","control_container_site_min_power":"POTENZA MIN. SITO","control_container_submit":"Invia","control_container_submitting_control":"Invio comando","control_start":"FAI PARTIRE","control_stop":"FERMA","current_password_placeholder_text":"Immettere la password corrente","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"Amp {id}","current_transformer_item_view_battery_ct":"Batteria","current_transformer_item_view_calculated_reading":"Calcolato:","current_transformer_item_view_conductor_ct":"Conduttore","current_transformer_item_view_ct_voltage_pairing_1":"Fase L1","current_transformer_item_view_ct_voltage_pairing_2":"Fase L2","current_transformer_item_view_ct_voltage_pairing_3":"Fase L3","current_transformer_item_view_ct_voltage_pairing_default":"Fase predefinita","current_transformer_item_view_doubled_solar_ct":"PV Solare (1TA x2)","current_transformer_item_view_flip":"Girare in senso opposto","current_transformer_item_view_generator_ct":"Gruppo Elettrogeno","current_transformer_item_view_load_ct":"Carico","current_transformer_item_view_measure_pw_plus_input":"Misurazione di un inverter Powerwall+","current_transformer_item_view_measured_reading":"Per TA:","current_transformer_item_view_missing_ct":"Mancante","current_transformer_item_view_no_reading":"Nessuna misura","current_transformer_item_view_none_ct":"Non Disponibile","current_transformer_item_view_phase_sequence_dropdown_title":"Fase","current_transformer_item_view_site_ct":"Sito","current_transformer_item_view_smart_ct":"Smart","current_transformer_item_view_solar_ct":"PV / Solare","current_transformer_item_view_solar_rgm_ct":"Solo ricavo da fotovoltaico","current_transformers_container_800a_ct_ensure":"Assicurati che la selezione dei TA in questa pagina combaci con quelli installati","current_transformers_container_800a_ct_larger":"I TA da 800A sono fisicamente più grandi che quelli da 200/264 A","current_transformers_container_800a_ct_use_case":"Quando stai misurando cavi di sezione grande (portata 400A / 800A), usa e configura i TA da 800A","current_transformers_container_amps_explanation":"Corrente che passa attraverso il trasformatore di corrente","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Assicurati che il TA sia installato nella fase corretta ({sequence}).","current_transformers_container_configure_subtitle":"Configura i trasduttori di corrente per il/i meter contatori","current_transformers_container_ct_flipping_ensure_direction":"Assicurati che l\'etichetta del TA sia rivolta verso l\'inverter solare (PV-solare) o verso il contatore di scambio (sito). Poi assicurati che la fase, la corrente, la tensione e il fattore di potenza siano corretti","current_transformers_container_ct_flipping_modal_title":"Gira il verso del TA via software","current_transformers_container_ct_flipping_software_incorrect_metering":"Usare il software per girare i TA installati nella fase sbagliata poterà a letture sbagliate","current_transformers_container_ct_flipping_wrong_phase":"Una lettura di potenza negativa può indicare che un TA sia posizionato nel verso o nella fase sbagliata","current_transformers_container_double_check_recommendation":"Prima di continuare effettuare un doppio controllo su cablaggio, prese di tensione, trasformatori di corrente e configurazione del contatore.","current_transformers_container_doubled_solar_ct_explanation":"Un singolo trasformatore di corrente può essere usato per misurare un inverter fotovolaico bilanciato","current_transformers_container_doubled_solar_ct_modal_title":"Misurazione di un inverter fotovoltaico bifase con un trasformatore di corrente","current_transformers_container_grid_code_phase_modal_title":"Avvertenza: Il numero di trasformatori di corrente non corrisponde all\'indicazione di fase del codice rete","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Avvertenza: Il numero di trasformatori di corrente non corrisponde all\'indicazione di fase del codice rete per più contatori","current_transformers_container_grid_code_phase_multiple_warnings_message":"Numero inatteso di trasformatori di corrente collegati ai seguenti {numMeters} contatori:","current_transformers_container_grid_code_phase_warning_message":"Numero inatteso di trasformatori di corrente collegati al seguente contatore:","current_transformers_container_grid_code_single_phase_warning":"Il codice rete applicato è monofase. Solitamente i sistemi monofase sono a 1 o 3 fasi. {lb} Si consiglia un numero dispari di trasformatori di corrente (1 o 3).","current_transformers_container_grid_code_split_phase_warning":"Il codice rete applicato è bifase. Solitamente i sistemi bifase dispongono di un trasformatore di corrente su ciascun conduttore sotto tensione. {lb} Si consiglia un numero pari di trasformatori di corrente (2 o 4).","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"È necessario un contatore Neurio per inverter fotovoltaici Powerwall+ per attivare un contatore con ricavi energetici (RGM).","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Selezionare Sì se misura un inverter fotovoltaico Powerwall+. Selezionare No se misura un inverter fotovoltaico che non fa parte di un gruppo Powerwall+.","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"Misura un inverter Powerwall+?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Assicurati che l\'etichetta nel TA sia rivolta verso l\'inverter solare","current_transformers_container_label_modal_title":"Spiegazione delle etichette","current_transformers_container_load_ct_ensure":"Quando stai configurando il TA \\"carico\\", assicurati che tutti i carichi siano misurati e che i carichi backup e non backup siano misurati separatamente","current_transformers_container_load_ct_modal_title":"TA carico","current_transformers_container_load_ct_recommended":"La configurazione a \\"Carico\\" è consigliata solamente quando non è possible configurare come \\"Sito\\"","current_transformers_container_meter_id":"Contatore {id}","current_transformers_container_no_load_and_site_ct":"Non ci possono essere contatori configurati come Carico e Sito","current_transformers_container_no_loads_doubled_solar_ct_bullet":"Non ci possono essere carichi prima del TA","current_transformers_container_no_site_or_load_warning":"TA DI CARICO O SITO NON CONFIGURATI","current_transformers_container_no_solar_ct_warning":"NESSUN TRASFORMATORE DI CORRENTE SOLARE CONFIGURATO","current_transformers_container_no_solar_inverter_warning":"NESSUN INVERTER FOTOVOLTAICO CONFIGURATO","current_transformers_container_phase_usages_modal_title":"Attenzione: Il numero di TA non combacia con le impostazioni di fase","current_transformers_container_phase_usages_warning":"Il numero di fasi configurate non combacia con il numero di TA configurati. {lb} {num} TA sono raccomandati","current_transformers_container_phase_usages_warning_message":"Numero di TA non atteso associati al seguente meter:","current_transformers_container_power_amperage_configure_warning":"Il trasduttore {type} necessita di una misura positiva di potenza e di corrente per funzionare correttamente.","current_transformers_container_power_factor_explanation":"Fattore di potenza (Potenza Reale / Potenza Apparente). Mostrato solo per livelli di potenza elevati. Per comuni carichi resistivi, il fattore di potenza dovrebbe essere prossimo a 1. Un fattore di potenza basso potrebbe indicare che un trasformatore di corrente non è installato correttamente oppure che sono presenti notevoli carichi capacitivi/induttivi.","current_transformers_container_power_factor_out_of_range_warning":"La misurazione del fattore di potenza è fuori dall\'intervallo previsto. {lb} Fattore di potenza misurato: {powerFactor} PF {lb} Il contatore potrebbe essere installato non correttamente o su una fase non corretta oppure sono presenti carichi capacitivi/induttivi.","current_transformers_container_system_test_configured_incorrect":"Avvertenza: Il trasformatore di corrente {id} potrebbe essere configurato non correttamente","current_transformers_container_title":"Trasduttori di Corrente","current_transformers_container_voltage_out_of_range_warning":"La tensione è fuori intervallo. {lb} Tensione misurata: {volts} V {lb} La tensione misurata di questo trasformatore di corrente è fuori dal normale intervallo di funzionamento.","current_transformers_container_volts_explanation":"Tensione tra fase e neutro sulla presa di tensione associata al trasformatore di corrente","current_transformers_container_watts_explanation":"Potenza calcolata come corrente che passa attraverso il trasformatore di corrente moltiplicata per la tensione sulla presa di tensione associata","customer_installation_view_email_label":"E-MAIL CLIENTE","customer_installation_view_email_placeholder":"E-mail","customer_registration_view_address_label":"INDIRIZZO","customer_registration_view_address_placeholder":"Indirizzo","customer_registration_view_city_label":"CITTÀ","customer_registration_view_city_placeholder":"Città","customer_registration_view_clear_form":"Cancella il modulo","customer_registration_view_country_label":"Stato","customer_registration_view_customer_information":"INFORMAZIONI DEL CLIENTE","customer_registration_view_email_address_label":"E-MAIL","customer_registration_view_email_address_label_confirmation":"REINSERIRE E-MAIL","customer_registration_view_email_placeholder":"E-mail","customer_registration_view_family_name_label":"COGNOME","customer_registration_view_family_name_warning":"Inserire il cognome del cliente.","customer_registration_view_given_name_label":"NOME","customer_registration_view_given_name_warning":"Inserire il nome del cliente.","customer_registration_view_homeowner_family_name_placeholder":"Cognome","customer_registration_view_homeowner_given_name_placeholder":"Nome","customer_registration_view_installation_address":"INDIRIZZO DI INSTALLAZIONE","customer_registration_view_phone_number_label":"TELEFONO","customer_registration_view_phone_placeholder":"Telefono","customer_registration_view_skip_explanation":"Se saltato, il proprietario dovrà eseguire la registrazione attraverso l\'app mobile Tesla prima di ottenere l\'accesso al sistema.","customer_registration_view_state_placeholder":"Regione","customer_registration_view_state_province_region_label":"STATO/PROVINCIA/REGIONE","customer_registration_view_zip_label":"CAP","customer_registration_view_zip_placeholder":"CAP","diagnostic-alert-affected-children":"Componenti interessati ({count})","diagnostic-alerts-missing-alert-information":"Informazioni su avvisi mancanti","diagnostic-alerts-missing-data":"","diagnostic-alerts-toolbox-article":"Articolo Toolbox","diagnostic-alerts-toolbox-article-external-link":"Collegamenti esterni","diagnostic_alert_alert_name":"Nome avviso","diagnostic_alert_alert_type":"Tipo di avviso","diagnostic_alert_audience":"Pubblico","diagnostic_alert_clear_condition":"Azzera condizione","diagnostic_alert_description":"Descrizione","diagnostic_alert_display_name":"Nome visualizzato","diagnostic_alert_id":"ID avviso","diagnostic_alert_impact_category":"Categoria impatto","diagnostic_alert_latching":"Bloccaggio","diagnostic_alert_max":"Max","diagnostic_alert_min":"Min.","diagnostic_alert_name":"Nome","diagnostic_alert_node":"Nodo","diagnostic_alert_offset":"Compensazione","diagnostic_alert_payload_signals":"Segnali payload","diagnostic_alert_potential_impact":"Possibile impatto","diagnostic_alert_safety_reason":"Motivi di sicurezza","diagnostic_alert_scale":"Scala","diagnostic_alert_set_condition":"Imposta condizione","diagnostic_alert_signal_name":"Nome segnale","diagnostic_alert_signoff":"Esci","diagnostic_alert_sna_value":"Valore SNA","diagnostic_alert_supplier_dtc_name":"Nome DTC fornitore","diagnostic_alert_uiID":"ID UI","diagnostic_alert_units":"Unità","diagnostic_alert_urgent":"Urgente","diagnostic_category_item_view_alerts_description":"Avvisi sito, componente e sottocomponente","diagnostic_category_item_view_download_results":"SCARICA RISULTATI","diagnostic_category_item_view_internal_comms_description":"Controlla la connessione a tutti i dipositivi","diagnostic_category_item_view_internal_comms_title":"Comunicazione del dispositivo","diagnostic_category_item_view_live_results":"RISULTATI IN TEMPO REALE","diagnostic_category_item_view_metering_description":"Controllare connessioni contatore","diagnostic_category_item_view_metering_title":"Misurazioni","diagnostic_category_item_view_networking_description":"Controlla la connessione alla rete","diagnostic_category_item_view_networking_title":"Reti","diagnostic_category_item_view_no_selected_tests":"Nessun test selezionato","diagnostic_category_item_view_rerun_selected":"Esegui nuovamente {num} test selezionati","diagnostic_category_item_view_rerun_selected_test":"Fai ripartire i test selezionati","diagnostic_category_item_view_run_selected":"Esegui {num} test selezionati","diagnostic_category_item_view_run_selected_test":"Fai partire i test selezionati","diagnostic_category_item_view_select_all_tests":"Seleziona tutto","diagnostic_category_item_view_self_tests_description":"Avviare i test di carica/scarica sul sistema","diagnostic_category_item_view_self_tests_title":"Autodiagnosi","diagnostic_category_item_view_toggle_all_tests":"Attiva/disattiva tutto","diagnostic_input_view_blocks_label":"BLOCCHI","diagnostic_input_view_individual_test_name_label":"NOME TEST INDIVIDUALE","diagnostic_input_view_max_allowed_charge_power_label":"POTENZA MAX DI CARICA CONSENTITA","diagnostic_input_view_max_allowed_discharge_power_label":"POTENZA MAX DI SCARICA CONSENTITA","diagnostic_test_enable_line":"Pulsante laterale","diagnostic_test_item_view_ac_self_test_description":"Autodiagnosi potenza CA","diagnostic_test_item_view_ac_self_test_description_2":"Esegue una sequenza di perdita di potenza nel sistema CA. I sistemi Powerpack utilizzano le impostazioni \\"MAX_ALLOWED_POWER\\". Impostarle 0 per i sistemi Megapack e Supercharger.","diagnostic_test_item_view_dc_self_test_description":"Autodiagnosi potenza CC","diagnostic_test_item_view_dc_self_test_description_2":"Esegue una sequenza di test sul sistema CC, compresi i controlli termici.","diagnostic_test_item_view_enable_line_description":"Controlla che il tasto di accensione sia su \\"I\\" su ogni Powerwall","diagnostic_test_item_view_enable_line_resolution":"Spegni e accendi l\'interruttore laterale e prova di nuovo","diagnostic_test_item_view_individual_self_test_description":"Selezionare da un elenco di autodiagnosi disponibili sui controller bus configurati.","diagnostic_test_item_view_meter_comms_description":"Esecuzione ping comunicazioni contatore","diagnostic_test_item_view_network_connection_description":"Controlla la connessione a Internet e ai server Tesla","diagnostic_test_item_view_network_connection_resolution":"Riconfigurare reti","diagnostic_test_item_view_resolution_generic_text":"Riconfigurare {name} e riprovare","diagnostic_test_item_view_step_canceled":"Il test è stato cancellato dall\'utente","diagnostic_test_item_view_step_config_update_status":"Controlla lo stato di connessione al server Tesla","diagnostic_test_item_view_step_google_http":"Ping Google HTTP","diagnostic_test_item_view_step_google_https":"Ping Google HTTPS","diagnostic_test_item_view_step_hermes_status":"Controlla lo stato di connessione al server Tesla","diagnostic_test_item_view_step_results_ip_address":"INDIRIZZO IP","diagnostic_test_item_view_step_results_subnet_mask":"Subnet","diagnostic_test_item_view_table_header_key":"Identificativo","diagnostic_test_item_view_table_header_name":"Punto","diagnostic_test_item_view_table_header_value":"Valore","diagnostic_test_meter_comms":"Comunicazioni contatore","diagnostic_test_network_connection":"Connessione alla rete","diagnostics_composite_view_no_tests_found":"Nessun test disponibile","diagnostics_composite_view_run_all_selected_tests":"Fai partire tutti i test","diagnostics_container_industrial_disruptive_tests_description":"I seguenti test attiveranno la ventola e gli impianti termici, che produrranno rumore. Prevedere circa 30 kW di assorbimento per inverter. I seguenti test potrebbero inoltre interrompere il normale funzionamento del sistema:","diagnostics_container_required_inputs_description":"I seguenti test richiedono ulteriori input:","diagnostics_container_residential_disruptive_tests_description":"I seguenti test potrebbero interrompere la normale operatività del Gateway e del Powerwall:","diagnostics_container_stop_test_title":"Stop {name} Test?","diagnostics_container_subtitle":"Strumento di diagnostica problemi di installazione","diagnostics_container_tests_running":"Test di diagnostica in esecuzione","diagnostics_container_title":"Diagnostica","disabled_reason_battery_breaker_open":"L\'interruttore batteria è aperto","disabled_reason_checking_firmware_update":"Controllo aggiornamenti firmware","disabled_reason_config":"Disattivato dal file di configurazione","disabled_reason_excessive_voltage_drop":"Caduta di tensione eccessiva","disabled_reason_firmware_update_failed":"Aggiornamento firmware non riuscito","disabled_reason_gridcode_write_failed":"Configurazione del codice di rete non riuscita","disabled_reason_user_requested":"Disattivata su richiesta dell\'utente","dropdown_default_placeholder":"Digita...","dropdown_list_view_not_listed_label":"Non elencato: \\"{searchText}\\"","dropdown_list_view_select_all":"Seleziona tutto","dropdown_list_view_select_field":"Per favore selezionare un campo","dropdown_list_view_show_complete":"MOSTRA LISTA COMPLETA","dropdown_list_view_show_searchable":"MOSTRA LISTA CON RICERCA","enumeration_warning_details_miswired_12v":"Quando si collegano due unità Powerwall+, i 12V devono essere applicati solo sull\'unità collegata al Gateway/Backup Switch. Rimuovere 12V da tutte le successive unità Powerwall+ nella catena, quindi selezionare Riscansiona dispositivi (in fondo a questa pagina) per eliminare questa avvertenza.","enumeration_warning_details_multiple_controllers_gateway":"Scollegare il cavo di alimentazione dei controller sito di tutte le unità Powerwall+ situati in alto a destra nel gruppo fotovoltaico.","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"Scollegare il cavo di alimentazione del controller sito di Expansion Powerwall+ (non collegato al Backup Switch) situato in alto a destra nel gruppo fotovoltaico.","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"Scollegare il cavo di alimentazione dei controller sito di tutte le unità Powerwall+ situati in alto a destra nel gruppo fotovoltaico. Mettere in servizio il sistema collegandosi al Backup Gateway.","enumeration_warning_details_multiple_controllers_unknown":"In una configurazione con più unità Powerwall+ collegate tramite CAN, deve essere alimentato un solo controller sito.","enumeration_warning_details_multiple_controllers_unknown_with_details":"Deve essere attivo un solo controller del sito. Quando si usa un Backup Gateway, scollegare tutti i controller Powerwall+. Quando si usa un interruttore Backup, scollegare tutti i controller Powerwall+ tranne uno. L\'esecuzione della procedura guidata è disattivata finché è attivo solo un controller del sito.","enumeration_warning_title_miswired_12v":"Errore cablaggio 12 V","enumeration_warning_title_multiple_controllers":"Sono attivi più controller sito","error_details":"Dettagli di errore","error_item_view_check_network":"Controllare la connessione di rete.","error_item_view_disconnected":"Disconnesso dal Gateway. Controllare la connessione di rete e {refresh}","error_item_view_forgot_password":"Clicca per resettare la password","error_item_view_refresh_browser":"Aggiornare il browser.","error_item_view_try_logging_in_again":"Provare a eseguire nuovamente l\'accesso.","ethernet_view_backup_dns_label":"ESEGUI BACKUP SERVER DNS","ethernet_view_backup_dns_warning":"Server DNS di backup valido","ethernet_view_configuration_label":"CONFIGURAZIONE","ethernet_view_dhcp_label":"DHCP (indirizzo dinamico)","ethernet_view_gateway_label":"GATEWAY (OPZ.)","ethernet_view_gateway_warning":"IP (Router) Gateway valido","ethernet_view_ip_address_label":"INDIRIZZO IP","ethernet_view_ip_address_warning":"Indirizzo IP valido","ethernet_view_not_available":"Non disponibile","ethernet_view_primary_dns_label":"SERVER DNS PRINCIPALE","ethernet_view_primary_dns_warning":"Server DNS principale valido","ethernet_view_static_label":"Indirizzo statico","ethernet_view_subnet_mask_label":"MASCHERA SUB-NET (OPZ.)","ethernet_view_subnet_mask_warning":"Subnet mask valida","factory_reset_message":"Verrà ripristinato lo stato predefinito dell\'unità configurato da Tesla. L\'operazione non può essere annullata. Prima di poterla utilizzare, un installatore professionista dovrà mettere nuovamente in servizio l\'unità. Potrebbe essere necessario doversi ricollegare alla rete WiFi dell\'unità.","field_false":"Falso","field_true":"Vero","follower_powerwall_message":"Questa unità Powerwall è controllata da {leader}","follower_powerwall_title":"Powerwall secondario","form_legend_text":"Indica un campo obbligatorio","generation_container_connecting_status":"In avvio","generation_container_connection":"Inverter {id} Connessione","generation_container_connection_summary":"Durante questa procedura di connessione, è possibile disconnettersi temporaneamente dalla rete. {lb} Assicurarsi di riconnettersi alla rete corretta. Questo può richiedere fino a 3 minuti.","generation_container_subtitle":"Aggiungi qui informazioni su inverter solari e gruppi elettrogeni","generation_container_title":"Generazione","generator_item_view_disconnect_type_label":"TIPO DI INTERRUTTORE ALIMENTAZIONE","generator_item_view_generator":"GRUPPO ELETTROGENO {id}","generator_item_view_manufacturer_label":"COSTRUTTORE (OPT)","generator_item_view_model_label":"MODELLO","generator_item_view_serial_label":"NUMERO SERIALE","generator_item_view_sustained_power_label":"POTENZA IN FUNZIONAMENTO CONTINUO","generator_view_add_generator":"AGGIUNGI GRUPPO ELETTROGENO","grid_code_container_off_grid_confirmation":"Il sistema è disconnesso dalla rete?","grid_code_container_off_grid_detected":"Il sistema è disconnesso dalla rete. Controllare che è l\'impostazione corretta.","grid_code_container_off_grid_warning":"{warning}: Non è possibile determinare se il sistema è disconnesso dalla rete. Un\'impostazione incorretta potrebbe causare danni al sistema.","grid_code_container_results":"Risultati del rilevamento dello stato di Rete","grid_code_container_retrieving":"Caricamento delle Tipologie di Rete","grid_code_container_saving":"Salvataggio codice rete","grid_code_container_subtitle":"Basato sulla posizione e lettura dai contatori, trova la configurazione più adatta alla tua installazione","grid_services_view_grid_services":"Servizi di rete","heading_change_password":"Cambia password","help_view_how_password":"Trovare la password nel Gateway","help_view_how_password_description":"Apri la porta del Gateway. La password è posizionata nell\'etichetta","help_view_how_serial_number":"Individuazione del numero di serie su un gateway non di backup","help_view_how_serial_number_backup":"Individuazione del numero di serie su un gateway di backup","help_view_how_serial_number_backup_description":"Apertura porta del gateway di backup. Il numero di serie inizia con un \\"(S):\\"","help_view_how_serial_number_description":"Apertura della porta gateway. Il numero di serie inizia con un \\"(S):\\"","help_view_how_to_enable_line":"Attivazione/disattivazione dell\'unità Powerwall","help_view_how_to_enable_line_description":"Disattivare quindi attivare l\'unità Powerwall tramite l\'interruttore. In caso di più sistemi Powerwall, è sufficiente agire su un solo interruttore","hierarchy_charger":"Gruppo caricatore {name}","hierarchy_chinv":"VFD per compressore e riscaldatore (CHINV)","hierarchy_converter":"Convertitore CC-CC (STARC)","hierarchy_inverter":"Gruppo batterie {name}","hierarchy_mega_thermal_controller":"Controller termico (MPTHC)","hierarchy_missing_post":"Colonnina mancante","hierarchy_mpbc":"Gruppo batterie {name}","hierarchy_part_number":"Numero parte","hierarchy_pod":"Unità modulare","hierarchy_pods_reporting":"Reporting unità modulari","hierarchy_post":"Colonnina (LCC)","hierarchy_posts":"Colonnine","hierarchy_power_stage":"Powerstage","hierarchy_power_stages":"Powerstage","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Quadro di gestione batterie (QBMS)","hierarchy_qhvp":"Processore ad alta tensione (QHVP)","hierarchy_scthcs":"Controller termici","hierarchy_serial_number":"Numero di serie","hierarchy_sitemaster":"Sitemaster {name}","hierarchy_starcs":"Convertitori DC-DC","hierarchy_stitch":"CC-CC centralina elettronica (STITCH)","hierarchy_thermal_controller":"Controller termico (SCTHC)","higher_order_login_login_required":"Accesso necessario","higher_order_login_title":"Cominciamo.","home_container_caution":"⚠️ Attenzione","home_container_caution_deenergize":"Per disattivare l\'alimentazione del sistema in sicurezza, spegnere tutti gli interruttori dell\'unità Powerwall.","home_container_caution_energized":"Se le stringhe del fotovoltaico sono collegate, il sistema potrebbe rimanere alimentato.","home_container_inactive_meter":"Dati del contatore scaduti","home_container_inactive_meter_description":"Controlla {type} la connessione del meter","home_container_inactive_meter_timestamp":"Ultima lettura del contatore alle: {timestamp}","home_container_login_required":"Accesso necessario","home_container_missing_meter":"Il contatore è mancante","home_container_positive_meter":"Avvertenza: {type} contantore potrebbe essere configurato in modo errato","home_container_positive_meter_description":"{type} contantore richiede potenza e amperaggio positivi per essere configurato correttamente.","home_container_powerwall_error":"Errore di Sistema Powerwall","home_container_powerwall_start_error":"Impossibile avviare il sistema: {reason}","home_container_site_controller_error":"Errore di sistema Controller sito","home_container_sitemaster_alternative":"Nota: Normalmente il sistema va disattivato posizionando su OFF gli interruttori sul lato destro dei Powerwall e aprendo i relativi interruttori di circuito.","home_container_sitemaster_confirm":"Clicca Sí a fondo pagine se sei sicuro che il sistema deve essere fermato.","home_container_sitemaster_confirm_industrial":"Arrestare il sistema?","home_container_sitemaster_confirm_wizard":"Per poter eseguire la procedura guidata è necessario arrestare il sistema. Procedere e arrestare il sistema?","home_container_sitemaster_header_warning":"{warning} Questo comando fermerà il Powerwall e il normale funzionamento del sistema.","home_container_sitemaster_header_warning_industrial":"{warning} Il sistema è in uno stato tale che Tesla sconsiglia di arrestarlo. Motivo: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning} Il sistema è in uno stato tale che Tesla sconsiglia di arrestarlo. Motivo: \\"{reason}\\"","home_container_sitemaster_logging":"Mentre il sistema è spento, la raccolta dati verrà interrotta","home_container_sitemaster_reset":"Dopo aver fermato il sistema, si prega di cliccare il pulsante \\"Fai Partire...\\" per far ripartire il sistema.","home_container_sitemaster_update":"Se c\'è un aggiornamento in corso, verrà interrotto","home_container_start_powerwall":"Fai Partire il Sistema Powerwall","home_container_start_system_button":"AVVIA SISTEMA","home_container_stop_powerwall":"Ferma il Sistema Powerwall","home_container_stop_system_button":"ARRESTA SISTEMA","home_view_compliance":"COMPATIBILITÀ","home_view_download_all_logs":"Scarica tutti i rapporti","home_view_download_logs":"SCARICA RAPPORTI","home_view_download_logs_description_one":"Verrà scaricato un file compresso contenente rapporti di sistema che possono essere utili per diagnosticare i problemi del sistema operativo, del software e di rete.","home_view_download_logs_description_three":"I rapporti sono firmati e crittografati e devono essere inviati a Tesla Energy Service per essere esaminati.","home_view_download_logs_description_two":"È particolarmente utile quando il Gateway non riesce a connettersi alla rete ed è necessaria un\'avanzata risoluzione del problema.","home_view_login":"ACCESSO","home_view_logout":"DISCONNESSIONE","home_view_run_wizard":"INIZIA GUIDA","input_accept":"Accetto","input_confirm":"Confermo di aver preso visione di tutte le avvertenze del sistema.","input_consent":"Dò il mio consenso","input_decline":"Non accetto","input_no_consent":"Non dò il mio consenso","input_title_email":"Si prega di inserire un indirizzo e-mail valido: nome@nome.dominio","installation_container_relay_section_modal_title":"Relè bassa tensione del Gateway","installation_container_residual_current_device_modal_title":"Requisito di installazione per interruttori differenziali del sito","installation_container_subtitle":"Informazioni su installatore e sito","installation_container_sync_relay_usage_open_off_grid":"Aprire relè quando fuori rete","installation_container_title":"Dettagli dell\' Installazione","installation_problem_detail_site_shutdown_0":"Per riattivare il sistema:","installation_problem_detail_site_shutdown_1":"Spegnere tutti gli interruttori ON/OFF delle unità Powerwall","installation_problem_detail_site_shutdown_2":"Chiudere gli E-stop","installation_problem_detail_site_shutdown_3":"Assicurarsi che i ponticelli per lo spegnimento rapido siano correttamente installati","installation_problem_detail_site_shutdown_4":"Controllare il cablaggio del circuito di spegnimento.","installation_problem_detail_title_site_shutdown":"Circuito di spegnimento del sito attivato","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Circuito di spegnimento del sito attivato da uno spegnimento rapido di Powerwall+","installation_problem_details_pvacs_with_no_solar_rgm":"I contatori solari sono necessari solo quando si misurano gli inverter fotovoltaici che non fanno parte di un gruppo Powerwall+. I contatori che misurano l\'inverter Powerwall+ devono essere contrassegnati come tali nella pagina Trasformatori di corrente.","installation_problem_details_too_few_solar_rgm":"Il numero di trasformatori di corrente che misurano l\'inverter fotovoltaico Powerwall+ deve corrispondere al numero di inverter fotovoltaici Powerwall+. Eseguire la procedura guidata, associare il contatore Neurio se necessario e adattare la configurazione dei TA nella pagina Trasformatori di corrente.","installation_problem_details_too_many_solar_rgm":"Il numero di trasformatori di corrente che misurano l\'inverter fotovoltaico Powerwall+ deve corrispondere al numero di inverter fotovoltaici Powerwall+. Eseguire la procedura guidata e adattare la configurazione dei TA nella pagina Trasformatori di corrente.","installation_problem_title_pvacs_with_no_solar_rgm":"Il contatore solare non misura l\'inverter Powerwall+. È corretto?","installation_problem_title_site_shutdown":"Circuito di spegnimento del sito attivato. Tutte le unità Powerwall e gli inverter fotovoltaici Powerwall+ sono disattivati.","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Circuito di spegnimento del sito attivato da uno spegnimento rapido di Powerwall+ Tutte le unità Powerwall e gli inverter fotovoltaici Powerwall+ sono disattivati.","installation_problem_title_too_few_solar_rgm":"Troppo pochi contatori solari misurano l\'inverter Powerwall+","installation_problem_title_too_many_solar_rgm":"Troppi contatori solari misurano l\'inverter Powerwall+","installation_view_add_on_solar":"Estensione","installation_view_additional_connections_label":"COLLEGAMENTI AGGIUNTIVI","installation_view_back_wiring":"Retro","installation_view_backup_configuration_label":"CONFIGURAZIONE DI BACKUP","installation_view_basement_location":"Cantina","installation_view_company_label":"DITTA","installation_view_company_placeholder":"Nome della ditta","installation_view_conditioned_space_location":"Spazio confinato","installation_view_existing_solar":"Esistente","installation_view_floor_mounting":"Pavimento","installation_view_garage_location":"Garage","installation_view_home_label":"CABLAGGIO CASA","installation_view_location_label":"LUOGO DELL\' INSTALLAZIONE POWERWALL ","installation_view_modem_ethernet":"Modem cellulare via Ethernet?","installation_view_modem_wifi":"Modem cellulare via Wi-Fi?","installation_view_mounting_label":"MONTAGGIO DEL POWERWALL","installation_view_na_backup_configuration":"Non applicabile","installation_view_new_solar":"Nuovo","installation_view_none_solar":"Nessuno","installation_view_outdoor_location":"Esterno","installation_view_pad_mounting":"Basamento","installation_view_partial_home_backup_configuration":"Parte dell\'abitazione","installation_view_phone_label":"TELEFONO","installation_view_phone_placeholder":"Numero telefonico dell\'installatore","installation_view_powerline_ethernet":"Powerline via Ethernet?","installation_view_pv_panel":"Pannello fotovoltaico","installation_view_relay_enabled":"Aprire relè quando fuori rete","installation_view_relay_label":"RELÈ BASSA TENSIONE GATEWAY","installation_view_relay_options_modal_content":"Quando fuori rete o connesso a un\'altra fonte di tensione CA, questo relè sarà chiuso. {lb1} Quando fuori rete, questo relè sarà aperto. {lb1} Ad esempio, può essere usato per attivare un impianto di aria condizionata quando collegato alla rete, quindi per disattivarlo quando fuori rete per impedire all\'elevata corrente di spunto associata di sovraccaricare le unità Powerwall.","installation_view_relay_section_modal_content":"Il Gateway ha un relè integrato la cui attivazione e disattivazione sono controllate in base allo stato del sistema. {lb1} Può essere utilizzato per controllare un dispositivo esterno, ad esempio un carico o una fonte di energia secondaria. {lb1} Sul Backup Gateway 1, usare i pin 1 e 2 sul connettore ausiliario (connettore grande Phoenix verde a 9 pin). {lb1} Sul Backup Gateway 2, usare i pin 3 e 4 (GSO/GSI) sul connettore ausiliario (connettore grande Phoenix verde a 5 pin). {lb1} Questo relè ha una potenza nominale di 60 Volt/2 Amp ed è comunemente utilizzato con circuiti da 12 V o 24 V. {lb1} Per ulteriori informazioni, consultare le relative note sulla distribuzione del carico e sull\'applicazione.","installation_view_residual_current_device":"L\'interruttore differenziale è stato installato a monte del Gateway?","installation_view_residual_current_device_modal_content":"Per alcune installazioni quali reti con configurazione TT, potrebbero essere necessari interruttori differenziali (RCD) a livello di sito. {lb1}{lb2} Per ridurre il rischio di scatto degli interruttori durante il funzionamento fuori rete, Tesla raccomanda di assicurare che tutti gli interruttori differenziali a monte siano temporizzati (di tipo S) o di spostare l\'interruttore differenziale del sito dopo il contattore del Gateway, se possibile. {lb1}{lb2} Per ulteriori informazioni, consultare la Nota di applicazione protezione da guasti e RCD.","installation_view_satellite_ethernet":"Internet satellitare via Ethernet?","installation_view_satellite_wifi":"Internet satellitare via Wi-Fi?","installation_view_side_wiring":"Laterale","installation_view_solar_label":"INSTALLAZIONE DELL\'IMPIANTO FOTOVOLTAICO","installation_view_solar_panels":"Pannelli fotovoltaici","installation_view_solar_roof":"Solar Roof","installation_view_solar_type_label":"TIPO DI INSTALLAZIONE IMPIANTO FOTOVOLTAICO","installation_view_solarglass":"Solarglass","installation_view_stack_kit":"È installato il Powerwall Stack Kit?","installation_view_type_commercial":"Commerciale","installation_view_type_label":"INFORMAZIONI SULL\'INSTALLAZIONE","installation_view_type_perm_off_grid":"Permanentemente fuori rete","installation_view_type_residential":"Residenziale","installation_view_wall_mounting":"Parete","installation_view_whole_home_backup_configuration":"Tutta l\'abitazione","installation_view_wifi_extender":"Ripetitore WiFi?","installation_view_wiring_label":"CABLAGGIO DEL POWERWALL","inverter_test_view_accuracy_magnitude":"Precisione della soglia","inverter_test_view_accuracy_time":"Precisione del tempo","inverter_test_view_complete":"Completo","inverter_test_view_current_magnitude":"Valore attuale","inverter_test_view_fail":"Fallire","inverter_test_view_na":"N/A","inverter_test_view_not_run":"Non eseguito","inverter_test_view_pass":"Passare","inverter_test_view_running":"In esecuzione","inverter_test_view_set_magnitude":"Valore impostato","inverter_test_view_set_time":"Tempo impostato","inverter_test_view_test_description":"Esecuzione autotest Inverter","inverter_test_view_test_name_all":"Tutti i test","inverter_test_view_test_name_over_freq_stage_one":"Sovrafrequenza del 1˚ Stadio","inverter_test_view_test_name_over_freq_stage_two":"Sovrafrequenza del 2˚ Stadio","inverter_test_view_test_name_over_volt_one":"Sovratensione del 1˚ Stadio","inverter_test_view_test_name_over_volt_two":"Sovratensione del 2˚ Stadio","inverter_test_view_test_name_under_freq_stage_one":"Sottofrequenza del 1˚ Stadio","inverter_test_view_test_name_under_freq_stage_two":"Sottofrequenza del 2˚ Stadio","inverter_test_view_test_name_under_volt_one":"Sottotensione del 1˚ Stadio","inverter_test_view_test_name_under_volt_two":"Sottotensione del 2˚ Stadio","inverter_test_view_timestamp":"Tempo attuale","inverter_test_view_trip_magnitude":"Soglia di intervento","inverter_test_view_trip_time":"Tempo di intervento","inverter_test_view_warning":"Nota: il test dell\'inverter può richiedere fino a 20-30 minuti per inverter.","label_fail":"Fallito","label_inconclusive":"Senza risoluzione","label_pass":"Passato","legal_container_customer_policy_subtitle":"Deve essere completata dal proprietario dell\'abitazione o sito commerciale.","legal_container_customer_policy_title":"Informativa sulla Privacy & Garanzia per Utenti Tesla","legal_container_no_meters_warning":"NON CI SONO CONTATORI CONFIGURATI","legal_container_no_powerwalls_warning":"NON CI SONO POWERWALL CONFIGURATI","login_type_customer":"Cliente","login_type_engineer":"Ingegnere","login_type_installer":"Installatore","login_view_cancel_login_auth":"Annulla accesso","login_view_change_forgot_password":"PASSWORD MODIFICATA O DIMENTICATA","login_view_compliance":"COMPATIBILITÀ","login_view_customer_email_placeholder":"E-mail cliente","login_view_email":"E-MAIL","login_view_email_placeholder":"Indirizzo e-mail dell\'installatore","login_view_forgot_password":"PASSWORD DIMENTICATA","login_view_forgot_password_login_type":"Selezionare il tipo di accesso","login_view_language_label":"LINGUA","login_view_login_type_label":"TIPO DI ACCESSO","login_view_password_placeholder":"Inserire la password","login_view_start_login_auth":"AVVIA PROCEDURA DI ACCESSO","login_view_start_login_auth_how_to_enable_line_description":"Per accedere, spegnere e riaccendere l\'interruttore laterale di attivazione dell\'unità Powerwall. In caso di più sistemi Powerwall, è sufficiente agire su un solo interruttore","login_view_username":"NOME UTENTE","login_view_username_placeholder":"Nome utente","login_warning_view_expand":"Se la Configurazione Guidata non inizia, {click}","login_warning_view_firmware_update":"Quando l\'aggiornamento del firmware in corso","login_warning_view_heading":"{warning} L\'avvio della procedura guidata interrompe il funzionamento a batteria.","login_warning_view_protect_system":"Per proteggere il sistema, la Configurazione Guidata non sarò avviata","login_warning_view_stop_operation":"Forza avvio della Configurazione Guidata (Force Launch Wizard)","login_warning_view_supported_browsers":"{warning} Sono attualmente supportati solo browser web Chrome e Safari.","login_warning_view_system_force_launch":"Se vuoi far partire la Configurazione Guidata e fermare l\'operazione del sistema, selezione \\"Forza avvio della Configurazione Guidata\\".","login_warning_view_system_off_grid":"Quando la rete elettrica disconnessa","login_warning_view_warning_click":"clic per dettagli","mater_item_view_bad_barcode":"Codice a barre scansionato non corretto","mater_item_view_barcode_scan_failed":"Scansione del codice a barre non riuscita","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"Batteria","meter_aggregate_type_load":"Carico","meter_aggregate_type_site":"Sito","meter_aggregate_type_solar":"Fotovoltaico","meter_container_add_meter_error":"Verificando Contatore...","meter_container_add_meter_status":"Aggiungendo contatore...","meter_container_authorizing_status":"Autorizzando...","meter_container_decode":"Impossibile leggere numero di serie dall\'immagine.","meter_container_detecting_status":"Identificando Contatori RS-485","meter_container_failed_status":"Problema nell\'aggiungere Contatore","meter_container_reconnecting_status":"In riconnessione...","meter_container_skip_title":"Nessun contatore messo in funzione. Continuare?","meter_container_starting_status":"In avvio...","meter_container_subtitle":"Per collegarli, imposta l\'ID breve e il numero di serie dei meter / contatori. Verifica ogni meter appena entra in servizio.","meter_container_subtitle_industrial":"Immettere gli indirizzi IP e le posizioni dei contatori di energia per connettersi. Testare ogni contatore dopo la messa in servizio.","meter_container_success_status":"Contatore ѐ stato aggiunto","meter_container_title":"Contatori","meter_container_unknown_status":"Sconosciuto","meter_container_updating_status":"Aggiornamento del contatore","meter_container_verification":"Verifica del Meter {id}","meter_container_verification_gw1":"Durante la procedura di abbinamento Wi-Fi, si potrebbe essere momentaneamente disconnessi dalla rete Wi-Fi del Gateway. {lb} Assicurarsi di riconnettersi alla rete corretta. Questa procedura potrebbe richiedere fino a 3 minuti.","meter_container_verification_gw2":"La procedura di abbinamento Wi-Fi potrebbe richiedere fino a 3 minuti.","meter_container_verify_meter_error":"Verificando Contatore...","meter_container_verifying_status":"Verificando contatore...","meter_item_view_add_failed":"Impossibile aggiungere il contatore","meter_item_view_add_failed_help":"Controllare l\'ID breve e il numero di serie. Riavviare il contatore e collegarlo quando emette un suono. Se il problema persiste, eliminare il contatore e riprovare.","meter_item_view_advanced_settings":"IMPOSTAZIONI AVANZATE (OPZIONALE)","meter_item_view_battery_ct":"Batteria","meter_item_view_battery_location":"Batteria","meter_item_view_check_meter":"CONTROLLA CONNESSIONE AL CONTATORE {id}","meter_item_view_conductor_location":"Conduttore","meter_item_view_cts":"{count} trasformatori di corrente rilevati","meter_item_view_doubled_solar_location":"Valore fotovoltaico raddoppiato","meter_item_view_generator_location":"Generatore","meter_item_view_ip_address":"INDIRIZZO IP","meter_item_view_load_location":"Carico","meter_item_view_mac_address":"INDIRIZZO MAC","meter_item_view_meter_location":"POSIZIONE DEI CONTATORI","meter_item_view_none_location":"Nessuna","meter_item_view_remote_ip_address_placeholder":"Ad es. 123.123.123.123","meter_item_view_remote_mac_address_placeholder":"Ad es. 12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"Ad es. OBB1231231234, VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"Ad es. 01234","meter_item_view_serial":"NUMERO DI SERIE","meter_item_view_short_id":"ID BREVE","meter_item_view_site_ct":"Sito","meter_item_view_site_location":"Sito","meter_item_view_solar_ct":"Fotovoltaico","meter_item_view_solar_location":"Fotovoltaico","meter_item_view_solar_rgm_location":"Solo ricavo da fotovoltaico","meter_item_view_success":"CONNESSO!","meter_item_view_unable":"CONTATORE NON RAGGIUNGIBILE!","meter_item_view_upgrading":"Il contatore si sta aggiornando","meter_list_view_add":"AGGIUNGI CONTATORE WI-FI","meter_list_view_add_ip":"AGGIUNGI IP CONTATORE","meter_list_view_detect":"AGGIUNGI CONTATORE VIA RS-485","meter_list_view_enable_inverter_readings":"Attiva valori dell\'inverter batteria","meter_list_view_inverter_meter":"CONTATORI INVERTER","meter_list_view_inverter_meter_desc":"Quando attivato e se non sono configurati contatori della batteria, il Controller sito utilizzerà i valori degli inverter della batteria come contatore della batteria.","meter_msa_id":"BACKUP SWITCH {id}","meter_sync_id":"SINCRONIZZA CONTATORE {id}","meter_sync_x_id":"CONTATORE INTERNO PRINCIPALE X (GATEWAY) {id}","meter_sync_y_id":"CONTATORE AUSILIARIO INTERNO Y (GATEWAY) {id}","meter_update_modal_fetch_status_error":"Impossibile recuperare lo stato di aggiornamento del misuratore","meter_update_modal_footer":"L\'aggiornamento dello strumento può richiedere fino a 2 minuti","meter_update_modal_remaining_time":"Tempo rimanente: {seconds} secondi","meter_update_modal_timeout_error":"Il tempo è scaduto durante l\'aggiornamento del contatore","meter_update_modal_title":"L\'aggiornamento del contatore è in corso","meter_validation_container_error":"La convalida contatore non è disponibile mentre è in esecuzione il controller sito.","meter_validation_container_error_placeholder":"Convalida contatore non disponibile: {error}.","meter_validation_container_power_command":"Comando potenza","meter_validation_container_power_start":"Avvio","meter_validation_container_power_stop":"Stop","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Comando potenza reattiva","meter_validation_container_real_power_command":"Comando potenza reale","meter_validation_container_show_per_phase":"Mostra valori per fase","meter_validation_container_title":"Convalida contatore","meter_validation_container_usage":"Inviare un comando potenza e convalidare i dati del contatore. È necessario rimanere in questa pagina per mantenere continuo il comando potenza. Valori negativi indurranno il sistema a caricarsi. Valori positivi indurranno il sistema a scaricarsi.","meter_validation_control_subtitle":"Comando","meter_validation_control_title":"Titolo comando","meter_validation_disable":"Disattiva","meter_validation_loading":"Caricamento","meter_validation_menu":"Menu","meter_validation_reset":"Reset","meter_validation_submit":"Invia","meter_validation_submitting_control":"Invio comando","meter_validation_title":"Convalida contatore","meter_validation_view_apparent_power":"Potenza apparente (kVA)","meter_validation_view_battery_location":"Batteria","meter_validation_view_conductor_location":"Conduttore","meter_validation_view_current":"Corrente (A)","meter_validation_view_doubled_solar_location":"Valore fotovoltaico raddoppiato","meter_validation_view_generator_location":"Generatore","meter_validation_view_inverters":"Inverter ({length})","meter_validation_view_load_location":"Carico","meter_validation_view_meter":"Contatori ({length})","meter_validation_view_none_location":"Nessuna","meter_validation_view_pf":"Fattore di potenza","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"Media","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Totale","meter_validation_view_reactive_power":"Potenza reattiva (kVAr)","meter_validation_view_real_power":"Potenza reale (kW)","meter_validation_view_site_location":"Sito","meter_validation_view_solar_location":"Fotovoltaico","meter_validation_view_solar_rgm_location":"Solo ricavo da fotovoltaico","meter_validation_view_voltage":"Tensione (V)","meter_w1_wifi_id":"CONTATORE {id}","meter_w1_wired_id":"CONTATORE CABLATO {id}","meter_w2_wifi_id":"CONTATORE {id}","meter_w2_wired_id":"CONTATORE CABLATO {id}","meter_wifi_id":"CONTATORE {id}","meter_wired_id":"Meter cablato {id}","metrics_aggregate":"Sistema","metrics_apparent_power":"Potenza apparente ({unit})","metrics_battery":"Batteria","metrics_current":"Corrente ({unit})","metrics_meter":"Misurazione","metrics_no_metrics":"Nessuna misurazione da visualizzare.","metrics_power_factor":"Fattore di potenza","metrics_reactive_power":"Potenza reattiva ({unit})","metrics_real_power":"Potenza reale ({unit})","metrics_subtitle":"Misurazioni","metrics_voltage_l_n":"Tensione L-N ({unit})","modal_acknowledge":"AMMETTERE","modal_confirm":"Conferma","modal_exit":"CHIUDI","modal_no":"NO","modal_note":"Nota","modal_ok":"OK","modal_reconfigure":"RICONFIGURA","modal_yes":"SÌ","modbus_container_title":"Interfaccia Modbus","modbus_table_register_address":"Indirizzo","modbus_table_register_name":"Nome","modbus_table_register_type":"Tipo","modbus_table_register_value":"Valore","modbus_table_register_value_decimal":"Valore (decimale)","modbus_table_register_value_hex":"Valore (esadecimale)","msa-off-grid":"Non collegato alla rete","msa-on-grid":"Collegato alla rete","navigation_email":"E-MAIL","network-switch-menu-item":"Switch di rete","network_cellular_configured":"Configurato ma non connesso. Assicurarsi che la rete cellulare sia disponibile e che non siano presenti ostruzioni attorno all\'antenna.","network_connected":"Connesso","network_container_connect_ethernet":"Connessione via Ethernet","network_container_connect_to_internet":"Si prega di attendere mentre il sistema prova una connessione ad Internet.","network_container_connect_wifi":"Connessione a {ssid} in corso","network_container_connect_wifi_description":"Durante questa fase può essere necessaria una riconnessione alla rete dati del gateway per continuare con l\'installazione.","network_container_connman":"Powerwall, tramite gestione di connessioni, ora utilizza la miglior rete per connettersi ai server.","network_container_connman_body":"Per garantire la connessione, configurare tutti i tipi di rete:","network_container_delete_network":"Rimuovere le Reti configurate?","network_container_ethernet_and_wifi_warning":"Configurare le reti Ethernet e Wi-Fi disponibili per garantire connessione","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Configurare le reti Ethernet disponibili per garantire connessione","network_container_network_description":"Connetti ad Internet con tutte le reti disponibili.","network_container_network_subtitle":"Rete dati","network_container_no_internet_bullet_four":"Powerwall può trasmettere a Tesla dati sulle prestazioni, dando l\'opportunità ai Tecnici di Supporto di identificare problemi","network_container_no_internet_bullet_four_industrial":"I dispositivi possono inviare dati sulle prestazioni a Tesla, consentendo all\'assistenza tecnica di identificare i problemi.","network_container_no_internet_bullet_one":"La registrazione del Powerwall è trasmessa a Tesla, e attiva la garanzia di 10 anni","network_container_no_internet_bullet_three":"L\'utente può utilizzare l\'applicazione mobile Tesla per monitorare l\'utilizzo energetico e controllare Powerwall","network_container_no_internet_bullet_two":"Powerwall può ricevere aggiornamenti software da remote, permettendo miglioramenti delle prestazioni e nuove funzionalità","network_container_no_internet_bullet_two_industrial":"I dispositivi possono ricevere aggiornamenti del firmware da remoto, consentendo di migliorare le prestazioni e offrire nuove funzionalità","network_container_no_internet_bullet_zero":"È possibile determinare se è necessario un aggiornamento del firmware prima della messa in servizio","network_container_no_internet_no_cell_title":"Se sul sito di installazione è disponibile una connessione a Internet, non saltare questo passaggio. Connettersi al servizio Internet del cliente tramite la rete Ethernet (scelta consigliata) o Wi-Fi.","network_container_no_internet_title":"Se l\'installazione ha disponibile una connessione a Internet, si prega di non ignorare questo passo. Connettere Powerwall al servizio Internet dell\'utente tramite Ethernet (preferito) o Wi-Fi o create una connessione via cellulare.","network_container_no_internet_warning":"Il funzionamento senza una connessione ad Internet potrebbe influenzare i termini della garanzia Powerwall.","network_container_scan_networks":"Scansione delle Reti Wi-Fi","network_container_scan_wifi_disconnect_warning":"Attenzione: La scansione di nuove reti disconnetterà la connessione Wi-Fi.","network_container_wifi_subtitle":"Wi-Fi","network_container_wifi_warning":"Configurare le reti Wi-Fi disponibili per garantire connessione","network_disabled":"Disattivato","network_disconnected":"Non connesso","network_ethernet_configured":"Configurato ma non connesso. Controllare il collegamento del cavo Ethernet.","network_switches_container_discover_failure":"Ultimo errore individuato: {error}","network_switches_container_discover_switches":"Individua switch di rete","network_switches_container_discovered_label":"Switch di rete individuati","network_switches_container_discovering_stop_button":"Interrompi ricerca","network_switches_container_discovery_switches_running_label":"È in corso l\'individuazione degli switch di rete. Di seguito è possibile interrompere la ricerca.","network_switches_container_ip":"IP: {ip}","network_switches_container_mac":"MAC: {mac}","network_switches_container_not_supported":"Switch di rete supportati solo sui sistemi industriali.","network_switches_container_password_not_set":"La password non è impostata","network_switches_container_password_set":"La password è impostata","network_switches_container_passwords_error":"Stato impostazione password: {status}","network_switches_container_set_password_label":"Impostare la password su tutti gli switch di rete che utilizzano ancora la password predefinita di fabbrica.\\n Tutte le password saranno impostate sullo stesso valore.","network_switches_container_set_passwords":"Imposta password","network_switches_container_set_passwords_button":"Imposta password","network_switches_container_setting_passwords_button":"Impostazione della password...","network_switches_container_start_discovering_button":"Avvia individuazione","network_switches_container_start_discovery_help":"L\'individuazione degli switch di rete viene eseguita automaticamente e periodicamente ma può essere avviata tramite il pulsante Avvia individuazione.","network_switches_container_subtitle":"Visualizza switch di rete","network_switches_container_title":"Switch di rete","network_view_check_connection":"CONTROLLARE CONNESSIONE AD INTERNET","network_view_connection_failed":"NON CONNESSI!","network_view_connection_success":"SIAMO CONNESSI!","network_view_continue_no_internet":"CONTINUA SENZA CONNESSIONE AD INTERNET","network_view_default_error":"Errore collegamento","network_view_local_network_connected":"Rete locale connessa","network_view_local_network_disconnected":"Errore di rete locale","network_view_tesla_internet_connected":"Servizi Tesla e Internet connessi","network_view_tesla_internet_disconnected":"Errore di connessione ai Servizi Tesla e Internet","network_warning":"Attenzione","network_wifi_configured":"Configurato ma non connesso. Controllare le impostazioni Wi-Fi.","open_meter_validatiion_container_title":"Apri convalida contatore","operation_mode_autonomous":"Modalità autonoma","operation_mode_backup":"Solo ricarica di backup","operation_mode_self_consumption":"Modalità autoconsumo","operation_mode_site_control":"Controllo sito","overview_menu_control_title":"Controllo","overview_menu_diagnostics_title":"Diagnostica","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Connesso","overview_menu_network_no_connection":"Connessione assente","overview_menu_registration_complete":"Completa","overview_menu_registration_incomplete":"Incompleta","overview_menu_registration_pending":"In attesa della connessione ad internet","overview_menu_security_title":"Modifica o reimposta la password","overview_menu_settings_title":"Impostazioni","overview_menu_summary_title":"Riepilogo","overview_menu_system_title":"Sistema","overview_menu_update_title":"Aggiornamento software","overview_menu_view_alerts_event":"Evento","overview_menu_view_alerts_events":"Eventi","overview_menu_view_inverter_title":"Test dell\'inverter","overview_menu_view_network_title":"Rete","overview_menu_view_registration_title":"Registrazione","overview_menu_view_test_title":"Autotest","overview_meter_validation_title":"Convalida contatore","password_generate_error":"Si è verificato un errore durante la generazione di una nuova password. Verificare la connettività e la password corrente e riprovare.","password_generate_help_text":"Immettere la password esistente per generare una nuova password casuale.","password_generate_menu_title":"Cambia password","password_generate_notice":"La password è stata modificata. Registrare la nuova password prima di uscire da questa pagina.","phase_container_detect_timeout":"Controllo di fase scaduto","phase_container_detection_attempt":"Tentativo numero {num}","phase_container_grid_code_validating_modal_title":"Verifica codice di rete","phase_container_grid_compliant_description":"Rete conforme {checkmark}","phase_container_grid_modal_description":"La rete sarà confome in {time} secondi","phase_container_grid_modal_title":"In attesa di conformità di rete","phase_container_modal_description":"Il controllo delle fasi può richeidere fino a 2 minuti per Powerwall","phase_container_modal_title":"Controllo fasi in corso","phase_container_saving_phases_modal_title":"Salvataggio fasi","phase_container_subtitle":"Controlla su quale fase è installato ogni Powerwall e aggiorna lo stato della linea","phase_container_supported_error":"Nessun Powerwall rilevato. Il rilevamento della fase non è supportato.","phase_container_title":"Fase","phase_container_voltage_caution_body":"Tensione non attesa: {voltage}V sono misurati sulla fase {lineNumber}. Controlla che {lineStatus} sia la configurazione esatta per questa fase.","phase_container_warning_body":"Nessuna fase è stata selezionata come backup. In questo modo il sistema non potrà supportare i carichi in caso di blackout","phase_container_warning_modal_header":"Backup disabilitato","phase_line_id":"Fase - {id}","phase_line_item_view_line":"Fase","phase_line_item_view_line_status_backup":"Backup","phase_line_item_view_line_status_configured":"Non Backup","phase_line_item_view_line_status_not_configured":"Non configurato","phase_line_status_backup":"Backup","phase_line_status_configured":"Non Backup","phase_line_status_not_configured":"Non configurato","phase_view_detect":"Controlla le fasi","phase_view_split_phase":"Bifase","power_flow_view_go_off_grid":"DISCONNETTI DALLA RETE","power_flow_view_go_on_grid":"CONNETTI ALLA RETE","power_flow_view_grid_button_disabled_reason":"Per potersi disconnettere dalla rete è necessario avviare il sistema.","power_flow_view_grid_spinner_alt_label":"Transizione del sistema","power_flow_view_start_system":"AVVIA SISTEMA","power_flow_view_stop_system":"ARRESTA SISTEMA","powerwall_container_industrial_no_additional_title":"Nessun gruppo batterie aggiuntive trovato","powerwall_container_industrial_subtitle":"Sono elencati tutti i gruppi batterie autorilevati dal controller del sito. Se il gruppo batterie non è presente, eseguire nuovamente la scansione.","powerwall_container_industrial_subtitle_auto_detection":"Sono elencati tutti i gruppi batterie autorilevati dal controller del sito. Se un Gruppo batterie non è presente nell\'elenco, controllare le apparecchiature di collegamento, compresi i cablaggi, e verificare che i controller bus siano accesi.","powerwall_container_industrial_title":"Gruppo batterie","powerwall_container_industrial_updating":"Verifica gruppi batterie","powerwall_container_no_additional_powerwalls_description":"Si prega di leggere il manuale di installazione per suggerimenti su come risolvere problemi di cablaggio.","powerwall_container_no_additional_powerwalls_title":"Non ho trovato altri Powerwall","powerwall_container_scan_again":"RIPETI SCANSIONE","powerwall_container_scanning":"Scansione in corso","powerwall_container_scanning_for_more":"Scansione ulteriore","powerwall_container_subtitle":"Lista di tutti i Powerwall connessi al gateway. Ripeti scansione se un Powerwall non è incluso nella lista.","powerwall_container_subtitle_component_auto_detection":"Sono elencati tutti i componenti rilevati automaticamente dal Gateway. Se un componente non è presente nell\'elenco, controllare il cablaggio.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Sto controllando I Powerwall","powerwall_container_updating_note":"Nota: Questa operazione può durare fino a 60 secondi per Powerwall.","powerwall_item_view_blank_numbers":"In attesa di verifica…","powerwall_item_view_numbers":"Codice Prodotto:{partNumber} Numero di Serie:{serialNumber}","powerwall_item_view_powerwall":"POWERWALL:{id}","powerwall_pairing_cancel":"Annulla","powerwall_pairing_connect":"Collegamento","powerwall_pairing_done":"Fatto","powerwall_pairing_error_already_paired":"Abbinamento non riuscito: il dispositivo è già associato","powerwall_pairing_error_bad_pairing_response":"Abbinamento non riuscito: il dispositivo ha rifiutato l\'abbinamento Assicurarsi che il dispositivo secondario sia stato arrestato","powerwall_pairing_error_bad_qr_code":"Non è un codice QR Wi-Fi","powerwall_pairing_error_internal":"Abbinamento non riuscito: errore interno","powerwall_pairing_error_no_qr_code":"Nessun codice QR trovato","powerwall_pairing_error_no_response":"Abbinamento non riuscito: il dispositivo non ha risposto","powerwall_pairing_error_not_leader":"Abbinamento non riuscito: questo è un dispositivo secondario. Riconnettersi al dispositivo principale.","powerwall_pairing_error_prohibited_uncommissioned":"Abbinamento non riuscito: questa unità Powerwall non è stata ancora messa in servizio","powerwall_pairing_error_too_many_devices":"Abbinamento non riuscito: è già stato abbinato il numero massimo di dispositivi","powerwall_pairing_error_unknown":"Abbinamento non riuscito: Errore sconosciuto","powerwall_pairing_error_wifi_connection_failed":"Abbinamento non riuscito: Impossibile connettersi alla rete Wi-Fi. Controllare la password.","powerwall_pairing_error_wifi_not_found":"Abbinamento non riuscito: Rete Wi-Fi non trovata","powerwall_pairing_exception":"Abbinamento non riuscito: Eccezione","powerwall_pairing_instructions_2":"Per abbinare l\'unità Powerwall, inserire o scansionare l\'SSID e la password della rete Wi-Fi. Cercare il codice QR sul dispositivo.","powerwall_pairing_password_label":"Password:","powerwall_pairing_scan_qr_code":"Scansiona codice QR","powerwall_pairing_ssid_label":"SSID:","powerwall_pairing_state_complete":"Abbinamento completato. Il nuovo dispositivo potrebbe iniziare a non rispondere per un minuto o più (più a lungo se è in corso un aggiornamento). Fare clic su Fine per terminare.","powerwall_pairing_state_monitoring":"Abbinamento del nuovo dispositivo. L\'operazione potrebbe richiedere fino a un minuto.","powerwall_starting":"Powerwall si sta avviando","powerwall_view_detected_backup":"Trovato unità utilizzabile come Riserva","powerwall_view_detected_synchrometers":"Rilevata capacità del contatore","powerwall_view_failed":"PROBLEMA","powerwall_view_no_backup":"Non ho trovato unità utilizzabile come Riserva","powerwall_view_no_sync":"Non ho trovato Sincronizzatore","powerwall_view_scan":"INIZIA SCANSIONE","powerwall_view_success":"SUCCESSO","powerwall_view_synchrometer_detected":"Synchrometers trovati","powerwall_view_synchronizer_detected":"Trovato Sincronizzatore","powerwall_view_update":"VERIFICA DEI POWERWALL","privacy_policy_view_accept_warranty_title":"Accetta la Garanzia Limitata per Tesla Powerwall","privacy_policy_view_contact_bullet_one":"via e-mail su {privacyEmail};","privacy_policy_view_contact_bullet_two":"via posta ordinaria a Tesla, Inc., Attn: Legal, 45500 Fremont Boulevard, Fremont, California 94538, Stati Uniti.","privacy_policy_view_contact_header":"Come contattarci","privacy_policy_view_contact_paragraph_one":"Se ha domande o commenti o per annullare la sottoscrizione a certi servizi, si prega di contattarci:","privacy_policy_view_contact_paragraph_three":"Se l’utente si trova nello Spazio economico europeo o in Svizzera, la società controllata Tesla locale potrebbe essere l’entità responsabile del trattamento dei dati personali.","privacy_policy_view_contact_paragraph_two":"Si prega di notare che le comunicazioni via e-mail non sono sempre sicure, di conseguenza si prega di non includere informazioni sulla carta di credito o informazioni sensibili nell\'e-mail.","privacy_policy_view_cross_border_transfers_header":"Trasferimenti transfrontalieri","privacy_policy_view_cross_border_transfers_paragraph_one":"I Servizi sono controllati e gestiti dagli Stati Uniti. Le informazioni da o sull\'utente o sull\'utilizzo da parte dell’utente dei prodotti o dei Servizi possono essere conservate ed trattate in qualsiasi paese in cui abbiamo delle strutture o in cui ci avvaliamo di fornitori di servizio. Tali paesi possono non disporre di leggi sulla protezione dei dati personali analoghe a quelle del paese in cui i dati sono stati originariamente raccolti. Quando trasferiamo le informazioni da o sull\'utente o sull\'utilizzo dei nostri prodotti o dei Servizi in altri paesi, le proteggeremo così come descritto nella presente Informativa sulla Privacy. Utilizzando i nostri prodotti, i Servizi o altrimenti fornendoci informazioni, si acconsente al trasferimento di informazioni da o sull\'utente o sull\'utilizzo dei nostri prodotti o dei Servizi in paesi al di fuori del paese di residenza, inclusi gli Stati Uniti.","privacy_policy_view_cross_border_transfers_paragraph_two":"Se l\'utente si trova nello Spazio economico europeo o in Svizzera, rispettiamo i requisiti previsti dalla normativa applicabile, fornendo un\'adeguata protezione per il trasferimento di informazioni personali in paesi al di fuori dello Spazio economico europeo o della Svizzera. Tesla ha certificato la sua osservanza ai sensi del Privacy Shield UE-USA come specificato dal Dipartimento del Commercio e della Commissione Europea in riguardo al trattamento di alcuni dati personali trasferiti dallo Spazio Economico Europeo a Tesla e alle sue controllate negli Stati Uniti. La Privacy Policy Conforme al {privacyShield} si trova qui.","privacy_policy_view_devices":"Da o sull\'utente o i suoi dispositivi","privacy_policy_view_energy_products":"Da o su i prodotti energetici Tesla dell\'utente","privacy_policy_view_eu_policy_warning":"Bisogna accettare l\'Informativa sulla Privacy per registrare il Suo Powerwall e monitorarlo tramite l\'app mobile Tesla.","privacy_policy_view_eu_warranty_warning":"Se non da il suo consenso all\'Informativa sulla Privacy, potremmo non essere in grado di onorare nella sua completezza la Garanzia di dieci anni. Tesla onorerà la Garanzia per almeno quattro anni dalla data della prima installazione del suo Powerwall, in corcondanza con le esclusioni e limitazioni descritte nella Garanzia {warrantyLink}.","privacy_policy_view_grid_services":"Powerwall è in grado di aumentare l\'affidabilità della rete elettrica offrendo servizi aggiuntivi nell\'ambito di programmi opzionali forniti dalle società di servizi energetici o da terzi. Generalmente questi servizi comprendono lo scaricamento parziale del Powerwall in orari adeguati in cambio di benefit di natura economica. Inoltre ci viene richiesto di condividere le informazioni relative al tuo consumo di energia e al tuo Powerwall con le società di servizi energetici o terzi. Prima di inserirti in uno di questi programmi ti forniremo tutte le informazioni necessarie e ti daremo l\'opportunità di rinunciare. Se in quel momento decidi di non rinunciare, verrai iscritto al programma.","privacy_policy_view_grid_services_title":"Servizi Di Rete","privacy_policy_view_grid_warning":"Il consenso non è obbligatorio. Se non dai il tuo consenso, potremo darti l\'opportunità di iscriverti al programma in futuro.","privacy_policy_view_here":"qui","privacy_policy_view_homeowner_na":"Proprietario non disponibile","privacy_policy_view_homeowner_required":"Deve essere completata dal proprietario dell\'abitazione o sito commerciale.","privacy_policy_view_information_collection_devices_bullet_five":"Attraverso il browser o dispositivo: Alcune informazioni vengono raccolte dalla maggior parte dei browser o automaticamente attraverso il dispositivo dell’utente, quale l\'indirizzo Media Access Control (MAC), tipo di computer (Windows o Macintosh), risoluzione dello schermo, nome e versione del sistema operativo, produttore e modello del dispositivo, lingua, tipo e versione dell\'internet browser e nome e versione dei Servizi (quale l\'app Tesla) che l’utente utilizza. Utilizziamo queste informazioni per assicurare che i Servizi funzionino correttamente.","privacy_policy_view_information_collection_devices_bullet_four":"Offline: Possiamo raccogliere informazioni da o sull\'utente in modalità offline, ad esempio quando si visita un negozio Tesla o una struttura per riparazioni, quando si partecipa a uno dei nostri eventi, si firma per un test drive, si effettua un ordine per telefono o si contatta il nostro servizio cliente o il dipartimento vendite.","privacy_policy_view_information_collection_devices_bullet_one":"Attraverso i Servizi: Possiamo raccogliere informazioni da o sull\'utente attraverso i nostri siti web, applicazioni software, social media, messaggi e-mail o altri servizi digitali (i “Servizi”), ad esempio quando l\'utente si iscrive a una newsletter, effettua un acquisto o registra il suo prodotto con noi.","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla: I clienti che acquistano alcuni prodotti Tesla riceveranno un account My Tesla, il quale viene ospitato sul nostro sito web. Possiamo raccogliere e trattare i seguenti tipi di dati per l\'account My Tesla dell’utente che l’utente sceglie di fornirci: le informazioni sulla registrazione come cliente; lo stato dell\'ordine; garanzia e altra documentazione dei prodotti Tesla e informazioni generali sui prodotti Tesla dell’utente (incluso, ad esempio, il numero identificativo del veicolo o numero di serie di un altro prodotto, informazioni sul piano di assistenza o pacchetto connettività) moduli assicurativi, patenti, accordi finanziari e informazioni simili. In qualunque momento, l\'utente può accedere all\'account My Tesla per aggiornare le informazioni da o sull\'utente, presenti su quell\'account.","privacy_policy_view_information_collection_devices_bullet_two":"Da altre fonti: Possiamo anche ricevere informazioni sull\'utente da altre fonti, quali database pubblici, partner di marketing congiunto, installatori certificati, centri di riparazione o assistenza per veicoli di terza parte e piattaforme di social.","privacy_policy_view_information_collection_energy_products_bullet_one":"Possiamo raccogliere informazioni sul prodotto quali la data di installazione, il numero dei prodotti installati e il/i numero/i di serie.","privacy_policy_view_information_collection_energy_products_bullet_two":"Per potere fornire e migliorare i nostri prodotti energetici e i nostri servizi, possiamo raccogliere dati riguardanti il luogo in cui il prodotto è stato installato e il modo in cui è stato configurato, dati riguardanti l\'utilizzo e le prestazioni del prodotto, dati riguardanti il consumo complessivo dell\'energia dell\'abitazione dell\'utente e altri dati concernenti problemi di diagnosi.","privacy_policy_view_information_collection_header":"Informazioni che possiamo raccogliere","privacy_policy_view_information_collection_paragraph_five":"Se non si desidera più che vengano raccolti i dati sulle prestazioni o altri dati sul veicolo Tesla dell’utente, si invita a contattarci secondo quanto indicato nella sezione “Come contattarci” riportata di seguito. Si prega di notare che, se si rinuncia alla raccolta dei dati sulle prestazioni del prodotto energetico Tesla, non saremo in grado di avvisare l\'utente in tempo reale in caso di eventuali problemi sul prodotto energetico, e ciò potrebbe comportare funzionalità ridotta, grave danno o mancato funzionamento del prodotto energetico e potrebbe altresì comportare la disattivazione di diverse funzioni del prodotto energetico inclusi i periodici aggiornamenti di software e firmware.","privacy_policy_view_information_collection_paragraph_four":"Possiamo raccogliere dall’utente una varietà di informazioni da o sui prodotti energetici Tesla dell\'utente, attraverso un installatore certificato o dai prodotti installati (direttamente o attraverso una pari attrezzatura quale un inverter), incluso:","privacy_policy_view_information_collection_paragraph_one":"Raccogliamo tre tipi principali di informazioni concernenti l\'utente o il suo utilizzo dei nostri prodotti e servizi: (1) informazioni da o sull\'utente o i suoi dispositivi; (2) informazioni da o sul suo veicolo Tesla; e (3) informazioni da o sui suoi prodotti energetici Tesla. A seconda dei prodotti e servizi Tesla che l\'utente ha richiesto, posseduto o utilizzato, non tutte le seguenti informazioni potrebbero essere rilevanti nel suo caso.","privacy_policy_view_information_collection_paragraph_three":"Quando si visita il nostro sito web o si utilizzano in altro modo i nostri Servizi, possiamo utilizzare cookie, pixel tag, strumenti analitici e altre tecnologie simili per contribuire a fornire e migliorare i nostri Servizi e nel modo di seguito esposto:","privacy_policy_view_information_collection_paragraph_two":"Possiamo raccogliere informazioni da o sull\'utente (quali nome, indirizzo, numero di telefono, indirizzo e-mail, metodo di pagamento, ecc.) o sui suoi dispositivi in una varietà di modi, incluso:","privacy_policy_view_information_collection_services_bullet_five":"Si possono conoscere le prassi seguite da Google nella raccolta di informazioni e come rifiutarle scaricando il plug-in per la disattivazione di Google Analytics disponibile su {website}.","privacy_policy_view_information_collection_services_bullet_four":"Strumenti analitici: Utilizziamo servizi di analytics del sito web e delle applicazioni forniti da soggetti terzi che utilizzano i cookie e altre tecnologie simili per raccogliere informazioni sul sito web o sull\'utilizzo delle applicazioni e per segnalare i trend, senza identificare i singoli visitatori. I soggetti terzi che ci forniscono questi servizi potrebbero raccogliere informazioni sull\'utilizzo dei siti web di soggetti terzi.","privacy_policy_view_information_collection_services_bullet_one":"Cookie: I cookie sono informazioni conservate direttamente sul computer che si sta utilizzando. I cookie ci consentono di raccogliere informazioni quali il tipo di browser, il tempo trascorso sui Servizi, le pagine visitate, le preferenze sulla lingua e altri dati sul traffico web. Utilizziamo le informazioni, come anche i nostri fornitori di servizi, per fini di sicurezza, per agevolare la navigazione online, visualizzare le informazioni in modo più efficiente, per personalizzare l\'esperienza dell\'utente mentre utilizza i Servizi e analizzare in altro modo l’ attività dell’utente. Possiamo riconoscere il computer dell\'utente in modo da assisterlo nell\'utilizzo dei Servizi. Raccogliamo altresì delle informazioni a fini statistici sull\'utilizzo dei Servizi per migliorare di continuo la progettazione e la funzionalità, capire il modo in cui vengono utilizzati i servizi e assisterci nella risoluzione dei problemi inerenti ai Servizi. I cookie ci consentono inoltre di selezionare le nostre pubblicità o offerte che rispondono maggiormente ai desideri dell\'utente e che verranno visualizzate. Possiamo anche utilizzare i cookie nella pubblicità online per vedere il modo in cui l’utente interagisce con la nostra pubblicità e possiamo utilizzare i cookie o altri file per capire come l’utente utilizza altri siti.","privacy_policy_view_information_collection_services_bullet_three":"Pixel tag e altre tecnologie simili: I pixel tag (anche noti come web beacon e clear GIF) potrebbero essere utilizzati in relazione ad alcuni Servizi per, tra le altre cose, rintracciare le azioni degli utenti dei Servizi (inclusi i destinatari delle e-mail), misurare il successo delle nostre campagne pubblicitarie e compilare la statistica sull\'utilizzo dei nostri Servizi e sul tasso di risposta.","privacy_policy_view_information_collection_services_bullet_two":"Se l’utente non desidera che i propri dati vengano raccolti attraverso i cookie quando si utilizza l\'account My Tesla o il nostro sito web, esiste una semplice procedura presente sulla maggior parte dei browser che consente di rifiutare automaticamente i cookie o di rifiutare o accettare il trasferimento sul computer di determinati cookie da un sito determinato. Si può altresì fare riferimento all\'indirizzo {website}. Tuttavia, qualora non si accettino questi cookie, si potrebbero riscontrare alcuni problemi nell\'utilizzo dei nostri Servizi. Ad esempio, potremmo non essere in grado di riconoscere il computer dell\'utente e si potrebbe dovere effettuare il login ogni volta che si vuole accedere ai relativi Servizi.","privacy_policy_view_information_rights_choices_agree_eu":"Bisogna accettare l\'Informativa sulla Privacy per registrare il Suo Powerwall e monitorarlo tramite l\'app mobile di Tesla.","privacy_policy_view_information_rights_choices_agree_one":"Bisogna accettare l\'Informativa sulla Privacy per registrare il Suo Powerwall e monitorarlo tramite l\'app mobile Tesla. Non è necessaria alcuna azione aggiuntiva se non si desidera accedere alle informazioni Powerwall tramite l\'app mobile Tesla.","privacy_policy_view_information_rights_choices_bullet_one":"L\'utente può accedere al suo account My Tesla per aggiornare le informazioni da o sull\'utente, presenti su quell\'account in qualunque momento.","privacy_policy_view_information_rights_choices_bullet_two":"Se l\'utente desidera rivedere, correggere, aggiornare, sopprimere o eliminare le informazioni da o sull\'utente stesso che ci sono state fornite in precedenza, può contattarci all\'indirizzo riportato di seguito.","privacy_policy_view_information_rights_choices_header":"Diritti e opzioni","privacy_policy_view_information_rights_choices_paragraph_four":"Si prega di notare che potremmo avere necessità di conservare alcune informazioni per la tenuta dei registri o laddove ciò sia richiesto per rispettare la normativa applicabile e/o per completare qualunque transazione che è stata iniziata prima della richiesta di modifica o cancellazione (ad esempio, quando effettua un acquisto o partecipa a una promozione, l\'utente non potrà essere in grado di modificare o cancellare le informazioni fornite fino al completamento di tale acquisto o promozione). Potrebbero altresì esserci delle informazioni che resteranno nei nostri database e altri archivi che non verranno rimossi.","privacy_policy_view_information_rights_choices_paragraph_one":"Come esposto in dettaglio nelle sezioni precedenti, offriamo varie opzioni in merito alla raccolta, all’utilizzo e alla condivisione da noi effettuati delle informazioni da e sull\'utente o sull\'utilizzo dei nostri prodotti o dei Servizi. Se previsto dalla normativa applicabile, l’utente può avere il diritto di richiedere l’accesso e ricevere informazioni su alcune informazioni relative all’utente che conserviamo, fare aggiornare e correggere le informazioni inesatte e bloccare o cancellare tali informazioni, secondo necessità. Questi diritti possono essere limitati in alcune circostanze dalla normativa locale. Offriamo all\'utente diversi metodi per accedere, correggere, aggiornare o richiedere il blocco o l\'eliminazione delle informazioni da o sull\'utente inclusi:","privacy_policy_view_information_rights_choices_paragraph_three":"Daremo seguito alla richiesta dell\'utente di esercitare suddetti diritti e scelte appena ragionevolmente praticabile.","privacy_policy_view_information_rights_choices_paragraph_two":"Nell’effettuare la richiesta, si invita l’utente a evidenziare chiaramente quale informazione si desidera modificare, se si desidera eliminare dal database l\'informazione che ci è stata fornita o altrimenti farci sapere quali limitazioni si desiderano applicare al nostro utilizzo delle informazioni che ci sono state fornite. Per ragioni di protezione dell\'utente, possiamo solo dare seguito alle richieste inerenti alle informazioni associate al particolare indirizzo e-mail utilizzato per mandarci la richiesta e potremmo avere la necessità di verificare l\'identità dell\'utente prima di eseguire la richiesta.","privacy_policy_view_information_share_header":"In che modo condividiamo le informazioni che raccogliamo","privacy_policy_view_information_share_paragraph_eight":"In altre circostanze","privacy_policy_view_information_share_paragraph_eleven":"Se si desidera annullare la sottoscrizione al trattamento delle informazioni per cui è stato previamente fornito il consenso espresso, si può farlo contattandoci nel modo indicato nella sezione “Come contattarci” riportata di seguito.","privacy_policy_view_information_share_paragraph_five":"Possiamo condividere informazioni con altri soggetti terzi autorizzati dall\'utente, nelle seguenti circostanze:","privacy_policy_view_information_share_paragraph_five_point_four":"Con fornitori di account di social media, se l’utente collega l\'account dei Servizi e l\'account di un social media. Così facendo, l\'utente ci autorizza a condividere le informazioni con il fornitore dell\'account del social media e comprende che l\'utilizzo delle informazioni che condividiamo sarà disciplinato dall\'informativa sulla privacy del fornitore dell\'account del social media.","privacy_policy_view_information_share_paragraph_five_point_one":"Con i nostri installatori certificati per agevolare la fornitura dei prodotti energetici richiesti dall’utente.","privacy_policy_view_information_share_paragraph_five_point_three":"Con soggetti terzi che siano sponsor di concorsi e promozioni simili, se l’utente sceglie di parteciparvi.","privacy_policy_view_information_share_paragraph_five_point_two":"Con centri assistenza e fornitori terzi, se l’utente decide di utilizzarli. Si noti che alcune informazioni sull\'utente sono archiviate su certi prodotti Tesla e possono essere accessibili direttamente dai centri assistenza o fornitori terzi che l’utente sceglie di utilizzare per attuare la diagnosi o l\'assistenza sul prodotto Tesla.","privacy_policy_view_information_share_paragraph_four":"Con altri soggetti terzi autorizzati dall\'utente","privacy_policy_view_information_share_paragraph_nine":"Possiamo condividere le informazioni in altre circostanze, quali:","privacy_policy_view_information_share_paragraph_nine_point_one":"Con il datore di lavoro dell’utente o altro gestore delle flotte o il proprietario del prodotto Tesla, se non posseduto direttamente dall\'utente e secondo quanto consentito dalla normativa applicabile.","privacy_policy_view_information_share_paragraph_nine_point_two":"Con un soggetto terzo in relazione a una riorganizzazione, fusione, vendita, joint venture, cessione, trasferimento o altra disposizione di tutta o parte della nostra attività, beni o azioni (incluso quanto in relazione a bancarotta o simile procedura).","privacy_policy_view_information_share_paragraph_one":"Possiamo condividere le informazioni che raccogliamo con i nostri fornitori di servizi e partner commerciali, con altri soggetti terzi autorizzati dall\'utente, con altri soggetti terzi laddove richiesto dalla legge e in altre circostanze. Di seguito si riportano esempi di come e in quali circostanze condividiamo le informazioni con questi soggetti.","privacy_policy_view_information_share_paragraph_seven":"Tesla può trasferire e divulgare le informazioni, incluse le informazioni che possono o non possono identificare singolarmente l\'utente, a soggetti terzi che sono tenuti a rispettare un obbligo legale (inclusi, in via non limitativa, i casi di citazione in giudizio); quando crediamo in buona fede che la legge lo richieda; in risposta ad una legittima richiesta da parte di una pubblica autorità che conduce un\'indagine, incluso il rispetto dei requisiti di applicazione della legge; per rispondere a un\'emergenza; per prevenire o fermare un\'attività che riteniamo sia, o corra il rischio di essere, illegale, non etica o legalmente perseguibile; o per proteggere i diritti, la proprietà o la sicurezza dei Servizi, di Tesla, di soggetti terzi, dei visitatori dei nostri Servizi, o del pubblico, secondo quanto stabilito a nostra sola discrezione.","privacy_policy_view_information_share_paragraph_six":"Con altri soggetti terzi quando richiesto dalla legge","privacy_policy_view_information_share_paragraph_ten":"Non condividiamo le informazioni che identificano singolarmente l\'utente con un soggetto terzo non affiliato per scopi pubblicitari salvo che l’utente abbia acconsentito a tale condivisione.","privacy_policy_view_information_share_paragraph_three":"Possiamo condividere informazioni con i nostri fornitori di servizi e partner commerciali laddove necessario per prestare i servizi per nostro conto o per conto dell\'utente, come nelle seguenti circostanze:","privacy_policy_view_information_share_paragraph_three_point_one":"Con le controllate di Tesla ai fini descritti nella presente Informativa sulla Privacy. Le controllate di Tesla sono società possedute o controllate da Tesla, Inc. e società in cui Tesla, Inc. detiene delle sostanziali partecipazioni.","privacy_policy_view_information_share_paragraph_three_point_three":"Con altri partner commerciali di soggetti terzi nella misura in cui essi siano coinvolti nell\'acquisto o nell\'assistenza ai prodotti Tesla dell’utente. Condividiamo informazioni limitate da e su l\'utente per consentire di trarre vantaggio da quei servizi che si sceglie di utilizzare, con partner tali società finanziarie, di leasing, di registrazione e di titolo.","privacy_policy_view_information_share_paragraph_three_point_two":"Con i nostri fornitori di servizi terzi e partner di canale per la fornitura di servizi quali di website hosting, analisi e archiviazione dati, elaborazione dei pagamenti, evasione dell\'ordine e installazione del prodotto, connessione wireless ai prodotti Tesla, assistenza clienti, manutenzione prodotto o relativi servizi, consegna e-mail, elaborazione carta di credito, revisione, pubblicità, elaborazione comando vocale e altri servizi simili.","privacy_policy_view_information_share_paragraph_two":"Con i nostri fornitori di servizi e partner commerciali","privacy_policy_view_information_use_commuicate":"Per comunicare con l\'utente","privacy_policy_view_information_use_header":"In che modo utilizziamo le informazioni che raccogliamo","privacy_policy_view_information_use_other_purposes":"Per altri fini","privacy_policy_view_information_use_paragraph_five":"Possiamo anche utilizzare le informazioni che raccogliamo per altri fini, come:","privacy_policy_view_information_use_paragraph_five_point_one":"Per finalità inerenti alla gestione del nostro business, quali: analisi dei dati, verifiche, monitoraggio e prevenzione su eventuali frodi; identificare i trend di utilizzo; determinare l\'efficacia delle nostre campagne pubblicitarie e gestire ed espandere le nostre attività aziendali.","privacy_policy_view_information_use_paragraph_five_point_two":"Fatto salvo quanto descritto in precedenza e in seguito, Tesla può utilizzare o condividere le informazioni che non possono identificare singolarmente l\'utente per qualunque fine, quali scopi operativi o di ricerca, per analisi di settore, per migliorare o modificare i nostri prodotti o servizi, per meglio personalizzare i nostri prodotti e servizi alle necessità dell\'utente, e laddove legalmente richiesto.","privacy_policy_view_information_use_paragraph_four":"Possiamo utilizzare le informazioni che raccogliamo per fornire e migliorare i nostri prodotti e servizi, come:","privacy_policy_view_information_use_paragraph_four_point_five":"Analizzare e migliorare la sicurezza dei nostri prodotti e servizi.","privacy_policy_view_information_use_paragraph_four_point_four":"Sviluppare e promuovere nuovi prodotti e servizi e migliorare o modificare i nostri prodotti e servizi esistenti.","privacy_policy_view_information_use_paragraph_four_point_one":"Completare ed esaudire l\'acquisto, ad esempio, elaborare i pagamenti, fare arrivare l\'ordine, comunicare con l\'utente in merito all\'acquisto e fornire il relativo servizio clienti.","privacy_policy_view_information_use_paragraph_four_point_six":"Fornire qualunque altro servizio richiesto.","privacy_policy_view_information_use_paragraph_four_point_three":"Monitorare le prestazioni del prodotto e fornire i servizi concernenti il prodotto dell’utente.","privacy_policy_view_information_use_paragraph_four_point_two":"Fornire assistenza al prodotto Tesla dell’utente, come contattare l’utente per fornire raccomandazioni sull\'assistenza e aggiornamenti wireless per il prodotto.","privacy_policy_view_information_use_paragraph_one":"Possiamo utilizzare le informazioni che raccogliamo per comunicare con l\'utente, per fornire e migliorare i nostri prodotti e servizi e per altri fini. Di seguito vengono riportati alcuni esempi delle finalità per cui utilizziamo le informazioni.","privacy_policy_view_information_use_paragraph_three":"Le scelte dell\'utente sulle comunicazioni:","privacy_policy_view_information_use_paragraph_three_point_one":"Ricevere comunicazioni elettroniche da parte nostra o delle nostre controllate: Se non si desidera più ricevere e-mail pubblicitarie da parte nostra o delle nostre controllate, si può annullare la sottoscrizione seguendo le istruzioni contenute in qualunque e-mail ricevuta da noi o contattandoci all\'indirizzo di seguito. Si prega di notare che potremo ancora inviare importanti messaggi amministrativi o sulla sicurezza anche se si annulla la sottoscrizione per la ricezione di e-mail pubblicitarie.","privacy_policy_view_information_use_paragraph_three_point_two":"Ricevere chiamate pubblicitarie da parte nostra: se si ricevono chiamate pubblicitarie da parte nostra e non si vogliono ricevere chiamate simili in futuro, si deve semplicemente chiedere di essere inclusi nella nostra lista “da non chiamare”. Si prega di notare che possiamo ancora chiamare per richieste amministrative, sulla sicurezza o problemi concernenti il servizio del prodotto anche se si annulla la sottoscrizione per la ricezione di chiamate pubblicitarie.","privacy_policy_view_information_use_paragraph_two":"Possiamo utilizzare le informazioni che raccogliamo per comunicare con l\'utente, come:","privacy_policy_view_information_use_paragraph_two_point_five":"Presentare i prodotti e le offerte personalizzati sulle esigenze dell\'utente e migliorare le nostre liste con informazioni provenienti da altre fonti.","privacy_policy_view_information_use_paragraph_two_point_four":"Inviare informazioni amministrative, per esempio, informazioni riguardanti i Servizi e le modifiche ai nostri termini, alle nostre condizioni e linee guida.","privacy_policy_view_information_use_paragraph_two_point_one":"Rispondere alle domande ed esaudire le richieste dell’utente, quale l\'invio di newsletter o informazioni sul prodotto, avvisi o opuscoli.","privacy_policy_view_information_use_paragraph_two_point_seven":"Facilitare il social sharing e la funzionalità delle comunicazioni.","privacy_policy_view_information_use_paragraph_two_point_six":"Consentire la partecipazione a concorsi o promozioni simili e gestire queste attività.","privacy_policy_view_information_use_paragraph_two_point_three":"Avvisare l\'utente in merito a informazioni concernenti la sicurezza o avvisare il primo intervento in caso di incidente che coinvolga il veicolo.","privacy_policy_view_information_use_paragraph_two_point_two":"Impostare, valutare e fornire dei commenti in merito al test drive Tesla dell\'utente.","privacy_policy_view_information_use_provide":"Fornire e migliorare i nostri prodotti e servizi","privacy_policy_view_links_header":"Collegamenti","privacy_policy_view_links_paragraph_one":"La presente Informativa sulla Privacy non regola, e non ne saremo pertanto responsabili, la privacy, le informazioni o le altre pratiche di qualunque soggetto terzo, incluso qualunque soggetto terzo che gestisca un sito o un servizio a cui si collegano i Servizi. L\'inclusione di un collegamento all\'interno dei Servizi non implica l\'avallo dei siti o servizi collegati da noi o dalle nostre controllate e non implica un\'affiliazione con il soggetto terzo.","privacy_policy_view_links_paragraph_two":"Si prega di notare che non siamo responsabili per la raccolta, l\'utilizzo e la divulgazione delle linee guida e delle procedure (incluse le procedure sulla sicurezza dei dati) di altre organizzazioni, quali qualunque sviluppatore o fornitore di app, fornitori di piattaforme di social o fornitore di servizio wireless, ivi inclusa qualunque informazione che l\'utente divulga ad altre organizzazioni attraverso o in relazione alle applicazioni del nostro software o alle nostre pagine dei social.","privacy_policy_view_minors_header":"Minori","privacy_policy_view_minors_paragraph":"I Servizi non sono destinati alle persone con un\'età inferiore agli anni sedici (16) e chiediamo che queste persone non forniscano nessuna informazione a Tesla.","privacy_policy_view_offers_eu":"Sì, desidero ricevere comunicazioni di marketing via e-mail, comprese indagini, promozioni e offerte, da parte di Tesla e dei suoi affiliati, riguardo ai prodotti e servizi Tesla. Il cliente ha il diritto di revocare il consenso in qualunque momento. Maggiori informazioni su {legalLink}.","privacy_policy_view_offers_title":"Consenso Al Marketing","privacy_policy_view_offers_usa":"Accetto di poter essere contattato da Tesla al numero telefonico specificato, tramite tecnologie automatiche e/o messaggi pre-registrati","privacy_policy_view_powerwall_warranty":"Garanzia Tesla Powerwall","privacy_policy_view_privacy_policy":"Informativa Sulla Privacy","privacy_policy_view_privacy_policy_agreement_eu":"Io, proprietario dell’ abitazione, ho letto interamente il documento “Informativa sulla Privacy del cliente Tesla” e acconsento al trattamento delle mie Informazioni personali da parte di Tesla come descritto nella “Informativa sulla Privacy del cliente Tesla”. Ha il diritto di revocare il suo consenso in qualsiasi momento, come descritto nella Informativa sulla Privacy del cliente Tesla.","privacy_policy_view_privacy_policy_agreement_usa_australia":"Io, proprietario dell\'abitazione, ho letto integralmente l\'Informativa sulla Privacy del Cliente Tesla e acconsento al trattamento dei miei Dati Personali da parte di Tesla, come descritto nell\'Informativa sulla Privacy del Cliente Tesla.","privacy_policy_view_privacy_shield":"Informativa sulla protezione della Privacy","privacy_policy_view_retention_period_header":"Periodo di conservazione","privacy_policy_view_retention_period_paragraph":"Conserveremo le informazioni che raccogliamo da o su i nostri clienti, i nostri prodotti e i Servizi per il periodo necessario a rispettare le finalità esposte nella presente Informativa sulla Privacy salvo il caso in cui un periodo di conservazione maggiore sia richiesto o consentito dalla legge.","privacy_policy_view_security_header":"Sicurezza","privacy_policy_view_security_paragraph_one":"Ci adoperiamo per utilizzare misure organizzative, tecniche e amministrative ragionevoli per proteggere le informazioni all\'interno della nostra organizzazione. Purtroppo, nessun sistema di trasmissione o di conservazione dei dati può garantire una sicurezza sicura al 100%. Se l\'utente ha motivo di credere che le sue interazioni con noi non siano più sicure (ad esempio, se ha l’impressione che la sicurezza di qualsiasi account con noi sia stata compromessa), è pregato di informarci immediatamente del problema contattandoci in conformità alla sezione “Come contattarci” riportata di seguito.","privacy_policy_view_security_paragraph_two":"Se l\'utente vende o trasferisce il suo prodotto Tesla a un\'altra persona, è pregato di informarci in modo che possiamo stabilire se siano necessarie delle azioni supplementari per salvaguardare le informazioni da o sull\'utente dalla divulgazione all\'acquirente o al cessionario del prodotto Tesla.","privacy_policy_view_title":"Visualizza l\'intera informativa sulla Privacy","privacy_policy_view_updates_header":"Aggiornamenti alla presente informativa","privacy_policy_view_updates_paragraph":"Possiamo modificare la presente Informativa sulla Privacy. Si prega di guardare la voce “Ultimo aggiornamento” in fondo alla pagina per vedere quando la presente Informativa sulla Privacy è stata aggiornata l\'ultima volta. Qualunque modifica alla presente Informativa sulla Privacy diventerà effettiva quando l\'Informativa sulla Privacy aggiornata sarà resa pubblicata sui Servizi. Utilizzando i nostri prodotti, i Servizi o fornendoci altrimenti informazioni dopo tali modifiche, l\'utente accetta l\'Informativa sulla Privacy aggiornata.","privacy_policy_view_us_warranty_warning":"Bisogna accettare l\'Informativa sulla Privacy per registrare il Suo Powerwall e monitorarlo tramite l\'app mobile Tesla","privacy_policy_view_warranty_information":"Io, in qualità di proprietario, accetto i termini della Garanzia Tesla Powerwall disponibile {warrantyLink}. Questi termini includono una clausola di arbitrato con la quale rinuncio al diritto di intraprendere azioni legali o processi con giuria. È possibile recedere da tale clausola entro 30 giorni seguendo la procedura descritta nella stessa.","prompt_factory_reset_confirmation":"Confermare il ripristino delle impostazioni predefinite dell\'unità?","pvac-state-active":"Attivo","pvac-state-faulted":"Guasto","pvac-state-init":"Inizializzazione...","pvac-state-standby":"In attesa di fotovoltaico","pvac_alert_ac_fault":"Guasto CA dell\'inverter","pvac_alert_check_ac_note":"Controllare i cavi CA e la connessione alla rete. Riavviare l\'inverter e riprovare.","pvac_alert_check_dc_string1_note":"Controllare il cavo CC della stringa 1 e i pannelli. Riavviare l\'inverter e riprovare.","pvac_alert_check_dc_string2_note":"Controllare il cavo CC della stringa 2 e i pannelli. Riavviare l\'inverter e riprovare.","pvac_alert_check_dc_string3_note":"Controllare il cavo CC della stringa 3 e i pannelli. Riavviare l\'inverter e riprovare.","pvac_alert_check_dc_string4_note":"Controllare il cavo CC della stringa 4 e i pannelli. Riavviare l\'inverter e riprovare.","pvac_alert_confirm_grid_code_note":"Controllare i cavi CA e la connessione alla rete. Confermare il codice rete selezionato.","pvac_alert_dc_fault_string1":"Guasto CA dell\'inverter - Stringa 1","pvac_alert_dc_fault_string2":"Guasto CA dell\'inverter - Stringa 2","pvac_alert_dc_fault_string3":"Guasto CA dell\'inverter - Stringa 3","pvac_alert_dc_fault_string4":"Guasto CA dell\'inverter - Stringa 4","pvac_alert_freq_change":"Rete non conforme - Cambio frequenza","pvac_alert_internal_comms":"Problema di comunicazione interna","pvac_alert_over_freq":"Rete non conforme - Sovrafrequenza","pvac_alert_over_temp":"Sovratemperatura inverter","pvac_alert_over_voltage":"Rete non conforme - Sovratensione","pvac_alert_production_limited_note":"La produzione potrebbe essere limitata. Assicurare che le terminazioni dei cavi siano corrette, un\'areazione sufficiente e un ambiente di installazione adeguato.","pvac_alert_reboot_note":"Riavviare l\'inverter, verificare che il sistema sia aggiornato e messo in funzione.","pvac_alert_under_freq":"Rete non conforme - Sottofrequenza","pvac_alert_under_voltage":"Rete non conforme - Sottotensione","pvi-power-status-dc-only":"Solo CC","pvi-power-status-disabled":"Disattivato","pvi-power-status-enabled":"Attivato","pvi-reset-button-label":"Riavviare l\'inverter e azzerare gli avvisi","pvs-self-test-1":"Autodiagnosi (1/6): Problema di massa.","pvs-self-test-2":"Autodiagnosi (2/6): Guasto d\'arco","pvs-self-test-3":"Autodiagnosi (3/6): MCI","pvs-self-test-4":"Autodiagnosi (4/6): Isolamento","pvs-self-test-5":"Autodiagnosi (5/6): Relè saldato","pvs-self-test-6":"Autodiagnosi (6/6): Impedenza","pvs_alert_check_arc_fault_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino guasti d\'arco.","pvs_alert_check_dc_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino problemi di massa.","pvs_alert_check_dc_string1_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino problemi di isolamento, soprattutto sulla Stringa 1.","pvs_alert_check_dc_string2_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino problemi di isolamento, soprattutto sulla Stringa 2.","pvs_alert_check_dc_string3_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino problemi di isolamento, soprattutto sulla Stringa 3.","pvs_alert_check_dc_string4_note":"Controllare che i cavi CC, i collegamenti, i pannelli e i dispositivi di arresto rapido non presentino problemi di isolamento, soprattutto sulla Stringa 4.","pvs_alert_check_dc_strings_note":"Controllare i cavi CC, i collegamenti, i pannelli e le configurazioni delle stringhe.","pvs_alert_dc_arc_fault_detected":"Guasto d\'arco CC - Rilevato","pvs_alert_dc_arc_fault_lockout":"Guasto d\'arco CC - Blocco","pvs_alert_dc_ground_fault":"Problema di massa CC","pvs_alert_dc_isolation_string1":"Problema di isolamento CC - Stringa 1","pvs_alert_dc_isolation_string2":"Problema di isolamento CC - Stringa 2","pvs_alert_dc_isolation_string3":"Problema di isolamento CC - Stringa 3","pvs_alert_dc_isolation_string4":"Problema di isolamento CC - Stringa 4","pvs_alert_dc_over_voltage":"Sovratensione CC","pvs_alert_rapid_shutdown":"Avviato arresto rapido","pvs_alert_rapid_shutdown_note":"Controllare l\'interruttore CA e il circuito di arresto rapido per bassa tensione.","registration_container_continue_header":"Email del cliente inserita: {email}","registration_container_continue_modal_description":"Il cliente non sarà in grado di accedere all\'applicazione Tesla se l\'email non è corretta. Controlla che l\'indirizzo email sia corretto","registration_container_customer_email_required":"L\'indirizzo email è necessario per attivare l\'applicazione Tesla","registration_container_customer_information_title":"Informazioni dell\'utente","registration_container_fill_required_fields":"L\'installatore o il cliente devono compilare tutti i campi necessari","registration_container_loading_modal_registering":"Registrazione in corso","registration_container_reset_form_modal_description":"Conferma che vuoi procedere al reset del modulo","registration_container_reset_form_modal_header":"Le informazioni precedentemente inserite saranno perse","security_container_settings_title_customer":"Modifica o reimposta la password (Cliente)","security_container_settings_title_installer":"Modifica o reimposta la password (Installatore)","security_view_copied_to_clipboard":"Copiato!","security_view_not_wifi_qr_code_error":"Non è un codice QR Wi-Fi.","security_view_scan_qr_code_not_found_error":"Nessun codice QR trovato.","security_view_settings_change_password_error":"Le nuove password non corrispondono","security_view_settings_change_password_label":"MODIFICA PASSWORD","security_view_settings_completed":"COMPLETAMENTO","security_view_settings_new_password_label":"NUOVA PASSWORD","security_view_settings_old_password":"PASSWORD CORRENTE","security_view_settings_password_change_info":"Per modificare la password, immettere la password corrente e quella nuova","security_view_settings_password_customer":"PASSWORD","security_view_settings_password_customer_placeholder":"Ultimi cinque caratteri della password sull\'etichetta del Gateway","security_view_settings_password_installer_label":"Gateway password","security_view_settings_password_reset_info":"Per reimpostare la password, attivare/disattivare l\'unità Powerwall tramite l\'interruttore, quindi immettere gli ultimi 5 caratteri del numero di serie del gateway.","security_view_settings_password_reset_info_serial":"Per reimpostare la password, attivare/disattivare l\'unità Powerwall tramite l\'interruttore, quindi immettere gli ultimi 5 caratteri del numero di serie del gateway.","security_view_settings_password_reset_installer_info":"Per reimpostare la password, attivare/disattivare l\'interruttore sull\'unità Powerwall, quindi immettere il numero di serie del gateway.","security_view_settings_password_reset_installer_info_serial":"Per reimpostare la password, attivare/disattivare l\'interruttore sull\'unità Powerwall, quindi immettere il numero di serie del gateway.","security_view_settings_re_enter_password_label":"CONFERMARE LA NUOVA PASSWORD","security_view_settings_reset_password_label":"REIMPOSTA PASSWORD","security_view_settings_serial_customer":"NUMERO DI SERIE","security_view_settings_serial_customer_placeholder":"Ultimi 5 caratteri del numero di serie del gateway","security_view_settings_serial_installer_label":"Numero di serie del gateway","security_view_settings_success":"Password aggiornata correttamente","security_view_settings_success_new_password":"La nuova password è:","security_view_settings_toggled_password":"Password dimenticata?","self_test_result_viewer_resi_only":"Il visualizzatore del rapporto di autodiagnosi non è disponibile.","self_test_results_viewer_collapse_all":"Riduci tutto","self_test_results_viewer_column_name":"Nome","self_test_results_viewer_column_result":"Risultati","self_test_results_viewer_column_spec":"Specifiche","self_test_results_viewer_column_test_time":"Ora test","self_test_results_viewer_column_value":"Valore","self_test_results_viewer_expand_all":"Espandi tutti","self_test_results_viewer_failed":"Operazione non riuscita","self_test_results_viewer_in_progress":"In corso","self_test_results_viewer_inconclusive":"Inconcludente","self_test_results_viewer_not_started":"Non avviato","self_test_results_viewer_passed":"Superato","self_test_results_viewer_skipped":"Ignorato","self_test_results_viewer_warning":"Avvertenza","settings_container_confirm_reset_operation_mode":"Confermare modifica modalità su {operation}","settings_container_heco_modal_description":"Questa impostazione non può essere cambiata dopo la selezione. Confermare che il cliente sia attualmente iscritto al programma HECO Battery Bonus prima di inviare la selezione.","settings_container_heco_modal_title":"Conferma iscrizione","settings_container_heco_view_description":"L\'unità Powerwall si scaricherà una volta raggiunta la capacità giornaliera di messa in servizio per soddisfare i requisiti del programma. Questa impostazione non può essere cambiata dopo l\'attivazione.","settings_container_heco_view_scheduled_dispatch_start_time":"Ora di inizio","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"HECO Scheduled Dispatch","settings_container_heco_view_title":"Programma HECO Battery Bonus","settings_container_operation_modes_modal_content":"Utilizzare la schermata \\"Personalizza\\" dell\'app mobile Tesla per modificare le modalità operative.","settings_container_operation_modes_modal_reset":"RESETTA MODALITÀ","settings_container_operation_modes_modal_title":"Modalità operativa","settings_container_operation_modes_modal_warning":"Non sarà possibile annullare la modifica. Le modalità avanzate possono essere riattivate solo tramite l\'app mobile Tesla.","settings_container_operation_modes_reset_modal_title":"Resettare la modalità operativa?","settings_container_operation_settings_subtitle":"Imposta il nome del tuo sistema, il modo di operazione ed eventuali limiti sulla produzione energetica.","settings_container_operation_settings_title":"Configurazione Operativa","settings_container_save_instructions":"Seleziona CONTINUA per salvare.","settings_container_saving_site_info_modal":"Salvataggio impostazioni del sito","settings_container_site_import_description":"Il Limite importazione sito è un\'impostazione opzionale. Lasciare questo campo vuoto per disattivare la limitazione di importazione. Quando è attivata, questa impostazione specifica la potenza massima consentita che è possibile importare dalla rete nel sito.","settings_container_site_limits_header":"Limiti sito","settings_view_custom_modes_label":"Modo Preselezionato - {mode}","settings_view_energy_reserve_heco_label":"Le modifiche alla riserva backup sono limitate a causa dell\'iscrizione al programma HECO Battery Bonus. Il cliente sarà in grado di impostare la riserva backup nell\'app.","settings_view_energy_reserve_label":"RISERVA DI ENERGIA (COME RISERVA DURANTE MODO AUTO-ALIMENTATO)","settings_view_instruction_site_name":"Si prega di completare il nome del sito","settings_view_net_meter_mode":"Modalità di esportazione","settings_view_operation_label":"MODALITÀ OPERATIVA","settings_view_operation_set_label":"MODALITÀ OPERATIVA DA IMPOSTARE","settings_view_set_net_meter_mode_never_label":"Permanente senza esportazione","settings_view_set_net_meter_mode_solar_label":"Esportazione energia fotovoltaica","settings_view_site_name":"NOME DEL SITO","settings_view_site_name_placeholder":"Esempio: La Mia Casa","settings_view_solar_export_limitation_slider":"Limiti nell\'esportare energia da sistemi fotovoltaici","settings_view_solar_feature":"Questa funzione deve essere attivata per sistemi fotovoltaici che non possono generare energia verso la rete elettrica. Tipicamente nelle regioni di Hawaii (CSS) e Australia.","settings_view_solar_limitation":"POWERWALL INSTALLATA INSIEME A UN IMPIANTO FOTOVOLTAICO DIVERSO DA POWERWALL+?","settings_view_solar_zero_export":"POWERWALL INSTALLATO A FIANCO DI UN SISTEMA FOTOVOLTAICO A ZERO ESPORTAZIONI?","site_info_container_submit":"INVIA","solar_item_view_baudrate_label":"Velocità trasferimento (Baud)","solar_item_view_brand_input_label":"MARCA","solar_item_view_brand_label":"Marca","solar_item_view_check_inverter":"COLLEGAMENTO INVERTER {id}","solar_item_view_connection_warning":"Impossibile stabilire la connessione","solar_item_view_inverter_brand":"Marca Inverter","solar_item_view_inverter_communication":"Comunicazione con Inverter","solar_item_view_inverter_model_label":"Modello di Inverter","solar_item_view_ip_label":"INDIRIZZO IP","solar_item_view_model_label":"MODELLO","solar_item_view_power_rating_explanation":"Questa è la potenza totale del sistema fotovoltaico riguardo ai moduli / pannelli. Anche detta potenza nominale dell\'array. Per esempio, se avete 10 pannelli a 300 W, inserite 3000 W anche se l\'inverter è a 2500 W o 3500 W.","solar_item_view_pv_array_dc_power_rating":"Potenza Nominale dell\' Array Fotovoltaico","solar_item_view_pv_array_dc_power_rating_label":"ALIMENTAZIONE ARRAY FOTOVOLTAICO","solar_item_view_revenue_grade":"Ricavi energetici","solar_item_view_revenue_grade_explanation":"Abilitare questa opzione solamente se l\'inverter ha un contatore ad alta qualità integrato. Se questa opzione è abilitata, i dati dell\'inverter verranno letti dallo strumento anziché dall\'inverter.","solar_item_view_revenue_grade_title":"Ricavi energetici","solar_item_view_solar":"SOLARE {id}","solar_item_view_success":"CONNESSO!","solar_item_view_unable":"IMPOSSIBILE LEGGERE L\'INVERTER!","solar_list_view_continue_add_solar":"AGGIUNGI SOLARE","solar_view_continue_add_solar":"AGGIUNGI SOLARE","status_update_urgency_none":"Aggiornato","status_update_urgency_optional":"Aggiornamento opzionale","status_update_urgency_required":"Aggiornamento necessario","status_update_urgency_unknown":"Sconosciuta","success_view_awesome":"PERFETTO!","success_view_copied_to_clipboard":"Copiato!","success_view_installation_complete":"Installazione completata","success_view_new_password_error_title":"Password wizard","success_view_new_password_title":"Nuova password wizard","success_view_password_set":"Password già impostata","success_view_record_password":"Registrare la password prima di continuare","success_view_retry_registration":"RIPROVA REGISTRAZIONE","success_view_set_customer_password":"IMPOSTA PASSWORD CLIENTE","success_view_syncing_configuration":"Sincronizzazione della configurazione in corso","summary_container_company":"Azienda","summary_container_connection_type":"Tipo di connessione","summary_container_email":"E-mail","summary_container_installer_information":"Informazioni per l\'installatore","summary_container_ip_address":"Indirizzo IP","summary_container_location":"Posizione","summary_container_meter":"Contatore #{index}","summary_container_meter_information":"Informazioni sul contatore","summary_container_phone":"Numero di telefono","summary_container_print":"Stampa","summary_container_serial_number":"Numero di serie","summary_container_site_info":"Informazioni sul sito","summary_container_site_name":"Nome del sito","summary_container_subtitle":"Informazioni sul prodotto e sull\'installazione","summary_site_information":"INFORMAZIONI SUL SITO","summary_view_autonomous":"Controllo per fasce orarie","summary_view_backup":"Solo energia di riserva","summary_view_backup_capable":"Energia di riserva presente","summary_view_backup_reserve":"ENERGIA DI RISERVA","summary_view_backup_switch":"BACKUP SWITCH","summary_view_conductor_export":"LIMITE ESPORTAZIONE CONDUTTORE","summary_view_conductor_import":"LIMITE IMPORTAZIONE CONDUTTORE","summary_view_control":"Controllo sito","summary_view_customer_version":"VERSIONE CLIENTE","summary_view_direct":"Diretto","summary_view_disabled":"DISABILITATA","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"LIMITE ESPORTAZIONE FOTOVOLTAICO","summary_view_extra_programs":"PROGRAMMI EXTRA","summary_view_followers":"SECONDARI","summary_view_gateway":"GATEWAY","summary_view_grid_code":"CODICE DI RETE","summary_view_gsm":"CELLULARE","summary_view_heco_battery_bonus":"HECO Battery Bonus","summary_view_ip_address":"INDIRIZZO IP","summary_view_leader":"PRINCIPALE","summary_view_mode":"MODALITÀ","summary_view_msg_cannot_read_solar_assembly":"Arrestare prima il sistema per leggere il codice articolo e il numero di serie del gruppo fotovoltaico Powerwall+.","summary_view_network":"RETE","summary_view_non_backup":"Energia di riserva assente","summary_view_panel_limit":"CORRENTE MASSIMA PANNELLO","summary_view_part_number":"Numero di parte","summary_view_partnum":"Parte {partNumber}","summary_view_powerwall":"UNITÀ POWERWALL","summary_view_scheduler":"Aggregazione","summary_view_self_consumption":"Autoconsumo","summary_view_serial":"Seriale","summary_view_serialnum":"Serie {serialNumber}","summary_view_site_export":"LIMITE ESPORTAZIONE SITO","summary_view_site_import":"LIMITE IMPORTAZIONE SITO","summary_view_site_name":"NOME DEL SITO","summary_view_solar_assembly":"GRUPPO FOTOVOLTAICO","summary_view_sync":"CAPACITÀ ENERGIA DI RISERVA","summary_view_time":"ORA DI COMPILAZIONE RIEPILOGO","summary_view_time_zone":"FUSO ORARIO","summary_view_wifi":"Wi-Fi","system-device-follower-not-responding":"Il dispositivo abbinato alla rete Wi-Fi al momento non risponde","system-device-unknown-sitecontroller":"Il dispositivo non ha ancora rilevato i propri dispositivi secondari","system_acpw_vitals_charge":"Livello di carica: {charge}%","system_acpw_vitals_power":"Alimentazione CA: {power}","system_acpw_vitals_power_charging":"Alimentazione CA: {power} Caricamento","system_acpw_vitals_power_discharging":"Alimentazione CA: {power} Scaricamento","system_acpw_vitals_state":"Stato Powerwall: {state}","system_acpw_vitals_voltage":"Tensione CA: {voltage}","system_controller_din":"Controller: {din}","system_device_alert_disabled":"Dispositivo disattivato","system_device_gateway_not_islanding":"Questo non è il controller a isola.","system_device_name_backup_switch":"Backup Switch ({sn})","system_device_name_battery_assembly":"Gruppo batteria ({sn})","system_device_name_gateway":"Gateway ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus_leader":"UnitàPowerwall+ principale","system_device_name_powerwall_plus_solo":"Unità Powerwall+","system_device_name_powerwall_plus_wired":"Unità Powerwall+ (cablata)","system_device_name_powerwall_plus_wireless":"Unità Powerwall+ (wireless)","system_device_name_remote_meter":"Contatore remoto ({sn})","system_device_name_solar_assembly_1":"Gruppo fotovoltaico","system_device_name_sync":"Controller contattore/contatore gateway({sn})","system_firmware_update":"Aggiornamento: {percent}% ({step}/{numSteps})","system_gateway_din":"Gateway: {din}","system_islanding_vitals_backup_state":"Stato backup: {backupState}","system_islanding_vitals_grid_line":"Linea rete {lineNumber}: {v} {f}","system_islanding_vitals_island_line":"Linea isola {lineNumber}: {v} {f}","system_overview_connected":"Connesso a Tesla","system_overview_disconnected":"Non connesso a Tesla","system_overview_follower":"Powerwall secondario","system_overview_login_required":"Per visualizzare il funzionamento del sistema è necessario accedere","system_overview_scanning":"Scansione dispositivi...","system_overview_site_controller":"Controller sito","system_overview_updating":"Aggiornamento dispositivi...","system_pvi_vitals_ac_solar_power":"Potenza fotovoltaico CA: {power}/{current}","system_pvi_vitals_ac_solar_power_only":"Potenza fotovoltaico CA: {power}","system_pvi_vitals_lifetime_energy_kwh":"Energia: {energy}","system_pvi_vitals_state":"Stato: {message}","system_pvi_vitals_string":"Stringa {number}: {voltage}/{current}","system_pvi_vitals_string_not_connected":"Stringa {number}: Non connessa","system_remote_meter_ct_line":"Trasformatore di corrente {n} ({location}): {value}","system_remote_meter_no_cts":"Nessun trasformatore di corrente configurato","system_rescan_button_text":"Riscansiona dispositivi","system_scanning_label_text":"Scansione dispositivi...","system_vitals_missing_value":"---","test_container_configure_subtitle":"Test che il sistema sta funzionando correttamente.","test_container_system_test_title":"Test del Sistema","test_inverter_container_error_grid_uncompliant":"Il test non può iniziare perché la rete è fuori norma.","test_inverter_container_error_not_idle":"Il test non può iniziare perché il sistema è ancora attivo.","test_inverter_container_results_error_plural_subtitle":"{num} Test falliti","test_inverter_container_results_error_singular_subtitle":"{num} Test fallito","test_inverter_container_results_success_plural_subtitle":"{num} Test superati","test_inverter_container_results_success_singular_subtitle":"{num} Test superato","test_inverter_container_results_success_subtitle":"Tutti i test passati con successo","test_inverter_container_results_title":"Risultati autotest Inverter","test_inverter_container_title":"Autotest Inverter","test_meter_composite_view_auxiliary_meter_setup_instructions":"Almeno un TA deve essere configurato per ogni meter ausiliario","test_meter_composite_view_auxiliary_meters_title":"Contatore ausiliario","test_meter_composite_view_configure_meters":"DI CONFIGURARE CONTATORI","test_meter_composite_view_current_transformer_setup_instructions":"Usa almeno un TA impostato come \\"sito\\" o come \\"carico\\", ma non entrambi i modi","test_meter_composite_view_external_meter_setup_instructions":"Per ogni contatore esterno deve essere configurato almeno un trasformatore di corrente.","test_meter_composite_view_external_meters_title":"Contatori esterni","test_meter_composite_view_internal_meters_gateway_title":"Contatori interni (Gateway)","test_meter_composite_view_internal_meters_title":"Meter interno","test_meter_composite_view_no_configured_meters":"NESSUN CONTATORE CONFIGURATO. SI PREGA {configure} PER CONTINUARE","test_meter_composite_view_note":"NOTA","test_meter_item_view_acuvim_label":"Contatore {id}: Contatore Acuvim","test_meter_item_view_backup_switch_label":"Contatore {id}: Contatore Backup Switch","test_meter_item_view_configure_phases_note":"Configura le fasi per abilitare i TA su questo meter","test_meter_item_view_internal_meter_x_gateway_label":"Contatore {id}: Contatore interno principale X (Gateway)","test_meter_item_view_internal_meter_y_gateway_label":"Contatore {id}: Contatore interno ausiliario Y (Gateway)","test_meter_item_view_remote_w1_wifi_label":"Contatore {id}: Wi-Fi remoto","test_meter_item_view_remote_w1_wired_label":"Contatore {id}: Cablato da remoto","test_meter_item_view_remote_w2_wifi_label":"Contatore {id}: Wi-Fi remoto","test_meter_item_view_remote_w2_wired_label":"Contatore {id}: Cablato da remoto","test_meter_item_view_reset":"RESETTARE","test_meter_item_view_site_meter_title":"Contatore (Sito) interno","test_meter_item_view_sync_id":"Sync Meter {id}","test_meter_item_view_toggle_advanced":"Avanzate","test_meter_item_view_toggle_power":"Potenza","test_meter_item_view_wifi_id":"Contatore {id}","test_meter_item_view_wired_id":"Meter cablato {id}","test_view_canceled_status":"Test ѐ stato Cancellato","test_view_failed_status":"Test non ѐ Riuscito","test_view_idle_status":"Inizio Test di Sistema","test_view_init_status":"Preparazione Test","test_view_inverter_test_warning_message":"Se hai un inverter configurato per non esportare energia nella rete, il test di sistema del Gateway non è in grado di validare il sistema. Si prega spegnere l\'inverter fino a quando il test di sistema è stato completato.","test_view_passed_status":"Test ѐ OK","test_view_prep_status":"Inizializzazione dei Controlli: potrebbe richiedere alcuni minuti!","test_view_running_status":"Esecuzione del Test di Carica","test_view_skip_start_system_test_text":"Conferma che vuoi ignorare il test di sistema","test_view_start_system_test_warning":"ATTENZIONE","test_view_system_test_completed_message":"Test di Sistema Completato!","time_minute":"minuto","time_minutes":"minuti","time_second":"secondo","time_seconds":"secondi","time_started_at":"Heure de début {time}","timezone_container_subtitle":"Basandosi sulla tua posizione e indirizzo IP, possiamo aiutarti a selezionare il fuso orario per la tua installazione.","timezone_container_title":"Fuso orario","timezone_view_label":"fuso orario","toast_view_standard_title":"Nota","toast_view_warning_title":"Avvertenza","update_container_industrial_updating_description":"Il Controller sito si riavvierà ora automaticamente per poter installare l\'aggiornamento. {lb1}{lb2} Attendere 2 minuti, riconnettersi alla rete del Controller sito, quindi {refresh}","update_container_preparing_title":"Preparando per l\'ultimo aggiornamento","update_container_refresh_browser":"aggiornare la pagine web.","update_container_residential_updating_description":"Il gateway ora verrà resettato per applicare il nuovo aggiornamento. {lb1}{lb2} Si prega di attendere 2 minuti, quindi riconnettere alla rete dai del gateway, e {refresh}","update_container_skip_title":"Ignora l\'Aggiornamento?","update_container_subtitle":"Si prega di aggiornare il software di sistema","update_container_subtitle_industrial":"Controllare la disponibilità di aggiornamenti. Nota: per distribuire gli aggiornamenti alle batterie, accedere alla pagina Batteria.","update_container_title":"Aggiorna","update_container_updating_title":"Aggiornamento in corso","update_step_item_view_resolution_title":"Correzione suggerita","update_view_check_again":"CLIC PER RI-CONTROLLARE","update_view_check_for_update":"CONTROLLA AGGIORNAMENTI","update_view_check_for_update_industrial":"CONTROLLA AGGIORNAMENTI DEL CONTROLLER SITO","update_view_checking_update":"Controllo aggiornamenti in corso","update_view_current_version":"Versione corrente: {version}","update_view_current_version_label":"VERSIONE ATTUALE:","update_view_downloading":"SCARICAMENTO IN CORSO","update_view_downloading_update":"Trasferimento di aggiornamenti in corso","update_view_no_power_cicle":"NON SPEGNERE O RESETTARE!","update_view_percent_complete":"{percent} completo","update_view_progress":"PROGRESSO DELL\'AGGIORNAMENTO","update_view_staged":"NUOVA VERSIONE È PRONTA PER L\'AGGIORNAMENTO","update_view_staged_update":"Pronto ad aggiornare","update_view_staging":"PREPARAZIONE","update_view_staging_update":"Sto preparando l\'aggiornamento","update_view_time_remaining":"rimanente","update_view_up_to_date":"QUESTA VERSIONE È AGGIORNATA","update_view_update_now":"AGGIORNA","update_view_update_urgency_label":"Stato aggiornamento: {status}","update_view_updated_industrial":"Il software del Controller sito è aggiornato.","update_view_updated_residential":"Hai il firmware più recente.","update_view_wait_minutes":"SI PREGA DI ATTENDERE ALCUNI MINUTI...","validation_phone":"Inserire un numero di telefono valido","vitals_header_subtitle_firmware_update":"Aggiornamento firmware in corso...","vitals_header_subtitle_firmware_update_failed":"Aggiornamento firmware non riuscito. Controllare gli switch attivati e il cablaggio.","vitals_header_title":"Sistema","vitals_powerwall_state_ac_fault":"Guasto fase CA","vitals_powerwall_state_dc_fault":"Guasto fase CC","vitals_powerwall_state_grid_following":"Connesso a rete","vitals_powerwall_state_grid_forming":"A isola","vitals_powerwall_state_init":"Inizializzazione","vitals_powerwall_state_off":"Off","vitals_powerwall_state_standby":"Standby","vitals_powerwall_state_support_dc":"Supporto CC","warning":"ATTENZIONE","warning_off_grid":"Se il sistema è disconnesso dalla rete elettrica, ogni carico sostenuto dal Powerwall verrà spento entro 5 minuti.","warning_on_grid":"Se il sistema è connesso alla rete elettrica, Powerwall smetterà di caricare/scaricare energia.","warning_sitemaster_container_not_running":"Il Sitemaster non è in funzione","wifi_pairing_link_message":"Aggiungere un\'unità Powerwall collegata alla rete Wi-Fi","wifi_view_find_network":"TROVA RETE CON NOME (SSID)","wifi_view_note":"Nota: Il gateway è compatibile solo con reti Wi-Fi a 2.4 GHz.","wifi_view_note_five_ghz":"Nota: il Gateway è compatibile con le reti wireless a 2.4 GHz e 5 GHz.","wifi_view_readonly":"Questa è un\'unità Powerwall secondaria, pertanto non è possibile modificare la configurazione della relativa rete wireless.","wifi_view_security_label":"SICUREZZA","wizard_container_commissioning_wizard":"Configurazione Guidata Tesla","wizard_container_login_required":"Accesso necessario","wizard_container_title":"Cominciamo!","wizard_container_verifying_login_title":"Verifica accesso"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Error","advanced_settings_submit":"Enviar","advanced_settings_submitted":"Enviado","advanced_settings_title":"Configuración avanzada","alert_container_ac_phase_1_over_voltage":"Sobretensión de CA","alert_container_ac_phase_1_under_voltage":"Baja tensión de CA","alert_container_ac_phase_2_over_voltage":"Sobretensión de CA","alert_container_ac_phase_2_under_voltage":"Baja tensión de CA","alert_container_ac_phase_3_over_voltage":"Sobretensión de CA","alert_container_ac_phase_3_under_voltage":"Baja tensión de CA","alert_container_over_frequency":"Sobrefrecuencia de CA","alert_container_rate_of_change_frequency":"Índice de cambio de frecuencia de CA","alert_container_under_frequency":"Baja frecuencia de CA","app_container_engineering_mode_banner_message":"El modo de servicio de Tesla no requiere autenticación Detenga el sistema si va a realizar cambios operativos. Antes de cerrar el navegador, deje el sistema en un estado aceptable. Cierre el navegador cuando haya terminado, puesto que este modo no requiere autenticación.","app_container_engineering_mode_title":"Modo de servicio de Tesla","app_container_firmware_update_banner_message":"Mantenga la instalación y el cableado sin realizar cambios y permanezca en esta página hasta que la actualización haya finalizado.","app_container_firmware_update_banner_title":"Actualización de firmware en curso","app_container_sitemaster_message_title":"El sistema está funcionando. Para ver el estado de los bloques de batería, se debe apagar el sistema. Puede detener el sistema desde la página de inicio.","app_container_sitemaster_power_supply_mode_banner_message":"Batería produciendo tensión de CA para alimentar dispositivos para emparejamiento y configuración. Botón para detener el sistema en la página de destino.","app_container_sitemaster_power_supply_mode_banner_title":"Modo de creación de red eléctrica","app_container_sitemaster_running_banner_title":"Sistema en funcionamiento","auto_config_check_network_button":"Compruebe la red y habilite Wi-Fi","auto_config_check_system_and_summary":"Compruebe las páginas Sistema y Resumen.","auto_config_done_button_text":"Listo","auto_config_instructions_cannot_determine_grid_connection":"Antes de poner en marcha el sistema, compruebe el cableado al Backup Switch o al Gateway.","auto_config_instructions_determining_on_grid":"Si este mensaje permanece durante más de 3 minutos, compruebe el cableado al Backup Switch o al Gateway.","auto_config_instructions_finding_contactor_controller":"Si este mensaje permanece durante más de 3 minutos, compruebe el cableado al Backup Switch o al Gateway.","auto_config_instructions_finding_powerwalls":"Si este mensaje permanece durante más de 3 minutos, compruebe el cableado al Powerwall.","auto_config_instructions_finding_solar_powerwall":"Si este mensaje permanece durante más de 3 minutos, compruebe el cableado al Solar Powerwall.","auto_config_instructions_lookup_failed_retry":"Escanee la pegatina con el número de serie en Bolt para activar la configuración automática de Powerwall y después {retryButton}","auto_config_instructions_lookup_failed_wizard":"O bien, {wizardButton} para la configuración manual de Powerwall.","auto_config_instructions_missing_info_1":"Falló la configuración automática de Powerwall porque faltaba la siguiente información:","auto_config_instructions_missing_info_2":"{wizardButton} para introducirla manualmente.","auto_config_instructions_missing_info_3":"{registrationButton} manualmente.","auto_config_instructions_no_grid_connection":"Compruebe el cableado al Backup Switch o al Gateway","auto_config_instructions_no_grid_detected":"Compruebe el cableado y los disyuntores antes de poner en marcha el sistema.","auto_config_instructions_no_network_retry":"{networkLink} para activar la configuración automática de Powerwall y después {retryButton}","auto_config_instructions_no_network_wizard":"O bien, {wizardButton} para la configuración manual de Powerwall.","auto_config_instructions_retry":"{networkLink} si el problema persiste","auto_config_instructions_retry_wizard":"O bien, {wizardButton} para la configuración manual de Powerwall.","auto_config_instructions_updating":"Es necesario actualizar el software para poder iniciar la configuración automática de Powerwall. La actualización se descargará y aplicará automáticamente. Es posible que después tenga que reconectarse a la red Wi-Fi de Powerwall.","auto_config_missing_grid":"Red eléctrica para el emplazamiento del cliente","auto_config_missing_gridcode":"Código de red eléctrica para el emplazamiento del cliente","auto_config_missing_registration":"Información del cliente para registro del producto","auto_config_missing_timezone":"Zona horaria en el emplazamiento del cliente","auto_config_network_button_text":"Configurar la red","auto_config_registration_button_text":"Introducir información del cliente","auto_config_retry_button_label":"Reintentar","auto_config_run_button_label":"Configurar Powerwall automáticamente","auto_config_run_wizard_button_text":"Ejecutar el asistente","auto_config_section_title":"Configuración automática de Powerwall","auto_config_status_cancelled":"Se ha cancelado la configuración automática. Puede volver a intentarlo:","auto_config_status_cannot_determine_grid_connection":"No se ha podido determinar la conexión a la red eléctrica.","auto_config_status_complete":"Completado correctamente","auto_config_status_determining_on_grid":"Determinando conexión a la red eléctrica...","auto_config_status_finding_contactor_controller":"Buscando controlador del contactor...","auto_config_status_finding_powerwalls":"Buscando Powerwalls...","auto_config_status_finding_solar_powerwall":"Buscando Solar Powerwall...","auto_config_status_in_progress":"En curso","auto_config_status_lookup_failed":"Falló la búsqueda del número de serie","auto_config_status_missing_information":"Información faltante","auto_config_status_no_grid_connection":"No hay conexión a la red eléctrica","auto_config_status_no_grid_detected":"No se ha detectado ninguna red eléctrica.","auto_config_status_no_network":"No conectado a Tesla","auto_config_status_not_applicable":"La configuración automática no es necesaria o ya se ha ejecutado. Puede volver a ejecutarla:","auto_config_status_retrying":"Reintentando solicitud de red fallida","auto_config_status_timeout":"El tiempo de configuración automática se ha agotado. Puede volver a intentarlo:","auto_config_status_updating":"Se requiere actualización del software","auto_config_stop_system_modal_message":"El proceso de configuración automática no puede ejecutarse mientras está funcionando el sistema. Detenga el sistema e inténtelo de nuevo.","auto_config_stop_system_modal_title":"No se puede iniciar la configuración automática","battery_container_add_all_batteries_button_label":"AÑADIR TODO","battery_container_available_batteries_subtitle":"Estas baterías no participarán en el funcionamiento del sistema a menos que se añadan a la \\"Configured\\" list.","battery_container_available_batteries_title":"Bloques de baterías disponibles","battery_container_cannot_communicate":"Error de comunicación con Powerwall. Compruebe el cableado y la terminación del bus CAN.","battery_container_cannot_communicate_with_device":"No se puede comunicar con el dispositivo. Compruebe el cableado y la terminación del bus CAN.","battery_container_chinv":"VFD para compresor y calentador (CHINV) {index}","battery_container_configured_batteries_label":"Bloques de baterías configurados","battery_container_configured_batteries_subtitle":"Estas baterías no participarán en el funcionamiento del sistema.","battery_container_confirm_update_firmware":"Este proceso puede tardar varios minutos. No interrumpa la actualización ni salga de esta página.","battery_container_dcbc":"Bloque de baterías {index}","battery_container_dcbc_comms_failure":"Error de comunicación. Compruebe la conexión de red con la unidad y escanee de nuevo.","battery_container_dcbc_dcdisconnect_opened":"La maneta del interruptor de CC está en posición de apagado.","battery_container_dcbc_door_switch_opened":"La línea de habilitación de la puerta del inversor está abierta. Compruebe el interruptor de la puerta.","battery_container_dcbc_enable_line_return_low_estop":"El circuito de apagado remoto del inversor está abierto. Compruebe el circuito de apagado remoto.","battery_container_dcbc_enable_line_return_low_inv":"La línea de habilitación del sistema inversor está abierta. Compruebe el estado del interruptor automático.","battery_container_dcbc_enable_line_return_low_str":"La línea de habilitación para una o más filas de powerpack está abierta. Compruebe el cableado y las puertas de las unidades Powerpack. Para hacer un diagnóstico, consulte la guía de resolución de problemas de la línea de habilitación.","battery_container_delete_button_title":"Borrar este dispositivo","battery_container_diagnosis_incomplete":"Diagnóstico incompleto. Para poder realizar más comprobaciones, es preciso actualizar previamente el firmware.","battery_container_faults":"Fallas","battery_container_firmware_update_needed":"Se necesita actualizar el firmware.","battery_container_gateway_contactor_meter_controller":"Contactor del Gateway/Controlador del contador","battery_container_industrial_confirm_update_firmware":"Esto actualizará el firmware de cada bloque de baterías y sus componentes secundarios.","battery_container_industrial_confirm_update_firmware_info":"Esto actualizará el firmware de cada bloque de baterías en la \\"Configured\\" list and its subcomponents.","battery_container_internal_communications_fault":"Fallo interno de comunicaciones. Compruebe el cableado y la terminación del bus CAN y realice una actualización del firmware.","battery_container_meter_socket_adapter":"Backup Switch","battery_container_mpbc":"Bloque de baterías {index}","battery_container_mpthc":"Controlador térmico (MPTHC) {index}","battery_container_no_msa_detected":"No se ha detectado ningún Backup Switch.","battery_container_no_sync_detected":"No se ha detectado ningún controlador de contactor. No se ha detectado ninguna capacidad de respaldo.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"Ref.: {pn}","battery_container_pod":"Pod {index}","battery_container_post":"Poste (LCC) {index}","battery_container_post_missing":"Falta poste {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Powerstage {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"El Powerwall está apagado. Asegúrese de que el interruptor esté en la posición ON.","battery_container_qbms":"Panel de gestión de la batería (QBMS)","battery_container_qhvp":"Procesador de alta tensión (QHVP)","battery_container_residential_confirm_update_firmware":"Esto actualizará el firmware de cada Powerwall y el controlador de contactor (si está presente).","battery_container_resolve_connectivity":"Resuelva los problemas de conectividad antes de realizar una actualización del firmware.","battery_container_scan":"ESCANEAR","battery_container_scan_in_progress":"ESCANEANDO...","battery_container_scbc":"Bloque de cargadores {index}","battery_container_scthc":"Controlador térmico (SCTHC) {index}","battery_container_self_tests_failure":"No ha superado la autocomprobación.","battery_container_self_tests_inconclusive":"Los resultados de la autocomprobación no son concluyentes.","battery_container_self_tests_internal_error":"Error de las autocomprobaciones debido a un error interno del sistema.","battery_container_self_tests_stall":"Tiempo de espera agotado: las autocomprobaciones no han podido comenzar.","battery_container_self_tests_system_down":"No es posible realizar autocomprobaciones mientras el sistema está apagado. Inicie el sistema e inténtelo de nuevo.","battery_container_self_tests_updating":"No es posible realizar autocomprobaciones mientras se actualizan las baterías. Inténtelo de nuevo cuando la actualización se haya completado.","battery_container_serial_number":"N.º de serie: {sn}","battery_container_solar_powerwall":"{index} Solar Powerwall","battery_container_starc":"Convertidor CC-CC (STARC) {index}","battery_container_stitch":"Control de potencia CC-CC (STITCH)","battery_container_synchronizer":"Controlador de contactor","battery_container_unknown":"Controlador de bus desconocido {index}","battery_container_update_failed":"Error de actualización. Inténtelo de nuevo y asegúrese de que el cableado y los interruptores de activación no se interrumpen durante el proceso de actualización.","battery_container_update_firmware":"ACTUALIZAR FIRMWARE","battery_container_update_in_progress":"ACTUALIZACIÓN EN CURSO...","battery_container_waiting_to_report_firmware":"Esperando que la unidad indique la versión del firmware.","battery_container_warnings":"Advertencias","button_label_generate":"GENERAR","can_reboot_message_backup":"Modo de respaldo","can_reboot_message_block_update":"Actualización de bloque en curso","can_reboot_message_enumeration":"Enumeración en curso","can_reboot_message_initializing":"Inicialización del sistema","can_reboot_message_power_flow_is_too_high":"El flujo de energía es demasiado alto","can_reboot_message_updating":"En curso actualización de paquete para la ubicación","caution":"PRECAUCIÓN","charger_settings_cabinet":"Armario {sn} {state}","charger_settings_cabinet_posts_warning":"Estos controles solamente detienen la poshabilitación y el bus de AT interno del armario. De todos modos, cuando acceda a los armarios debe aislar la energía y seguir el procedimiento de seguridad completo.","charger_settings_common_bus":"Bus común {state}","charger_settings_common_bus_warning":"Solamente detiene el bus de AT común. De todos modos, cuando acceda a los armarios debe aislar la energía y seguir el procedimiento de seguridad completo.","charger_settings_disabled":"deshabilitado","charger_settings_enabled":"habilitado","charger_settings_post":"Post {id} {state}","charger_settings_saving":"guardando {spinner}","client_protocols_container_subtitle":"Active o desactive los protocolos de cliente.","client_protocols_container_title":"Protocolos de cliente","client_protocols_menu_title":"Protocolos de cliente","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"API REST","client_protocols_view_modbus_label":"TCP/IP de Modbus","compliance_container_label_fcc_id":"ID de FCC: {fccId}","compliance_container_label_ic_id":"IC: {icId}","compliance_container_label_manufacturer":"Fabricante: {manufacturer}","compliance_container_label_model":"Modelo: {model}","compliance_container_title":"Cumplimiento","component-menu-title":"Componentes","conductor_limit":"Las baterías se controlan para evitar exceder los límites de corriente configurados en cada fase de los CT de los conductores. Vea la nota sobre la aplicación del límite del conductor para ver más detalles de donde se utiliza y qué límites se deben configurar.","conductor_min_current":"Límite de exportación del conductor","control_container_add_on":"ACCESORIO","control_container_always_active":"SIEMPRE ACTIVO","control_container_battery_ok":"EXPORTACIÓN TOTAL DE BATERÍA PERMITIDA","control_container_charge_power_target":"OBJETIVO DE POTENCIA DE CARGA","control_container_conductor_max_current":"Límite de importación del conductor","control_container_conductor_min_current_max_bound":"{mode} tiene un valor máximo de 200 A","control_container_conductor_min_current_min_bound":"{mode} tiene un valor mínimo de 5 A","control_container_control_subtitle":"Subtítulo de control","control_container_control_title":"Título de control","control_container_direct":"DIRECTO","control_container_disable":"Desactivar","control_container_discharge_power_target":"OBJETIVO DE POTENCIA DE DESCARGA","control_container_enabled":"ACTIVADO","control_container_energy_target":"OBJETIVO DE ENERGÍA. Este valor debe coincidir con el tamaño del sistema según los documentos de diseño y el informe de los inspectores","control_container_error_message":"{mode} es obligatorio","control_container_explanation_bullet_five_max_site_meter_power_kw":"Cuando la carga neta es superior a dicho límite, las baterías se descargarán en un esfuerzo por evitar sobrepasar ese límite.","control_container_explanation_bullet_five_min_site_meter_power_kw":"Cuando la generación neta es superior a dicho límite, las baterías se cargarán en un esfuerzo por evitar sobrepasar ese límite.","control_container_explanation_bullet_four_max_site_meter_power_kw":"Cuando la carga neta es inferior a dicho límite, las baterías se limitarán en su potencia de carga permitida.","control_container_explanation_bullet_four_min_site_meter_power_kw":"Cuando la generación neta es inferior a dicho límite, las baterías se limitarán en su potencia de descarga permitida.","control_container_explanation_bullet_one_max_site_meter_power_kw":"El límite de importación del emplazamiento es un parámetro opcional. Deje este campo vacío para desactivar la limitación.","control_container_explanation_bullet_one_min_site_meter_power_kw":"El límite de exportación para la ubicación es un parámetro opcional. Deje este campo vacío para desactivar la limitación.","control_container_explanation_bullet_three_max_site_meter_power_kw":"Este es un límite agregado en todas las fases de los medidores de todos los emplazamientos. (Nota: Cuando se utilizan medidores de carga, el medidor del emplazamiento se calcula utilizando carga, energía solar y batería).","control_container_explanation_bullet_three_min_site_meter_power_kw":"Este es un límite agregado en todas las fases de los medidores de todos los emplazamientos. (Nota: Cuando se utilizan medidores de carga, el medidor del emplazamiento se calcula utilizando carga, energía solar y batería).","control_container_explanation_bullet_two_max_site_meter_power_kw":"Cuando está activado, el registro principal de la instalación controla la potencia máxima que se puede importar de la red al emplazamiento.","control_container_explanation_bullet_two_min_site_meter_power_kw":"Cuando está activado, el registro principal de la instalación controla la potencia máxima que se puede exportar de la red al emplazamiento.","control_container_explanation_export_restrictions_locked":"Determina cómo el sistema puede exportar energía a la red. Una vez definido, la regulación exige que solamente se pueda cambiar poniéndose en contacto con Tesla.","control_container_explanation_export_restrictions_unlocked":"La regulación requiere que las características de exportación solo se pueden establecer durante la puesta en servicio inicial. Póngase en contacto con Tesla para modificarlas.","control_container_explanation_nominal_system":"Este valor debe coincidir con el tamaño del sistema según los documentos de diseño y el informe del inspector.","control_container_heat_for_energy":"CALOR PARA ENERGÍA","control_container_heat_mode":"MODO DE CALOR","control_container_heco_committed_capacity":"Capacidad comprometida","control_container_heco_committed_discharge_power_W_max_bound":"{mode} tiene un valor máximo de 100 000 W (100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"{mode} tiene un valor mínimo de 100 W","control_container_loading":"Cargando","control_container_max_site_meter_power_W_max_bound":"{mode} tiene un valor máximo de 50 000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"{mode} tiene un valor mínimo de 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} debe ser mayor o igual que 0","control_container_max_site_meter_power_kw":"Límite de importación del emplazamiento","control_container_max_site_meter_power_w":"Límite de importación del emplazamiento","control_container_menu":"Menú","control_container_min_site_meter_power_kW_positive":"{mode} debe ser mayor o igual que 0","control_container_min_site_meter_power_kw":"Límite de exportación del emplazamiento","control_container_min_site_meter_power_w":"Límite de exportación del emplazamiento","control_container_minimum_charge_power":"POTENCIA MÍNIMA DE CARGA","control_container_minimum_discharge_power":"POTENCIA MÍNIMA DE DESCARGA","control_container_misc":"VARIOS","control_container_net_meter_mode":"Restricciones de exportación del emplazamiento","control_container_never":"SIN EXPORTACIÓN AL EMPLAZAMIENTO","control_container_nominal_system_energy_kW_positive":"{mode} debe ser mayor o igual que 0","control_container_nominal_system_energy_kWh_positive":"{mode} debe ser mayor o igual que 0","control_container_nominal_system_energy_kwh":"Energía nominal del sistema","control_container_nominal_system_energy_max_error":"Energía nominal del sistema excede el límite máximo de energía","control_container_nominal_system_power_kw":"Potencia nominal del sistema","control_container_nominal_system_power_max_error":"La potencia nominal del sistema excede el límite máximo de potencia","control_container_number_error_message":"{mode} debe ser una entrada numérica","control_container_power":"POTENCIA","control_container_pv_only":"EXPORTACIÓN CORRECTA HASTA LECTURA DE MEDIDOR FV","control_container_reactive_mode":"MODO REACTIVO","control_container_real_mode":"MODO REAL","control_container_reset":"Restablecer","control_container_site_control":"CONTROL DEL EMPLAZAMIENTO","control_container_site_limits":"LÍMITES DEL EMPLAZAMIENTO","control_container_site_max_power":"POTENCIA MÁXIMA DEL EMPLAZAMIENTO","control_container_site_min_power":"POTENCIA MÍNIMA DEL EMPLAZAMIENTO","control_container_submit":"Enviar","control_container_submitting_control":"Enviando control","control_start":"INICIAR","control_stop":"DETENER","current_password_placeholder_text":"Introduzca su contraseña actual","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"Amp {id}","current_transformer_item_view_battery_ct":"Batería","current_transformer_item_view_calculated_reading":"Calculada:","current_transformer_item_view_conductor_ct":"Conductor","current_transformer_item_view_ct_voltage_pairing_1":"Fase L1","current_transformer_item_view_ct_voltage_pairing_2":"Fase L2","current_transformer_item_view_ct_voltage_pairing_3":"Fase L3","current_transformer_item_view_ct_voltage_pairing_default":"Fase predeterminada","current_transformer_item_view_doubled_solar_ct":"Solar (1CT x2)","current_transformer_item_view_flip":"Invertir","current_transformer_item_view_generator_ct":"Generador","current_transformer_item_view_load_ct":"Carga","current_transformer_item_view_measure_pw_plus_input":"Midiendo un inversor Powerwall+","current_transformer_item_view_measured_reading":"Por CT:","current_transformer_item_view_missing_ct":"Falta","current_transformer_item_view_no_reading":"Sin lectura","current_transformer_item_view_none_ct":"Ninguno","current_transformer_item_view_phase_sequence_dropdown_title":"Fase","current_transformer_item_view_site_ct":"Sitio","current_transformer_item_view_smart_ct":"Inteligente","current_transformer_item_view_solar_ct":"Solar","current_transformer_item_view_solar_rgm_ct":"Solo ingresos de energía solar","current_transformers_container_800a_ct_ensure":"Asegúrese de que la selección de CT de esta página coincide con lo que está instalado.","current_transformers_container_800a_ct_larger":"Los CT de 800 A tienen un tamaño físico mayor que los CT de 200/264 A.","current_transformers_container_800a_ct_use_case":"Para medir conductores o paneles grandes (como 400 A/800 A), utilice y configure el CT de 800 A.","current_transformers_container_amps_explanation":"Corriente que fluye a través del transformador de corriente","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Asegúrese de que el CT esté instalado en la fase correcta ({sequence}).","current_transformers_container_configure_subtitle":"Configure los transformadores de corriente del medidor.","current_transformers_container_ct_flipping_ensure_direction":"En primer lugar, asegúrese de que la etiqueta del CT esté mirando hacia el inversor solar (para CT solar) o mirando hacia la alimentación de la red (para el CT del emplazamiento). A continuación, compruebe el cableado de la fase y verifique las lecturas indicadas de corriente, potencia y factor de potencia.","current_transformers_container_ct_flipping_modal_title":"Invertir TC en el software","current_transformers_container_ct_flipping_software_incorrect_metering":"Si se utiliza el software para invertir un TC instalado en la fase incorrecta producirá una lectura incorrecta.","current_transformers_container_ct_flipping_wrong_phase":"Una lectura de potencia negativa puede indicar que el CT está instalado hacia atrás o en la fase incorrecta.","current_transformers_container_double_check_recommendation":"Antes de continuar, compruebe el cableado, las derivaciones de voltaje, los TC y la configuración del medidor.","current_transformers_container_doubled_solar_ct_explanation":"Se puede utilizar un TC individual para medir un inversor FV compensado","current_transformers_container_doubled_solar_ct_modal_title":"Medición de un inversor solar de fase dividida con un CT","current_transformers_container_grid_code_phase_modal_title":"Advertencia: El número de TC no coincide con la recomendación de fase del código de red","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Advertencia: El número de TC no coincide con la recomendación de fase del código de red para varios medidores","current_transformers_container_grid_code_phase_multiple_warnings_message":"Un número inesperado de TC está conectado a los siguientes medidores {numMeters}:","current_transformers_container_grid_code_phase_warning_message":"Un número de CT inesperado está agregado al siguiente medidor:","current_transformers_container_grid_code_single_phase_warning":"El código de rejilla aplicado es monofásico. Los sistemas monofásicos normalmente tienen un servicio ya sea monofásico o trifásico. {lb} Se recomienda un número impar de TC (1 o 3).","current_transformers_container_grid_code_split_phase_warning":"El código de retícula aplicado es de fases separadas. Los sistemas de fases-separadas comúnmente tienen un TC en cada \\"caliente\\" conductor. {lb} Se recomienda un número par de TC (2 o 4).","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"Se necesita un contador Neurio que mida los inversores solares Powerwall+ para habilitar la medición del grado de ingresos (Revenue Grade Metering, RGM).","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Seleccione Sí si este mide un inversor solar Powerwall+. Seleccione No si este mide un inversor solar que no forma parte de un conjunto Powerwall+.","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"¿Está midiendo un inversor Powerwall+?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Asegúrese de que la etiqueta del CT mire hacia el inversor solar.","current_transformers_container_label_modal_title":"Explicación de las Etiquetas","current_transformers_container_load_ct_ensure":"Al configurar los CT de carga, asegúrese de que se miden todas las cargas del emplazamiento y que se miden por separado las cargas con respaldo y sin respaldo.","current_transformers_container_load_ct_modal_title":"CT de carga","current_transformers_container_load_ct_recommended":"Solo se recomienda configurar los CT de carga para usos específicos donde no es posible configurar el CT de un emplazamiento.","current_transformers_container_meter_id":"Medidor {id}","current_transformers_container_no_load_and_site_ct":"No puede haber a la vez un CT de carga y un CT del emplazamiento.","current_transformers_container_no_loads_doubled_solar_ct_bullet":"No puede haber cargas detrás del CT.","current_transformers_container_no_site_or_load_warning":"NO HAY EMPLAZAMIENTOS O TRANSFORMADORES DE CORRIENTE DE CARGA CONFIGURADOS","current_transformers_container_no_solar_ct_warning":"NO HAY TRANSFORMADOR DE CORRIENTE SOLAR CONFIGURADO","current_transformers_container_no_solar_inverter_warning":"NO HAY UN INVERSOR SOLAR CONFIGURADO","current_transformers_container_phase_usages_modal_title":"Advertencia: La configuración del CT no coincide con la configuración de la fase","current_transformers_container_phase_usages_warning":"El número de fases configuradas no coincide con el número de CT configurados. Se recomienda(n) {lb} {num} de CT configurado(s).","current_transformers_container_phase_usages_warning_message":"Número inesperado de CT conectados al medidor o medidores siguiente(s):","current_transformers_container_power_amperage_configure_warning":"{type} El Transformador de Corriente requiere ambos, energía y amperaje positivos, para poder ser configurado correctamente.","current_transformers_container_power_factor_explanation":"Factor de potencia (Potencia_Real / Potencia_Aparente). Sólo se muestra para altos niveles de potencia. Para cargas resistivas comunes, el factor de potencia debe ser cercano a 1. Un factor de potencia bajo puede indicar que un transformador de corriente está instalado de manera incorrecta, o que hay cargas capacitivas/inductivas muy grandes.","current_transformers_container_power_factor_out_of_range_warning":"La medición del factor de potencia está fuera del rango esperado. {lb} Factor de potencia medido: {powerFactor} PF {lb} Puede que el medidor esté instalado de manera incorrecta o en una fase incorrecta, o que haya cargas capacitivas/inductivas demasiado grandes.","current_transformers_container_system_test_configured_incorrect":"Advertencia: El TC {id} podría estar configurado incorrectamente","current_transformers_container_title":"Transformadores de corriente","current_transformers_container_voltage_out_of_range_warning":"El voltaje está fuera del rango {lb} Voltaje medido: {volts} V {lb} El voltaje medido de este CT está fuera del rango normal de operación.","current_transformers_container_volts_explanation":"Voltaje de línea a neutro en la toma de tensión asociada con el transformador de corriente","current_transformers_container_watts_explanation":"Potencia como corriente que fluye a través del transformador de corriente multiplicada por el voltaje de la toma de tensión asociada","customer_installation_view_email_label":"CORREO ELECTRÓNICO DEL CLIENTE","customer_installation_view_email_placeholder":"Correo electrónico","customer_registration_view_address_label":"DIRECCIÓN","customer_registration_view_address_placeholder":"Dirección","customer_registration_view_city_label":"CIUDAD","customer_registration_view_city_placeholder":"Ciudad","customer_registration_view_clear_form":"BORRAR FORMULARIO","customer_registration_view_country_label":"país","customer_registration_view_customer_information":"INFORMACIÓN DEL CLIENTE","customer_registration_view_email_address_label":"CORREO ELECTRÓNICO","customer_registration_view_email_address_label_confirmation":"REINTRODUCIR CORREO ELECTRÓNICO","customer_registration_view_email_placeholder":"Correo electrónico","customer_registration_view_family_name_label":"APELLIDOS","customer_registration_view_family_name_warning":"Introduzca los apellidos del cliente.","customer_registration_view_given_name_label":"NOMBRE DE PILA","customer_registration_view_given_name_warning":"Introduzca el nombre del cliente.","customer_registration_view_homeowner_family_name_placeholder":"Apellidos","customer_registration_view_homeowner_given_name_placeholder":"Nombre","customer_registration_view_installation_address":"DIRECCIÓN DE LA INSTALACIÓN","customer_registration_view_phone_number_label":"TELÉFONO","customer_registration_view_phone_placeholder":"Teléfono","customer_registration_view_skip_explanation":"Si se omite, para tener acceso al sistema, el propietario antes tendrá que realizar el registro por sí mismo a través de la app móvil de Tesla.","customer_registration_view_state_placeholder":"Estado","customer_registration_view_state_province_region_label":"ESTADO/PROVINCIA/REGIÓN","customer_registration_view_zip_label":"CÓDIGO POSTAL","customer_registration_view_zip_placeholder":"Código postal","diagnostic-alert-affected-children":"Componentes afectados ({count})","diagnostic-alerts-missing-alert-information":"Falta información sobre la alerta","diagnostic-alerts-missing-data":"","diagnostic-alerts-toolbox-article":"Artículo de Toolbox","diagnostic-alerts-toolbox-article-external-link":"Enlaces externos","diagnostic_alert_alert_name":"Nombre de alerta","diagnostic_alert_alert_type":"Tipo de alerta","diagnostic_alert_audience":"Destinatarios","diagnostic_alert_clear_condition":"Borrar condición","diagnostic_alert_description":"Descripción","diagnostic_alert_display_name":"Nombre mostrado","diagnostic_alert_id":"ID de alerta","diagnostic_alert_impact_category":"Categoría del impacto","diagnostic_alert_latching":"Enclavamiento","diagnostic_alert_max":"Máx.","diagnostic_alert_min":"Mín.","diagnostic_alert_name":"Nombre","diagnostic_alert_node":"Nodo","diagnostic_alert_offset":"Desviación","diagnostic_alert_payload_signals":"Señales de datos","diagnostic_alert_potential_impact":"Impacto potencial","diagnostic_alert_safety_reason":"Motivo de seguridad","diagnostic_alert_scale":"Escala","diagnostic_alert_set_condition":"Establecer condición","diagnostic_alert_signal_name":"Nombre de la señal","diagnostic_alert_signoff":"Cerrar sesión","diagnostic_alert_sna_value":"Valor de SNA","diagnostic_alert_supplier_dtc_name":"Proveedor de nombre de DTC","diagnostic_alert_uiID":"ID de UI","diagnostic_alert_units":"Unidades","diagnostic_alert_urgent":"Urgente","diagnostic_category_item_view_alerts_description":"Alertas de sitios, componentes y subcomponentes","diagnostic_category_item_view_download_results":"RESULTADOS DE LA DESCARGA","diagnostic_category_item_view_internal_comms_description":"Compruebe las comunicaciones de todos los dispositivos","diagnostic_category_item_view_internal_comms_title":"Comunicaciones del dispositivo","diagnostic_category_item_view_live_results":"RESULTADOS EN VIVO","diagnostic_category_item_view_metering_description":"Compruebe las conexiones del medidor","diagnostic_category_item_view_metering_title":"Medición","diagnostic_category_item_view_networking_description":"Compruebe la conexión de red","diagnostic_category_item_view_networking_title":"Redes","diagnostic_category_item_view_no_selected_tests":"NO HAY PRUEBAS SELECCIONADAS","diagnostic_category_item_view_rerun_selected":"VOLVER A EJECUTAR {num} PRUEBAS SELECCIONADAS","diagnostic_category_item_view_rerun_selected_test":"VOLVER A EJECUTAR LA PRUEBA SELECCIONADA","diagnostic_category_item_view_run_selected":"EJECUTAR {num} PRUEBAS SELECCIONADAS","diagnostic_category_item_view_run_selected_test":"EJECUTAR LA PRUEBA SELECCIONADA","diagnostic_category_item_view_select_all_tests":"Seleccionar todo","diagnostic_category_item_view_self_tests_description":"Inicie las pruebas de carga y descarga en el sistema","diagnostic_category_item_view_self_tests_title":"Autocomprobaciones","diagnostic_category_item_view_toggle_all_tests":"Activar/Desactivar todo","diagnostic_input_view_blocks_label":"BLOQUES","diagnostic_input_view_individual_test_name_label":"NOMBRE DE PRUEBA INDIVIDUAL","diagnostic_input_view_max_allowed_charge_power_label":"POTENCIA DE CARGA MÁXIMA PERMITIDA","diagnostic_input_view_max_allowed_discharge_power_label":"POTENCIA DE DESCARGA MÁXIMA PERMITIDA","diagnostic_test_enable_line":"Línea de habilitación","diagnostic_test_item_view_ac_self_test_description":"Autocomprobación de corriente alterna","diagnostic_test_item_view_ac_self_test_description_2":"Ejecuta una secuencia de pruebas de pérdida de potencia en el sistema de CA. Los sistemas Powerpack utilizarán la configuración “MAX_ALLOWED_POWER”. Ajústelos a 0 para los sistemas Megapack y Supercharger.","diagnostic_test_item_view_dc_self_test_description":"Autocomprobación de corriente continua","diagnostic_test_item_view_dc_self_test_description_2":"Ejecuta una secuencia de pruebas en el sistema de CC, que incluyen comprobaciones térmicas.","diagnostic_test_item_view_enable_line_description":"Pruebe si hay tensión en la línea de habilitación para todos los Powerwall","diagnostic_test_item_view_enable_line_resolution":"Accione la línea de habilitación y vuelva a intentarlo","diagnostic_test_item_view_individual_self_test_description":"Seleccione en la lista de autocomprobaciones disponibles en los controladores de bus configurados.","diagnostic_test_item_view_meter_comms_description":"Use el comando ping para comprobar las comunicaciones del medidor","diagnostic_test_item_view_network_connection_description":"Pruebe la conexión a Internet y a los servidores de Tesla","diagnostic_test_item_view_network_connection_resolution":"Reconfigure las conexiones de las redes","diagnostic_test_item_view_resolution_generic_text":"Reconfigure {name} e inténtelo de nuevo","diagnostic_test_item_view_step_canceled":"La prueba ha sido cancelada por el usuario","diagnostic_test_item_view_step_config_update_status":"Compruebe el estado del servidor de configuración de Tesla","diagnostic_test_item_view_step_google_http":"Hacer ping a HTTP de Google","diagnostic_test_item_view_step_google_https":"Hacer ping a HTTPS de Google","diagnostic_test_item_view_step_hermes_status":"Compruebe el estado del servidor de registro de Tesla","diagnostic_test_item_view_step_results_ip_address":"Dirección IP","diagnostic_test_item_view_step_results_subnet_mask":"Subred","diagnostic_test_item_view_table_header_key":"Identificador","diagnostic_test_item_view_table_header_name":"Paso","diagnostic_test_item_view_table_header_value":"Valor","diagnostic_test_meter_comms":"Comunicaciones del medidor","diagnostic_test_network_connection":"Conexión de red","diagnostics_composite_view_no_tests_found":"NO SE ENCUENTRAN PRUEBAS DISPONIBLES","diagnostics_composite_view_run_all_selected_tests":"REALIZAR TODAS LAS PRUEBAS SELECCIONADAS","diagnostics_container_industrial_disruptive_tests_description":"Las pruebas siguientes activaran el funcionamiento del ventilador y los sistemas térmicos, que generarán ruido. Se debe esperar un consumo aproximado de 30 kW por inversor Además, las pruebas siguientes pueden alterar el funcionamiento normal del sistema:","diagnostics_container_required_inputs_description":"Las siguientes pruebas requieren entradas adicionales:","diagnostics_container_residential_disruptive_tests_description":"Las pruebas siguientes pueden alterar el funcionamiento normal tanto del Gateway como del Powerwall:","diagnostics_container_stop_test_title":"¿Detener la prueba {name}?","diagnostics_container_subtitle":"Herramientas para diagnosticar problemas en la instalación del sistema.","diagnostics_container_tests_running":"Pruebas diagnóstico ejecutándose","diagnostics_container_title":"Diagnósticos","disabled_reason_battery_breaker_open":"El interruptor de batería está abierto","disabled_reason_checking_firmware_update":"Comprobando si hay actualizaciones de firmware","disabled_reason_config":"Desactivado por archivo de configuración","disabled_reason_excessive_voltage_drop":"Caída de tensión excesiva","disabled_reason_firmware_update_failed":"Error en la actualización del firmware","disabled_reason_firmware_update_in_progress":"Actualización de firmware en curso","disabled_reason_gridcode_write_failed":"Falló la configuración del código de red eléctrica","disabled_reason_user_requested":"Desactivado a petición del usuario","dropdown_default_placeholder":"Escriba...","dropdown_list_view_not_listed_label":"No está en la lista: \\"{searchText}\\"","dropdown_list_view_select_all":"Seleccionar todo","dropdown_list_view_select_field":"Seleccione un campo.","dropdown_list_view_show_complete":"CAMBIAR A LISTA COMPLETA","dropdown_list_view_show_searchable":"CAMBIAR A LISTA DE BÚSQUEDA","enumeration_warning_details_miswired_12v":"Cuando se conectan dos Powerwall+, solo la unidad conectada al Gateway/Backup Switch debe tener 12 V aplicados. Para que desaparezca esta advertencia, desconecte la alimentación de 12 V de todos los Powerwall+ subsiguientes en la cadena y, después, pulse Volver a buscar dispositivos (en la parte inferior de esta página).","enumeration_warning_details_multiple_controllers_gateway":"Desenchufe el arnés de alimentación de todos los controladores del emplazamiento Powerwall+ situado en la parte superior derecha del Conjunto solar.","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"Desenchufe el arnés de alimentación del controlador del emplazamiento Expansion Powerwall+ (no conectado al Backup Switch), ubicado en la parte superior derecha del Conjunto solar.","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"Desenchufe el arnés de alimentación de todos los controladores del emplazamiento Powerwall+ situado en la parte superior derecha del Conjunto solar. Ponga en servicio el sistema conectándose al Backup Gateway.","enumeration_warning_details_multiple_controllers_unknown":"En una configuración multi-Powerwall+ con cableado CAN solo debe tener alimentación un controlador del emplazamiento.","enumeration_warning_details_multiple_controllers_unknown_with_details":"Únicamente debe estar activo un controlador de emplazamiento. Cuando utilice Backup Gateway, desconecte todos los controladores Powerwall+. Cuando utilice un Backup Switch, desconecte todos controladores Powerwall+ excepto uno. Ejecutar wizard está deshabilitado hasta que solo haya un controlador de emplazamiento activo.","enumeration_warning_title_miswired_12v":"Error de cableado de 12 V","enumeration_warning_title_multiple_controllers":"Hay varios controladores del emplazamiento activos","error_details":"Detalles de error","error_item_view_check_network":"Compruebe la conexión de red.","error_item_view_disconnected":"Desconectado del Gateway. Compruebe la conexión de red y {refresh}","error_item_view_forgot_password":"Haga clic para restablecer la contraseña.","error_item_view_refresh_browser":"Actualice el navegador.","error_item_view_try_logging_in_again":"Intente iniciar sesión de nuevo.","ethernet_view_backup_dns_label":"SERVIDOR DNS DE RESPALDO","ethernet_view_backup_dns_warning":"Servidor DNS de respaldo válido","ethernet_view_configuration_label":"CONFIGURACIÓN","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"GATEWAY","ethernet_view_gateway_warning":"IP de Gateway (router) válida","ethernet_view_ip_address_label":"DIRECCIÓN IP","ethernet_view_ip_address_warning":"Dirección IP válida","ethernet_view_not_available":"No disponible","ethernet_view_primary_dns_label":"SERVIDOR DNS PRIMARIO","ethernet_view_primary_dns_warning":"Servidor DNS primario válido","ethernet_view_static_label":"Estática","ethernet_view_subnet_mask_label":"MÁSCARA DE SUBRED (OPC)","ethernet_view_subnet_mask_warning":"Máscara de subred válida","factory_reset_message":"Esto hará que la unidad se restablezca al estado por defecto que establece Tesla. Esta acción no se puede deshacer. Para que pueda funcionar, un instalador profesional deberá poner en servicio la unidad de nuevo. Es posible que tenga que volver a conectarse a la red Wi-Fi de la unidad.","field_false":"Falso","field_true":"Verdadero","follower_powerwall_message":"Este Powerwall está controlado por {leader}","follower_powerwall_title":"Powerwall seguidor","form_legend_text":"indica un campo obligatorio","generation_container_connecting_status":"Conectando","generation_container_connection":"Conexión de inversor {id}","generation_container_connection_summary":"Durante este proceso de conexión, es posible que se le desconecte temporalmente de la red. {lb} Compruebe que vuelve a conectarse a la red correcta. Puede tardar hasta 3 minutos.","generation_container_subtitle":"Añadir tanto la información del inversor solar como la del generador a continuación.","generation_container_title":"Generación","generator_item_view_disconnect_type_label":"TIPO DE DESCONEXIÓN","generator_item_view_generator":"GENERADOR {id}","generator_item_view_manufacturer_label":"FABRICANTE (OPC)","generator_item_view_model_label":"MODELO","generator_item_view_serial_label":"N.º DE SERIE","generator_item_view_sustained_power_label":"POTENCIA MANTENIDA","generator_view_add_generator":"AÑADIR GENERADOR","grid_code_container_off_grid_confirmation":"¿El sistema esta desconectado de la red?","grid_code_container_off_grid_detected":"Se ha detectado que el sistema está fuera de red. Asegúrese de que esta sea la configuración correcta.","grid_code_container_off_grid_warning":"{warning}: No se pudo detectar el estado de la red del sistema. Configurar el estado incorrecto de fuera de red puede resultar en fallo del sistema.","grid_code_container_results":"Resultados de la detección de red.","grid_code_container_retrieving":"Recuperando códigos de red","grid_code_container_saving":"Guardando código de red eléctrica","grid_code_container_subtitle":"Basándose en la ubicación y en las lecturas de los contadores, encuentre la mejor configuración para su instalación.","grid_services_view_grid_services":"Servicios de red eléctrica","heading_change_password":"Cambiar la contraseña","help_view_how_password":"Cómo encontrar la contraseña en un Gateway","help_view_how_password_description":"Abra la puerta del Gateway La contraseña se encuentra en la etiqueta después de \\"Password:\\"","help_view_how_serial_number":"Cómo encontrar el número de serie en un Gateway que no es de respaldo","help_view_how_serial_number_backup":"Cómo encontrar el número de serie en un Gateway de respaldo","help_view_how_serial_number_backup_description":"Abra la puerta del Gateway de respaldo El número de serie comienza con \\"(S):\\"","help_view_how_serial_number_description":"Abra la puerta del Gateway El número de serie comienza con \\"(S):\\"","help_view_how_to_enable_line":"Enlazar un Powerwall para activarlo o desactivarlo","help_view_how_to_enable_line_description":"Apague el interruptor del Powerwall y vuelva a encenderlo. En sistemas con varios Powerwall, solo necesita accionar un interruptor","hierarchy_charger":"Bloque de cargadores {name}","hierarchy_chinv":"VFD para compresor y calentador (CHINV)","hierarchy_converter":"Convertidor CC-CC (STARC)","hierarchy_inverter":"Bloque de baterías {name}","hierarchy_mega_thermal_controller":"Controlador térmico (MPTHC)","hierarchy_missing_post":"Falta poste","hierarchy_mpbc":"Bloque de baterías {name}","hierarchy_part_number":"Número de pieza","hierarchy_pod":"Pod","hierarchy_pods_reporting":"Informe de pods","hierarchy_post":"Poste (LCC)","hierarchy_posts":"Postes","hierarchy_power_stage":"Etapa de potencia","hierarchy_power_stages":"Etapas de potencia","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Panel de gestión de la batería (QBMS)","hierarchy_qhvp":"Procesador de alta tensión (QHVP)","hierarchy_scthcs":"Controladores térmicos","hierarchy_serial_number":"Número de serie","hierarchy_sitemaster":"Registro principal de la instalación {name}","hierarchy_starcs":"Convertidores CC-CC","hierarchy_stitch":"Control de potencia CC-CC (STITCH)","hierarchy_thermal_controller":"Controlador térmico (SCTHC)","higher_order_login_login_required":"Es necesario iniciar sesión","higher_order_login_title":"Comencemos.","home_container_caution":"⚠️ Precaución","home_container_caution_deenergize":"Para desenergizar el sistema de forma segura, apague todos los interruptores del Powerwall.","home_container_caution_energized":"El sistema podría seguir energizado si las cadenas solares están conectadas.","home_container_inactive_meter":"Datos de medidor antiguos","home_container_inactive_meter_description":"Compruebe la conexión del medidor {type}.","home_container_inactive_meter_timestamp":"Última lectura del medidor: {timestamp}","home_container_login_required":"Es necesario iniciar sesión","home_container_missing_meter":"Falta un medidor","home_container_positive_meter":"Advertencia: Es posible que el medidor {type} esté configurado incorrectamente","home_container_positive_meter_description":"El medidor {type} requiere que tanto la potencia positiva como el amperaje estén correctamente configurados.","home_container_powerwall_error":"Error del sistema Powerwall","home_container_powerwall_start_error":"incapaz de iniciar el sistema: {reason}","home_container_site_controller_error":"Error del sistema del controlador del emplazamiento","home_container_sitemaster_alternative":"Nota: Normalmente el sistema debería desactivarse al apagar el interruptor de activación de todos los Powerwall y abriendo sus disyuntores.","home_container_sitemaster_confirm":"Haga clic en Sí a continuación solo si está seguro de que el sistema debería detenerse.","home_container_sitemaster_confirm_industrial":"¿Confirma que desea detener el sistema?","home_container_sitemaster_confirm_wizard":"Para ejecutar el Asistente es preciso que el sistema esté detenido. ¿Proceder y detener el sistema?","home_container_sitemaster_header_warning":"{warning} Se detendrá el funcionamiento del Powerwall y del sistema.","home_container_sitemaster_header_warning_industrial":"{warning} Este sistema se encuentra en un estado en el que Tesla no recomienda detenerlo. Motivo: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning} Este sistema se encuentra en un estado en el que Tesla no recomienda detenerlo. Motivo: \\"{reason}\\"","home_container_sitemaster_logging":"Mientras el sistema esté desconectado, el registro se detendrá","home_container_sitemaster_reset":"Para iniciar el sistema después de haber sido apagado, haga clic en el botón de la página de inicio.","home_container_sitemaster_update":"Si hay alguna actualización en curso, se finalizará","home_container_start_powerwall":"Iniciar sistema","home_container_start_system_button":"INICIAR SISTEMA","home_container_stop_powerwall":"Detener sistema","home_container_stop_system_button":"DETENER SISTEMA","home_view_compliance":"CUMPLIMIENTO","home_view_download_all_logs":"Descargar todos los registros","home_view_download_logs":"DESCARGAR REGISTROS","home_view_download_logs_description_one":"Esto descarga un juego comprimido de registros del sistema que pueden ser útiles para diagnosticar problemas del sistema operativo, del software y de las redes.","home_view_download_logs_description_three":"Los registros están firmados y cifrados y se deben enviar al Servicio de Tesla Energy para su análisis.","home_view_download_logs_description_two":"Esto es especialmente útil cuando el Gateway no se puede conectar a la red y se necesita una solución de problemas avanzada.","home_view_login":"INICIAR SESIÓN","home_view_logout":"CERRAR SESIÓN","home_view_run_wizard":"EJECUTAR ASISTENTE","input_accept":"Acepto","input_confirm":"Acuso recibo de todas las advertencias del sistema.","input_consent":"Doy mi consentimiento","input_decline":"No acepto","input_no_consent":"No doy mi consentimiento","input_title_email":"Introduzca una dirección de correo electrónico válida: nombre@nombre.dominio","installation_container_relay_section_modal_title":"Relé de baja tensión del Gateway","installation_container_residual_current_device_modal_title":"Requisito de instalación para los interruptores diferenciales del emplazamiento","installation_container_subtitle":"Información sobre el instalador y el sitio","installation_container_sync_relay_usage_open_off_grid":"Relé abierto en estado desconectado de la red eléctrica","installation_container_title":"Información de instalación","installation_problem_detail_site_shutdown_0":"Para volver a habilitar el sistema:","installation_problem_detail_site_shutdown_1":"Encienda todos los interruptores ON/OFF del Powerwall","installation_problem_detail_site_shutdown_2":"Cierre las paradas de emergencia","installation_problem_detail_site_shutdown_3":"Asegúrese de que los puentes de apagado rápido están correctamente instalados","installation_problem_detail_site_shutdown_4":"Compruebe el cableado del circuito de apagado.","installation_problem_detail_title_site_shutdown":"Circuito de apagado del emplazamiento activado","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Circuito de apagado del emplazamiento activado por un apagado rápido de Powerwall+.","installation_problem_details_pvacs_with_no_solar_rgm":"Los medidores solares solo son necesarios cuando se miden inversores solares que no forman parte de un conjunto Powerwall+. Los medidores que miden un inversor Powerwall+ deben estar marcados como tales en la página de transformadores de corriente.","installation_problem_details_too_few_solar_rgm":"El número de TC que miden un inversor solar Powerwall+ debe coincidir con el número de inversores solares Powerwall+. Ejecute el wizard, empareje el medidor Neurio si fuera necesario y ajuste la configuración del TC en la página de transformadores de corriente.","installation_problem_details_too_many_solar_rgm":"El número de TC que miden un inversor solar Powerwall+ debe coincidir con el número de inversores solares Powerwall+. Ejecute el wizard y ajuste la configuración del TC en la página de transformadores de corriente.","installation_problem_title_pvacs_with_no_solar_rgm":"Medidor solar que no mide un inversor Powerwall+. ¿Es esto correcto?","installation_problem_title_site_shutdown":"Activado circuito de apagado del emplazamiento. Todos los inversores solares Powerwall y Powerwall+ están deshabilitados.","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Circuito de apagado del emplazamiento activado por un apagado rápido de Powerwall+. Todos los inversores solares Powerwall y Powerwall+ están deshabilitados.","installation_problem_title_too_few_solar_rgm":"Hay muy pocos medidores solares midiendo el inversor Powerwall+","installation_problem_title_too_many_solar_rgm":"Hay demasiados medidores solares midiendo el inversor Powerwall+","installation_view_add_on_solar":"Agregar-en","installation_view_additional_connections_label":"CONEXIONES ADICIONALES","installation_view_back_wiring":"Anterior","installation_view_backup_configuration_label":"CONFIGURACIÓN DE RESPALDO","installation_view_basement_location":"Sótano","installation_view_company_label":"NOMBRE DE LA EMPRESA","installation_view_company_placeholder":"Nombre de la empresa","installation_view_conditioned_space_location":"Espacio condicionado","installation_view_existing_solar":"Existente","installation_view_floor_mounting":"Piso","installation_view_garage_location":"Cochera","installation_view_home_label":"CABLEADO DOMÉSTICO","installation_view_location_label":"LUGAR DE INSTALACIÓN POWERWALL","installation_view_modem_ethernet":"¿Hay conexión de módem celular a ethernet?","installation_view_modem_wifi":"¿Hay conexión de módem celular a wifi?","installation_view_mounting_label":"MONTAJE DE POWERWALL","installation_view_na_backup_configuration":"No aplicable","installation_view_new_solar":"Nuevo","installation_view_none_solar":"Ninguno","installation_view_outdoor_location":"Exterior","installation_view_pad_mounting":"Base","installation_view_partial_home_backup_configuration":"Parte de la casa","installation_view_phone_label":"TELÉFONO","installation_view_phone_placeholder":"Número de teléfono del instalador","installation_view_powerline_ethernet":"¿Hay conexión de línea de potencia a ethernet?","installation_view_pv_panel":"Panel FV","installation_view_relay_enabled":"Relé abierto en estado desconectado de la red eléctrica","installation_view_relay_label":"RELÉ DE BAJA TENSIÓN DEL GATEWAY","installation_view_relay_options_modal_content":"Cuando está conectado a la red o a otra fuente de alimentación de CA, este relé estará cerrado. {lb1} Cuando está desconectado de la red, este relé estará abierto. {lb1} Como ejemplo, se puede usar para que el aire acondicionado funcione con conexión a la red eléctrica y no funcione cuando está desconectado de la red eléctrica para impedir que la alta corriente de irrupción asociada sobrecargue los Powerwalls.","installation_view_relay_section_modal_content":"El Gateway tiene un relé integrado que se controla para activarse o desactivarse en función del estado del sistema. {lb1} Se puede usar para controlar un dispositivo externo, como una carga o una fuente de energía secundaria. {lb1} En el Gateway de respaldo 1, utilice los terminales 1 y 2 del conector auxiliar (conector Phoenix grande de color verde de 9 terminales). {lb1} En el Gateway de respaldo 2, utilice los terminales 3 y 4 (GSO/GSI) del conector auxiliar (conector Phoenix de color verde de 5 terminales). {lb1} Este relé es de 60 voltios/2 amperios nominales y se suele utilizar con circuitos de 12 V o 24 V. {lb1} Para obtener más información, consulte las notas de aplicación sobre eliminación de cargas y temas relacionados.","installation_view_residual_current_device":"¿Tiene un interruptor diferencial instalado corriente arriba del Gateway?","installation_view_residual_current_device_modal_content":"Determinadas instalaciones, como las redes eléctricas con configuración de puesta a tierra de tipo TT, pueden requerir interruptores diferenciales (RCD). {lb1}{lb2} Para reducir el riesgo de disparo por interferencia durante el funcionamiento desconectado de la red, Tesla recomienda que todos los interruptores diferenciales corriente arriba tengan retardo (tipo S) o bien se reubiquen los interruptores diferenciales del emplazamiento después del contactor del Gateway si fuera posible. {lb1}{lb2} Para obtener información adicional, consulte la nota de aplicación sobre interruptores diferenciales y protección contra fallos.","installation_view_satellite_ethernet":"¿Hay conexión de satélite a Ethernet?","installation_view_satellite_wifi":"¿Hay conexión de satélite a Wi-Fi?","installation_view_side_wiring":"Lateral","installation_view_solar_label":"INSTALACIÓN SOLAR","installation_view_solar_panels":"Paneles solares","installation_view_solar_roof":"Techo solar","installation_view_solar_type_label":"TIPO INSTALACIÓN SOLAR","installation_view_solarglass":"Vidrio solar","installation_view_stack_kit":"¿Hay juego de Stack Kit?","installation_view_type_commercial":"Comercial","installation_view_type_label":"INFORMACIÓN DE INSTALACIÓN","installation_view_type_perm_off_grid":"Desconectada permanentemente de la red eléctrica","installation_view_type_residential":"Residencial","installation_view_wall_mounting":"Muro","installation_view_whole_home_backup_configuration":"Toda la casa","installation_view_wifi_extender":"¿Hay extensión de Wi-Fi?","installation_view_wiring_label":"CABLEADO DEL POWERWALL","inverter_test_view_accuracy_magnitude":"Precisión de magnitud","inverter_test_view_accuracy_time":"Precisión de hora","inverter_test_view_complete":"Completado","inverter_test_view_current_magnitude":"Magnitud de corriente","inverter_test_view_fail":"Falló","inverter_test_view_na":"No aplicable","inverter_test_view_not_run":"No ejecutado","inverter_test_view_pass":"Pasó","inverter_test_view_running":"En marcha","inverter_test_view_set_magnitude":"Establecer magnitud","inverter_test_view_set_time":"Establecer hora","inverter_test_view_test_description":"Llevando a cabo autocomprobación del inversor","inverter_test_view_test_name_all":"Todas las pruebas","inverter_test_view_test_name_over_freq_stage_one":"Sobrefrecuencia nivel 1","inverter_test_view_test_name_over_freq_stage_two":"Sobrefrecuencia nivel 2","inverter_test_view_test_name_over_volt_one":"Sobretensión nivel 1","inverter_test_view_test_name_over_volt_two":"Sobretensión nivel 2","inverter_test_view_test_name_under_freq_stage_one":"Baja frecuencia nivel 1","inverter_test_view_test_name_under_freq_stage_two":"Baja frecuencia nivel 2","inverter_test_view_test_name_under_volt_one":"Baja tensión nivel 1","inverter_test_view_test_name_under_volt_two":"Baja tensión nivel 2","inverter_test_view_timestamp":"Registro de la hora","inverter_test_view_trip_magnitude":"Magnitud de disparo","inverter_test_view_trip_time":"Hora de disparo","inverter_test_view_warning":"Nota: La prueba del inversor puede tardar de 20 a 30 minutos por inversor.","label_fail":"Falló","label_inconclusive":"No concluyente","label_pass":"Pasó","legal_container_customer_policy_subtitle":"Debe ser completado por el propietario de la vivienda.","legal_container_customer_policy_title":"Política sobre el Escudo de Privacidad del cliente y garantía limitada de Tesla","legal_container_no_meters_warning":"NO SE HAN CONFIGURADO MEDIDORES","legal_container_no_powerwalls_warning":"NO SE HAN DETECTADO POWERWALLS","login_type_customer":"Cliente","login_type_engineer":"Técnico","login_type_installer":"Instalador","login_view_cancel_login_auth":"Cancelar inicio de sesión","login_view_change_forgot_password":"CAMBIAR LA CONTRASEÑA O CONTRASEÑA OLVIDADA","login_view_compliance":"CUMPLIMIENTO","login_view_customer_email_placeholder":"Correo electrónico del cliente","login_view_email":"CORREO ELECTRÓNICO","login_view_email_placeholder":"Correo electrónico del instalador principal","login_view_forgot_password":"CONTRASEÑA OLVIDADA","login_view_forgot_password_login_type":"Seleccione el tipo de inicio de sesión","login_view_language_label":"IDIOMA","login_view_login_type_label":"TIPO DE INICIO DE SESIÓN","login_view_password_placeholder":"Ingrese su contraseña","login_view_start_login_auth":"COMENZAR PROCESO DE INICIO DE SESIÓN","login_view_start_login_auth_how_to_enable_line_description":"Para iniciar sesión, apague el interruptor de encendido del Powerwall y vuelva a encenderlo. En sistemas con varios Powerwall, solo necesita accionar un interruptor","login_view_username":"NOMBRE DE USUARIO","login_view_username_placeholder":"Nombre de usuario","login_warning_view_expand":"Si el Asistente no se ejecuta, {click}.","login_warning_view_firmware_update":"Si hay una actualización de firmware en curso","login_warning_view_heading":"{warning} Al iniciar el Asistente se detiene el funcionamiento de la batería.","login_warning_view_protect_system":"Para proteger al sistema, el Asistente no se ejecutará:","login_warning_view_stop_operation":"Forzar ejecución del Asistente (Force Launch Wizard)","login_warning_view_supported_browsers":"{warning} Actualmente solo se admiten los navegadores web Chrome y Safari.","login_warning_view_system_force_launch":"Si desea ejecutar el Asistente y detener el funcionamiento del sistema, seleccione Forzar ejecución del Asistente.","login_warning_view_system_off_grid":"Si el sistema eléctrico no está conectado a la red","login_warning_view_warning_click":"haga clic para obtener más información","mater_item_view_bad_barcode":"Escaneado código de barras incorrecto","mater_item_view_barcode_scan_failed":"Fallo en el escaneo del código de barras","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"Batería","meter_aggregate_type_load":"Carga","meter_aggregate_type_site":"Emplazamiento","meter_aggregate_type_solar":"Solar","meter_container_add_meter_error":"Comprobando medidor","meter_container_add_meter_status":"Añadiendo medidor","meter_container_authorizing_status":"Autorizando","meter_container_decode":"No ha sido posible descodificar el número de serie a partir de la imagen.","meter_container_detecting_status":"Detectando medidores cableados","meter_container_failed_status":"No se ha podido añadir el medidor","meter_container_reconnecting_status":"Reconectando","meter_container_skip_title":"No se ha puesto en servicio ningún medidor. ¿Confirma que desea continuar?","meter_container_starting_status":"Iniciando","meter_container_subtitle":"Para conectarlo, introduzca el ID breve y el número de serie del medidor de energía. Compruebe los medidores después de ponerlos en servicio.","meter_container_subtitle_industrial":"Introduzca las direcciones IP del medidor de energía y las ubicaciones para conectarse. Compruebe los medidores después de ponerlos en servicio.","meter_container_success_status":"Medidor añadido correctamente","meter_container_title":"Medidores","meter_container_unknown_status":"Desconocido","meter_container_updating_status":"Actualizando medidor","meter_container_verification":"Comprobación del {id} de medidor","meter_container_verification_gw1":"Durante este proceso de emparejamiento Wi-Fi, es posible que se le desconecte temporalmente de la red Wi-Fi del Gateway. {lb} Compruebe que vuelve a conectarse a la red correcta. Puede tardar hasta 3 minutos.","meter_container_verification_gw2":"El proceso de emparejamiento Wi-Fi puede tardar hasta 3 minutos.","meter_container_verify_meter_error":"Comprobando medidor","meter_container_verifying_status":"Comprobando medidor","meter_item_view_add_failed":"No se ha podido añadir el medidor","meter_item_view_add_failed_help":"Compruebe la identificación corta y el número de serie. Encienda y apague el medidor y conéctelo cuando suene el tono. Si el problema persiste, elimine el medidor y vuelva a intentarlo.","meter_item_view_advanced_settings":"CONFIGURACIÓN AVANZADA (OPCIONAL)","meter_item_view_battery_ct":"Batería","meter_item_view_battery_location":"Batería","meter_item_view_check_meter":"COMPROBAR CONEXIÓN DEL MEDIDOR {id}","meter_item_view_conductor_location":"Conductor","meter_item_view_cts":"{count} TC detectados","meter_item_view_doubled_solar_location":"Solar doble","meter_item_view_generator_location":"Generador","meter_item_view_ip_address":"DIRECCIÓN IP","meter_item_view_load_location":"Carga","meter_item_view_mac_address":"DIRECCIÓN MAC","meter_item_view_meter_location":"UBICACIÓN DEL MEDIDOR","meter_item_view_none_location":"Ninguna","meter_item_view_remote_ip_address_placeholder":"p. ej. 123.123.123.123","meter_item_view_remote_mac_address_placeholder":"p. ej. 12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"p. ej. OBB1231231234, VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"p. ej. 01234","meter_item_view_serial":"N.º DE SERIE","meter_item_view_short_id":"ID ABREVIADA","meter_item_view_site_ct":"Emplazamiento","meter_item_view_site_location":"Emplazamiento","meter_item_view_solar_ct":"Solar","meter_item_view_solar_location":"Solar","meter_item_view_solar_rgm_location":"Solo ingresos de energía solar","meter_item_view_success":"¡CONECTADO!","meter_item_view_unable":"NO HA SIDO POSIBLE LEER EL MEDIDOR","meter_item_view_upgrading":"EL MEDIDOR SE ESTÁ ACTUALIZANDO","meter_list_view_add":"AÑADIR MEDIDOR WI-FI","meter_list_view_add_ip":"AÑADIR MEDIDOR IP","meter_list_view_detect":"DETECTAR MEDIDORES CABLEADOS","meter_list_view_enable_inverter_readings":"Habilitar lecturas del inversor de batería","meter_list_view_inverter_meter":"MEDIDORES DE INVERSOR","meter_list_view_inverter_meter_desc":"Cuando está activado y no hay medidores de batería configurados, el controlador de la instalación utilizará las lecturas de los inversores de batería como medidor de batería.","meter_msa_id":"BACKUP SWITCH {id}","meter_sync_id":"SINCRONIZAR MEDIDOR {id}","meter_sync_x_id":"MEDIDOR PRIMARIO INTERNO X (GATEWAY) {id}","meter_sync_y_id":"MEDIDOR AUXILIAR INTERNO Y (GATEWAY) {id}","meter_update_modal_fetch_status_error":"Error: No se puede obtener el estado de actualización del medidor","meter_update_modal_footer":"La actualización del medidor puede tardar hasta 2 minutos","meter_update_modal_remaining_time":"Tiempo restante: {seconds} segundos","meter_update_modal_timeout_error":"Error: Tiempo de espera agotado mientras se actualizaba el medidor","meter_update_modal_title":"La actualización del medidor está en curso","meter_validation_container_error":"La validación del medidor no está disponible mientras el controlador del emplazamiento está ejecutándose.","meter_validation_container_error_placeholder":"Validación del medidor no disponible: {error}.","meter_validation_container_power_command":"Comando de potencia","meter_validation_container_power_start":"Iniciar","meter_validation_container_power_stop":"Detener","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Comando de potencia reactiva","meter_validation_container_real_power_command":"Comando de potencia real","meter_validation_container_show_per_phase":"Mostrar valores por fase","meter_validation_container_title":"Validación del medidor","meter_validation_container_usage":"Envíe un comando de potencia y valide los datos del medidor. Debe permanecer en esta página para mantener la continuidad del comando de potencia. Los valores negativos harán que el sistema cargue. Los valores positivos harán que el sistema descargue.","meter_validation_control_subtitle":"Control","meter_validation_control_title":"Título de control","meter_validation_disable":"Desactivar","meter_validation_loading":"Cargando","meter_validation_menu":"Menú","meter_validation_reset":"Restablecer","meter_validation_submit":"Enviar","meter_validation_submitting_control":"Enviando control","meter_validation_title":"Validación del medidor","meter_validation_view_apparent_power":"Potencia aparente (kVA)","meter_validation_view_battery_location":"Batería","meter_validation_view_conductor_location":"Conductor","meter_validation_view_current":"Corriente (A)","meter_validation_view_doubled_solar_location":"Solar doble","meter_validation_view_generator_location":"Generador","meter_validation_view_hz":"Hz","meter_validation_view_inverters":"Inversores ({length})","meter_validation_view_ka":"kA","meter_validation_view_kv":"kV","meter_validation_view_kvar":"kVAr","meter_validation_view_kw":"kW","meter_validation_view_kwh":"kWh","meter_validation_view_load_location":"Carga","meter_validation_view_meter":"Medidores ({length})","meter_validation_view_none_location":"Ninguna","meter_validation_view_pf":"Factor de potencia","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"Promedio","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Total","meter_validation_view_reactive_power":"Potencia reactiva (kVAr)","meter_validation_view_real_power":"Potencia real (kW)","meter_validation_view_site_location":"Emplazamiento","meter_validation_view_solar_location":"Solar","meter_validation_view_solar_rgm_location":"Solo ingresos de energía solar","meter_validation_view_voltage":"Tensión (V)","meter_w1_wifi_id":"MEDIDOR {id}","meter_w1_wired_id":"MEDIDOR CABLEADO {id}","meter_w2_wifi_id":"MEDIDOR {id}","meter_w2_wired_id":"MEDIDOR CABLEADO {id}","meter_wifi_id":"Contador {id}","meter_wired_id":"MEDIDOR CABLEADO {id}","metrics_aggregate":"Sistema","metrics_apparent_power":"Potencia aparente ({unit})","metrics_battery":"Batería","metrics_current":"Corriente ({unit})","metrics_meter":"Medidor","metrics_no_metrics":"No hay métricas para mostrar.","metrics_power_factor":"Factor de potencia","metrics_reactive_power":"Potencia reactiva ({unit})","metrics_real_power":"Potencia real ({unit})","metrics_subtitle":"Métricas","metrics_voltage_l_n":"Tensión L-N ({unit})","modal_acknowledge":"CONFIRMAR","modal_confirm":"CONFIRMAR","modal_exit":"SALIR","modal_no":"NO","modal_note":"Nota","modal_ok":"Correcto","modal_reconfigure":"RECONFIGURAR","modal_yes":"SÍ","modbus_container_title":"Interfaz Modbus","modbus_table_register_address":"Dirección","modbus_table_register_name":"Nombre","modbus_table_register_type":"Tipo","modbus_table_register_value":"Valor","modbus_table_register_value_decimal":"Valor (decimal)","modbus_table_register_value_hex":"Valor (hex)","msa-off-grid":"Desconectado de la red eléctrica","msa-on-grid":"Conectado a la red eléctrica","navigation_email":"CORREO ELECTRÓNICO","network-switch-menu-item":"Conmutadores de red","network_cellular_configured":"Configurada, pero no conectada. Asegúrese de que haya red de telefonía móvil disponible y no haya obstrucciones alrededor de la antena.","network_connected":"Conectado","network_container_connect_ethernet":"Conectando a ethernet","network_container_connect_to_internet":"Espere hasta que el sistema intente conectarse a Internet.","network_container_connect_wifi":"Conectándose a {ssid}","network_container_connect_wifi_description":"Es posible que durante este proceso tenga que reconectarse a la red del Gateway para continuar la instalación.","network_container_connman":"El administrador de conexiones de red se conecta de manera dinámica a la red mejor.","network_container_connman_body":"Para garantizar la conexión, configure todos los tipos de conexión disponibles:","network_container_delete_network":"¿Borrar red configurada?","network_container_ethernet_and_wifi_warning":"Configure las redes Ethernet y Wi-Fi disponibles para garantizar la conexión.","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Configure las redes ethernet disponibles para garantizar la conectividad.","network_container_network_description":"Conéctese a Internet con todos los tipos de red disponibles.","network_container_network_subtitle":"Red","network_container_no_internet_bullet_four":"Powerwall puede enviar datos de rendimiento a Tesla para que la Asistencia técnica pueda identificar posibles problemas","network_container_no_internet_bullet_four_industrial":"Los dispositivos pueden enviar datos de rendimiento a Tesla para que la Asistencia técnica pueda identificar posibles problemas","network_container_no_internet_bullet_one":"La información de registro del Powerwall se envía a Tesla y se activa la garantía completa de 10 años","network_container_no_internet_bullet_three":"El cliente puede utilizar la aplicación móvil de Tesla para supervisar el uso de energía y controlar Powerwall","network_container_no_internet_bullet_two":"Powerwall puede recibir actualizaciones remotas de firmware, lo que permite mejoras de rendimiento y nuevas funciones","network_container_no_internet_bullet_two_industrial":"Los dispositivos pueden recibir actualizaciones remotas del firmware, lo que permite mejoras de rendimiento y nuevas funciones","network_container_no_internet_bullet_zero":"Antes de la puesta en marcha, se puede determinar si es necesario actualizar el firmware","network_container_no_internet_no_cell_title":"Si el emplazamiento de la instalación tiene una conexión a Internet disponible, no omita este paso. Conéctese al servicio de Internet del cliente a través de Ethernet (preferiblemente) o Wi-Fi.","network_container_no_internet_title":"Si el sitio de instalación tiene una conexión a Internet disponible, no omita este paso. Conecta Powerwall al servicio de Internet del cliente a través de Ethernet (preferido) o Wi-Fi, o establezca un enlace celular.","network_container_no_internet_warning":"Es importante establecer una conexión a internet fiable para:","network_container_scan_networks":"Escanear redes Wi-Fi","network_container_scan_wifi_disconnect_warning":"Advertencia: El escaneo de nuevas redes desconectará temporalmente la conexión inalámbrica.","network_container_wifi_subtitle":"Wi-Fi","network_container_wifi_warning":"Configure las redes Wi-Fi disponibles para garantizar la conectividad.","network_disabled":"Desactivado","network_disconnected":"No conectado","network_ethernet_configured":"Configurada, pero no conectada. Compruebe la conexión del cable Ethernet.","network_switches_container_discover_failure":"Último fallo de detección: {error}","network_switches_container_discover_switches":"Detectar conmutadores de red","network_switches_container_discovered_label":"Conmutadores de red detectados","network_switches_container_discovering_stop_button":"Detener detección","network_switches_container_discovery_switches_running_label":"Actualmente se está ejecutando la detección de conmutadores de red. Puede detener la detección a continuación.","network_switches_container_ip":"IP: {ip}","network_switches_container_mac":"MAC: {mac}","network_switches_container_not_supported":"Los conmutadores de red solo se admiten en sistemas industriales.","network_switches_container_password_not_set":"No se ha establecido contraseña","network_switches_container_password_set":"Se ha establecido contraseña","network_switches_container_passwords_error":"Estado de configuración de contraseña: {status}","network_switches_container_set_password_label":"Establezca una contraseña en los conmutadores de red que aún utilizan la contraseña predeterminada de fábrica.\\n A todas las contraseñas se asignará el mismo valor.","network_switches_container_set_passwords":"Establecer contraseñas","network_switches_container_set_passwords_button":"Establecer contraseña","network_switches_container_setting_passwords_button":"Configurando contraseña...","network_switches_container_start_discovering_button":"Iniciar detección","network_switches_container_start_discovery_help":"La detección de conmutadores de red se ejecuta de forma automática y periódica, pero puede activarse con el botón Iniciar búsqueda.","network_switches_container_subtitle":"Ver conmutadores de red","network_switches_container_title":"Conmutadores de red","network_view_check_connection":"COMPROBAR LA CONEXIÓN A INTERNET","network_view_connection_failed":"¡NO CONECTADO!","network_view_connection_success":"¡CONEXIÓN CORRECTA!","network_view_continue_no_internet":"CONTINUAR SIN INTERNET","network_view_default_error":"Error de conexión","network_view_local_network_connected":"Red local conectada","network_view_local_network_disconnected":"Error de red local","network_view_tesla_internet_connected":"Servicios de Tesla e Internet conectados","network_view_tesla_internet_disconnected":"Error de conexión de Servicios de Tesla e Internet","network_warning":"Advertencia","network_wifi_configured":"Configurada, pero no conectada. Compruebe su configuración Wi-Fi.","open_meter_validatiion_container_title":"Abrir validación del medidor","operation_mode_autonomous":"Modo autónomo","operation_mode_backup":"Carga de respaldo solamente","operation_mode_self_consumption":"Modo de autoconsumo","operation_mode_site_control":"Control del emplazamiento","overview_menu_control_title":"Control","overview_menu_diagnostics_title":"Diagnósticos","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Conectado","overview_menu_network_no_connection":"Sin conexión","overview_menu_registration_complete":"Completado","overview_menu_registration_incomplete":"Incompleto","overview_menu_registration_pending":"Conexión a internet pendiente","overview_menu_security_title":"Cambie o restablezca la contraseña","overview_menu_settings_title":"Configuración","overview_menu_summary_title":"Resumen","overview_menu_system_title":"Sistema","overview_menu_update_title":"Actualización de software","overview_menu_view_alerts_event":"Evento","overview_menu_view_alerts_events":"Eventos","overview_menu_view_inverter_title":"Prueba del inversor","overview_menu_view_network_title":"Red","overview_menu_view_registration_title":"Registro","overview_menu_view_test_title":"Prueba automática","overview_meter_validation_title":"Validación del medidor","password_generate_error":"Se ha producido un error al generar una nueva contraseña. Verifique la conectividad y la contraseña actual e inténtelo de nuevo.","password_generate_help_text":"Introduzca la contraseña existente para generar una nueva contraseña aleatoria.","password_generate_menu_title":"Cambiar contraseña","password_generate_notice":"Se ha cambiado la contraseña. Registre la nueva contraseña antes de salir de esta página.","phase_container_detect_timeout":"Tiempo agotado al detectar fase","phase_container_detection_attempt":"Intento n.º {num}","phase_container_grid_code_validating_modal_title":"Validando código de red","phase_container_grid_compliant_description":"Red conforme {checkmark}","phase_container_grid_modal_description":"La red será conforme en {time} segundos.","phase_container_grid_modal_title":"Esperando a la conformidad de la red","phase_container_modal_description":"La detección de fase puede tardar hasta 2 minutos por Powerwall.","phase_container_modal_title":"Realizando detección de fase","phase_container_saving_phases_modal_title":"Guardando fases","phase_container_subtitle":"Ver qué línea está activada en cada Powerwall y actualizar el estado de línea","phase_container_supported_error":"No se ha detectado ninguna Powerwall. No es posible la detección de fases.","phase_container_title":"Fase","phase_container_voltage_caution_body":"Tensión inesperada de {voltage} V detectada en {lineNumber}. Vuelva a comprobar si {lineStatus} es la configuración adecuada para esta fase.","phase_container_warning_body":"No se han seleccionado fases de respaldo. Por consiguiente, el sistema no admitirá ninguna carga cuando se pierda la conexión a la red.","phase_container_warning_modal_header":"La unidad de respaldo está desactivada","phase_line_id":"Línea {id}","phase_line_item_view_line":"Línea","phase_line_item_view_line_status_backup":"De respaldo","phase_line_item_view_line_status_configured":"Sin respaldo","phase_line_item_view_line_status_not_configured":"No configurado","phase_line_status_backup":"De respaldo","phase_line_status_configured":"Sin respaldo","phase_line_status_not_configured":"No configurada","phase_view_detect":"DETECTAR FASES","phase_view_split_phase":"Fase dividida","power_flow_view_go_off_grid":"DESCONECTARSE DE LA RED","power_flow_view_go_on_grid":"CONECTARSE A LA RED","power_flow_view_grid_button_disabled_reason":"Para desconectarse de la red, debe encenderse el sistema.","power_flow_view_grid_spinner_alt_label":"Sistema en transición","power_flow_view_start_system":"INICIAR SISTEMA","power_flow_view_stop_system":"DETENER SISTEMA","powerwall_container_industrial_no_additional_title":"No se encuentran bloques de baterías adicionales","powerwall_container_industrial_subtitle":"Se enumeran los bloques de baterías detectados automáticamente por el controlador del emplazamiento. Escanee de nuevo si el bloque de baterías no aparece en la lista.","powerwall_container_industrial_subtitle_auto_detection":"Se enumeran todos los bloques de baterías detectados automáticamente por el controlador del emplazamiento. Si un bloque de baterías no aparece en la lista, compruebe el equipo de red (incluyendo el cableado) y asegúrese de que los controladores del bus están encendidos.","powerwall_container_industrial_title":"Bloque de baterías","powerwall_container_industrial_updating":"Verificando bloques de baterías","powerwall_container_no_additional_powerwalls_description":"Consulte el Manual de instalación del Powerwall para obtener consejos sobre cómo resolver posibles problemas de cableado.","powerwall_container_no_additional_powerwalls_title":"No se ha encontrado ningún otro Powerwall","powerwall_container_scan_again":"ESCANEAR DE NUEVO","powerwall_container_scanning":"Escaneando","powerwall_container_scanning_for_more":"Buscando más","powerwall_container_subtitle":"En la lista aparecen todos los Powerwall detectados automáticamente por el Gateway. Escanee de nuevo si un Powerwall no está en la lista.","powerwall_container_subtitle_component_auto_detection":"Se enumeran todos los componentes detectados automáticamente por el Gateway. Si un componente no está en la lista, compruebe el cableado.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Verificando Powerwalls","powerwall_container_updating_note":"Nota: Puede tardar hasta 60 segundos por Powerwall.","powerwall_item_view_blank_numbers":"Esperando verificación...","powerwall_item_view_numbers":"Número de pieza: {partNumber} Número de serie: {serialNumber}","powerwall_item_view_powerwall":"POWERWALL:{id}","powerwall_pairing_cancel":"Cancelar","powerwall_pairing_connect":"Conectar","powerwall_pairing_done":"Listo","powerwall_pairing_error_already_paired":"Error de emparejamiento: el dispositivo ya está emparejado","powerwall_pairing_error_bad_pairing_response":"Error de emparejamiento: el dispositivo se ha negado a emparejarse. Asegúrese de que se haya detenido el seguidor","powerwall_pairing_error_bad_qr_code":"No es un código QR de Wi-Fi","powerwall_pairing_error_changes_prohibited":"Error de emparejamiento: Prohibido","powerwall_pairing_error_internal":"Error de emparejamiento: error interno","powerwall_pairing_error_no_qr_code":"No se ha encontrado ningún código QR","powerwall_pairing_error_no_response":"Error de emparejamiento: el dispositivo no ha respondido.","powerwall_pairing_error_not_leader":"Error de emparejamiento: este es un dispositivo seguidor. Reconectarse al dispositivo líder.","powerwall_pairing_error_prohibited_uncommissioned":"Fallo de emparejamiento: este Powerwall aún no se ha puesto en servicio","powerwall_pairing_error_too_many_devices":"Error de emparejamiento: ya está emparejado el número máximo de dispositivos","powerwall_pairing_error_unknown":"Error de emparejamiento: Error desconocido","powerwall_pairing_error_wifi_connection_failed":"Error de emparejamiento: No ha sido posible conectarse a Wi-Fi. Compruebe la contraseña.","powerwall_pairing_error_wifi_not_found":"Error de emparejamiento: No se encuentra la red Wi-Fi","powerwall_pairing_exception":"Error de emparejamiento: Excepción","powerwall_pairing_instructions_2":"Introduzca o escanee el SSID y la contraseña de la red Wi-Fi para el Powerwall que se va a emparejar. Busque un código QR en el dispositivo.","powerwall_pairing_password_label":"Contraseña:","powerwall_pairing_scan_qr_code":"Escanear código QR","powerwall_pairing_ssid_label":"SSID:","powerwall_pairing_state_complete":"Emparejamiento completado. Durante un minuto (o más tiempo si hay una actualización en curso) es posible que el nuevo dispositivo no empiece a responder. Para descartar, haga clic en Listo.","powerwall_pairing_state_monitoring":"Emparejamiento de un nuevo dispositivo. Puede tardar hasta un minuto.","powerwall_starting":"Iniciando Powerwall","powerwall_view_detected_backup":"Se ha detectado capacidad de reserva","powerwall_view_detected_synchrometers":"Capacidad de medidor detectada","powerwall_view_failed":"FALLÓ","powerwall_view_no_backup":"No se ha detectado ninguna capacidad de respaldo","powerwall_view_no_sync":"No se ha detectado ningún sincronizador","powerwall_view_scan":"ESCANEAR","powerwall_view_success":"ACTUALIZADO","powerwall_view_synchrometer_detected":"Sincromedidores detectados","powerwall_view_synchronizer_detected":"Sincronizador detectado","powerwall_view_update":"VERIFICAR POWERWALLS","privacy_policy_view_accept_warranty_title":"Aceptar garantía limitada de Powerwall de Tesla","privacy_policy_view_contact_bullet_one":"a través del correo electrónico a la dirección {privacyEmail};","privacy_policy_view_contact_bullet_two":"Por correo postal a Tesla, Inc., Dirigido a: Legal, 45500 Fremont Boulevard, Fremont, California 94538, Estados Unidos.","privacy_policy_view_contact_header":"Cómo ponerse en contacto con nosotros","privacy_policy_view_contact_paragraph_one":"Si tiene alguna pregunta o comentario, o para excluirse de ciertos servicios, póngase en contacto con nosotros:","privacy_policy_view_contact_paragraph_three":"Si se encuentra en el AEE o en Suiza, su filial de Tesla local puede ser la entidad responsable de procesar su información personal.","privacy_policy_view_contact_paragraph_two":"Tenga en cuenta que la comunicación por correo electrónico no siempre es segura, así que no incluya información de su tarjeta de crédito ni información confidencial en los mensajes de correo electrónico que nos envíe.","privacy_policy_view_cross_border_transfers_header":"Transferencias interfronterizas","privacy_policy_view_cross_border_transfers_paragraph_one":"Los Servicios se controlan y gestionan desde Estados Unidos. La información procedente de o acerca de usted o de su uso de nuestros productos o los Servicios podría almacenarse y procesarse en cualquier país en los que dispongamos de instalaciones o en el que trabajemos con proveedores de servicios. Estos países podrían no tener las mismas leyes de protección de datos que el país en el que inicialmente nos proporcionó esa información. Cuando transfiramos información procedente de o acerca de usted o de su uso de nuestros productos o los Servicios a otros países, la protegeremos tal y como se describe en la presente Política de privacidad. Al usar nuestros productos, los Servicios, o proporcionarnos información de algún otro modo, nos estará autorizando a transferir la información procedente de o acerca de usted o de su uso de nuestros productos o los Servicios a países fuera de su país de residencia, incluyendo los Estados Unidos.","privacy_policy_view_cross_border_transfers_paragraph_two":"Si se encuentra en el AEE o en Suiza, cumplimos los requisitos legales aplicables protegiendo adecuadamente la transferencia de información personal a países fuera del AEE o Suiza. Tesla ha certificado su unión al Marco del Escudo de Privacidad entre la UE y los EE. UU tal y como lo han redactado el Departamento de Comercio estadounidense y la Comisión Europea con respecto al procesamiento de cierta información personal transferida del AEE a Tesla y a sus subsidiarias de propiedad absoluta en EE. UU. {privacyShield} de Tesla está disponible aquí.","privacy_policy_view_devices":"Procedente de o acerca de usted o sus dispositivos","privacy_policy_view_energy_products":"Información de o acerca de sus productos de energía Tesla","privacy_policy_view_eu_policy_warning":"Debe aceptar la Política de privacidad para registrar su Powerwall y controlarlo desde la aplicación móvil de Tesla.","privacy_policy_view_eu_warranty_warning":"Si no acepta la Política de privacidad del cliente de Tesla, puede que no podamos proporcionarle la garantía completa de diez años. Tesla ofrecerá la garantía durante al menos cuatro años tras la fecha en que se instaló su Powerwall por primera vez, lo cual está sujeto a las exclusiones y limitaciones descritas en la garantía {warrantyLink}.","privacy_policy_view_grid_services":"Su Powerwall puede respaldar la fiabilidad de la red eléctrica prestando servicios en programas opcionales ofrecidos por las compañías eléctricas o por terceros. Estos servicios suelen implicar una descarga parcial de su Powerwall en momentos determinados a cambio de algún beneficio económico para usted, y requieren que compartamos sus datos de uso de electricidad e información de su Powerwall con empresas eléctricas o terceros. Antes de incluirle en alguno de estos programas, le ofreceremos detalles del programa y le daremos la opción de renunciar a él. Si no renuncia en ese momento, se le incluirá en el programa.","privacy_policy_view_grid_services_title":"Servicios de red eléctrica","privacy_policy_view_grid_warning":"No tiene por qué aceptar. Si no da su consentimiento, todavía podemos darle la oportunidad de inscribirse en estos programas más adelante.","privacy_policy_view_here":"aquí","privacy_policy_view_homeowner_na":"PROPIETARIO DE LA VIVIENDA NO DISPONIBLE","privacy_policy_view_homeowner_required":"Debe rellenarla el propietario de la vivienda","privacy_policy_view_information_collection_devices_bullet_five":"A través de su navegador o dispositivo móvil: La mayoría de navegadores o dispositivos móviles recopilan algunos datos automáticamente, como la dirección Media Access Control (MAC), el tipo de computadora (Windows o Macintosh), la resolución de la pantalla, el nombre y la versión del sistema operativo, el fabricante y el modelo del dispositivo, el idioma, el tipo y la versión del navegador de Internet, y el nombre y la versión de los Servicios (como la aplicación de Tesla) que está usando. Usamos esta información para asegurarnos de que los Servicios funcionan correctamente.","privacy_policy_view_information_collection_devices_bullet_four":"Sin conexión: Podemos recopilar información procedente de o acerca de usted sin conexión, p. ej. si visita una tienda o una instalación de reparación Tesla, asiste a uno de nuestros eventos, se registra para una prueba de conducción, realiza un pedido por teléfono o se pone en contacto con nuestro servicio al cliente o departamento de ventas.","privacy_policy_view_information_collection_devices_bullet_one":"A través de los servicios: Podemos recopilar información sobre usted a través de nuestros sitios web, aplicaciones de software, páginas de redes sociales, correos electrónicos u otros servicios digitales (los “Servicios”), por ejemplo, cuando usted se suscribe a un boletín de noticias, realice alguna compra o registre su producto en Tesla.","privacy_policy_view_information_collection_devices_bullet_three":"Mi Tesla: Los clientes que adquieren ciertos productos de Tesla reciben una cuenta de Mi Tesla, disponible en nuestra página web. Dependiendo de la información que usted desee facilitarnos, existirá la posibilidad de que recopilemos y tratemos los siguientes tipos de datos de su cuenta My Tesla: la información de su registro como cliente, el estado de su pedido, la garantía y otro tipo de documentación de sus productos Tesla (incluyendo, por ejemplo, el número de identificación del vehículo u otros números de serie del producto, información sobre el plan de servicio o paquete de conectividad), la documentación del seguro, permiso de conducción, contratos de financiación e información similar. Puede acceder a su cuenta de Mi Tesla para actualizar su información en la cuenta en cualquier momento.","privacy_policy_view_information_collection_devices_bullet_two":"De otras fuentes: También podemos recibir información acerca de usted de otras fuentes, como bases de datos públicas, socios de marketing conjuntos, instaladores certificados, centros de servicio o de reparación de vehículos de terceros, y plataformas de redes sociales.","privacy_policy_view_information_collection_energy_products_bullet_one":"Podemos recopilar información acerca de su producto, como su fecha de instalación, el número de productos instalados y el número o números de serie.","privacy_policy_view_information_collection_energy_products_bullet_two":"Con el fin de proporcionar y mejorar nuestros productos y servicios de energía, podemos recopilar datos con respecto a dónde está instalado el producto y cómo está configurado, los datos relacionados con el uso y el rendimiento del producto, los datos relativos a su consumo total de energía en el hogar, así como otros datos necesarios para diagnosticar problemas.","privacy_policy_view_information_collection_header":"Información que podríamos recopilar","privacy_policy_view_information_collection_paragraph_five":"Si ya no desea que recopilemos datos de rendimiento o cualquier otro dato de su producto de energía Tesla, por favor póngase en contacto con nosotros como se indica en la sección “Cómo ponerse en contacto con nosotros” que se incluye a continuación. Tenga en cuenta que si decide excluirse de la recopilación de datos de rendimiento de su producto eléctrico Tesla, no podremos notificarle acerca de problemas aplicables a su producto eléctrico en tiempo real, lo cual podría provocar que su producto eléctrico sufra funcionalidad reducida, daños graves o inutilización, y también pueden anularse muchas características de su producto eléctrico, incluidas las actualizaciones periódicas de software y firmware.","privacy_policy_view_information_collection_paragraph_four":"Podemos recopilar información de o relacionada con usted (tales como su nombre, dirección, número telefónico, correo electrónico, información de pago, etc.) o de sus dispositivos, de varias maneras, incluyendo:","privacy_policy_view_information_collection_paragraph_one":"Recopilamos tres tipos principales de información acerca de usted y su uso de nuestros productos y servicios: (1) Información procedente de o acerca de usted o sus dispositivos; (2) información procedente de o acerca de su vehículo Tesla; e (3) información procedente de o acerca de sus productos eléctricos de Tesla. Dependiendo de los productos y servicios de Tesla que solicite, haya adquirido o use, puede que no todos estos tipos de información sean aplicables a su caso.","privacy_policy_view_information_collection_paragraph_three":"Cuando visite nuestra página web o use nuestros servicios de algún otro modo, podríamos usar cookies, etiquetas de píxeles, herramientas de análisis y otras tecnologías similares para ayudar a prestar y mejorar nuestros Servicios, tal y como se indica a continuación:","privacy_policy_view_information_collection_paragraph_two":"Podemos recopilar información procedente de o acerca de usted (como su nombre, dirección, número de teléfono, dirección de correo electrónico, información de pago, etc.) o sus dispositivos de varios modos, incluyendo:","privacy_policy_view_information_collection_services_bullet_five":"Puede informarse acerca de cómo procede Google para recopilar esta información y cómo puede hacer para excluirse descargando para su navegador el complemento para no ser incluido en Google Analytics, disponible en {website}.","privacy_policy_view_information_collection_services_bullet_four":"Herramientas de análisis: Utilizamos servicios de análisis de páginas web y de aplicaciones prestados por terceros que emplean cookies y otras tecnologías similares para recopilar información acerca del uso de nuestra página web o aplicación, y para crear informes de tendencias, todo ello sin identificar a cada visitante. Los proveedores terceros que nos prestan estos servicios también podrían recopilar información acerca de su uso de páginas web de terceros.","privacy_policy_view_information_collection_services_bullet_one":"Cookies: Las cookies son piezas de información almacenadas directamente en el ordenador que utiliza. Las cookies nos permiten recopilar información como el tipo de navegador, el tiempo invertido en los Servicios, las páginas visitadas, las preferencias de idioma y los datos de tráfico web. Tanto nosotros como nuestros proveedores de servicios utilizamos la información con fines de seguridad, para facilitar la navegación en línea, para mostrar información de un modo más eficaz, para personalizar su experiencia durante el uso de los Servicios y para analizar de otro modo la actividad del usuario. Podemos reconocer su computadora para ayudarle a utilizar los Servicios. También recopilamos información estadística acerca del uso de los Servicios para mejorar continuamente su diseño y funcionalidad, para entender cómo se usan los Servicios y para ayudarnos a resolver problemas con los propios Servicios. Las cookies nos permiten seleccionar cuáles de nuestros anuncios u ofertas podrían atraerle más para después mostrárselos. También podemos usar cookies en publicidad en línea para ver cómo interactúa con nuestros anuncios, y podríamos utilizar cookies u otros archivos para entender cómo usa otras páginas web.","privacy_policy_view_information_collection_services_bullet_three":"Etiquetas de píxeles y otras tecnologías similares: Uso de pixel tags y otras tecnologías similares: Las pixel tags (también conocidas como web beacons (balizas web) y clear GIFs) pueden utilizarse en relación con algunos Servicios, para realizar, entre otras cosas, un seguimiento de las acciones de los usuarios de los Servicios (incluidos los receptores de correo electrónico), medir el éxito de nuestras campañas de publicidad y recopilar estadísticas sobre el uso de los Servicios y las tasas de respuesta.","privacy_policy_view_information_collection_services_bullet_two":"Si no desea que se recopile información mediante el uso de cookies al utilizar su cuenta Mi Tesla o nuestra página web, la mayoría de los navegadores permiten rechazar automáticamente las cookies con facilidad o le dan la opción de rechazar o aceptar la transferencia a su ordenador de una cookie (o cookies) en particular de una página determinada. Quizá también desee consultar {website}. No obstante, si no acepta estas cookies, puede sufrir ciertos inconvenientes al usar los Servicios. Por ejemplo, quizá no podamos reconocer su computadora, y tendrá que iniciar sesión cada vez que visite los Servicios aplicables.","privacy_policy_view_information_rights_choices_agree_eu":"Debe aceptar la Política de privacidad para registrar su Powerwall y controlarlo desde la aplicación móvil de Tesla.","privacy_policy_view_information_rights_choices_agree_one":"Debe aceptar la Política de privacidad para registrar su Powerwall y controlarlo desde la aplicación móvil de Tesla. No es necesario que tome ninguna otra medida si no desea acceder a la información de su Powerwall a través de la aplicación móvil de Tesla.","privacy_policy_view_information_rights_choices_bullet_one":"Puede acceder a su cuenta de Mi Tesla para actualizar su información en la cuenta en cualquier momento.","privacy_policy_view_information_rights_choices_bullet_two":"Si desea revisar, corregir, actualizar, suprimir o borrar información procedente de o acerca de usted que usted mismo nos haya facilitado previamente, puede ponerse en contacto con nosotros en las direcciones indicadas a continuación.","privacy_policy_view_information_rights_choices_header":"Derechos y opciones","privacy_policy_view_information_rights_choices_paragraph_four":"Tenga en cuenta que podríamos retener cierta información para nuestros archivos o para cumplir requisitos legales o completar alguna transacción que haya iniciado antes de solicitar dicho cambio o borrado (p. ej. cuando efectúa una compra o participa en una promoción podría no poder cambiar o borrar la información indicada hasta haber finalizado esa compra o promoción). También podría quedar información residual que permanecería en nuestras bases de datos y otros registros, y que no se eliminará.","privacy_policy_view_information_rights_choices_paragraph_one":"Como ha quedado detallado en las secciones anteriores, le damos muchas opciones respecto a la recolección, tratamiento y cesión por nuestra parte de la información sobre Usted o sobre el uso de los productos o los Servicios. Sujeto a las disposiciones legales aplicables en su jurisdicción, Usted también podrá tener derecho a solicitar acceso a la información personal que conservamos sobre Usted y a recibir información sobre la misma, actualizarla y rectificar cualquier error que pudiere haber en la misma, así como bloquearla o eliminarla según corresponda. En algunas circunstancias, estos derechos podrían estar limitados por la legislación local. Le proporcionamos varios métodos para acceder, corregir, actualizar o solicitar el bloqueo o la eliminación de su información personal, incluyendo:","privacy_policy_view_information_rights_choices_paragraph_three":"Nosotros cumpliremos con su solicitud o solicitudes para el ejercicio de estos derechos tan pronto como sea razonablemente posible.","privacy_policy_view_information_rights_choices_paragraph_two":"En su solicitud, explique claramente qué información desea que cambiemos, si desea que suprimamos de nuestra base de datos la información que nos ha facilitado o las limitaciones que desea imponer en nuestro uso de dicha información. Para su protección, puede que solo atendamos a las solicitudes con respecto a la información asociada a la dirección de correo electrónico particular que use para enviarnos dicha solicitud, y tendríamos que verificar su identidad antes de implementar la solicitud.","privacy_policy_view_information_share_header":"Cómo podríamos compartir la información que recopilamos","privacy_policy_view_information_share_paragraph_eight":"En otras circunstancias","privacy_policy_view_information_share_paragraph_eleven":"Si usted decide excluirse de algún tratamiento de información que previamente usted hubiere consentido expresamente, podrá hacerlo poniéndose en contacto con nosotros, como se indica en la sección “Cómo ponerse en contacto con nosotros” incluida más adelante.","privacy_policy_view_information_share_paragraph_five":"Podemos compartir información con otros terceros que usted autorice, por ejemplo en los casos siguientes:","privacy_policy_view_information_share_paragraph_five_point_four":"Con su proveedor de cuentas de redes sociales, si conecta su cuenta de Servicios y su cuenta de redes sociales. En tal caso, usted nos autoriza a compartir información con el proveedor de su cuenta de redes sociales y entiende que el uso de la información que compartamos se regirá por la política de privacidad del proveedor de su cuenta de redes sociales.","privacy_policy_view_information_share_paragraph_five_point_one":"Con nuestros instaladores certificados, para facilitar el suministro de productos eléctricos que usted haya solicitado.","privacy_policy_view_information_share_paragraph_five_point_three":"Con promotores terceros para concursos y promociones similares, si desea participar.","privacy_policy_view_information_share_paragraph_five_point_two":"Con proveedores o centros de servicio terceros, si escoge trabajar con ellos. Tenga en cuenta que en ciertos productos Tesla se habrá almacenado cierta información acerca de usted, y podría estar accesible directamente para los proveedores o centros de servicio terceros con los que desee trabajar para diagnosticar o realizar el servicio a su producto Tesla.","privacy_policy_view_information_share_paragraph_four":"Con otros terceros autorizados por Usted","privacy_policy_view_information_share_paragraph_nine":"Podemos compartir información en otras circunstancias, como por ejemplo:","privacy_policy_view_information_share_paragraph_nine_point_one":"Con su superior o con otro operador de flota o el propietario del producto Tesla, si usted no es directamente el propietario y conforme a lo autorizado en la legislación aplicable.","privacy_policy_view_information_share_paragraph_nine_point_two":"Con un tercero en relación con cualquier reorganización, fusión, venta, empresa conjunta, cesión, transferencia u otra disposición de toda la empresa o una parte de ella, sus activos o sus acciones (incluyendo en relación con una bancarrota o procedimiento similar).","privacy_policy_view_information_share_paragraph_one":"Podemos compartir la información que recopilamos con nuestros proveedores de servicios y socios empresariales, con otras terceras partes que usted autorice, con terceras partes cuando la ley lo exija, y en otras circunstancias. A continuación encontrará algunos ejemplos de cómo compartimos información con estas partes y en qué circunstancias.","privacy_policy_view_information_share_paragraph_seven":"Tesla puede entregar y revelar información, incluida información que pudiese o no identificarle personalmente, a terceros para cumplir una obligación legal (incluyendo, pero sin limitarse a citaciones); cuando creemos de buena fe que la ley lo requiere; en respuesta a una solicitud legal por parte de autoridades gubernamentales que estén llevado a cabo una investigación, incluyendo el cumplimiento de requisitos de imposición legal; para comprobar u obligar el cumplimiento de nuestras políticas y procedimientos; para responder a una emergencia; para evitar o detener actividades que consideremos que son o están en riesgo de ser ilegales, no éticas o enjuiciables; o para proteger los derechos, propiedad o seguridad de los Servicios, de Tesla, de terceros, de visitantes de nuestros Servicios, o del público, lo cual determinaremos a nuestra discreción.","privacy_policy_view_information_share_paragraph_six":"Con otros terceros cuando la ley lo requiera","privacy_policy_view_information_share_paragraph_ten":"No compartimos información que le identifique personalmente con terceros no afiliados para sus actividades de marketing a menos que usted autorice que se comparta dicha información.","privacy_policy_view_information_share_paragraph_three":"Podremos compartir información con nuestros proveedores de servicios y partners comerciales cuando fuere necesario para prestar servicios por nuestra cuenta o por cuenta de Usted, por ejemplo, en los siguientes casos:","privacy_policy_view_information_share_paragraph_three_point_one":"Con afiliados de Tesla para los fines descritos en la presente Política de privacidad. Los afiliados de Tesla son empresas propiedad de o controladas por Tesla, Inc. y empresas en las que Tesla, Inc. tiene un interés de propiedad sustancial.","privacy_policy_view_information_share_paragraph_three_point_three":"Con otros socios empresariales terceros en la medida en que estén implicados en su compra o en el servicio a sus productos Tesla. Compartimos información limitada procedente de o acerca de usted para que pueda disfrutar de estos servicios si desea utilizarlos, con socios dedicados a servicios financieros, arrendamiento, registro y empresas de título.","privacy_policy_view_information_share_paragraph_three_point_two":"Con nuestros proveedores de servicios y socios de canal terceros, para prestar servicios como alojamiento web, análisis y almacenamiento de datos, procesamiento de pagos, ejecución de pedidos e instalación de productos, conectividad inalámbrica a productos Tesla, tecnología informática y la correspondiente infraestructura, servicio al cliente, mantenimiento del producto o servicios relacionados, entrega de correos electrónicos, procesamiento de tarjetas de crédito, auditoría, marketing, procesamiento de comandos por voz y otros servicios similares.","privacy_policy_view_information_share_paragraph_two":"Con nuestros proveedores de servicios y socios empresariales","privacy_policy_view_information_use_commuicate":"Para comunicarnos con usted","privacy_policy_view_information_use_header":"Cómo podríamos utilizar la información que recopilamos","privacy_policy_view_information_use_other_purposes":"Para otras finalidades","privacy_policy_view_information_use_paragraph_five":"También podemos utilizar la información que recopilamos con otros fines, por ejemplo:","privacy_policy_view_information_use_paragraph_five_point_one":"Para nuestros fines empresariales, como: análisis de datos, auditorías, control y prevención del fraude, identificación de tendencias de uso, análisis de la efectividad de nuestras campañas promocionales y ejecución y expansión de nuestras actividades empresariales.","privacy_policy_view_information_use_paragraph_five_point_two":"Excepto según lo descrito en los párrafos anteriores y siguientes, Tesla puede utilizar o compartir información que no le identifique personalmente con cualquier fin, como para fines operativos o de investigación, para el análisis del sector, para mejorar o modificar nuestros productos y servicios, para adaptar mejor nuestros productos y servicios a sus necesidades, y cuando sea legalmente necesario.","privacy_policy_view_information_use_paragraph_four":"Podremos utilizar la información que recabemos para proporcionar y mejorar nuestros productos y servicios, por ejemplo:","privacy_policy_view_information_use_paragraph_four_point_five":"Para analizar y mejorar la protección y seguridad de nuestros productos y servicios.","privacy_policy_view_information_use_paragraph_four_point_four":"Para desarrollar y promover nuevos productos y servicios, y para mejorar o modificar sus productos y servicios existentes.","privacy_policy_view_information_use_paragraph_four_point_one":"Para completar y finalizar su compra, por ejemplo, para procesar sus pagos, hacer que le entreguen el pedido, ponernos en contacto con Usted con respecto a su compra y proporcionarle servicios relacionados al cliente.","privacy_policy_view_information_use_paragraph_four_point_six":"Para proporcionar otros servicios que Usted solicite.","privacy_policy_view_information_use_paragraph_four_point_three":"Para supervisar el rendimiento de su producto Tesla y proporcionarle servicios relacionados con su producto.","privacy_policy_view_information_use_paragraph_four_point_two":"Para proporcionarle el servicio a su producto Tesla, por ejemplo, para ponernos en contacto con Usted para hacerle recomendaciones sobre el servicio técnico y proporcionarle actualizaciones inalámbricas para su producto.","privacy_policy_view_information_use_paragraph_one":"Podemos utilizar la información que recopilamos para comunicarnos con usted, para prestar y mejorar nuestros servicios y productos, y para otros fines. A continuación encontrará algunos ejemplos de cómo utilizamos la información con estos objetivos.","privacy_policy_view_information_use_paragraph_three":"Sus opciones de comunicación :","privacy_policy_view_information_use_paragraph_three_point_one":"Recibir comunicaciones electrónicas de Tesla o de parte de nuestras filiales: Si ya no desea recibir correos electrónicos publicitarios de la empresa matriz de Tesla o de parte de sus filiales, puede inhabilitar esta función siguiendo las instrucciones correspondientes que aparecen en cualquier correo nuestro, o poniéndose en contacto con nosotros en la dirección que aparece abajo. Tenga en cuenta que existe la posibilidad de que sigamos enviándole mensajes importantes sobre temas de administración o seguridad, incluso si inhabilita la opción de recibir correos electrónicos publicitarios.","privacy_policy_view_information_use_paragraph_three_point_two":"Recibir llamadas de marketing nuestras: Si recibe llamadas publicitarias nuestras y no desea volver a recibirlas, simplemente tiene que solicitarnos que lo inscribamos en nuestra lista de clientes a los que no debemos llamar. Tenga en cuenta que de todos modos podríamos llamarle en caso de incidencias administrativas, de seguridad o de servicio del producto, aunque se haya decidido no recibir llamadas de marketing.","privacy_policy_view_information_use_paragraph_two":"Podemos utilizar información que recabemos para comunicarnos con usted, por ejemplo:","privacy_policy_view_information_use_paragraph_two_point_five":"Para presentarle productos y ofertas adaptados a sus necesidades y para mejorar nuestras bases de datos con información de otras fuentes.","privacy_policy_view_information_use_paragraph_two_point_four":"Para enviarle información administrativa, por ejemplo información acerca de los Servicios y cambios en nuestros términos, condiciones y políticas.","privacy_policy_view_information_use_paragraph_two_point_one":"Para responder a sus consultas y atender a sus solicitudes, por ejemplo enviarle boletines o información acerca del producto, alertas informativas o folletos.","privacy_policy_view_information_use_paragraph_two_point_seven":"Para facilitar la interacción social y la funcionalidad de las comunicaciones.","privacy_policy_view_information_use_paragraph_two_point_six":"Para permitirle que participe en concursos y promociones similares, así como para administrar estas actividades.","privacy_policy_view_information_use_paragraph_two_point_three":"Para proporcionarle información de seguridad importante o notificar a las personas de contacto en caso de un accidente de su vehículo.","privacy_policy_view_information_use_paragraph_two_point_two":"Para configurar, evaluar e informarle acerca de su prueba de conducción de Tesla.","privacy_policy_view_information_use_provide":"Proporcionar y mejorar nuestros productos y servicios.","privacy_policy_view_links_header":"Enlaces","privacy_policy_view_links_paragraph_one":"La presente Política de privacidad no aborda, y nosotros no seremos responsables de, la privacidad, información u otras prácticas de terceros, incluyendo cualquier tercero que trabaje en cualquier emplazamiento o servicio vinculado a los Servicios. La inclusión de un enlace a los Servicios no implica el apoyo a la página web o servicio enlazado por nosotros o nuestros afiliados, ni implica una afiliación con el tercero.","privacy_policy_view_links_paragraph_two":"Tenga en cuenta que no somos responsables de las políticas y prácticas de recopilación, uso o divulgación (incluyendo las prácticas de seguridad respecto a los datos) de otras organizaciones, como cualquier otro desarrollador de aplicaciones, proveedor de aplicaciones, proveedor de plataformas de redes sociales, proveedor de sistemas operativos o proveedor de servicios inalámbricos, incluyendo cualquier información que revele a otras organizaciones a través de o en relación con nuestras aplicaciones de software o páginas en redes sociales.","privacy_policy_view_minors_header":"Menores","privacy_policy_view_minors_paragraph":"Los Servicios no están dirigidos a personas menores de dieciséis (16) años, y solicitamos a estos menores que no proporcionen información a Tesla.","privacy_policy_view_offers_eu":"Sí, deseo recibir comunicaciones de marketing por correo electrónico, incluidas encuestas, promociones y ofertas de Tesla y sus afiliados sobre productos y servicios de Tesla. Tiene derecho a retirar su consentimiento en cualquier momento. Más información {legalLink}.","privacy_policy_view_offers_title":"Anuncios de productos y nuevas ofertas","privacy_policy_view_offers_usa":"Acepto que se pongan en contacto conmigo en el número indicado con más información u ofertas acerca de productos Tesla. Entiendo que estas llamadas o mensajes de texto pueden utilizar marcación asistida por ordenador o mensajes pregrabados. Este consentimiento no es una condición para la compra.","privacy_policy_view_powerwall_warranty":"Garantía limitada del Powerwall de Tesla","privacy_policy_view_privacy_policy":"Notificación acerca de la privacidad","privacy_policy_view_privacy_policy_agreement_eu":"Yo, el propietario de la vivienda, he leído íntegramente la Política de privacidad del cliente de Tesla y doy mi consentimiento a Tesla para que procese mis datos personales tal y como se describe en la Política de privacidad del cliente de Tesla. Tendrá derecho a retirar el consentimiento en cualquier momento, tal y como se describe en la Política de privacidad del cliente de Tesla.","privacy_policy_view_privacy_policy_agreement_usa_australia":"Yo, el propietario de la vivienda, he leído íntegramente la Política de privacidad del cliente de Tesla y doy mi consentimiento a Tesla para que procese mis datos personales tal y como se describe en la Política de privacidad del cliente de Tesla.","privacy_policy_view_privacy_shield":"Política de Escudo de privacidad","privacy_policy_view_retention_period_header":"Período de retención","privacy_policy_view_retention_period_paragraph":"Retendremos la información que recopilemos procedente de o acerca de nuestros clientes, nuestros productos y los Servicios durante el período necesario para cumplir los objetivos descritos en la presente Política de privacidad, a menos que la ley requiera o permita un período de retención mayor.","privacy_policy_view_security_header":"Seguridad","privacy_policy_view_security_paragraph_one":"Tratamos de imponer medidas organizativas, técnicas y administrativas razonables para proteger la información dentro de nuestra organización. Desafortunadamente, no existe ningún sistema de almacenamiento ni de transmisión de datos que pueda considerarse 100 % seguro. Si tiene algún motivo para pensar que su interacción con nosotros ya no es segura (por ejemplo, si le parece que la seguridad de cualquiera de sus cuentas en Tesla se ha puesto en riesgo), infórmenos inmediatamente del problema poniéndose en contacto con nosotros según se especifica en la sección “Cómo ponerse en contacto con nosotros” que aparece más adelante.","privacy_policy_view_security_paragraph_two":"Si vende o transfiere su producto Tesla a otra persona, por favor, notifíquenos para que podamos decidir si es necesario tomar alguna medida adicional para ayudar a proteger la información procedente de o acerca de usted para que no se divulgue al comprador o receptor del producto Tesla.","privacy_policy_view_title":"Ver Política de privacidad completa","privacy_policy_view_updates_header":"Actualizaciones a esta Política","privacy_policy_view_updates_paragraph":"Podremos hacer cambios a esta Política de Privacidad. Consulte la fecha de la \\"Última Actualización\\" que aparece al final de este documento para ver cuándo se revisó esta política por última vez. Los cambios a esta Política de Privacidad entrarán en vigor cuando publiquemos la Política modificada en los Servicios. El uso de nuestros productos, de los Servicios o el proporcionarnos su información personal de cualquier otra forma después de que se hagan estos cambios, se entenderá como una aceptación por su parte de la Política de Privacidad modificada.","privacy_policy_view_us_warranty_warning":"Debe aceptar la Garantía limitada de Tesla para registrar su Powerwall y controlarlo desde la aplicación móvil de Tesla.","privacy_policy_view_warranty_information":"Yo, el propietario de la vivienda, acepto los términos de la Garantía limitada del Powerwall de Tesla, disponible en {warrantyLink}. Estos términos incluyen una cláusula de arbitraje que anula mi derecho a iniciar o participar en demandas colectivas y juicios con jurado. Puedo excluirme de esta disposición dentro de los 30 días siguiendo el proceso descrito en la disposición.","prompt_factory_reset_confirmation":"¿Confirma que realmente desea restablecer los ajustes de fábrica de la unidad?","pvac-state-active":"Activo","pvac-state-faulted":"Averiado","pvac-state-init":"Inicializando...","pvac-state-standby":"Esperar a energía solar","pvac_alert_ac_fault":"Fallo de CA del inversor","pvac_alert_check_ac_note":"Compruebe el cableado de CA y la conexión a la red eléctrica. Reinicie el inversor y vuelva a intentar la operación.","pvac_alert_check_dc_string1_note":"Compruebe el cableado y los paneles de CC del Tramo 1. Reinicie el inversor y vuelva a intentar la operación.","pvac_alert_check_dc_string2_note":"Compruebe el cableado y los paneles de CC del Tramo 2. Reinicie el inversor y vuelva a intentar la operación.","pvac_alert_check_dc_string3_note":"Compruebe el cableado y los paneles de CC del Tramo 3. Reinicie el inversor y vuelva a intentar la operación.","pvac_alert_check_dc_string4_note":"Compruebe el cableado y los paneles de CC del Tramo 4. Reinicie el inversor y vuelva a intentar la operación.","pvac_alert_confirm_grid_code_note":"Compruebe el cableado de CA y la conexión a la red eléctrica. Confirmar código de red eléctrica seleccionado.","pvac_alert_dc_fault_string1":"Fallo de CC del inversor - Tramo 1","pvac_alert_dc_fault_string2":"Fallo de CC del inversor - Tramo 2","pvac_alert_dc_fault_string3":"Fallo de CC del inversor - Tramo 3","pvac_alert_dc_fault_string4":"Fallo de CC del inversor - Tramo 4","pvac_alert_freq_change":"Red no conforme - Cambio de frecuencia","pvac_alert_internal_comms":"Problema de comunicación interna","pvac_alert_over_freq":"Red no conforme - Sobrefrecuencia","pvac_alert_over_temp":"Sobretemperatura del inversor","pvac_alert_over_voltage":"Red no conforme - Sobretensión","pvac_alert_production_limited_note":"La producción podría estar limitada. Asegúrese de que las terminaciones de los cables sean las adecuadas, que haya suficiente flujo de aire y que el entorno de la instalación sea idóneo.","pvac_alert_reboot_note":"Reinicie el inversor, asegúrese de que el sistema está actualizado y que se ha completado la puesta en marcha.","pvac_alert_under_freq":"Red no conforme - Subfrecuencia","pvac_alert_under_voltage":"Red no conforme - Subtensión","pvi-power-status-dc-only":"Solo CC","pvi-power-status-disabled":"Desactivada","pvi-power-status-enabled":"Activada","pvi-reset-button-label":"Reinicie el inversor y borre las alertas","pvs-self-test-1":"Autocomprobación (1/6): Fallo de conexión a tierra","pvs-self-test-2":"Autocomprobación (2/6): Fallo de arco","pvs-self-test-3":"Autocomprobación (3/6): MCI","pvs-self-test-4":"Autocomprobación (4/6): Aislamiento","pvs-self-test-5":"Autocomprobación (5/6): Soldadura de relé","pvs-self-test-6":"Autocomprobación (6/6): Impedancia","pvs_alert_check_arc_fault_note":"Si hay problemas de fallo del arco eléctrico, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida.","pvs_alert_check_dc_note":"Si hay problemas de fallos de conexión a tierra, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida.","pvs_alert_check_dc_string1_note":"Si hay problemas de aislamiento, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida, centrándose en el Tramo 1.","pvs_alert_check_dc_string2_note":"Si hay problemas de aislamiento, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida, centrándose en el Tramo 2.","pvs_alert_check_dc_string3_note":"Si hay problemas de aislamiento, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida, centrándose en el Tramo 3.","pvs_alert_check_dc_string4_note":"Si hay problemas de aislamiento, compruebe el cableado de CC, las conexiones, los paneles y los dispositivos de desconexión rápida, centrándose en el Tramo 4.","pvs_alert_check_dc_strings_note":"Compruebe el cableado de CC, las conexiones, los paneles y las configuraciones de los tramos.","pvs_alert_dc_arc_fault_detected":"Fallo de arco de CC - Detectado","pvs_alert_dc_arc_fault_lockout":"Fallo de arco de CC - Bloqueo","pvs_alert_dc_ground_fault":"Fallo de conexión a tierra de CC","pvs_alert_dc_isolation_string1":"Problema de aislamiento de CC - Tramo 1","pvs_alert_dc_isolation_string2":"Problema de aislamiento de CC - Tramo 2","pvs_alert_dc_isolation_string3":"Problema de aislamiento de CC - Tramo 3","pvs_alert_dc_isolation_string4":"Problema de aislamiento de CC - Tramo 4","pvs_alert_dc_over_voltage":"Sobretensión de CC","pvs_alert_rapid_shutdown":"Desconexión rápida iniciada","pvs_alert_rapid_shutdown_note":"Compruebe el disyuntor de CA y el circuito de desconexión rápida de baja tensión.","registration_container_continue_header":"Correo electrónico del cliente introducido: {email}","registration_container_continue_modal_description":"El cliente no podrá acceder a la aplicación móvil de Tesla si el correo electrónico es incorrecto. Confirme que el correo electrónico del cliente es válido.","registration_container_customer_email_required":"El correo electrónico del cliente es necesario para activar la aplicación móvil de Tesla.","registration_container_customer_information_title":"Información del emplazamiento","registration_container_fill_required_fields":"El instalador o el cliente deben completar todos los campos requeridos.","registration_container_loading_modal_registering":"Registrando","registration_container_reset_form_modal_description":"Confirme que le gustaría llevar a cabo la reinicialización del formulario.","registration_container_reset_form_modal_header":"Se perderá toda la información introducida anteriormente.","security_container_settings_title_customer":"Cambiar o restablecer contraseña (Cliente)","security_container_settings_title_installer":"Cambiar o restablecer contraseña (Instalador)","security_view_copied_to_clipboard":"¡Copiado!","security_view_not_wifi_qr_code_error":"No es un código QR de Wi-Fi.","security_view_scan_qr_code_not_found_error":"No se ha encontrado ningún código QR.","security_view_settings_change_password_error":"Las nuevas contraseñas no coinciden","security_view_settings_change_password_label":"CAMBIAR CONTRASEÑA","security_view_settings_completed":"COMPLETADO","security_view_settings_new_password_label":"NUEVA CONTRASEÑA","security_view_settings_old_password":"CONTRASEÑA ACTUAL","security_view_settings_password_change_info":"Para cambiar la contraseña, ingrese la contraseña actual y una nueva contraseña.","security_view_settings_password_customer":"CONTRASEÑA","security_view_settings_password_customer_placeholder":"Últimos 5 caracteres de la contraseña que figuran en la pegatina del Gateway","security_view_settings_password_installer_label":"Contraseña del Gateway","security_view_settings_password_reset_info":"Para restablecer la contraseña, encienda el interruptor de un Powerwall y luego introduzca los 5 últimos caracteres de la contraseña de la etiqueta del Gateway.","security_view_settings_password_reset_info_serial":"Para restablecer la contraseña, encienda el interruptor de un Powerwall y luego introduzca los 5 últimos caracteres del número de serie del Gateway.","security_view_settings_password_reset_installer_info":"Para restablecer la contraseña, encienda el interruptor de un Powerwall y luego introduzca la contraseña de la etiqueta del Gateway.","security_view_settings_password_reset_installer_info_serial":"Para restablecer la contraseña, encienda el interruptor de un Powerwall y luego introduzca el número de serie del Gateway.","security_view_settings_re_enter_password_label":"VUELVA A INGRESAR LA NUEVA CONTRASEÑA","security_view_settings_reset_password_label":"RESTABLECER CONTRASEÑA","security_view_settings_serial_customer":"NÚMERO DE SERIE","security_view_settings_serial_customer_placeholder":"5 últimos caracteres del número de serie del Gateway","security_view_settings_serial_installer_label":"Número de serie del Gateway","security_view_settings_success":"La contraseña se actualizó con éxito","security_view_settings_success_new_password":"La nueva contraseña es:","security_view_settings_toggled_password":"¿Olvidó su contraseña?","self_test_result_viewer_resi_only":"El visor de registros de autocomprobación no está disponible.","self_test_results_viewer_collapse_all":"Contraer todo","self_test_results_viewer_column_name":"Nombre","self_test_results_viewer_column_result":"Resultado","self_test_results_viewer_column_spec":"Especificaciones","self_test_results_viewer_column_test_time":"Hora de prueba","self_test_results_viewer_column_value":"Valor","self_test_results_viewer_expand_all":"Ampliar todo","self_test_results_viewer_failed":"Incorrecto","self_test_results_viewer_in_progress":"En curso","self_test_results_viewer_inconclusive":"No concluyente","self_test_results_viewer_not_started":"No iniciada","self_test_results_viewer_passed":"Pasa","self_test_results_viewer_skipped":"Omitida","self_test_results_viewer_warning":"Advertencia","settings_container_confirm_reset_operation_mode":"Confirme el cambio de modo a {operation}","settings_container_heco_modal_description":"Este ajuste no puede modificarse después de seleccionarlo. Antes de enviar su selección, confirme que el cliente está realmente inscrito en el programa de bonificación de batería HECO.","settings_container_heco_modal_title":"Confirmar inscripción","settings_container_heco_view_description":"Powerwall se descargará, a la capacidad comprometida diariamente, para cumplir los requisitos del programa. Este ajuste no puede modificarse después de la activación.","settings_container_heco_view_scheduled_dispatch_start_time":"Hora de inicio","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"Envío programado de HECO","settings_container_heco_view_title":"Programa de bonificación de batería HECO","settings_container_operation_modes_modal_content":"Utilice la pantalla “Personalizar” de la aplicación móvil de Tesla para cambiar los modos de funcionamiento.","settings_container_operation_modes_modal_reset":"MODO DE RESTABLECIMIENTO","settings_container_operation_modes_modal_title":"Modo de funcionamiento","settings_container_operation_modes_modal_warning":"Este es un cambio unidireccional. Los modos avanzados solo se pueden reactivar a través de la aplicación móvil de Tesla.","settings_container_operation_modes_reset_modal_title":"¿Restablecer modo de funcionamiento?","settings_container_operation_settings_subtitle":"Indique el nombre de su sistema, el modo de funcionamiento y las limitaciones de exportación, si existe alguna.","settings_container_operation_settings_title":"Configuración de funcionamiento","settings_container_save_instructions":"Haga clic en CONTINUAR para guardar.","settings_container_saving_site_info_modal":"Guardando la configuración del emplazamiento","settings_container_site_import_description":"El límite de importación del emplazamiento es un parámetro opcional. Deje este campo vacío para deshabilitar la limitación de las importaciones. Cuando este ajuste está habilitado, especifica la potencia máxima que se puede importar de la red al emplazamiento.","settings_container_site_limits_header":"Límites del emplazamiento","settings_view_custom_modes_label":"MODO PRECONFIGURADO","settings_view_energy_reserve_heco_label":"Los cambios en la reserva de seguridad están restringidos debido a la inscripción en el programa de bonificación de batería HECO. El cliente podrá establecer una reserva de seguridad en su app.","settings_view_energy_reserve_label":"RESERVA DE RESPALDO DE EMERGENCIA","settings_view_instruction_site_name":"Introduzca un nombre para el sitio","settings_view_net_meter_mode":"Modo exportar","settings_view_operation_label":"MODO DE FUNCIONAMIENTO","settings_view_operation_set_label":"MODO DE FUNCIONAMIENTO QUE SE ESTABLECERÁ","settings_view_set_net_meter_mode_never_label":"No exportar permanente","settings_view_set_net_meter_mode_solar_label":"Exportar solar","settings_view_site_name":"NOMBRE DEL EMPLAZAMIENTO","settings_view_site_name_placeholder":"Ej. Mi casa","settings_view_solar_export_limitation_slider":"Limitación de exportación solar","settings_view_solar_feature":"Esta característica solo debe activarse cuando la interconexión requiere que el sistema solar no exporte energía a la red eléctrica. Típico en las regiones de Hawaii (CSS) y Australia.","settings_view_solar_limitation":"¿POWERWALL ESTÁ INSTALADO JUNTO A UN SISTEMA SOLAR QUE NO ES UN POWERWALL+?","settings_view_solar_zero_export":"¿POWERWALL INSTALADO JUNTO A UN SISTEMA SOLAR DE EXPORTACIÓN CERO?","site_info_container_submit":"ENVIAR","solar_item_view_baudrate_label":"Velocidad en baudios","solar_item_view_brand_input_label":"MARCA","solar_item_view_brand_label":"Marca","solar_item_view_check_inverter":"COMPROBAR CONEXIÓN DEL INVERSOR {id}","solar_item_view_connection_warning":"No se ha podido establecer la conexión","solar_item_view_inverter_brand":"Marca del inversor","solar_item_view_inverter_communication":"Configurar la comunicación directa del inversor","solar_item_view_inverter_model_label":"Modelo del inversor","solar_item_view_ip_label":"DIRECCIÓN IP","solar_item_view_model_label":"MODELO","solar_item_view_power_rating_explanation":"Se trata de la clasificación de potencia total del sistema fotovoltaico con respecto a los módulos/paneles. Esta es la potencia nominal de la matriz. Si por ejemplo tiene 10 paneles solares de 300 W, indique 3000 W, incluso si el inversor FV es de 2500 W o 3500 W.","solar_item_view_pv_array_dc_power_rating":"POTENCIA PICO DE CAMPO FV","solar_item_view_pv_array_dc_power_rating_label":"POTENCIA PICO DE CAMPO FV","solar_item_view_revenue_grade":"Nivel de ingresos","solar_item_view_revenue_grade_explanation":"Marque esta opción solo si el inversor tiene un medidor de nivel de ingresos integrado. Si esta opción está activada, los datos del inversor se leerán del medidor en lugar del inversor.","solar_item_view_revenue_grade_title":"Nivel de ingresos","solar_item_view_solar":"SOLAR {id}","solar_item_view_success":"¡CONEXIÓN CORRECTA!","solar_item_view_unable":"¡NO SE PUEDE LEER EL INVERSOR!","solar_list_view_continue_add_solar":"AÑADIR SOLAR","solar_view_continue_add_solar":"AÑADIR SOLAR","status_update_urgency_none":"Actualizado","status_update_urgency_optional":"Actualización opcional","status_update_urgency_required":"Actualización obligatoria","status_update_urgency_unknown":"Desconocido","success_view_awesome":"¡EXCELENTE!","success_view_copied_to_clipboard":"¡Copiado!","success_view_installation_complete":"Instalación finalizada","success_view_new_password_error_title":"Contraseña del Asistente","success_view_new_password_title":"Nueva contraseña de asistente","success_view_password_set":"La contraseña ya ha sido asignada","success_view_record_password":"Registre esta contraseña antes de continuar","success_view_retry_registration":"REINTENTAR REGISTRO","success_view_set_customer_password":"ASIGNAR LA CONTRASEÑA DEL CLIENTE","success_view_syncing_configuration":"Sincronizando configuración","summary_container_company":"Empresa","summary_container_connection_type":"Tipo de conexión","summary_container_email":"Correo electrónico","summary_container_installer_information":"Información del instalador","summary_container_ip_address":"Dirección IP","summary_container_location":"Ubicación","summary_container_meter":"Medidor n.º {index}","summary_container_meter_information":"Información del medidor","summary_container_phone":"Número de teléfono","summary_container_print":"Imprimir","summary_container_serial_number":"Número de serie","summary_container_site_info":"Información del emplazamiento","summary_container_site_name":"Nombre del emplazamiento","summary_container_subtitle":"Información del producto e instalación","summary_site_information":"INFORMACIÓN DEL EMPLAZAMIENTO","summary_view_autonomous":"Control programable","summary_view_backup":"Solo reserva","summary_view_backup_capable":"Con capacidad de respaldo","summary_view_backup_reserve":"RESERVA DE RESPALDO","summary_view_backup_switch":"BACKUP SWITCH","summary_view_conductor_export":"LÍMITE DE EXPORTACIÓN DEL CONDUCTOR","summary_view_conductor_import":"LÍMITE DE IMPORTACIÓN DEL CONDUCTOR","summary_view_control":"Control del emplazamiento","summary_view_customer_version":"VERSIÓN DEL CLIENTE","summary_view_direct":"Directo","summary_view_disabled":"DESHABILITADO","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"LÍMITE DE EXPORTACIÓN DEL FV","summary_view_extra_programs":"PROGRAMAS EXTRA","summary_view_followers":"SEGUIDORES","summary_view_gateway":"GATEWAY","summary_view_grid_code":"CÓDIGO DE RED","summary_view_gsm":"Teléfono móvil","summary_view_heco_battery_bonus":"Bonificación de batería HECO","summary_view_ip_address":"DIRECCIÓN IP","summary_view_leader":"LÍDER","summary_view_mode":"MODO","summary_view_msg_cannot_read_solar_assembly":"Primero detenga el sistema para ver el número de pieza y de serie del conjunto solar Powerwall+.","summary_view_network":"RED","summary_view_non_backup":"No es de respaldo","summary_view_panel_limit":"CORRIENTE MÁXIMA DEL PANEL","summary_view_part_number":"Número de pieza","summary_view_partnum":"Pieza {partNumber}","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"Conjunto","summary_view_self_consumption":"Autoconsumo","summary_view_serial":"Número de serie","summary_view_serialnum":"Número de serie {serialNumber}","summary_view_site_export":"LÍMITE DE EXPORTACIÓN DEL EMPLAZAMIENTO","summary_view_site_import":"LÍMITE DE IMPORTACIÓN DEL EMPLAZAMIENTO","summary_view_site_name":"NOMBRE DEL EMPLAZAMIENTO","summary_view_solar_assembly":"CONJUNTO SOLAR","summary_view_sync":"CAPACIDAD DE RESERVA DE RESPALDO DE EMERGENCIA","summary_view_time":"RESUMEN DE TIEMPO DE COMPILACIÓN","summary_view_time_zone":"ZONA HORARIA","summary_view_wifi":"Wi-Fi","system-device-follower-not-responding":"El dispositivo con emparejamiento Wi-Fi no está respondiendo","system-device-unknown-sitecontroller":"El dispositivo aún no ha detectado a sus secundarios","system_acpw_vitals_charge":"Nivel de carga: {charge}%","system_acpw_vitals_power":"Alimentación de CA: {power}","system_acpw_vitals_power_charging":"Alimentación de CA: {Power} Cargando","system_acpw_vitals_power_discharging":"Alimentación de CA: {power} Descargando","system_acpw_vitals_state":"Estado de Powerwall: {state}","system_acpw_vitals_voltage":"Tensión de CA: {voltage}","system_controller_din":"Controlador: {din}","system_device_alert_disabled":"Dispositivo desactivado","system_device_alert_updating":"Actualizando firmware...","system_device_gateway_not_islanding":"Este no es el controlador de aislamiento.","system_device_leader":"Líder","system_device_name_backup_switch":"Backup Switch ({sn})","system_device_name_battery_assembly":"Conjunto de baterías ({sn})","system_device_name_gateway":"Pasarela ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus":"{role} Powerwall+","system_device_name_powerwall_plus_leader":"Powerwall+ líder","system_device_name_powerwall_plus_solo":"Powerwall+","system_device_name_powerwall_plus_wired":"Powerwall+ (cableado)","system_device_name_powerwall_plus_wireless":"Powerwall+ (inalámbrico)","system_device_name_remote_meter":"Medidor remoto ({sn})","system_device_name_solar_assembly":"Conjunto solar ({sn})","system_device_name_solar_assembly_1":"Conjunto solar","system_device_name_sync":"Contactor de Gateway/Controlador de medidor ({sn})","system_firmware_update":"Actualizando: {percent} % ({step}/{numSteps})","system_gateway_din":"Gateway: {din}","system_islanding_vitals_backup_state":"Estado de respaldo: {backupState}","system_islanding_vitals_grid_line":"Línea de red eléctrica {lineNumber}: {v} {f}","system_islanding_vitals_island_line":"Línea de isla {lineNumber}: {v} {f}","system_overview_connected":"Conectado a Tesla","system_overview_disconnected":"No conectado a Tesla","system_overview_follower":"Powerwall seguidor","system_overview_login_required":"Para ver el funcionamiento del sistema, es necesario iniciar sesión","system_overview_scanning":"Buscando dispositivos...","system_overview_site_controller":"Controlador del emplazamiento","system_overview_updating":"Actualizando dispositivos...","system_pvi_vitals_ac_solar_power":"Energía solar CA: {power} / {current}","system_pvi_vitals_ac_solar_power_only":"Energía solar CA: {power}","system_pvi_vitals_lifetime_energy_kwh":"Energía de por vida: {energy}","system_pvi_vitals_state":"Estado: {message}","system_pvi_vitals_string":"Tramo {number}: {voltage} / {current}","system_pvi_vitals_string_not_connected":"Tramo {number}: No conectada","system_remote_meter_ct_line":"CT {n} ({location}): {value}","system_remote_meter_no_cts":"No hay CT configurados","system_rescan_button_text":"Volver a buscar dispositivos","system_scanning_label_text":"Buscando dispositivos...","system_vitals_missing_value":"---","test_container_configure_subtitle":"Compruebe que el sistema funciona según lo previsto.","test_container_system_test_title":"Prueba del sistema","test_inverter_container_error_grid_uncompliant":"La prueba no puede ejecutarse porque la red no cumple los requisitos.","test_inverter_container_error_not_idle":"El Powerwall debe estar en espera para realizar la prueba.","test_inverter_container_results_error_plural_subtitle":"{num} Pruebas fallaron","test_inverter_container_results_error_singular_subtitle":"{num} Prueba falló","test_inverter_container_results_success_plural_subtitle":"{num} Pruebas pasaron","test_inverter_container_results_success_singular_subtitle":"{num} Prueba pasó","test_inverter_container_results_success_subtitle":"Todas las pruebas pasaron","test_inverter_container_results_title":"Resultados de la prueba automática del inversor","test_inverter_container_title":"Autocomprobación del inversor","test_meter_composite_view_auxiliary_meter_setup_instructions":"Se debe configurar como mínimo un transformador de corriente para cada medidor auxiliar.","test_meter_composite_view_auxiliary_meters_title":"Medidores auxiliares","test_meter_composite_view_configure_meters":"CONFIGURAR MEDIDORES","test_meter_composite_view_current_transformer_setup_instructions":"Utilice como mínimo un CT de emplazamiento o un CT de carga, pero no ambos.","test_meter_composite_view_external_meter_setup_instructions":"Debe establecerse al menos un transformador de corriente para cada medidor externo.","test_meter_composite_view_external_meters_title":"Medidores externos","test_meter_composite_view_internal_meters_gateway_title":"Medidores internos (Gateway)","test_meter_composite_view_internal_meters_title":"Medidores internos","test_meter_composite_view_no_configured_meters":"NO HAY NINGÚN MEDIDOR CONFIGURADO. POR FAVOR {configure} PARA CONTINUAR.","test_meter_composite_view_note":"NOTA","test_meter_item_view_acuvim_label":"Medidor {id}: Medidor Acuvim","test_meter_item_view_backup_switch_label":"Medidor {id}: Medidor de Backup Switch","test_meter_item_view_configure_phases_note":"Configure las fases para activar los CT para este medidor","test_meter_item_view_internal_meter_x_gateway_label":"Medidor {id}: Medidor primario interno X (Gateway)","test_meter_item_view_internal_meter_y_gateway_label":"Medidor {id}: Medidor auxiliar interno Y (Gateway)","test_meter_item_view_remote_w1_wifi_label":"Medidor {id}: Wi-Fi remota","test_meter_item_view_remote_w1_wired_label":"Medidor {id}: Conexión remota por cable","test_meter_item_view_remote_w2_wifi_label":"Medidor {id}: Wi-Fi remota","test_meter_item_view_remote_w2_wired_label":"Medidor {id}: Conexión remota por cable","test_meter_item_view_reset":"RESTABLECER TODO","test_meter_item_view_site_meter_title":"Medidor interno del emplazamiento","test_meter_item_view_sync_id":"Sincronizar medidor {id}","test_meter_item_view_toggle_advanced":"Avanzado","test_meter_item_view_toggle_power":"Potencia","test_meter_item_view_wifi_id":"Medidor {id}","test_meter_item_view_wired_id":"Medidor cableado {id}","test_view_canceled_status":"Prueba cancelada","test_view_failed_status":"La Prueba Ha Fallado","test_view_idle_status":"Comenzando la Prueba del Sistema","test_view_init_status":"Preparándose para el inicio de la prueba","test_view_inverter_test_warning_message":"Si dispone de un inversor FV de exportación 0, el procedimiento de autocomprobación del Gateway no puede calificar correctamente el sistema. Desconecte el inversor FV hasta que la autocomprobación se haya completado.","test_view_passed_status":"La Prueba Ha Pasado","test_view_prep_status":"Inicializando controles: ¡Puede tardar unos minutos!","test_view_running_status":"prueba de carga en ejecución","test_view_skip_start_system_test_text":"Confirmar para omitir la prueba del sistema","test_view_start_system_test_warning":"ADVERTENCIA","test_view_system_test_completed_message":"¡Prueba del sistema completada!","time_minute":"minuto","time_minutes":"minutos","time_second":"segundo","time_seconds":"segundos","time_started_at":"Iniciado a las: {time}","timezone_container_subtitle":"Según el sitio y la dirección IP, podemos ayudarle a encontrar la zona horaria de su instalación.","timezone_container_title":"Zona horaria","timezone_view_label":"zona horaria","toast_view_standard_title":"Nota","toast_view_warning_title":"Advertencia","update_container_industrial_updating_description":"El controlador del emplazamiento se reiniciará automáticamente ahora para instalar la actualización. {lb1}{lb2} Espere 2 minutos, conéctese de nuevo a la red del controlador del emplazamiento y a continuación {refresh}","update_container_preparing_title":"Preparando la actualización más reciente","update_container_refresh_browser":"Actualice su navegador.","update_container_residential_updating_description":"El Gateway se reiniciará ahora automáticamente para instalar la actualización. {lb1}{lb2} Por favor, espere 2 minutos, vuelva a conectarse a la red del Gateway y, a continuación, {refresh}","update_container_skip_title":"¿Omitir actualización?","update_container_subtitle":"Compruebe si hay actualizaciones. Nota: La orden de actualización del firmware a los Powerwalls se produce en la página del Powerwall.","update_container_subtitle_industrial":"Compruebe si hay actualizaciones. Nota: La orden de actualización del firmware a las baterías se produce en la página de baterías.","update_container_title":"Actualizar","update_container_updating_title":"Instalando actualización","update_step_item_view_resolution_title":"Solución recomendada","update_view_check_again":"HAGA CLIC PARA COMPROBAR DE NUEVO","update_view_check_for_update":"COMPROBAR ACTUALIZACIÓN DEL GATEWAY","update_view_check_for_update_industrial":"COMPROBAR SI HAY UN CONTROLADOR DEL EMPLAZAMIENTO ACTUALIZADO","update_view_checking_update":"Buscando actualizaciones","update_view_current_version":"Versión actual: {version}","update_view_current_version_label":"VERSIÓN ACTUAL:","update_view_downloading":"DESCARGANDO","update_view_downloading_update":"Descargando actualización","update_view_no_power_cicle":"¡NO APAGUE Y ENCIENDA!","update_view_percent_complete":"{percent} completo","update_view_progress":"PROGRESO DE ACTUALIZACIÓN","update_view_staged":"VERSIÓN NUEVA PREPARADA","update_view_staged_update":"Listo para actualizar","update_view_staging":"PREPARANDO","update_view_staging_update":"Preparando actualización","update_view_time_remaining":"restante","update_view_up_to_date":"VERSIÓN ACTUALIZADA","update_view_update_now":"ACTUALIZAR AHORA","update_view_update_urgency_label":"Estado de actualización: {status}","update_view_updated_industrial":"El software del controlador del emplazamiento está actualizado.","update_view_updated_residential":"El software del Gateway está actualizado.","update_view_wait_minutes":"POR FAVOR ESPERE UNOS MINUTOS","validation_phone":"Ingrese un número telefónico válido","vitals_header_subtitle_firmware_update":"Actualización de firmware en curso...","vitals_header_subtitle_firmware_update_failed":"Error en la actualización del firmware. Compruebe los interruptores de encendido y el cableado.","vitals_header_title":"Sistema","vitals_powerwall_state_ac_fault":"Fallo de etapa de CA","vitals_powerwall_state_dc_fault":"Fallo de etapa de CC","vitals_powerwall_state_grid_following":"Seguimiento de red eléctrica","vitals_powerwall_state_grid_forming":"Formación de red eléctrica","vitals_powerwall_state_init":"Inicializando","vitals_powerwall_state_off":"Apagado","vitals_powerwall_state_standby":"En espera","vitals_powerwall_state_support_dc":"Soporte de CC","warning":"ADVERTENCIA","warning_off_grid":"Si el sistema eléctrico está fuera de red, cualquier carga en reserva se anulará en 5 minutos.","warning_on_grid":"Si el sistema eléctrico está conectado a la red, Powerwall dejará de cargar/descargar.","warning_sitemaster_container_not_running":"El registro principal de la instalación no se está ejecutando","wifi_pairing_link_message":"Añada un Powerwall conectado por Wi-Fi","wifi_view_find_network":"ENCONTRAR RED POR SSID","wifi_view_note":"Nota: El Gateway solo es compatible con redes inalámbricas de 2,4 GHz.","wifi_view_note_five_ghz":"Nota: El Gateway es compatible con redes inalámbricas de 2,4 GHz y de 5 GHz.","wifi_view_readonly":"Este es un Powerwall seguidor, por lo que su configuración de red inalámbrica no se puede editar.","wifi_view_security_label":"SEGURIDAD","wizard_container_commissioning_wizard":"Asistente de Servicio de Tesla","wizard_container_login_required":"Es necesario iniciar sesión","wizard_container_title":"Comencemos.","wizard_container_verifying_login_title":"Verificando Inicio de sesión"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Fout","advanced_settings_submit":"Indienen","advanced_settings_submitted":"Ingediend","advanced_settings_title":"Geavanceerde instellingen","alert_container_ac_phase_1_over_voltage":"AC-overspanning","alert_container_ac_phase_1_under_voltage":"AC-onderspanning","alert_container_ac_phase_2_over_voltage":"AC-overspanning","alert_container_ac_phase_2_under_voltage":"AC-onderspanning","alert_container_ac_phase_3_over_voltage":"AC-overspanning","alert_container_ac_phase_3_under_voltage":"AC-onderspanning","alert_container_over_frequency":"AC-overfrequentie","alert_container_rate_of_change_frequency":"Snelheid van verandering AC-frequentie","alert_container_under_frequency":"AC-onderfrequentie","app_container_engineering_mode_banner_message":"Tesla-servicemodus vereist geen authenticatie. \'Stop systeem\' als u operationele wijzigingen aanbrengt. Laat het systeem in een acceptabele staat voordat u de browser sluit. Sluit de browser als u klaar bent, aangezien deze modus geen authenticatie vereist.","app_container_engineering_mode_title":"Tesla-servicemodus","app_container_firmware_update_banner_message":"Laat de installatie en bedrading ongemoeid en blijf op deze pagina totdat de update is voltooid.","app_container_firmware_update_banner_title":"Firmware-update wordt uitgevoerd","app_container_sitemaster_message_title":"Het systeem is momenteel actief. Om de status van de batterijblokken te kunnen zien, moet het systeem worden uitgeschakeld. U kunt het systeem stoppen vanaf de beginpagina.","app_container_sitemaster_power_supply_mode_banner_message":"Batterij die wisselspanning produceert om apparaten van stroom te voorzien voor koppeling en configuratie. Knop om het systeem op de beginpagina te stoppen.","app_container_sitemaster_power_supply_mode_banner_title":"Netvormingsmodus","app_container_sitemaster_running_banner_title":"Systeem actief","battery_container_cannot_communicate":"Kan niet communiceren met Powerwall Controleer bedrading en afsluiting van CAN-bus.","battery_container_chinv":"VFD voor compressor en verwarming (CHINV) {index}","battery_container_confirm_update_firmware":"Dit proces kan enkele minuten duren. Onderbreek de update niet en verlaat deze pagina niet.","battery_container_dcbc":"Batterijblok {index}","battery_container_dcbc_comms_failure":"Communicatiefout. Controleer netwerkverbinding met de unit en scan opnieuw.","battery_container_dcbc_dcdisconnect_opened":"DC-onderbrekingshendel staat in de uit-stand.","battery_container_dcbc_door_switch_opened":"Inschakelkabel omvormerdeur open. Onderzoek deurschakelaar.","battery_container_dcbc_enable_line_return_low_estop":"Uitschakelcontact op afstand van omvormer open. Onderzoek circuit van uitschakelcontact op afstand","battery_container_dcbc_enable_line_return_low_inv":"Inschakelkabel omvormersysteem open. Onderzoek feedback van stroomonderbreker.","battery_container_dcbc_enable_line_return_low_str":"Inschakelkabel voor een of meer Powerpack-rijen is open. Onderzoek bedrading en Powerpack-deuren. Zie de Enable Line Troubleshooting Guide voor diagnose.","battery_container_diagnosis_incomplete":"Diagnose onvolledig. Een firmware-update is vereist voordat verdere controles kunnen worden uitgevoerd.","battery_container_faults":"Storingen","battery_container_firmware_update_needed":"Firmware-update nodig.","battery_container_industrial_confirm_update_firmware":"Hiermee wordt de firmware van elk batterijblok en de subcomponenten bijgewerkt.","battery_container_internal_communications_fault":"Interne communicatiestoring. Controleer bedrading en afsluiting van CAN-bus en voer een firmware-update uit.","battery_container_mpbc":"Batterijblok {index}","battery_container_mpthc":"Temperatuurregeling (MPTHC) {index}","battery_container_no_sync_detected":"Geen schakelaarcontroller gedetecteerd. Geen back-upmogelijkheid gedetecteerd.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN: {pn}","battery_container_pod":"Pod {index}","battery_container_post":"Paal (LCC) {index}","battery_container_post_missing":"Ontbrekende paal {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Vermogensfase {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"De Powerwall is uitgeschakeld. Zorg dat de schakelaar in de stand ON is.","battery_container_qbms":"Batterijmanagementsysteem (QBMS)","battery_container_qhvp":"Hoogspanningsprocessor (QHVP)","battery_container_residential_confirm_update_firmware":"Hiermee wordt de firmware van elke Powerwall en de schakelaarcontroller (indien aanwezig) bijgewerkt.","battery_container_resolve_connectivity":"Los connectiviteitsproblemen op voordat u een firmware-update uitvoert.","battery_container_scan":"SCANNEN","battery_container_scan_in_progress":"SCANNEN...","battery_container_scbc":"Laderblok {index}","battery_container_scthc":"Temperatuurregeling (SCTHC) {index}","battery_container_self_tests_failure":"Niet geslaagd voor zelftest.","battery_container_self_tests_inconclusive":"Resultaten zelftest niet doorslaggevend.","battery_container_self_tests_internal_error":"Zelftest mislukt vanwege interne systeemfout.","battery_container_self_tests_stall":"Time-out: zelftests kunnen niet starten.","battery_container_self_tests_system_down":"Kan geen zelftests uitvoeren terwijl het systeem is uitgeschakeld. Start het systeem en probeer het opnieuw.","battery_container_serial_number":"SERIENUMMER: {sn}","battery_container_starc":"DC-DC-omvormer (STARC) {index}","battery_container_stitch":"Controlevermogen DC-DC (STITCH)","battery_container_synchronizer":"Schakelaarcontroller","battery_container_unknown":"Onbekende buscontroller {index}","battery_container_update_failed":"Update mislukt. Probeer het opnieuw en zorg ervoor dat bedrading en activeringsschakelaars niet worden onderbroken tijdens het updateproces.","battery_container_update_firmware":"FIRMWARE BIJWERKEN","battery_container_update_in_progress":"UPDATE WORDT UITGEVOERD...","battery_container_waiting_to_report_firmware":"Wachten tot unit de firmwareversie meldt.","battery_container_warnings":"Waarschuwingen","caution":"ATTENTIE","client_protocols_container_subtitle":"Clientprotocollen inschakelen of uitschakelen.","client_protocols_container_title":"Clientprotocollen","client_protocols_menu_title":"Clientprotocollen","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"REST API","client_protocols_view_modbus_label":"Modbus TCP/IP","conductor_limit":"Batterijen worden gecontroleerd om te voorkomen dat de geconfigureerde stroomlimieten voor elke fase van de stroomtrafo\'s van de geleider worden overschreden. Controleer het toepassingsvoorbeeld van de geleiderlimiet voor meer informatie over waar deze wordt gebruikt en welke limieten moeten worden geconfigureerd.","conductor_min_current":"Exportlimiet voor geleider","control_container_add_on":"TOEVOEGING","control_container_always_active":"ALTIJD ACTIEF","control_container_battery_ok":"VOLLEDIGE BATTERIJ-EXPORT TOEGESTAAN","control_container_charge_power_target":"DOEL LAADVERMOGEN","control_container_conductor_max_current":"Importlimiet voor geleider","control_container_conductor_min_current_max_bound":"{mode} heeft maximumwaarde van 200 A","control_container_conductor_min_current_min_bound":"{mode} heeft minimumwaarde van 5 A","control_container_control_subtitle":"Ondertitel controle","control_container_control_title":"Titel controle","control_container_direct":"DIRECT","control_container_disable":"Uitschakelen","control_container_discharge_power_target":"DOEL ONTLAADVERMOGEN","control_container_enabled":"INGESCHAKELD","control_container_energy_target":"ENERGIEDOEL Deze waarde moet overeenkomen met de systeemgrootte volgens de ontwerpdocumenten en het controleursrapport","control_container_error_message":"{mode} is vereist","control_container_explanation_bullet_five_max_site_meter_power_kw":"Wanneer het nettoverbruik groter is dan deze limiet, worden de batterijen zo goed mogelijk ontladen om te voorkomen dat deze limiet wordt overschreden.","control_container_explanation_bullet_five_min_site_meter_power_kw":"Wanneer de netto-opwekking groter is dan deze limiet, worden de batterijen zo goed mogelijk opgeladen om te voorkomen dat deze limiet wordt overschreden.","control_container_explanation_bullet_four_max_site_meter_power_kw":"Wanneer het nettoverbruik kleiner is dan deze limiet, worden de batterijen beperkt in hun toegestane laadvermogen.","control_container_explanation_bullet_four_min_site_meter_power_kw":"Wanneer de netto-opwekking kleiner is dan deze limiet, worden de batterijen beperkt in hun toegestane ontlaadvermogen.","control_container_explanation_bullet_one_max_site_meter_power_kw":"Importlimiet voor locatie is een optionele instelling. Laat dit veld leeg om beperking uit te schakelen.","control_container_explanation_bullet_one_min_site_meter_power_kw":"Exportlimiet voor locatie is een optionele instelling. Laat dit veld leeg om beperking uit te schakelen.","control_container_explanation_bullet_three_max_site_meter_power_kw":"Dit is een totale limiet voor alle fasen op alle locatiemeters. (Opmerking: wanneer verbruiksmeters worden gebruikt, wordt de locatiemeter berekend met behulp van verbruik, zonne-energie en batterij).","control_container_explanation_bullet_three_min_site_meter_power_kw":"Dit is een totale limiet voor alle fasen op alle locatiemeters. (Opmerking: wanneer verbruiksmeters worden gebruikt, wordt de locatiemeter berekend met behulp van verbruik, zonne-energie en batterij).","control_container_explanation_bullet_two_max_site_meter_power_kw":"Indien ingeschakeld, regelt de sitemaster de maximale energie die van het net naar de locatie mag worden geïmporteerd.","control_container_explanation_bullet_two_min_site_meter_power_kw":"Indien ingeschakeld, regelt de sitemaster de maximale energie die van de locatie naar het net mag worden geëxporteerd.","control_container_explanation_export_restrictions_locked":"Bepaalt hoe het systeem energie naar het net kan exporteren. Eenmaal ingesteld, vereist de regelgeving dat deze alleen kan worden gewijzigd door contact op te nemen met Tesla.","control_container_explanation_export_restrictions_unlocked":"Regelgeving vereist dat exportkenmerken alleen kunnen worden ingesteld tijdens de eerste inbedrijfstelling. Neem contact op met Tesla voor wijziging.","control_container_explanation_nominal_system":"Deze waarde moet overeenkomen met de systeemgrootte volgens de ontwerpdocumenten en het controleursrapport.","control_container_heat_for_energy":"WARMTE VOOR ENERGIE","control_container_heat_mode":"WARMTEMODUS","control_container_loading":"Laden","control_container_max_site_meter_power_W_max_bound":"{mode} heeft maximumwaarde van 50000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"{mode} heeft minimumwaarde van 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} moet groter zijn dan of gelijk zijn aan 0","control_container_max_site_meter_power_kw":"Importlimiet voor locatie","control_container_max_site_meter_power_w":"Importlimiet voor locatie","control_container_menu":"Menu","control_container_min_site_meter_power_kW_positive":"{mode} moet groter zijn dan of gelijk zijn aan 0","control_container_min_site_meter_power_kw":"Exportlimiet voor locatie","control_container_min_site_meter_power_w":"Exportlimiet voor locatie","control_container_minimum_charge_power":"MINIMAAL LAADVERMOGEN","control_container_minimum_discharge_power":"MINIMAAL ONTLAADVERMOGEN","control_container_misc":"DIVERS","control_container_net_meter_mode":"Exportbeperkingen voor locatie","control_container_never":"GEEN LOCATIE-EXPORT","control_container_nominal_system_energy_kW_positive":"{mode} moet groter zijn dan of gelijk zijn aan 0","control_container_nominal_system_energy_kWh_positive":"{mode} moet groter zijn dan of gelijk zijn aan 0","control_container_nominal_system_energy_kwh":"Nominale systeemenergie","control_container_nominal_system_energy_max_error":"Nominale systeemenergie overschrijdt de maximale energielimiet","control_container_nominal_system_power_kw":"Nominaal systeemvermogen","control_container_nominal_system_power_max_error":"Nominaal systeemvermogen overschrijdt de maximale vermogenslimiet","control_container_number_error_message":"{mode} moet een numerieke invoer zijn","control_container_power":"VERMOGEN","control_container_pv_only":"EXPORT TOT PV-METERSTAND OK","control_container_reactive_mode":"REACTIEVE MODUS","control_container_real_mode":"REAL-MODUS","control_container_reset":"Herstellen","control_container_site_control":"LOCATIEREGELING","control_container_site_limits":"LOCATIELIMIETEN","control_container_site_max_power":"MAX. VERMOGEN LOCATIE","control_container_site_min_power":"MIN. VERMOGEN LOCATIE","control_container_submit":"Indienen","control_container_submitting_control":"Indieningscontrole","control_start":"START","control_stop":"STOP","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"Versterker {id}","current_transformer_item_view_battery_ct":"Batterij","current_transformer_item_view_calculated_reading":"Berekend:","current_transformer_item_view_conductor_ct":"Geleider","current_transformer_item_view_ct_voltage_pairing_1":"Fase L1","current_transformer_item_view_ct_voltage_pairing_2":"Fase L2","current_transformer_item_view_ct_voltage_pairing_3":"Fase L3","current_transformer_item_view_ct_voltage_pairing_default":"Standaardfase","current_transformer_item_view_doubled_solar_ct":"Zonne-energie (1 stroomtrafo x2)","current_transformer_item_view_flip":"Spiegelen","current_transformer_item_view_generator_ct":"Generator","current_transformer_item_view_load_ct":"Verbruikers","current_transformer_item_view_measured_reading":"Per stroomtrafo:","current_transformer_item_view_no_reading":"Geen meting","current_transformer_item_view_none_ct":"Geen","current_transformer_item_view_phase_sequence_dropdown_title":"Fase","current_transformer_item_view_site_ct":"Locatie","current_transformer_item_view_solar_ct":"Zonne-energie","current_transformers_container_800a_ct_ensure":"Zorg ervoor dat de selectie van stroomtrafo\'s op deze pagina overeenkomt met wat is geïnstalleerd.","current_transformers_container_800a_ct_larger":"Stroomtrafo\'s van 800 A zijn fysiek groter dan de stroomtrafo\'s van 200/264 A.","current_transformers_container_800a_ct_use_case":"Gebruik en configureer de stroomtrafo van 800 A bij het meten van grote geleiders of panelen (zoals 400 A/800 A).","current_transformers_container_amps_explanation":"Stroom die door de stroomtransformator vloeit","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Zorg ervoor dat de stroomtrafo is geïnstalleerd voor de juiste fase ({sequence}).","current_transformers_container_configure_subtitle":"Configureer de meetstroomtransformatoren.","current_transformers_container_ct_flipping_ensure_direction":"Zorg er eerst voor dat het label van stroomtrafo naar de omvormer voor zonne-energie (voor stroomtrafo van zonne-energie) of naar de netvoeding (voor stroomtrafo van locatie) is gericht. Controleer vervolgens de fasebedrading en verifieer de gerapporteerde meetwaarden voor stroom, vermogen en vermogensfactor.","current_transformers_container_ct_flipping_modal_title":"Stroomtrafo omzetten in software","current_transformers_container_ct_flipping_software_incorrect_metering":"Het gebruik van software om een stroomtrafo die voor de verkeerde fase is geïnstalleerd om te zetten, resulteert in een onjuiste meting.","current_transformers_container_ct_flipping_wrong_phase":"Een negatieve vermogenswaarde kan erop duiden dat de stroomtrafo achterstevoren of voor de verkeerde fase is geïnstalleerd.","current_transformers_container_double_check_recommendation":"Controleer bedrading, spanningsaftakkingen, CT\'s en meterconfiguratie voordat u doorgaat.","current_transformers_container_doubled_solar_ct_explanation":"Eén stroomtrafo kan worden gebruikt om een gebalanceerde PV-omvormer te meten.","current_transformers_container_doubled_solar_ct_modal_title":"Meting van een gesplitste-fase zonne-omvormer met één stroomtrafo","current_transformers_container_grid_code_phase_modal_title":"Waarschuwing: Aantal CT\'s komt niet overeen met aanbeveling fase netcode","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Waarschuwing: Aantal CT\'s komt niet overeen met aanbeveling voor meerdere meters","current_transformers_container_grid_code_phase_multiple_warnings_message":"Onverwacht aantal CT\'s verbonden met de volgende {numMeters} meters:","current_transformers_container_grid_code_phase_warning_message":"Onverwacht aantal CT\'s verbonden met de volgende meter:","current_transformers_container_grid_code_single_phase_warning":"De toegepaste netcode is eenfase. Eenfasesystemen hebben normaal ofwel 1- ofwel 3-fasig aansluiting. {lb} Een oneven aantal CT\'s (1 of 3) wordt aanbevolen.","current_transformers_container_grid_code_split_phase_warning":"De toegepaste netcode is tweefase. Tweefasesystemen hebben normaal één CT voor iedere \\"spanningvoerende\\" geleider. {lb} Een even aantal CT\'s (2 of 4) wordt aanbevolen. ","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Zorg ervoor dat het label van de stroomtrafo naar de zonne-energieomvormer is gericht.","current_transformers_container_label_modal_title":"Uitleg bij labels","current_transformers_container_load_ct_ensure":"Zorg er bij het configureren van verbruiksstroomtrafo\'s voor dat alle verbruik van de huisinstallatie wordt gemeten en dat back-up- en niet-backverbruik afzonderlijk worden gemeten.","current_transformers_container_load_ct_modal_title":"Verbruiksstroomtrafo ","current_transformers_container_load_ct_recommended":"Het configureren van verbruiksstroomtrafo\'s wordt alleen aanbevolen voor specifiek gebruik waarbij het niet mogelijk is om een huisinstallatie-stroomtrafo te configureren.","current_transformers_container_meter_id":"Meter {id}","current_transformers_container_no_load_and_site_ct":"Er kan niet zowel een verbruiks- als een huisinstallatiestroomtrafo zijn.","current_transformers_container_no_loads_doubled_solar_ct_bullet":"Er kan geen verbruik achter de stroomtrafo zijn.","current_transformers_container_no_site_or_load_warning":"GEEN TRAFO GECONFIGUREERD","current_transformers_container_no_solar_ct_warning":"GEEN STROOMTRAFO VOOR ZONNEPANELEN GECONFIGUREERD","current_transformers_container_no_solar_inverter_warning":"GEEN PV-OMVORMER GECONFIGUREERD","current_transformers_container_phase_usages_modal_title":"Waarschuwing: Stroomtrafoconfiguratie komt niet overeen met faseconfiguratie","current_transformers_container_phase_usages_warning":"Het aantal geconfigureerde fasen komt niet overeen met het aantal geconfigureerde stroomtrafo\'s. {lb} {num} geconfigureerde stroomtrafo\'s worden aanbevolen.","current_transformers_container_phase_usages_warning_message":"Onverwacht aantal stroomtrafo\'s verbonden met de volgende meter(s):","current_transformers_container_power_amperage_configure_warning":"Stroomtransformator {type} vereist dat zowel het positieve vermogen als het ampèrage correct worden geconfigureerd.","current_transformers_container_power_factor_explanation":"Vermogensfactor (Power_Real / Power_Apparent). Alleen weergegeven voor hoge vermogensniveaus. Voor algemene resistieve belastingen zou de vermogensfactor dicht bij 1 moeten liggen. Een lage vermogensfactor kan erop wijzen dat een stroomtransformator onjuist is geïnstalleerd of dat er sprake is van zeer grote capacitieve/inductieve belastingen.","current_transformers_container_power_factor_out_of_range_warning":"Meting vermogensfactor is buiten verwacht bereik. {lb} Gemeten vermogensfactor: {powerFactor} PF {lb} De meter is mogelijk onjuist geïnstalleerd of op een onjuiste fase, of er zijn zeer grote capacitieve/inductieve lasten.","current_transformers_container_system_test_configured_incorrect":"Waarschuwing: CT {id} is mogelijk onjuist geconfigureerd","current_transformers_container_title":"Stroomtransformatoren","current_transformers_container_voltage_out_of_range_warning":"Spanning is buiten bereik. {lb} Gemeten spanning: {volts} V {lb} Gemeten spanning van deze CT is buiten het normale bedrijfsbereik.","current_transformers_container_volts_explanation":"Spanning van lijn naar neutraal op de spanningsaftakking die bij de stroomtransformator hoort","current_transformers_container_watts_explanation":"Voeding als stroom die door de stroomtransformator vloeit, vermenigvuldigd met de spanning op de bijbehorende spanningsaftakking","customer_installation_view_email_label":"E-MAIL KLANT","customer_installation_view_email_placeholder":"E-mail","customer_registration_view_address_label":"ADRES","customer_registration_view_address_placeholder":"Adres","customer_registration_view_city_label":"PLAATS","customer_registration_view_city_placeholder":"Plaats","customer_registration_view_clear_form":"FORMULIER WISSEN","customer_registration_view_country_label":"Land","customer_registration_view_customer_information":"KLANTINFORMATIE","customer_registration_view_email_address_label":"E-MAIL","customer_registration_view_email_placeholder":"E-mail","customer_registration_view_family_name_label":"ACHTERNAAM","customer_registration_view_family_name_warning":"Voer de achternaam van de klant in.","customer_registration_view_given_name_label":"VOORNAAM","customer_registration_view_given_name_warning":"Voer de voornaam van de klant in.","customer_registration_view_homeowner_family_name_placeholder":"Achternaam","customer_registration_view_homeowner_given_name_placeholder":"Voornaam","customer_registration_view_installation_address":"Installatie adres","customer_registration_view_phone_number_label":"TELEFOON","customer_registration_view_phone_placeholder":"Telefoon","customer_registration_view_state_placeholder":"Provincie","customer_registration_view_state_province_region_label":"STAAT/PROVINCIE/REGIO","customer_registration_view_zip_label":"POSTCODE","customer_registration_view_zip_placeholder":"Postcode","diagnostic_category_item_view_download_results":"RESULTATEN DOWNLOADEN","diagnostic_category_item_view_internal_comms_description":"Controleer alle communicatie tussen apparaten","diagnostic_category_item_view_internal_comms_title":"Communicatie tussen apparaten","diagnostic_category_item_view_metering_description":"Controleer meterverbindingen","diagnostic_category_item_view_metering_title":"Bemetering","diagnostic_category_item_view_networking_description":"Controleer netwerkverbinding","diagnostic_category_item_view_networking_title":"Netwerk","diagnostic_category_item_view_no_selected_tests":"GEEN GESELECTEERDE TESTS","diagnostic_category_item_view_rerun_selected":"{num} GESELECTEERDE TESTS OPNIEUW UITVOEREN","diagnostic_category_item_view_rerun_selected_test":"GESELECTEERDE TEST OPNIEUW UITVOEREN","diagnostic_category_item_view_run_selected":"{num} GESELECTEERDE TESTS UITVOEREN","diagnostic_category_item_view_run_selected_test":"GESELECTEERDE TEST UITVOEREN","diagnostic_category_item_view_self_tests_description":"Laad- en ontlaadtests op het systeem starten","diagnostic_category_item_view_self_tests_title":"Zelftests","diagnostic_category_item_view_toggle_all_tests":"Alle wisselen","diagnostic_input_view_blocks_label":"BLOKKEN","diagnostic_input_view_max_allowed_charge_power_label":"MAX. TOEGESTAAN LAADVERMOGEN","diagnostic_input_view_max_allowed_discharge_power_label":"MAX. TOEGESTAAN ONTLAADVERMOGEN","diagnostic_test_enable_line":"Inschakelkabel","diagnostic_test_item_view_ac_self_test_description":"Zelftest wisselspanning","diagnostic_test_item_view_dc_self_test_description":"Zelftest gelijkspanning","diagnostic_test_item_view_enable_line_description":"Test inschakelkabel hoog voor alle Powerwalls","diagnostic_test_item_view_enable_line_resolution":"Zet inschakelkabel uit en weer aan en probeer het opnieuw","diagnostic_test_item_view_meter_comms_description":"Ping metercommunicatie","diagnostic_test_item_view_network_connection_description":"Test verbinding met internet en Tesla-servers","diagnostic_test_item_view_network_connection_resolution":"Herconfigureer netwerk","diagnostic_test_item_view_resolution_generic_text":"Herconfigureer {name} en probeer het opnieuw","diagnostic_test_item_view_step_canceled":"Test is geannuleerd door gebruiker","diagnostic_test_item_view_step_config_update_status":"Controleer status Tesla-configuratieserver","diagnostic_test_item_view_step_google_http":"Ping Google-HTTP","diagnostic_test_item_view_step_google_https":"Ping Google-HTTPS","diagnostic_test_item_view_step_hermes_status":"Controleer status Tesla-aanmeldserver","diagnostic_test_item_view_step_results_ip_address":"IP-adres","diagnostic_test_item_view_step_results_subnet_mask":"Subnet","diagnostic_test_item_view_table_header_key":"Identificatie","diagnostic_test_item_view_table_header_name":"Stap","diagnostic_test_item_view_table_header_value":"Waarde","diagnostic_test_meter_comms":"Metercommunicatie","diagnostic_test_network_connection":"Netwerkverbinding","diagnostics_composite_view_no_tests_found":"GEEN BESCHIKBARE TESTS GEVONDEN","diagnostics_composite_view_run_all_selected_tests":"ALLE GESELECTEERDE TESTS UITVOEREN","diagnostics_container_industrial_disruptive_tests_description":"De volgende tests laten de ventilator en thermische systemen werken, wat geluid genereert. Er kan ongeveer 30 kW per omvormerafname worden verwacht. Bovendien kunnen de volgende tests de normale werking van het systeem verstoren:","diagnostics_container_required_inputs_description":"De volgende tests vereisen extra invoer:","diagnostics_container_residential_disruptive_tests_description":"De volgende tests kunnen de normale werking van zowel de gateway als de Powerwall verstoren:","diagnostics_container_stop_test_title":"Test {name} stoppen?","diagnostics_container_subtitle":"Tools om problemen met de systeeminstallatie te diagnosticeren.","diagnostics_container_tests_running":"Diagnostische tests worden uitgevoerd","diagnostics_container_title":"Diagnose","dropdown_default_placeholder":"Typ...","dropdown_list_view_select_all":"Alles selecteren","dropdown_list_view_select_field":"Selecteer een veld.","dropdown_list_view_show_complete":"OVERSCHAKELEN NAAR COMPLETE LIJST","dropdown_list_view_show_searchable":"OVERSCHAKELEN NAAR DOORZOEKBARE LIJST","error_details":"Foutdetails","error_item_view_check_network":"Controleer netwerkverbinding.","error_item_view_disconnected":"Verbinding met gateway verbroken. Controleer netwerkverbinding en {refresh}","error_item_view_forgot_password":"Klik om wachtwoord te resetten.","error_item_view_refresh_browser":"Vernieuw browser.","error_item_view_try_logging_in_again":"Probeer opnieuw aan te melden.","ethernet_view_backup_dns_label":"BACK-UP DNS-SERVER","ethernet_view_backup_dns_warning":"Geldige back-up DNS-server","ethernet_view_configuration_label":"CONFIGURATIE","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"GATEWAY (OPT)","ethernet_view_gateway_warning":"Geldige gateway (router)-IP","ethernet_view_ip_address_label":"IP-ADRES","ethernet_view_ip_address_warning":"Geldig IP-adres","ethernet_view_not_available":"Niet beschikbaar","ethernet_view_primary_dns_label":"PRIMAIRE DNS-SERVER","ethernet_view_primary_dns_warning":"Geldige primaire DNS-server","ethernet_view_static_label":"Statisch","ethernet_view_subnet_mask_label":"SUBNETMASKER (OPT)","ethernet_view_subnet_mask_warning":"Geldig subnetmasker","field_false":"Niet waar","field_true":"Waar","form_legend_text":"duidt een vereist veld aan","generation_container_connecting_status":"Beginnend","generation_container_connection":"Omvormer {id} Verbinding","generation_container_connection_summary":"Tijdens dit verbindingsproces kunt u tijdelijk de verbinding met het netwerk verbreken. {lb} Zorg ervoor dat u opnieuw verbinding maakt met het juiste netwerk. Dit kan tot 3 minuten duren.","generation_container_subtitle":"Voeg hieronder informatie over de PV-omvormer en generator toe.","generation_container_title":"Genereren","generator_item_view_disconnect_type_label":"TYPE WERKSCHAKELAAR","generator_item_view_generator":"GENERATOR {id}","generator_item_view_manufacturer_label":"FABRIKANT (OPT)","generator_item_view_model_label":"MODEL","generator_item_view_serial_label":"SERIENUMMER","generator_item_view_sustained_power_label":"DUURZAAM VERMOGEN","generator_view_add_generator":"GENERATOR TOEVOEGEN","grid_code_container_off_grid_confirmation":"Is het systeem losgekoppeld van het elektriciteitsnet?","grid_code_container_off_grid_detected":"Van het net losgekoppeld systeem gedetecteerd. Controleer of dit de juiste instelling is.","grid_code_container_off_grid_warning":"{warning} Kan de netstatus van het systeem niet detecteren. Het instellen van de verkeerde netstatus kan leiden tot een systeemstoring.","grid_code_container_results":"Resultaten van detectie van elektriciteitsnet","grid_code_container_retrieving":"Netcodes ophalen","grid_code_container_saving":"Netcode opslaan","grid_code_container_subtitle":"Zoek op basis van locatie en meterstanden de beste instellingen voor uw installatie.","grid_services_view_grid_services":"Elektriciteitsnetservice","help_view_how_password":"Wachtwoord voor gateway zoeken","help_view_how_password_description":"Open de deur van de gateway. Het wachtwoord staat op de sticker achter \\"Password:\\"","help_view_how_serial_number":"Het serienummer vinden op een niet-back-upgateway","help_view_how_serial_number_backup":"Het serienummer vinden op een back-upgateway","help_view_how_serial_number_backup_description":"Open de deur van de back-upgateway. Het serienummer begint met een \\"(S):\\"","help_view_how_serial_number_description":"Open de deur van de gateway. Het serienummer begint met een \\"(S):\\"","help_view_how_to_enable_line":"Een Powerwall in-/uitschakelen","help_view_how_to_enable_line_description":"Zet de schakelaar van de Powerwall in de uit-stand en vervolgens weer in de aan-stand. Bij systemen met meerdere Powerwalls hoeft u slechts één schakelaar te bedienen","hierarchy_charger":"Laderblok {index}","hierarchy_chinv":"VFD voor compressor en verwarming (CHINV)","hierarchy_converter":"DC-DC-omvormer (STARC)","hierarchy_inverter":"Batterijblok {name}","hierarchy_mega_thermal_controller":"Temperatuurregeling (MPTHC)","hierarchy_missing_post":"Ontbrekende paal","hierarchy_mpbc":"Batterijblok {name}","hierarchy_part_number":"Onderdeelnummer","hierarchy_pod":"Pod","hierarchy_pods_reporting":"Rapportage pods","hierarchy_post":"Paal (LCC)","hierarchy_posts":"Palen","hierarchy_power_stage":"Vermogensfase","hierarchy_power_stages":"Vermogensfasen","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Batterijmanagementsysteem (QBMS)","hierarchy_qhvp":"Hoogspanningsprocessor (QHVP)","hierarchy_scthcs":"Temperatuurregelaars","hierarchy_serial_number":"Serienummer","hierarchy_sitemaster":"Sitemaster {name}","hierarchy_starcs":"DC-DC-omvormers","hierarchy_stitch":"Controlevermogen DC-DC (STITCH)","hierarchy_thermal_controller":"Temperatuurregeling (SCTHC)","higher_order_login_login_required":"Inloggen vereist","higher_order_login_title":"Laten we aan de slag gaan.","home_container_inactive_meter":"Verouderde metergegevens","home_container_inactive_meter_description":"Controleer {type} meterverbinding.","home_container_inactive_meter_timestamp":"Laatste meterstand op {timestamp}","home_container_login_required":"Inloggen vereist","home_container_missing_meter":"Meter ontbreekt","home_container_positive_meter":"Waarschuwing: Meter {type} is onjuist geconfigureerd","home_container_positive_meter_description":"Meter {type} vereist dat zowel het positieve vermogen als de stroomsterkte correct worden geconfigureerd.","home_container_powerwall_error":"Fout in Powerwall-systeem","home_container_site_controller_error":"Systeemfout sitecontroller","home_container_sitemaster_alternative":"Let op Normaal gesproken moet het systeem worden uitgeschakeld door de aan-uitschakelaar op alle Powerwalls uit te zetten en de stroomonderbrekers te openen.","home_container_sitemaster_confirm":"Klik hieronder alleen op Ja als u ervan overtuigd bent dat het systeem moet worden gestopt.","home_container_sitemaster_header_warning":"{warning} Dit stopt de Powerwall en de werking van het systeem.","home_container_sitemaster_logging":"Als het systeem uit is, wordt de logboekregistratie gestopt","home_container_sitemaster_reset":"Klik na het stoppen van het systeem nogmaals op de Start-knop op de landingspagina om het systeem weer te starten.","home_container_sitemaster_update":"Als een update wordt uitgevoerd, wordt deze beëindigd.","home_container_start_powerwall":"Powerwall-systeem starten","home_container_stop_powerwall":"Powerwall-systeem stoppen","home_view_download_all_logs":"Alle logs downloaden","home_view_download_logs":"LOGS DOWNLOADEN","home_view_download_logs_description_one":"Hiermee wordt een gecomprimeerde set systeemlogs gedownload die nuttig kunnen zijn bij het diagnosticeren van problemen met het besturingssysteem, de software en netwerken.","home_view_download_logs_description_three":"Logs zijn ondertekend en gecodeerd en moeten voor onderzoek naar Tesla Energy Service worden gestuurd.","home_view_download_logs_description_two":"Dit is vooral handig als de gateway niet met het netwerk kan worden verbonden en geavanceerde probleemoplossing nodig is.","home_view_login":"INLOGGEN","home_view_logout":"UITLOGGEN","home_view_run_wizard":"WIZARD STARTEN","input_accept":"Ik ga akkoord","input_consent":"Ik geef toestemming","input_decline":"Ik ga niet akkoord","input_no_consent":"Ik geef geen toestemming","input_title_email":"Voer een geldig e-mailadres in naam@naam.domein","installation_container_relay_section_modal_title":"Relais lage spanning gateway","installation_container_residual_current_device_modal_title":"Installatievereiste voor aardlekautomaten op locatie","installation_container_subtitle":"Informatie over installateur en locatie","installation_container_sync_relay_usage_open_off_grid":"Open relais bij loskoppeling van elektriciteitsnet","installation_container_title":"Informatie over installatie","installation_view_add_on_solar":"Add-on","installation_view_additional_connections_label":"AANVULLENDE VERBINDINGEN","installation_view_back_wiring":"Achterzijde","installation_view_backup_configuration_label":"NOODSTROOMCONFIGURATIE","installation_view_basement_location":"Kelder","installation_view_company_label":"BEDRIJFSNAAM","installation_view_company_placeholder":"Bedrijfsnaam","installation_view_conditioned_space_location":"Geconditioneerde ruimte","installation_view_existing_solar":"Bestaand","installation_view_floor_mounting":"Vloer","installation_view_garage_location":"Garage","installation_view_home_label":"HUISBEDRADING","installation_view_location_label":"POWERWALL INSTALLATIEPLAATS","installation_view_modem_ethernet":"Mobiele modem met Ethernet?","installation_view_modem_wifi":"Mobiele modem met wifi?","installation_view_mounting_label":"POWERWALL-MONTAGE","installation_view_na_backup_configuration":"Niet toepasbaar","installation_view_new_solar":"Nieuw","installation_view_none_solar":"Geen","installation_view_outdoor_location":"Buiten","installation_view_pad_mounting":"Blok","installation_view_partial_home_backup_configuration":"Deel van woning","installation_view_phone_label":"TELEFOON","installation_view_phone_placeholder":"Telefoonnummer installateur","installation_view_powerline_ethernet":"Voedingsaansluiting met Ethernet?","installation_view_pv_panel":"PV-paneel","installation_view_relay_enabled":"Open relais bij loskoppeling van elektriciteitsnet","installation_view_relay_label":"RELAIS LAGE SPANNING GATEWAY","installation_view_relay_options_modal_content":"Bij aansluiting op het elektriciteitsnet of op een andere wisselspanningsbron wordt dit relais gesloten. {lb1} Bij loskoppeling van elektriciteitsnet is dit relais open. {lb1} Dit kan bijvoorbeeld worden gebruikt om airconditioning te laten werken wanneer deze op het elektriciteitsnet is aangesloten en vervolgens niet wanneer deze niet op het elektriciteitsnet is aangesloten om te voorkomen dat de bijbehorende hoge inschakelstroom de Powerwalls overbelast.","installation_view_relay_section_modal_content":"De gateway heeft een ingebouwd relais dat wordt bediend om in en uit te schakelen aan de hand van de systeemstatus. {lb1} Dit kan worden gebruikt om een extern apparaat aan te sturen, zoals een verbruiker of een secundaire energiebron. {lb1} Gebruik op back-upgateway 1 de pennen 1 en 2 op de hulpconnector (9-pens grote groene Phoenix-connector). {lb1} Gebruik op back-upgateway 2 de pennen 3 en 4 op de hulpconnector (5-pens grote groene Phoenix-connector). {lb1} Dit relais heeft een vermogen van 60 volt / 2 ampère en wordt gewoonlijk gebruikt met circuits van 12 V of 24 V. {lb1} Bekijk verlaging van het verbruik en gerelateerde toepassingsvoorbeelden voor meer details.","installation_view_residual_current_device":"Is er een aardlekautomaat stroomopwaarts van gateway geïnstalleerd?","installation_view_residual_current_device_modal_content":"Voor bepaalde installaties kunnen aardlekautomaten op locatieniveau vereist zijn, zoals netwerken met TT-aardingsconfiguratie. {lb1}{lb2} Om het risico van hinderlijke uitschakeling bij gebruik zonder aansluiting op het elektriciteitsnet te verminderen, raadt Tesla aan ervoor te zorgen dat alle stroomopwaartse aardlekautomaten tijdvertraagd zijn (type S), of indien mogelijk de aardlekautomaat van de locatie na de contactgever van de gateway te plaatsen. {lb1}{lb2} Raadpleeg voor aanvullende informatie het toepassingsvoorbeeld over de aardlekautomaat en aardlekbeveiliging.","installation_view_satellite_ethernet":"Satellietverbinding met Ethernet?","installation_view_satellite_wifi":"Satellietverbinding met wifi?","installation_view_side_wiring":"Zijkant","installation_view_solar_label":"INSTALLATIE VAN ZONNEPANELEN","installation_view_solar_type_label":"TYPE ZONNE-INSTALLATIE","installation_view_solarglass":"Zonneglas","installation_view_stack_kit":"Heeft Stack Kit?","installation_view_type_commercial":"Bedrijf","installation_view_type_label":"INFORMATIE OVER INSTALLATIE","installation_view_type_perm_off_grid":"Permanent buiten elektriciteitsnetwerk","installation_view_type_residential":"Woonwijk","installation_view_wall_mounting":"Wand","installation_view_whole_home_backup_configuration":"Hele woning","installation_view_wifi_extender":"Wifi-verlenger?","installation_view_wiring_label":"BEDRADING POWERWALL","inverter_test_view_accuracy_magnitude":"Nauwkeurigheid grootte","inverter_test_view_accuracy_time":"Nauwkeurigheid tijd","inverter_test_view_complete":"Voltooid","inverter_test_view_current_magnitude":"Grootte stroom","inverter_test_view_fail":"Mislukt","inverter_test_view_na":"N.v.t.","inverter_test_view_not_run":"Niet uitgevoerd","inverter_test_view_pass":"Geslaagd","inverter_test_view_running":"Wordt uitgevoerd","inverter_test_view_set_magnitude":"Grootte instellen","inverter_test_view_set_time":"Tijd instellen","inverter_test_view_test_description":"Zelftest van de omvormer wordt uitgevoerd","inverter_test_view_test_name_all":"Alle tests","inverter_test_view_test_name_over_freq_stage_one":"Overfrequentie fase 1","inverter_test_view_test_name_over_freq_stage_two":"Overfrequentie fase 2","inverter_test_view_test_name_over_volt_one":"Overspanning fase 1","inverter_test_view_test_name_over_volt_two":"Overspanning fase 2","inverter_test_view_test_name_under_freq_stage_one":"Onderfrequentie fase 1","inverter_test_view_test_name_under_freq_stage_two":"Onderfrequentie fase 2","inverter_test_view_test_name_under_volt_one":"Onderspanning fase 1","inverter_test_view_test_name_under_volt_two":"Onderspanning fase 2","inverter_test_view_timestamp":"Tijdstempel","inverter_test_view_trip_magnitude":"Grootte uitschakelen","inverter_test_view_trip_time":"Tijd uitschakelen","inverter_test_view_warning":"Let op De omvormertest kan 20 tot 30 minuten per omvormer duren.","label_fail":"Mislukt","label_inconclusive":"Onduidelijk","label_pass":"Geslaagd","legal_container_customer_policy_subtitle":"Dient te worden ingevuld door de huiseigenaar.","legal_container_customer_policy_title":"Privacybeleid en beperkte garantie voor Tesla-klanten","legal_container_no_meters_warning":"GEEN METERS GECONFIGUREERD","legal_container_no_powerwalls_warning":"GEEN POWERWALLS GEDETECTEERD","login_type_customer":"Klant","login_type_engineer":"Technicus","login_type_installer":"Installateur","login_view_cancel_login_auth":"Aanmelding annuleren","login_view_change_forgot_password":"PASWOORD WIJZIGEN OF VERGETEN","login_view_customer_email_placeholder":"E-mail klant","login_view_email":"E-MAIL","login_view_email_placeholder":"e-mail hoofdinstallateur","login_view_forgot_password":"PASWOORD VERGETEN","login_view_forgot_password_login_type":"Selecteer inlogwijze","login_view_language_label":"TAAL","login_view_login_type_label":"INLOGWIJZE","login_view_password_placeholder":"Voer uw passwoord in","login_view_start_login_auth":"AANMELDINGSPROCES STARTEN","login_view_start_login_auth_how_to_enable_line_description":"Zet de schakelaar van de Powerwall in de uit-stand en vervolgens weer in de aan-stand om u aan te melden. Bij systemen met meerdere Powerwalls hoeft u slechts één schakelaar te bedienen","login_view_username":"GEBRUIKERSNAAM","login_view_username_placeholder":"Gebruikersnaam","login_warning_view_expand":"Als de wizard niet start {click}.","login_warning_view_firmware_update":"Wanneer een firmware-update wordt uitgevoerd","login_warning_view_heading":"{warning} Door het starten van de wizard wordt de werking van de batterij onderbroken.","login_warning_view_protect_system":"Om het systeem te beschermen, wordt de wizard niet gestart","login_warning_view_stop_operation":"wizard geforceerd starten (Force Launch Wizard)","login_warning_view_supported_browsers":"{warning} Momenteel worden alleen Chrome en Safari als webbrowser ondersteund.","login_warning_view_system_force_launch":"Als u de wizard wilt starten en de werking van het systeem wilt stoppen, selecteer dan wizard geforceerd starten.","login_warning_view_system_off_grid":"Wanneer het elektrische systeem niet op het elektriciteitsnet is aangesloten","login_warning_view_warning_click":"klik voor meer","meter_aggregate_type_battery":"Batterij","meter_aggregate_type_load":"Laden","meter_aggregate_type_site":"Locatie","meter_aggregate_type_solar":"Zonne-energie","meter_container_add_meter_error":"Meter verifiëren","meter_container_add_meter_status":"Meter toevoegen","meter_container_authorizing_status":"Autoriseren","meter_container_decode":"Kon serienummer niet vanaf afbeelding decoderen.","meter_container_detecting_status":"Bekabelde meters detecteren","meter_container_failed_status":"Toevoegen van meter is mislukt","meter_container_reconnecting_status":"Opnieuw verbinding maken","meter_container_skip_title":"Er zijn geen meters in gebruik genomen, weet u zeker dat u door wilt gaan?","meter_container_starting_status":"Starten","meter_container_subtitle":"Voer de verkorte ID(\'s) en serienummer(s) van de energiemeter in om verbinding te maken. Test elke meter nadat deze in gebruik is genomen.","meter_container_subtitle_industrial":"Voer IP-adres(sen) en locatie(s) van de energiemeter in om verbinding te maken. Test elke meter nadat deze in gebruik is genomen.","meter_container_success_status":"Meter is toegevoegd","meter_container_title":"Meters","meter_container_unknown_status":"Onbekend","meter_container_updating_status":"Meter updaten","meter_container_verification":"Verificatie van meter {id}","meter_container_verification_gw1":"Tijdens dit wifi-koppelingsproces is het mogelijk dat u tijdelijk geen verbinding hebt met het wifi-netwerk van de gateway. {lb} Zorg dat u opnieuw verbinding maakt met het juiste netwerk. Dit kan 3 minuten duren.","meter_container_verification_gw2":"Het wifi-koppelingsproces kan tot wel 3 minuten duren.","meter_container_verify_meter_error":"Meter verifiëren","meter_container_verifying_status":"Meter verifiëren","meter_item_view_advanced_settings":"GEAVANCEERDE INSTELLINGEN (OPTIONEEL)","meter_item_view_battery_ct":"Batterij","meter_item_view_battery_location":"Batterij","meter_item_view_check_meter":"VERBINDING METER {id} CONTROLEREN","meter_item_view_conductor_location":"Geleider","meter_item_view_cts":"{count} stroomtrafo\'s gedetecteerd","meter_item_view_doubled_solar_location":"Verdubbelde zonne-energie","meter_item_view_generator_location":"Generator","meter_item_view_ip_address":"IP-ADRES","meter_item_view_load_location":"Laden","meter_item_view_mac_address":"MAC-ADRES","meter_item_view_meter_location":"METERLOCATIE","meter_item_view_none_location":"Geen","meter_item_view_serial":"SERIENUMMER","meter_item_view_short_id":"VERKORTE ID","meter_item_view_site_ct":"Locatie","meter_item_view_site_location":"Locatie","meter_item_view_solar_ct":"Zonne-energie","meter_item_view_solar_location":"Zonne-energie","meter_item_view_success":"VERBINDING IS GEMAAKT!","meter_item_view_unable":"KAN METER NIET DETECTEREN!","meter_item_view_upgrading":"METER IS BIJGEWERKT!","meter_list_view_add":"WIFI METER TOEVOEGEN","meter_list_view_add_ip":"IP-METER TOEVOEGEN","meter_list_view_detect":"BEKABELDE METERS DETECTEREN","meter_list_view_enable_inverter_readings":"Aflezingen batterijomvormers inschakelen","meter_list_view_inverter_meter":"OMVORMERMETERS","meter_list_view_inverter_meter_desc":"Wanneer dit is ingeschakeld en er geen batterijmeters zijn geconfigureerd, gebruikt de sitecontroller aflezingen van de batterijomvormers als batterijmeter.","meter_sync_id":"SYNC METER {id}","meter_update_modal_fetch_status_error":"Kan de update-status van de meter niet ophalen","meter_update_modal_footer":"Meter-update kan tot 2 minuten duren","meter_update_modal_remaining_time":"Resterende tijd: {seconds} seconden","meter_update_modal_timeout_error":"Er is een time-out opgetreden tijdens het bijwerken van de meter","meter_update_modal_title":"Meter-update is onderweg","meter_validation_container_error":"Metervalidatie niet beschikbaar terwijl sitecontroller actief is.","meter_validation_container_error_placeholder":"Metervalidatie niet beschikbaar: {error}.","meter_validation_container_power_command":"Vermogensopdracht","meter_validation_container_power_start":"Starten","meter_validation_container_power_stop":"Stop","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Reactief-vermogensopdracht","meter_validation_container_real_power_command":"Werkelijk-vermogensopdracht","meter_validation_container_title":"Metervalidatie","meter_validation_container_usage":"Stuur een vermogensopdracht en valideer de metergegevens. U moet op deze pagina blijven om de vermogensopdracht continu te houden. Bij negatieve waarden wordt het systeem opgeladen. Bij positieve waarden wordt het systeem ontladen.","meter_validation_control_subtitle":"Regel","meter_validation_control_title":"Titel controle","meter_validation_disable":"Uitschakelen","meter_validation_loading":"Laden","meter_validation_menu":"Menu","meter_validation_reset":"Herstellen","meter_validation_submit":"Indienen","meter_validation_submitting_control":"Indieningscontrole","meter_validation_title":"Metervalidatie","meter_validation_view_apparent_power":"Schijnbaar vermogen (kVA)","meter_validation_view_battery_location":"Batterij","meter_validation_view_conductor_location":"Geleider","meter_validation_view_current":"Stroom (A)","meter_validation_view_doubled_solar_location":"Verdubbelde zonne-energie","meter_validation_view_generator_location":"Generator","meter_validation_view_hz":"Hz","meter_validation_view_inverters":"Omvormers ({length})","meter_validation_view_ka":"kA","meter_validation_view_kv":"kV","meter_validation_view_kvar":"kVAr","meter_validation_view_kw":"kW","meter_validation_view_kwh":"kWh","meter_validation_view_load_location":"Laden","meter_validation_view_meter":"Meters ({length})","meter_validation_view_none_location":"Geen","meter_validation_view_pf":"Vermogensfactor","meter_validation_view_phase_a":"A","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Totaal","meter_validation_view_reactive_power":"Reactief vermogen (kVAr)","meter_validation_view_real_power":"Werkelijk vermogen (kW)","meter_validation_view_site_location":"Locatie","meter_validation_view_solar_location":"Zonne-energie","meter_validation_view_voltage":"Spanning (U)","meter_wifi_id":"METER {id}","meter_wired_id":"BEDRADE METER {id}","metrics_aggregate":"Systeem","metrics_apparent_power":"Schijnbaar vermogen ({unit})","metrics_battery":"Batterij","metrics_current":"Stroom ({unit})","metrics_meter":"Meter","metrics_no_metrics":"Geen gegevens om weer te geven","metrics_power_factor":"Vermogensfactor","metrics_reactive_power":"Reactief vermogen ({unit})","metrics_real_power":"Werkelijk vermogen ({unit})","metrics_subtitle":"Gegevens","metrics_voltage_l_n":"Spanning L-N ({unit})","modal_acknowledge":"ERKENNEN","modal_confirm":"BEVESTIGEN","modal_exit":"AFSLUITEN","modal_no":"NEE","modal_note":"Let op","modal_ok":"OK","modal_reconfigure":"HERCONFIGUREREN","modal_yes":"JA","modbus_container_title":"Modbus-interface","modbus_table_register_address":"Adres","modbus_table_register_name":"Naam","modbus_table_register_type":"Type","modbus_table_register_value":"Waarde","modbus_table_register_value_decimal":"Waarde (decimaal)","modbus_table_register_value_hex":"Waarde (hex)","navigation_email":"E-MAIL","network_cellular_configured":"Geconfigureerd maar niet verbonden. Zorg ervoor dat het mobiele netwerk beschikbaar is en dat er geen obstakels rond de antenne zijn.","network_connected":"Verbonden","network_container_connect_ethernet":"Verbinden met Ethernet","network_container_connect_to_internet":"Wacht tot het systeem verbinding probeert te maken met internet.","network_container_connect_wifi":"Verbinding maken met {ssid}","network_container_connect_wifi_description":"Tijdens dit proces moet u mogelijk opnieuw verbinding maken met het Gateway-netwerk om de installatie voort tezetten.","network_container_connman":"Powerwall Connectie Beheerder verbindt automatisch met het beste netwerk.","network_container_connman_body":"Om een verbinding te garanderen, configureer alle beschikbare verbindingstypen:","network_container_delete_network":"Geconfigureerd netwerk verwijderen?","network_container_ethernet_and_wifi_warning":"Configureer beschikbare Ethernet en Wifi netwerken om een verbinding te garanderen.","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Configureer beschikbare Ethernet netwerken om een verbinding te garanderen.","network_container_network_description":"Om een verbinding te garanderen, configureer alle beschikbare verbindingstypen","network_container_network_subtitle":"Netwerk","network_container_no_internet_bullet_four":"De Powerwall prestatiegegevens naar Tesla kan verzenden zodat de technische ondersteuning problemen kan identificeren","network_container_no_internet_bullet_four_industrial":"Apparaten kunnen prestatiegegevens naar Tesla verzenden zodat de technische ondersteuning problemen kan identificeren","network_container_no_internet_bullet_one":"De Powerwall-registratiegegevens naar Tesla worden verzonden om de volledige 10 jaar garantie te activeren","network_container_no_internet_bullet_three":"De klant de mobiele app van Tesla kan gebruiken om het energieverbruik in de gaten te houden en de Powerwall te bedienen.","network_container_no_internet_bullet_two":"De Powerwall externe firmware-updates kan ontvangen die prestatieverbeteringen en nieuwe functies mogelijk maken","network_container_no_internet_bullet_two_industrial":"Apparaten kunnen externe firmware-updates ontvangen die prestatieverbeteringen en nieuwe functies mogelijk maken","network_container_no_internet_title":"Als de installatielocatie een beschikbare internetverbinding heeft, mag u deze stap niet overslaan. Verbind de Powerwall via Ethernet (voorkeur) of Wifi met internet van de klant of maak verbinding met een mobiel netwerk.","network_container_no_internet_warning":"Het is belangrijk een betrouwbare internetverbinding tot stand te brengen, zodat","network_container_scan_networks":"Scan Wifi Netwerken","network_container_scan_wifi_disconnect_warning":"Waarschuwing: Scannen voor nieuwe netwerken verbreekt tijdelijk de draadloze verbinding.","network_container_wifi_subtitle":"Wifi","network_container_wifi_warning":"Configureer beschikbare Wifi netwerken om een verbinding te garanderen.","network_disabled":"Uitgeschakeld","network_disconnected":"Niet verbonden","network_ethernet_configured":"Geconfigureerd maar niet verbonden. Controleer de ethernetkabelverbinding.","network_view_check_connection":"INTERNETVERBINDING CONTROLEREN","network_view_connection_failed":"NIET VERBONDEN!","network_view_connection_success":"VERBINDING IS GEMAAKT!","network_view_continue_no_internet":"DOORGAAN ZONDER INTERNET","network_view_default_error":"Verbindingsfout","network_view_local_network_connected":"Lokaal netwerk verbonden","network_view_local_network_disconnected":"Fout in lokaal netwerk","network_view_tesla_internet_connected":"Tesla Services en internet verbonden","network_view_tesla_internet_disconnected":"Verbindingsfout Tesla Services en internet","network_warning":"Waarschuwing","network_wifi_configured":"Geconfigureerd maar niet verbonden. Controleer uw wifi-instellingen.","open_meter_validatiion_container_title":"Metervalidatie openen","operation_mode_autonomous":"Autonome modus","operation_mode_backup":"Alleen back-up laden","operation_mode_self_consumption":"Modus eigen gebruik","operation_mode_site_control":"Locatieregeling","overview_menu_control_title":"Regel","overview_menu_diagnostics_title":"Diagnose","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Verbonden","overview_menu_network_no_connection":"Geen verbinding","overview_menu_registration_complete":"Voltooid","overview_menu_registration_incomplete":"Niet voltooid","overview_menu_registration_pending":"In afwachting van internetverbinding","overview_menu_security_title":"Paswoord wijzigen of resetten","overview_menu_summary_title":"Overzicht","overview_menu_update_title":"Software-update","overview_menu_view_alerts_event":"Gebeurtenis","overview_menu_view_alerts_events":"Gebeurtenissen","overview_menu_view_inverter_title":"Omvormertest","overview_menu_view_network_title":"Netwerk","overview_menu_view_registration_title":"Registratie","overview_menu_view_test_title":"Zelftest","overview_meter_validation_title":"Metervalidatie","phase_container_detect_timeout":"Time-out fasedetectie","phase_container_detection_attempt":"Poging #{num}","phase_container_grid_code_validating_modal_title":"Netcode valideren","phase_container_grid_compliant_description":"Netconform {checkmark}","phase_container_grid_modal_description":"Net is conform over {time} seconden.","phase_container_grid_modal_title":"Wachten op netconformiteit ","phase_container_modal_description":"Fasedetectie kan tot wel 2 minuten per Powerwall duren.","phase_container_modal_title":"Fasedetectie wordt uitgevoerd","phase_container_saving_phases_modal_title":"Fasen opslaan","phase_container_subtitle":"Bekijk op welke lijn elke Powerwall is en werk de lijnstatus bij","phase_container_supported_error":"Geen Powerwalls gedetecteerd. Fasedetectie wordt niet ondersteund.","phase_container_title":"Fase","phase_container_voltage_caution_body":"Onverwachte spanning {voltage}V gedetecteerd op {lineNumber}. Controleer nogmaals of {lineStatus} de juiste instelling is voor deze fase.","phase_container_warning_body":"Er zijn geen back-upfasen geselecteerd. Daarom ondersteunt het systeem geen verbruik wanneer de verbinding met het net is verbroken.","phase_container_warning_modal_header":"Back-up is uitgeschakeld","phase_line_id":"Lijn-{id}","phase_line_item_view_line":"Lijn","phase_line_item_view_line_status_backup":"Back-up","phase_line_item_view_line_status_configured":"Geen back-up","phase_line_item_view_line_status_not_configured":"Niet geconfigureerd","phase_line_status_backup":"Back-up","phase_line_status_configured":"Geen back-up","phase_line_status_not_configured":"Niet geconfigureerd","phase_view_detect":"FASEN DETECTEREN","phase_view_split_phase":"Fasesplitsing","power_flow_view_start_system":"SYSTEEM STARTEN","power_flow_view_stop_system":"SYSTEEM STOPPEN","powerwall_container_industrial_no_additional_title":"Geen extra batterijblokken gevonden","powerwall_container_industrial_subtitle":"In de lijst staan alle batterijblokken die automatisch zijn gedetecteerd door de sitecontroller. Scan opnieuw als het batterijblok niet in de lijst staat.","powerwall_container_industrial_title":"Batterijblok","powerwall_container_industrial_updating":"Batterijblokken verifiëren","powerwall_container_no_additional_powerwalls_description":"Raadpleeg de Powerwall-installatiehandleiding voor tips over het oplossen van eventuele problemen met de bekabeling.","powerwall_container_no_additional_powerwalls_title":"Geen extra Powerwalls gevonden","powerwall_container_scan_again":"OPNIEUW SCANNEN","powerwall_container_scanning":"Scannen","powerwall_container_scanning_for_more":"Scannen voor meer","powerwall_container_subtitle":"Vermeld worden alle Powerwalls die automatisch door de Gateway worden gedetecteerd. Scan opnieuw als een Powerwall niet in de lijst staat.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Powerwalls verifiëren","powerwall_container_updating_note":"Let op Dit kan 60 seconden per Powerwall duren.","powerwall_item_view_blank_numbers":"In afwachting van verificatie…","powerwall_item_view_numbers":"OnderdeelNummer {partNumber} Serienummer {serialNumber}","powerwall_item_view_powerwall":"POWERWALL {id}","powerwall_starting":"Powerwall starten","powerwall_view_detected_backup":"Gedetecteerde back-upmogelijkheden","powerwall_view_detected_synchrometers":"Gedetecteerde metermogelijkheid","powerwall_view_failed":"MISLUKT","powerwall_view_no_backup":"Geen back-upmogelijkheden gedetecteerd","powerwall_view_no_sync":"Geen synchronisatieroutine gedetecteerd","powerwall_view_scan":"SCANNEN","powerwall_view_success":"GELUKT","powerwall_view_synchrometer_detected":"Synchrometers gedetecteerd","powerwall_view_synchronizer_detected":"Synchronisatieroutine gedetecteerd","powerwall_view_update":"POWERWALLS VERIFIËREN","privacy_policy_view_accept_warranty_title":"Akkoord gaan met de beperkte garantie van Tesla Powerwall","privacy_policy_view_contact_bullet_one":"via e-mail naar {privacyEmail};","privacy_policy_view_contact_bullet_two":"via post naar Tesla Inc. t.a.v. Legal 45500 Fremont Boulevard Fremont California 94538, Verenigde Staten.","privacy_policy_view_contact_header":"Contact","privacy_policy_view_contact_paragraph_one":"Om contact met ons op te nemen voor een vraag of opmerking of om u af te melden voor bepaalde diensten, neemt u contact met ons op","privacy_policy_view_contact_paragraph_three":"Als u zich bevindt in de Europese Economische Ruimte of Zwitserland, kan uw plaatselijke bij Tesla aangesloten bedrijf de entiteit zijn die verantwoordelijk is voor het verwerken van uw persoonsgegevens.","privacy_policy_view_contact_paragraph_two":"Let op dat e-mailcommunicatie niet altijd beveiligd is, dus neem geen creditcardgegevens of gevoelige informatie op in uw e-mails naar ons.","privacy_policy_view_cross_border_transfers_header":"Internationale overdrachten","privacy_policy_view_cross_border_transfers_paragraph_one":"De Diensten worden geregeld en geëxploiteerd vanuit de Verenigde Staten. Informatie van of over u of uw gebruik van onze producten of de Diensten kan worden opgeslagen en verwerkt in elk land waar wij faciliteiten hebben of waar wij serviceproviders inschakelen. In deze landen geldt mogelijk niet dezelfde wetgeving ten aanzien van gegevensbescherming als in het land waarin u die gegevens in eerste instantie hebt verstrekt. Wanneer wij informatie van of over u of uw gebruik van onze producten of de Diensten overdragen naar andere landen zullen wij deze beschermen zoals beschreven in dit privacybeleid. Door gebruik te maken van onze producten, de Diensten of het anderszins verstrekken van informatie aan ons stemt u in met de overdracht van informatie van of over u of uw gebruik van onze producten of de Diensten naar landen buiten het land waar u verblijft, inclusief de Verenigde Staten.","privacy_policy_view_cross_border_transfers_paragraph_two":"Als u zich in de EER of Zwitserland bevindt, voldoen wij aan de van toepassing zijnde wettelijke vereisten die een adequate bescherming bieden voor de overdracht van persoonsgegevens naar landen buiten de EER of Zwitserland. Tesla heeft verklaard zich te houden aan het EU-VS Privacy Shield Framework, zoals uiteengezet door het Department of Commerce (Amerikaans ministerie van Handel) en de Europese Commissie, met betrekking tot de verwerking van bepaalde persoonsgegevens die van de EER naar Tesla en haar 100%-dochterondernemingen in de VS worden overgedragen. Tesla\'s {privacyShield} is hier beschikbaar.","privacy_policy_view_devices":"Van of over u of uw apparaten","privacy_policy_view_energy_products":"Van en over uw Tesla Energy-producten","privacy_policy_view_eu_policy_warning":"U dient akkoord te gaan met het privacybeleid om uw Powerwall te registreren en gegevens bij te houden in de mobiele Tesla-app.","privacy_policy_view_eu_warranty_warning":"Als u niet instemt met het Privacybeleid voor klanten van Tesla kunnen wij de volledige tienjarige garantie mogelijk niet honoreren. Tesla zal uw garantie honoreren gedurende ten minste vier jaar na de datum waarop uw Powerwall voor het eerst is geïnstalleerd, behoudens de uitsluitingen en beperkingen die in de garantie{warrantyLink} worden vermeld.","privacy_policy_view_grid_services":"Uw Powerwall kan de betrouwbaarheid van het elektriciteitsnet ondersteunen door services te leveren via optionele programma\'s van nutsbedrijven of derden. Deze services omvatten doorgaans een gedeeltelijke ontlading van uw Powerwall op gunstige tijdstippen in ruil voor financiële voordelen. Hiervoor dienen wij uw energieverbruik en Powerwall-gegevens te delen met nutsbedrijven of derden. Voordat we u aanmelden voor zo\'n programma, informeren we u over de details van het programma en geven we u de optie om niet deel te nemen. Als u zich op dat moment niet terugtrekt, wordt u aangemeld voor het programma.","privacy_policy_view_grid_services_title":"Elektriciteitsnetservice","privacy_policy_view_grid_warning":"U hoeft geen toestemming te geven. Als u geen toestemming geeft, kunnen we u later alsnog de kans geven deel te nemen aan deze programma\'s.","privacy_policy_view_here":"hier","privacy_policy_view_homeowner_na":"HUISEIGENAAR NIET BESCHIKBAAR","privacy_policy_view_homeowner_required":"Dient te worden ingevuld door de huiseigenaar","privacy_policy_view_information_collection_devices_bullet_five":"Via uw browser of apparaat: Bepaalde informatie wordt verzameld door de meeste browsers of automatisch via uw apparaat, zoals uw Media Access Control (MAC) adres, computertype (Windows of Macintosh), schermresolutie, besturingssysteem en versie, producent en model van uw apparaat, taal, browsertype en -versie en de naam en versie van de Diensten (zoals de Tesla App) die u gebruikt. Wij gebruiken deze informatie om te verzekeren dat de Diensten naar behoren werken.","privacy_policy_view_information_collection_devices_bullet_four":"Offline: Wij kunnen informatie van of over u offline verzamelen, zoals wanneer u een bezoek brengt aan een Tesla-winkel of reparatiefaciliteit, een van onze evenementen bijwoont, wanneer u zich aanmeldt voor een testrit, telefonisch een bestelling plaatst of contact opneemt met onze klantenservice of verkoopafdeling.","privacy_policy_view_information_collection_devices_bullet_one":"Via de Diensten: Wij kunnen informatie verzamelen van of over u via onze websites, software-applicaties, socialmediasites, e-mailberichten of andere digitale diensten (de \\"Diensten\\"), bijvoorbeeld wanneer u zich aanmeldt voor een nieuwsbrief, wanneer u een aankoop doet of wanneer u uw product registreert bij ons.","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla Klanten die bepaalde Tesla-producten aanschaffen, ontvangen een My Tesla-account, dat gehost wordt op onze website. Wij kunnen de volgende soorten gegevens verzamelen en verwerken voor uw My Tesla-account; u kunt aangeven welke gegevens u aan ons verstrekt; uw klantregistratiegegevens; de status van uw bestelling; garantie en andere documentatie voor uw Tesla-producten; algemene informatie over uw Tesla-producten (bijvoorbeeld het voertuigidentificatienummer of ander productserienummer, informatie over het serviceprogramma of het connectiviteitspakket), verzekeringsformulieren, rijbewijzen, financieringsovereenkomsten en soortgelijke informatie. U kunt toegang krijgen tot uw Tesla-account om de informatie van of over u in dat account te allen tijde bij te werken.","privacy_policy_view_information_collection_devices_bullet_two":"Vanuit andere bronnen: Wij kunnen ook informatie over u ontvangen uit andere bronnen, zoals openbare gegevensbestanden, gezamenlijke marketingpartners, erkende installateurs, externe voertuigreparateurs of dienstencentra en socialmediaplatforms.","privacy_policy_view_information_collection_energy_products_bullet_one":"Wij kunnen informatie verzamelen over uw product, zoals uw installatiedatum, aantal geïnstalleerde producten enserienummer(s).","privacy_policy_view_information_collection_energy_products_bullet_two":"Om onze producten en diensten aan te bieden en te verbeteren, kunnen wij informatie verzamelen over waar uw product is geïnstalleerd en hoe het is geconfigureerd, gegevens met betrekking tot het gebruik en de prestaties van het product, gegevens met betrekking tot uw totale energieverbruik thuis en andere relevante gegevens om problemen te identificeren.","privacy_policy_view_information_collection_header":"Informatie die wij verzamelen","privacy_policy_view_information_collection_paragraph_five":"Als u niet langer wilt dat wij prestatiegegevens of andere gegevens van uw Tesla Energy-product verzamelen, neem dan contact met ons op zoals uiteengezet in de paragraaf \\"Contact\\" hieronder. Houd er rekening mee dat als u zich afmeldt voor het verzamelen van prestatiegegevens van uw Tesla Energy-product, wij u niet in real-time op de hoogte kunnen stellen van problemen met betrekking tot uw energieproduct en dat dit kan leiden tot beperking van de functionaliteit, ernstige schade of onbruikbaarheid van uw energieproduct. Daarnaast kunnen vele functies van uw energieproduct worden uitgeschakeld, waaronder periodieke software- en firmware-updates.","privacy_policy_view_information_collection_paragraph_four":"Wij kunnen een verscheidenheid aan informatie verzamelen van en over uw Tesla Energy-producten van u, via een erkende installateur of van de geïnstalleerde producten (direct of via gekoppelde apparatuur, zoals eenomvormer), waaronder","privacy_policy_view_information_collection_paragraph_one":"Wij verzamelen drie soorten informatie met betrekking tot u of uw gebruik van onze producten en diensten (1) informatie van of over uzelf of uw apparaten; (2) informatie van of over uw Tesla-auto; en (3) informatie van of over uw Tesla Energy-producten. Afhankelijk van de producten en diensten van Tesla die u aanvraagt, bezit of gebruikt, kan het zijn dat niet al deze informatie op u van toepassing is.","privacy_policy_view_information_collection_paragraph_three":"Wanneer u onze website bezoekt of anderszins onze Diensten gebruikt, kunnen wij gebruik maken van cookies, pixel tags, analytics tools en andere gelijksoortige technologieën om ons te helpen bij het leveren en verbeteren vanonze Diensten, zoals hieronder uiteengezet","privacy_policy_view_information_collection_paragraph_two":"Wij kunnen op verschillende manieren informatie verzamelen van of over u (zoals uw naam, adres, telefoonnummer, e-mail, betaalinformatie, etc.) of uw apparaten, waaronder:","privacy_policy_view_information_collection_services_bullet_five":"U kunt meer te weten komen over de praktijken van Google in verband met deze informatieverzameling en hoe u zich hiervoor kunt afmelden door de opt-out browser add-on van Google Analytics te downloaden die beschikbaar is op{website}.","privacy_policy_view_information_collection_services_bullet_four":"Analytics tools: Wij maken gebruik van diensten voor website- en toepassingsanalyses van derden die cookies en soortgelijke technologieën gebruiken om informatie over het gebruik van websites of toepassingen te verzamelen en trends te rapporteren zonder individuele bezoekers te identificeren. Derden die ons van deze diensten voorzien, kunnen ook informatie verzamelen over uw gebruik van websites van derden.","privacy_policy_view_information_collection_services_bullet_one":"Cookies zijn stukjes informatie die direct worden opgeslagen op de computer die u gebruikt. Cookies stellen ons in staat om informatie te verzamelen zoals het browsertype, de tijd die wordt besteed op de bezochte pagina\'s van de Diensten, taalvoorkeuren en andere internetverkeersgegevens. Onze serviceproviders en wijzelf gebruiken deze informatie voor veiligheidsdoeleinden om de onlinenavigatie te vergemakkelijken, zodat informatie effectiever kan worden weergegeven om uw ervaring te personaliseren tijdens het gebruik van de Diensten en om gebruikersactiviteiten te analyseren. We kunnen uw computer herkennen zodat wij u kunnen helpen bij het gebruik van de Diensten. We verzamelen ook statistische informatie over het gebruik van de Diensten om het ontwerp en de functionaliteit ervan voortdurend te verbeteren, te begrijpen hoe de Diensten worden gebruikt en ons te helpen bij het oplossen van vragen met betrekking tot de Diensten. Met cookies kunnen wij selecteren welke van onze advertenties of aanbiedingen u het meest aan zullen spreken en welke wij dus aan u willen tonen. We kunnen ook cookies gebruiken in onlinereclame om te zien hoe u met onze advertenties omgaat en we kunnen cookies of andere bestanden gebruiken om inzicht te krijgen in uw gebruik van andere websites.","privacy_policy_view_information_collection_services_bullet_three":"Pixel tags en andere soortgelijke technologieën Pixel tags (ook bekend als web beacons en clear GIFS) kunnen worden gebruikt in verband met sommige Diensten om, onder andere, de handelingen van gebruikers van de Diensten te volgen (inclusief e-mailontvangers), het succes van onze marketingcampagnes te meten en statistieken samen te stellen over het gebruik van de Diensten en responspercentages.","privacy_policy_view_information_collection_services_bullet_two":"Als u niet wilt dat informatie wordt verzameld door middel van cookies wanneer u uw My Tesla-account of onze website gebruikt, bieden de meeste browsers een eenvoudige procedure om cookies automatisch te weigeren of u krijgt de keuze om de overdracht naar uw computer van een bepaalde cookie (of cookies) van een bepaalde website te weigeren of te accepteren. U kunt ook {website} raadplegen. Als u deze cookies echter niet accepteert, kunt u ongemak ondervinden bij het gebruik van de Diensten. Zo kunnen we uw computer bijvoorbeeld niet herkennen en kan het zijn dat u moet inloggen telkens wanneer u de betreffende Diensten bezoekt.","privacy_policy_view_information_rights_choices_agree_eu":"U dient akkoord te gaan met het privacybeleid om uw Powerwall te registreren en gegevens bij te houden in de mobiele Tesla-app.","privacy_policy_view_information_rights_choices_agree_one":"U dient akkoord te gaan met het privacybeleid om uw Powerwall te registreren en gegevens bij te houden in de mobiele Tesla-app. Er is geen verdere actie nodig als u geen toegang wilt hebben tot uw Powerwall-gegevens via de mobiele Tesla-app.","privacy_policy_view_information_rights_choices_bullet_one":"U kunt toegang krijgen tot uw Tesla-account om de informatie van of over u in dat account te allen tijde bij tewerken.","privacy_policy_view_information_rights_choices_bullet_two":"Indien u informatie van of over u, welke eerder door u aan ons is verstrekt, wilt nakijken, corrigeren, bijwerken, schrappen of verwijderen, kunt u contact met ons opnemen op het onderstaande adres.","privacy_policy_view_information_rights_choices_header":"Rechten en keuzes","privacy_policy_view_information_rights_choices_paragraph_four":"Let op dat wij bepaalde informatie dienen te behouden voor onze administratie of wettelijke vereisten en/of om transacties te voltooien die u begon voordat u een dergelijke wijziging of verwijdering heeft aangevraagd (wanneer u bijvoorbeeld een aankoop doet of deelneemt aan een promotie, bent u mogelijk niet in staat om de informatie die u hebt opgegeven te veranderen of te verwijderen tot na de voltooiing van een dergelijke aankoop of promotie). Er kan ook resterende informatie zijn die in ons databases en andere administratie achterblijft die niet worden verwijderd.","privacy_policy_view_information_rights_choices_paragraph_one":"Zoals beschreven in de bovenstaande paragrafen geven wij u vele keuzes met betrekking tot het verzamelen, gebruiken en delen van informatie van of over u of uw gebruik van onze producten of de Diensten. Afhankelijk van de toepasselijke wetgeving in bepaalde rechtsgebieden kunt u ook het recht hebben om toegang te vragen tot en informatie te ontvangen over bepaalde informatie die wij over u bijhouden, onnauwkeurigheden in die informatie bij te werken en te corrigeren en de informatie te laten blokkeren of verwijderen. Deze rechten kunnen in bepaalde gevallen door de lokale wetgeving worden beperkt. Wij geven u verschillende methoden om toegang te verkrijgen tot correcte updates of verzoeken om blokkering of verwijdering van informatie van of over u, waaronder","privacy_policy_view_information_rights_choices_paragraph_three":"Wij zullen uw verzoek(en) om deze rechten en keuzes uit te oefenen zo snel als redelijkerwijs mogelijk is inwilligen.","privacy_policy_view_information_rights_choices_paragraph_two":"Geef in uw verzoek duidelijk aan welke informatie u zou willen wijzigen, of u de informatie die u ons heeft verstrekt uit onze database wilt laten verwijderen of laat ons op een andere manier weten welke beperkingen u ons wilt opleggen aan het gebruik van de informatie die u aan ons heeft verstrekt. Voor uw bescherming mogen wij alleen verzoeken uitvoeren met betrekking tot de informatie die verband houdt met het specifieke e-mailadres dat u gebruikt om ons uw verzoek te sturen en wij moeten mogelijk uw identiteit controleren voordat wij uw verzoekuitvoeren.","privacy_policy_view_information_share_header":"Hoe delen wij de informatie die wij verzamelen","privacy_policy_view_information_share_paragraph_eight":"In andere gevallen","privacy_policy_view_information_share_paragraph_eleven":"Als u zich wilt afmelden voor de verwerking van informatie waarvoor u uw uitdrukkelijke, voorafgaande toestemming hebt gegeven, kunt u dit doen door contact met ons op te nemen zoals uiteengezet in de paragraaf\\"Contact\\" hieronder.","privacy_policy_view_information_share_paragraph_five":"Wij kunnen informatie delen met andere derden die u goedkeurt, zoals in de volgende gevallen","privacy_policy_view_information_share_paragraph_five_point_four":"Met de aanbieder van uw socialmedia-account als u uw Diensten-account en uw socialmedia-account koppelt. Als u dit doet, machtigt u ons om informatie te delen met de aanbieder van uw socialmedia-account en bevestigt u dat het gebruik van de informatie die wij delen, komt te vallen onder het privacybeleid van de aanbieder van uw socialmedia-account.","privacy_policy_view_information_share_paragraph_five_point_one":"Met onze erkende installateurs om de door u verzochte levering van energieproducten aan u te faciliteren.","privacy_policy_view_information_share_paragraph_five_point_three":"Met externe sponsors van wedstrijden en gelijksoortige promoties, indien u ervoor kiest om deel te nemen.","privacy_policy_view_information_share_paragraph_five_point_two":"Met externe servicecentra of providers, indien u ervoor kiest om hiervan gebruik te maken. Let op dat sommige informatie over u wordt bewaard op bepaalde Tesla-producten en direct toegankelijk kunnen zijn voor de externe servicecentra of providers die u wenst te gebruiken om uw Tesla-product te controleren of onderhouden.","privacy_policy_view_information_share_paragraph_four":"Met andere derden die u goedkeurt","privacy_policy_view_information_share_paragraph_nine":"Wij kunnen informatie delen in andere gevallen, zoals","privacy_policy_view_information_share_paragraph_nine_point_one":"Met uw werkgever of andere wagenparkbeheerder of de eigenaar van het Tesla-product, als u niet de directe eigenaar bent en zoals toegestaan uit hoofde van de van toepassing zijnde wet.","privacy_policy_view_information_share_paragraph_nine_point_two":"Met een derde partij in verband met een reorganisatie, fusie, verkoop, joint venture, toewijzing, overdracht of andere beschikking van alle of een deel van onze onderneming, activa of aandelen (waaronder in verband met een faillissement of gelijksoortige procedures).","privacy_policy_view_information_share_paragraph_one":"Wij kunnen informatie die wij verzamelen via onze serviceproviders en zakenpartners delen met derden die u hebt gemachtigd, met andere externe partijen wanneer dit wettelijk verplicht is en in andere gevallen. Hieronder vindt u voorbeelden van hoe wij informatie delen met deze partijen en in welke gevallen.","privacy_policy_view_information_share_paragraph_seven":"Tesla mag informatie overdragen en bekendmaken, inclusief informatie die u wel of niet persoonlijk identificeert, aan derden om te voldoen aan een wettelijke verplichting (inclusief, maar niet beperkt tot, dagvaardingen); wanneer we naar eigen goeddunken geloven dat het wettelijk vereist is; in reactie op een wettig verzoek door overheidsinstanties die een onderzoek uitvoeren, waaronder om te voldoen aan handhavingsvereisten; om ons beleid en procedures te verifiëren of af te dwingen; om te reageren op een noodgeval; om activiteiten te voorkomen of te stoppen die wij kunnen beschouwen als, of die mogelijk illegaal, onethisch of juridisch aanvechtbaar zijn; of om de rechten, het eigendom, de veiligheid of beveiliging van de Diensten, Tesla, derden, bezoekers aan onze Diensten, of het publiek, zoals door ons bepaald naar ons oordeel, te beschermen.","privacy_policy_view_information_share_paragraph_six":"Met andere derden indien wettelijk toegestaan","privacy_policy_view_information_share_paragraph_ten":"Wij delen geen informatie die u persoonlijk identificeert met niet-aangesloten derde partijen voor hun marketingdoeleinden tenzij u ervoor kiest de betreffende informatie te delen.","privacy_policy_view_information_share_paragraph_three":"Wij kunnen informatie delen met onze serviceproviders en zakenpartners wanneer dat nodig is om diensten te verlenen namens ons of u, zoals in de volgende gevallen","privacy_policy_view_information_share_paragraph_three_point_one":"Met Tesla-filialen voor de doeleinden die zijn beschreven in dit privacybeleid. Tesla-filialen zijn bedrijven die in eigendom zijn van en gecontroleerd worden door Tesla Inc. en bedrijven waarin Tesla Inc. een substantieel eigendomsbelang heeft.","privacy_policy_view_information_share_paragraph_three_point_three":"Met andere externe zakenpartners voor zover zij betrokken zijn bij uw aankoop of de service van uw Tesla-producten. We delen beperkte informatie van of over u om u in staat te stellen gebruik te maken van deze diensten als u ervoor kiest om ze te gebruiken bij dergelijke partners zoals leasemaatschappijen en bedrijven die voertuigen op naam zetten.","privacy_policy_view_information_share_paragraph_three_point_two":"Met onze externe serviceproviders en distributiepartners om diensten te leveren, zoals websitehosting, data-analyse en -opslag, betalingsverwerking, orderverwerking en productinstallatie, draadloze verbinding met Tesla-producten, informatietechnologie en gerelateerde infrastructuur, klantenservice, productonderhoud of gerelateerde diensten, e-maillevering, creditcardverwerking, auditing, marketing, spraakopdrachtverwerking en andere gelijksoortige diensten.","privacy_policy_view_information_share_paragraph_two":"Met onze serviceproviders en zakenpartners","privacy_policy_view_information_use_commuicate":"Om met u te communiceren","privacy_policy_view_information_use_header":"Hoe gebruiken wij de informatie die wij verzamelen","privacy_policy_view_information_use_other_purposes":"Voor andere doeleinden","privacy_policy_view_information_use_paragraph_five":"Wij kunnen informatie die wij verzamelen ook gebruiken voor andere doeleinden, zoals","privacy_policy_view_information_use_paragraph_five_point_one":"Voor onze zakelijke doeleinden, zoals data-analyse, audits, fraudecontrole en -preventie, identificeren van gebruikstrends, bepalen van de doeltreffendheid van onze reclamecampagnes en het exploiteren en uitbreiden van onze zakelijke activiteiten.","privacy_policy_view_information_use_paragraph_five_point_two":"Behalve zoals hieronder en hierboven uiteengezet, kan Tesla informatie die u niet persoonlijk identificeert voor elk doeleinde gebruiken en delen, zoals voor operationele of onderzoeksdoeleinden, voor brancheonderzoek, om onze producten en diensten te verbeteren of aan te passen, om onze producten en diensten beter af te stemmen op uw behoeften, en indien wettelijk vereist.","privacy_policy_view_information_use_paragraph_four":"Wij kunnen informatie die wij verzamelen gebruiken om onze producten en diensten aan te bieden en te verbeteren, zoals","privacy_policy_view_information_use_paragraph_four_point_five":"Om de veiligheid en beveiliging van onze producten en diensten te analyseren en verbeteren.","privacy_policy_view_information_use_paragraph_four_point_four":"Om nieuwe producten en diensten te ontwikkelen en te bevorderen en om onze bestaande producten en diensten te verbeteren of aan te passen.","privacy_policy_view_information_use_paragraph_four_point_one":"Om uw aankoop te voltooien en te realiseren, bijvoorbeeld om uw betalingen te verwerken, uw bestelling aan u te leveren, met u te communiceren over uw aankoop en u de gepaste klantenservice te bieden.","privacy_policy_view_information_use_paragraph_four_point_six":"Om enige andere diensten die u hebt aangevraagd te leveren.","privacy_policy_view_information_use_paragraph_four_point_three":"Om de prestaties van uw Tesla-product te volgen en om diensten te leveren die verband houden met uw product.","privacy_policy_view_information_use_paragraph_four_point_two":"Om onderhoud te bieden voor uw Tesla-product, zoals het doen van service-aanbevelingen en om updates voor uw product te leveren.","privacy_policy_view_information_use_paragraph_one":"Wij kunnen de informatie die we verzamelen gebruiken om met u te communiceren over het leveren en verbeteren van onze producten en diensten en voor andere doeleinden. Hieronder vindt u een aantal voorbeelden van hoe wij informatie voor deze doeleinden gebruiken.","privacy_policy_view_information_use_paragraph_three":"Uw communicatiekeuzes","privacy_policy_view_information_use_paragraph_three_point_one":"Elektronische communicatie van ons of onze filialen ontvangen Als u geen marketinggerelateerde e-mails van ons of onze filialen meer wilt ontvangen, kunt u zich afmelden voor ontvangst door de instructies voor uitschrijven te volgen in de e-mails die u van ons ontvangt of door contact met ons op te nemen op onderstaand adres. Houd er rekening mee dat we u nog steeds belangrijke administratieve berichten en veiligheidsmeldingen kunnen sturen, zelfs als u zich afmeldt voor het ontvangen van marketinggerelateerde e-mails.","privacy_policy_view_information_use_paragraph_three_point_two":"Marketinggerelateerde telefoontjes van ons ontvangen Als u een marketinggerelateerd telefoontje van ons ontvangt en in de toekomst geen soortgelijke telefoontjes wilt ontvangen, vraag dan gewoon of u op onze \\"bel-me-niet\\"-lijst kunt worden geplaatst. Houd er rekening mee dat we u nog steeds kunnen bellen met betrekking tot administratieve zaken, veiligheid of productdiensten, zelfs als u zich afmeldt voor het ontvangen van marketinggerelateerde telefoontjes.","privacy_policy_view_information_use_paragraph_two":"Wij kunnen informatie die wij verzamelen, gebruiken om met u te communiceren, zoals","privacy_policy_view_information_use_paragraph_two_point_five":"Om u producten en aanbiedingen aan te bieden die op u zijn afgestemd en om onze overzichten met informatie van andere diensten te verbeteren.","privacy_policy_view_information_use_paragraph_two_point_four":"Om administratieve gegevens naar u te sturen, bijvoorbeeld informatie over de Diensten en wijzigingen in onze bepalingen, voorwaarden en beleid.","privacy_policy_view_information_use_paragraph_two_point_one":"Om uw vragen te beantwoorden en uw verzoeken in te willigen, zoals het naar u versturen van nieuwsbrieven of productinformatie, informatiemeldingen of brochures.","privacy_policy_view_information_use_paragraph_two_point_seven":"Om sociaal delen en communicatiefunctionaliteit te faciliteren.","privacy_policy_view_information_use_paragraph_two_point_six":"Om u in staat te stellen om deel te nemen aan wedstrijden en gelijksoortige promoties en om deze activiteiten te beheren.","privacy_policy_view_information_use_paragraph_two_point_three":"Om u te adviseren over belangrijke veiligheidsgerelateerde informatie of om eerstehulpverleners in kennis testellen in het geval van een ongeval met uw auto.","privacy_policy_view_information_use_paragraph_two_point_two":"Om uw Tesla-testrit te plannen, te beoordelen en feedback erover te geven.","privacy_policy_view_information_use_provide":"Om onze producten en diensten aan te bieden en te verbeteren","privacy_policy_view_links_header":"Links","privacy_policy_view_links_paragraph_one":"Dit Privacybeleid heeft geen betrekking op en wij zijn niet verantwoordelijk voor de privacygegevens of andere praktijken van derden, waaronder begrepen derden die een site of dienst exploiteren waarnaar de Diensten via een link verwijzen. Het opnemen van een link onder de Diensten impliceert geen goedkeuring van de gelinkte site hofdienst door ons of door onze filialen, noch impliceert het enige verbondenheid met de externe partij.","privacy_policy_view_links_paragraph_two":"Let op: wij zijn niet verantwoordelijk voor het beleid en de werkwijzen (inclusief de werkwijzen op het gebied van gegevensbeveiliging) ten aanzien van verzameling, gebruik of bekendmaking van andere organisaties, bijvoorbeeld andere app-ontwikkelaars, app-aanbieders, aanbieders van socialmediaplatforms, aanbieders van besturingssystemen of aanbieders van draadloze diensten, waaronder begrepen informatie die u bekendmaakt aan andere organisaties via of in verband met onze software-applicaties of socialmediasites.","privacy_policy_view_minors_header":"Minderjarigen","privacy_policy_view_minors_paragraph":"De Diensten zijn niet bedoeld voor personen jonger dan zestien (16) jaar en wij verzoeken deze personen om geeninformatie te verstrekken aan Tesla.","privacy_policy_view_offers_eu":"Ja, ik wil graag per e-mail marketingberichten ontvangen, waaronder enquêtes, promoties en aanbiedingen van Tesla en zijn partners, met betrekking tot de producten en services van Tesla. U hebt het recht om op elk gewenst moment uw toestemming in te trekken. Meer informatie {legalLink}.","privacy_policy_view_offers_title":"Aankondigingen van producten en nieuwe aanbiedingen","privacy_policy_view_offers_usa":"Ik ga ermee akkoord dat er via het opgegeven nummer contact met mij kan worden opgenomen voor meer informatie of aanbiedingen van Tesla-producten. Ik begrijp dat er bij deze gesprekken of tekstberichten gebruik kan worden gemaakt van computergestuurde menu\'s of vooraf opgenomen berichten. Deze toestemming is geen aankoopvoorwaarde.","privacy_policy_view_powerwall_warranty":"Beperkte garantie van Tesla Powerwall","privacy_policy_view_privacy_policy":"Privacybeleid","privacy_policy_view_privacy_policy_agreement_eu":"Ik, de huiseigenaar, heb het Privacybeleid voor klanten van Tesla volledig gelezen en ga akkoord met de verwerking van mijn persoonlijke gegevens door Tesla zoals beschreven in het Privacybeleid voor klanten van Tesla. U hebt het recht om op elk gewenst moment uw toestemming in te trekken, zoals beschreven in het Privacybeleid voor klanten van Tesla.","privacy_policy_view_privacy_policy_agreement_usa_australia":"Ik, de huiseigenaar, heb het Privacybeleid voor klanten van Tesla volledig gelezen en ga akkoord met de verwerking van mijn persoonlijke gegevens door Tesla zoals beschreven in het Privacybeleid voor klanten van Tesla.","privacy_policy_view_privacy_shield":"Privacyschildbeleid","privacy_policy_view_retention_period_header":"Bewaartermijn","privacy_policy_view_retention_period_paragraph":"Wij bewaren informatie die wij verzamelen van of over onze klanten, onze producten en de Diensten zolang als nodig is om de doelen uiteengezet in dit Privacybeleid te verwezenlijken, tenzij een langere bewaarperiode wettelijk is vereist of toegestaan.","privacy_policy_view_security_header":"Beveiliging","privacy_policy_view_security_paragraph_one":"Wij streven ernaar redelijke organisatorische, technische en administratieve maatregelen te nemen om informatie binnen onze organisatie te beschermen. Helaas kan geen enkel systeem voor gegevensoverdracht of opslag gegarandeerd 100% veilig zijn. Als u reden hebt om aan te nemen dat uw interactie met ons niet langer veilig is (bijvoorbeeld als u van mening bent dat de veiligheid van een account bij ons in het gedrang is gekomen), dient u ons onmiddellijk op de hoogte te stellen van het probleem door contact met ons op te nemen zoals uiteengezet inde paragraaf \\"Contact\\" hieronder.","privacy_policy_view_security_paragraph_two":"Indien u uw Tesla-product verkoopt of overdraagt aan een andere persoon, laat het ons dan weten zodat we kunnen bepalen of aanvullende maatregelen vereist zijn om te helpen bij het beschermen van de informatie van of over u tegen bekendmaking aan de koper of verkrijger van het Tesla-product.","privacy_policy_view_title":"Het volledige privacybeleid lezen","privacy_policy_view_updates_header":"Wijzigingen in dit beleid","privacy_policy_view_updates_paragraph":"Wij kunnen dit Privacybeleid wijzigen. Neem een kijkje bij \\"Laatste update\\" onderaan deze pagina om te zien wanneer dit Privacybeleid voor het laatst is herzien. Alle wijzigingen in dit Privacybeleid worden van kracht wanneer we het herziene Privacybeleid onder de Diensten plaatsen. Door gebruik te maken van onze producten, de Diensten of door op andere wijze informatie aan ons te verstrekken na deze wijzigingen, accepteert u het herziene Privacybeleid.","privacy_policy_view_us_warranty_warning":"U dient akkoord te gaan met de beperkte garantie van Tesla om uw Powerwall te registreren en gegevens bij te houden in de mobiele Tesla-app.","privacy_policy_view_warranty_information":"Ik, de huiseigenaar, ga akkoord met de voorwaarden van de beperkte garantie van Tesla Powerwall {warrantyLink}. Deze voorwaarden omvatten een arbitragebepaling die afstand neemt van mijn recht om collectieve claims en juryrechtszaken in te leiden of daaraan deel te nemen. Ik kan mij binnen 30 dagen uit deze bepaling terugtrekken door het in de bepaling beschreven proces te volgen.","registration_container_continue_header":"E-mail klant ingevoerd: {email}","registration_container_continue_modal_description":"De klant heeft geen toegang tot de mobiele Tesla-app als de e-mail onjuist is. Bevestig dat de e-mail van de klant geldig is.","registration_container_customer_email_required":"E-mail klant is nodig om de mobiele Tesla-app in te schakelen.","registration_container_customer_information_title":"Klantinformatie","registration_container_fill_required_fields":"Installateur of klant moet alle vereiste velden invullen.","registration_container_loading_modal_registering":"Registreren","registration_container_reset_form_modal_description":"Bevestig dat u wilt doorgaan met het resetten van het formulier.","registration_container_reset_form_modal_header":"Alle eerder ingevoerde informatie gaat verloren.","security_container_settings_title_customer":"Wachtwoord wijzigen of resetten (klant)","security_container_settings_title_installer":"Wachtwoord wijzigen of resetten (installateur)","security_view_copied_to_clipboard":"Gekopieerd!","security_view_settings_change_password_error":"Nieuwe paswoorden komen niet overeen.","security_view_settings_change_password_label":"PASWOORD WIJZIGEN","security_view_settings_completed":"VOLTOOIEN","security_view_settings_new_password_label":"NIEUW PASWOORD","security_view_settings_old_password":"HUIDIG PASWOORD","security_view_settings_password_change_info":"Voer het huidige en het nieuwe paswoord in om het paswoord te wijzigen.","security_view_settings_password_customer":"PASSWORD","security_view_settings_password_customer_placeholder":"Laatste 5 tekens van het wachtwoord op de gateway-sticker","security_view_settings_password_installer_label":"Gateway-wachtwoord","security_view_settings_password_reset_info":"Om het paswoord te resetten, bedient u de schakelaar op een Powerwall en voert u vervolgens de laatste 5 tekens van het serienummer van de gateway in.","security_view_settings_password_reset_info_serial":"Om het wachtwoord te resetten, bedient u de schakelaar op een Powerwall en voert u vervolgens de laatste 5 tekens van het serienummer van de gateway in.","security_view_settings_password_reset_installer_info":"Om het paswoord te resetten, bedient u de schakelaar op een Powerwall en voert u vervolgens het serienummer van de gateway in.","security_view_settings_password_reset_installer_info_serial":"Om het wachtwoord te resetten, bedient u de schakelaar op een Powerwall en voert u vervolgens het serienummer van de gateway in.","security_view_settings_re_enter_password_label":"VOER NIEUW PASWOORD OPNIEUW IN","security_view_settings_reset_password_label":"PASWOORD RESETTEN","security_view_settings_serial_customer":"SERIENUMMER","security_view_settings_serial_customer_placeholder":"Laatste 5 tekens van het serienummer van de gateway","security_view_settings_serial_installer_label":"Serienummer van Gateway","security_view_settings_success":"Paswoord is gewijzigd","security_view_settings_success_new_password":"Het nieuwe paswoord is:","security_view_settings_toggled_password":"Paswoord vergeten?","settings_container_confirm_reset_operation_mode":"Moduswijziging in {operation} bevestigen","settings_container_operation_modes_modal_content":"Gebruik het scherm \'Aanpassen\' van de mobiele Tesla-app om bedieningsmodi te wijzigen.","settings_container_operation_modes_modal_reset":"RESETMODUS","settings_container_operation_modes_modal_title":"Bedieningsmodus","settings_container_operation_modes_modal_warning":"Dit is een wijziging in één richting. Geavanceerde modi kunnen alleen opnieuw worden ingeschakeld via de mobiele Tesla-app.","settings_container_operation_modes_reset_modal_title":"Bedieningsmodus resetten?","settings_container_operation_settings_subtitle":"Stel de naam in van uw systeembedieningsmodus en eventuele exportbeperkingen.","settings_container_operation_settings_title":"Bedieningsinstellingen","settings_container_saving_site_info_modal":"Locatie-instellingen opslaan","settings_view_custom_modes_label":"Voorgeconfigureerde modus - {mode}","settings_view_energy_reserve_label":"ENERGIERESERVE (VOOR BACK-UP TIJDENS EIGEN VERBRUIK)","settings_view_instruction_site_name":"Voer een locatienaam in","settings_view_operation_label":"BEDIENINGSMODUS","settings_view_operation_set_label":"IN TE STELLEN BEDIENINGSMODUS","settings_view_site_name":"NAAM LOCATIE","settings_view_site_name_placeholder":"Bijv.: Mijn huis","settings_view_solar_export_limitation_slider":"Beperking van de uitvoer van zonne-energie","settings_view_solar_feature":"Deze functie moet alleen geactiveerd worden wanneer de interconnectie vereist dat het zonne-energie systeem geen energie exporteert naar het elektriciteitsnet. Typisch in Hawaii (VS) en Australië.","settings_view_solar_zero_export":"POWERWALL GEÏNSTALLEERD LANGS EEN ZONNE-ENERGIESYSTEEM MET NULEXPORT?","site_info_container_submit":"VERZENDEN","solar_item_view_baudrate_label":"Baudrate","solar_item_view_brand_input_label":"MERK","solar_item_view_brand_label":"Merk","solar_item_view_check_inverter":"CONTROLEER INVERTER {id} VERBINDING","solar_item_view_connection_warning":"Kon geen verbinding tot stand brengen","solar_item_view_inverter_brand":"Merk omvormer","solar_item_view_inverter_communication":"Communicatie omvormer","solar_item_view_inverter_model_label":"Model omvormer","solar_item_view_ip_label":"IP ADRES","solar_item_view_model_label":"MODEL","solar_item_view_power_rating_explanation":"Dit is het totale nominale vermogen van het PV-systeem ten opzichte van de modules/panelen. Dit is het nominale vermogen van de zonnepanelen. Als u bijvoorbeeld 10x 300 W aan zonnepanelen hebt, vermeld dan 3000 W, zelfs als de PV-omvormer 2500 W of 3500 W is.","solar_item_view_pv_array_dc_power_rating":"NOMINAAL DC-VERMOGEN ZONNEPANELEN","solar_item_view_pv_array_dc_power_rating_label":"PV ARRAY DC-KRACHTGRAAD","solar_item_view_revenue_grade":"Rendement","solar_item_view_revenue_grade_explanation":"Controleer dit alleen als de omvormer een geïntegreerde meter voor opbrengstkwaliteit heeft. Gegevens van de omvormer worden van de meter gelezen in plaats van van de omvormer als deze optie is ingeschakeld.","solar_item_view_revenue_grade_title":"Rendement","solar_item_view_solar":"ZONNE-ENERGIE {id}","solar_item_view_success":"SUCCESVOL VERBONDEN!","solar_item_view_unable":"KAN DE INVERTER NIET LEZEN!","solar_list_view_continue_add_solar":"VOEG SOLAR TOE","solar_view_continue_add_solar":"ZONNE-ENERGIE TOEVOEGEN","success_view_awesome":"GEWELDIG!","success_view_copied_to_clipboard":"Gekopieerd!","success_view_installation_complete":"Installatie voltooid","success_view_new_password_error_title":"Paswoord wizard","success_view_new_password_title":"Nieuw paswoord wizard","success_view_password_set":"Paswoord is al ingesteld","success_view_record_password":"Noteer dit paswoord voordat u doorgaat","success_view_retry_registration":"PROBEER OPNIEUW TE REGISTREREN","success_view_set_customer_password":"KLANTPASWOORD INSTELLEN","success_view_syncing_configuration":"Configuratie synchroniseren","summary_container_company":"Bedrijf","summary_container_connection_type":"Type verbinding","summary_container_email":"E-mail","summary_container_installer_information":"Informatie over Installateur","summary_container_ip_address":"IP-ADRES","summary_container_location":"Locatie","summary_container_meter":"Meter #{index}","summary_container_meter_information":"Meterinformatie","summary_container_phone":"Telefoonnummer","summary_container_print":"Afdrukken","summary_container_serial_number":"Serienummer","summary_container_site_info":"Informatie over locatie","summary_container_site_name":"Naam van locatie","summary_container_subtitle":"Product- en installatie-informatie","summary_site_information":"INFORMATIE OVER LOCATIE","summary_view_autonomous":"Tijdgestuurde regeling","summary_view_backup":"Alleen noodstroom","summary_view_backup_capable":"Noodstroom mogelijk","summary_view_backup_reserve":"NOODSTROOMRESERVE","summary_view_conductor_export":"EXPORTLIMIET VOOR GELEIDER","summary_view_conductor_import":"IMPORTLIMIET VOOR GELEIDER","summary_view_control":"Locatieregeling","summary_view_customer_version":"KLANTVERSIE","summary_view_disabled":"UITGESCHAKELD","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"EXPORTEERLIMIET PV","summary_view_gateway":"GATEWAY","summary_view_grid_code":"NETCODE","summary_view_gsm":"MOBIEL","summary_view_ip_address":"IP-ADRES","summary_view_mode":"MODUS","summary_view_network":"NETWERK","summary_view_non_backup":"Geen noodstroom","summary_view_part_number":"OnderdeelNummer","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"Aggregatie","summary_view_self_consumption":"Eigen verbruik","summary_view_serial":"Serienummer","summary_view_site_export":"EXPORTLIMIET VOOR LOCATIE","summary_view_site_import":"IMPORTLIMIET VOOR LOCATIE","summary_view_site_name":"NAAM LOCATIE","summary_view_sync":"NOODSTROOMFUNCTIE","summary_view_time":"COMPILEERTIJD OVERZICHT","summary_view_time_zone":"TIJDZONE","summary_view_wifi":"Wifi","system_overview_connected":"Verbonden met Tesla","system_overview_disconnected":"Niet verbonden met Tesla","system_overview_site_controller":"Sitecontroller","test_container_configure_subtitle":"Test of het systeem werkt zoals verwacht.","test_container_system_test_title":"Systeemtest","test_inverter_container_error_grid_uncompliant":"De test kan niet worden uitgevoerd omdat het net niet compatibel is.","test_inverter_container_error_not_idle":"De Powerwall moet in stand-by staan om de test uit te voeren.","test_inverter_container_results_error_plural_subtitle":"{num} tests mislukt","test_inverter_container_results_error_singular_subtitle":"{num} test mislukt","test_inverter_container_results_success_plural_subtitle":"{num} tests geslaagd","test_inverter_container_results_success_singular_subtitle":"{num} test geslaagd","test_inverter_container_results_success_subtitle":"Alle tests geslaagd","test_inverter_container_results_title":"Resultaten van zelftest omvormer","test_inverter_container_title":"Zelftest van omvormer","test_meter_composite_view_auxiliary_meter_setup_instructions":"Voor elke hulpmeter moet ten minste één stroomtrafo worden ingesteld.","test_meter_composite_view_auxiliary_meters_title":"Hulpmeters","test_meter_composite_view_configure_meters":"METERS CONFIGUREREN","test_meter_composite_view_current_transformer_setup_instructions":"Gebruik ten minste één huisinstallatie-stroomtrafo OF verbruiksstroomtrafo maar niet beide.","test_meter_composite_view_internal_meters_title":"Interne meters","test_meter_composite_view_no_configured_meters":"GEEN GECONFIGUREERDE METERS. {configure} OM DOOR TE GAAN.","test_meter_composite_view_note":"OPMERKING","test_meter_item_view_configure_phases_note":"Configureer fasen om stroomtrafo\'s voor deze meter in te schakelen","test_meter_item_view_reset":"RESET","test_meter_item_view_site_meter_title":"Interne locatiemeter","test_meter_item_view_sync_id":"Sync meter {id}","test_meter_item_view_toggle_advanced":"Geavanceerd","test_meter_item_view_toggle_power":"Voeding","test_meter_item_view_wifi_id":"Meter {id}","test_meter_item_view_wired_id":"Bedrade meter {id}","test_view_canceled_status":"Test geannuleerd","test_view_failed_status":"Test mislukt","test_view_idle_status":"Begin van systeemtest","test_view_init_status":"Start van test voorbereiden","test_view_inverter_test_warning_message":"Als u een 0 Export-PV-omvormer heeft, is de zelftestprocedure van de Gateway niet in staat het systeem adequaatte kwalificeren. Schakel de PV-omvormer uit totdat de zelftest is voltooid.","test_view_passed_status":"Test geslaagd","test_view_prep_status":"Bedieningselementen initialiseren Kan enkele minuten duren!","test_view_running_status":"Laadtests worden uitgevoerd","test_view_skip_start_system_test_text":"Bevestigen om de systeemtest over te slaan","test_view_start_system_test_warning":"WAARSCHUWING","test_view_system_test_completed_message":"Systeemtest voltooid!","time_minute":"minuut","time_minutes":"minuten","time_second":"seconde","time_seconds":"seconden","time_started_at":"Gestart om {time}","timezone_container_subtitle":"Op basis van locatie en IP-adres kunnen wij u helpen de tijdzone voor uw installatie te vinden.","timezone_container_title":"Tijdzone","timezone_view_label":"tijdzone","toast_view_standard_title":"Let op","toast_view_warning_title":"Waarschuwing","update_container_industrial_updating_description":"De sitecontroller start nu automatisch opnieuw om de update te installeren. {lb1}{lb2} Wacht 2 minuten, maak opnieuw verbinding met het Sitecontroller-netwerk en {refresh}","update_container_preparing_title":"Voorbereiden op meest recente update","update_container_refresh_browser":"Ververs uw browser.","update_container_residential_updating_description":"De Gateway start nu automatisch opnieuw om de volledige update toe te passen. {lb1}{lb2} Wacht 2 minuten, maak opnieuw verbinding met het Gateway-netwerk en dan {refresh}","update_container_skip_title":"Update overslaan?","update_container_subtitle":"Werk uw systeem bij om de nieuwste software en firmware-updates te ontvangen.","update_container_subtitle_industrial":"Controleer op updates. Opmerking: Het pushen van firmware-update naar batterijen vindt plaats op de batterijpagina.","update_container_title":"Bijwerken","update_container_updating_title":"Systeem wordt bijgewerkt","update_step_item_view_resolution_title":"Voorgestelde oplossing","update_view_check_again":"KLIK OM OPNIEUW TE CONTROLEREN","update_view_check_for_update":"CONTROLEREN OP UPDATE","update_view_check_for_update_industrial":"CONTROLEREN OP UPDATE SITECONTROLLER","update_view_checking_update":"Controleren op update","update_view_current_version_label":"HUIDIGE VERSIE","update_view_downloading":"DOWNLOADEN","update_view_downloading_update":"Update downloaden","update_view_no_power_cicle":"NIET UIT- EN AANZETTEN!","update_view_percent_complete":"{percent} voltooid","update_view_progress":"VOORTGANG VAN BIJWERKEN","update_view_staged":"NIEUWE VERSIE TIJDELIJK OPGESLAGEN","update_view_staged_update":"Klaar voor update","update_view_staging":"TIJDELIJK OPSLAAN","update_view_staging_update":"Tijdelijk opslaan update","update_view_time_remaining":"resterend","update_view_up_to_date":"VERSIE UP-TO-DATE","update_view_update_now":"NU BIJWERKEN","update_view_updated_industrial":"Software voor sitecontroller is up-to-date.","update_view_updated_residential":"Uw systeem heeft de nieuwste firmware.","update_view_wait_minutes":"WACHT ENKELE MINUTEN","validation_phone":"Voer geldig telefoonnummer in","warning":"WAARSCHUWING","warning_off_grid":"Als het elektrische systeem niet op het elektriciteitsnet is aangesloten, dalen de ondersteunende ladingenbinnen 5 minuten.","warning_on_grid":"Als het elektrische systeem op het elektriciteitsnet is aangesloten, stopt de Powerwall met opladen/ontladen.","warning_sitemaster_container_not_running":"De Sitemaster wordt niet uitgevoerd","wifi_view_find_network":"NETWERK ZOEKEN VIA SSID","wifi_view_note":"Let op De Gateway is alleen compatibel met 2,4 GHz draadloze netwerken.","wifi_view_note_five_ghz":"Opmerking: De gateway is compatibel met draadloze netwerken van zowel 2,4 GHz als 5 GHz.","wifi_view_security_label":"BEVEILIGING","wizard_container_commissioning_wizard":"Tesla inbedrijfstellingswizard","wizard_container_login_required":"Inloggen vereist","wizard_container_title":"Laten we aan de slag gaan.","wizard_container_verifying_login_title":"Inloggen controleren"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"Erreur","advanced_settings_submit":"Envoyer","advanced_settings_submitted":"Envoyé","advanced_settings_title":"Paramètres avancés","alert_container_ac_phase_1_over_voltage":"Surtension CA","alert_container_ac_phase_1_under_voltage":"Sous-tension CA","alert_container_ac_phase_2_over_voltage":"Surtension CA","alert_container_ac_phase_2_under_voltage":"Sous-tension CA","alert_container_ac_phase_3_over_voltage":"Surtension CA","alert_container_ac_phase_3_under_voltage":"Sous-tension CA","alert_container_over_frequency":"Sur-fréquence CA","alert_container_rate_of_change_frequency":"Taux de variation CA de la fréquence","alert_container_under_frequency":"Sous-fréquence CA","app_container_engineering_mode_banner_message":"Le mode d\'entretien de Tesla ne requiert pas d\'authentification. Veuillez « Arrêter le système » si vous apportez des modifications opérationnelles. Avant de quitter le navigateur, laissez le système dans un état acceptable. Quand vous aurez terminé, veuillez fermer le navigateur, car ce mode ne requiert pas d\'authentification.","app_container_engineering_mode_title":"Mode d\'entretien de Tesla","app_container_firmware_update_banner_message":"Laissez l\'installation et le câblage tels qu\'ils sont et demeurez sur cette page jusqu\'à la fin de la mise à jour.","app_container_firmware_update_banner_title":"Mise à jour du microprogramme en cours","app_container_sitemaster_message_title":"Le système est actuellement en cours d\'exécution. Le système doit être arrêté pour qu\'il soit possible d\'afficher le statut des blocs de batterie. Vous devez arrêter le système à partir de la page d\'accueil.","app_container_sitemaster_power_supply_mode_banner_message":"Batterie produisant la tension CA pour alimenter les appareils pour le couplage et la configuration. Bouton permettant d\'arrêter le système sur la page d\'arrivée.","app_container_sitemaster_power_supply_mode_banner_title":"Mode Formation réseau","app_container_sitemaster_running_banner_title":"Système en cours d\'exécution","auto_config_check_network_button":"Vérifiez le réseau et activez le WiFi","auto_config_check_system_and_summary":"Vérifiez le Système et les pages de Synthèse","auto_config_done_button_text":"Effectué","auto_config_instructions_cannot_determine_grid_connection":"Vérifiez le câblage du commutateur de secours ou du dispositif Gateway avant de démarrer le système.","auto_config_instructions_determining_on_grid":"Si le message persiste pendant plus de 3 minutes, vérifiez le câblage du Commutateur ou de la Passerelle de Secours.","auto_config_instructions_finding_contactor_controller":"Si le message persiste pendant plus de 3 minutes, vérifiez le câblage du Commutateur ou de la Passerelle de Secours.","auto_config_instructions_finding_powerwalls":"Si ce message demeure affiché pendant plus de trois minutes, vérifiez le câblage du Powerwall.","auto_config_instructions_finding_solar_powerwall":"Si le message persiste pendant plus de 3 minutes, vérifiez le câblage du Powerwall Solaire.","auto_config_instructions_lookup_failed_retry":"Scannez l’étiquette du numéro de série dans Bolt pour activer le réglage automatique du Powerwall, puis la commande {retryButton}","auto_config_instructions_lookup_failed_wizard":"Ou {wizardButton} pour un réglage manuel du Powerwall.","auto_config_instructions_missing_info_1":"Le réglage automatique du Powerwall a échoué car il manquait les informations suivantes :","auto_config_instructions_missing_info_2":"{wizardButton} pour une saisie manuelle.","auto_config_instructions_missing_info_3":"{registrationButton} manuellement.","auto_config_instructions_no_grid_connection":"Vérifiez le câblage du Commutateur ou de la Passerelle de Secours.","auto_config_instructions_no_grid_detected":"Vérifiez le câblage et les disjoncteurs avant de démarrer le système.","auto_config_instructions_no_network_retry":"{networkLink} pour activer le réglage automatique du Powerwall puis {retryButton}","auto_config_instructions_no_network_wizard":"Ou {wizardButton} pour un réglage manuel du Powerwall.","auto_config_instructions_retry":"{networkLink} si le problème persiste","auto_config_instructions_retry_wizard":"Ou {wizardButton} pour un réglage manuel du Powerwall.","auto_config_instructions_updating":"Une mise à jour du logiciel est nécessaire avant d\'initier le réglage automatique du Powerwall. La mise à jour sera automatiquement téléchargée et appliquée. Il se peut que vous deviez reconnecter le réseau WiFi du Powerwall par la suite.","auto_config_missing_grid":"Réseau pour le site client","auto_config_missing_gridcode":"Code réseau pour le site client","auto_config_missing_registration":"Informations client pour l’enregistrement du produit","auto_config_missing_timezone":"Fuseau horaire sur le site du client","auto_config_network_button_text":"Régler le réseau","auto_config_registration_button_text":"Saisir les informations client","auto_config_retry_button_label":"Réessayer","auto_config_run_button_label":"Réglage automatique du Powerwall","auto_config_run_wizard_button_text":"Exécuter l’Assistant","auto_config_section_title":"Réglage automatique du Powerwall","auto_config_status_cancelled":"Le réglage automatique a été annulé. Essayer à nouveau :","auto_config_status_cannot_determine_grid_connection":"Impossible de déterminer la connexion au réseau.","auto_config_status_complete":"Cela a réussi","auto_config_status_determining_on_grid":"Détermination du raccordement au réseau en cours...","auto_config_status_finding_contactor_controller":"Recherche du Régulateur du contacteur en cours...","auto_config_status_finding_powerwalls":"Recherche des Powerwalls...","auto_config_status_finding_solar_powerwall":"Recherche du Powerwall Solaire en cours...","auto_config_status_in_progress":"En cours","auto_config_status_lookup_failed":"Échec de la recherche du numéro de série","auto_config_status_missing_information":"Informations manquantes","auto_config_status_no_grid_connection":"Pas de connexion au réseau","auto_config_status_no_grid_detected":"Aucun réseau détecté.","auto_config_status_no_network":"Non connecté à Tesla","auto_config_status_not_applicable":"Le réglage automatique n’est pas nécessaire ou a déjà été exécuté. Vous pouvez l’exécuter à nouveau :","auto_config_status_retrying":"Nouvel essai de demande de réseau","auto_config_status_timeout":"La configuration automatique a expiré. Essayer à nouveau :","auto_config_status_updating":"Mise à jour du logiciel nécessaire","auto_config_stop_system_modal_message":"Impossible d’exécuter le processus de réglage automatique pendant le fonctionnement du système. Arrêtez le système et essayez à nouveau.","auto_config_stop_system_modal_title":"Impossible de lancer le réglage automatique","battery_container_add_all_batteries_button_label":"TOUT AJOUTER","battery_container_available_batteries_subtitle":"Ces batteries ne participeront pas au fonctionnement du système à moins d’être ajoutées au \\"Configured\\" list.","battery_container_available_batteries_title":"Blocs de batterie disponibles","battery_container_cannot_communicate":"Communication avec le Powerwall impossible. Vérifiez le câblage et la terminaison du bus CAN.","battery_container_cannot_communicate_with_device":"Échec de communication avec le dispositif. Vérifiez le câblage et la terminaison du bus CAN.","battery_container_chinv":"VFD pour compresseur et chauffage (CHINV) {index}","battery_container_configured_batteries_label":"Blocs de batterie configurés","battery_container_configured_batteries_subtitle":"Ces batteries feront partie du fonctionnement du système.","battery_container_confirm_update_firmware":"Ce processus peut durer plusieurs minutes. N\'interrompez pas la mise à jour et ne quittez pas cette page.","battery_container_dcbc":"Bloc de batterie {index}","battery_container_dcbc_comms_failure":"Échec de la communication. Vérifiez la connexion entre le réseau et l\'unité et faites une nouvelle recherche.","battery_container_dcbc_dcdisconnect_opened":"La poignée de déconnexion CC est en position d\'arrêt.","battery_container_dcbc_door_switch_opened":"Ligne d\'activation de la porte de l\'onduleur. Vérifiez le commutateur de porte.","battery_container_dcbc_enable_line_return_low_estop":"Arrêt à distance de l\'onduleur ouvert. Vérifiez le circuit d\'arrêt à distance.","battery_container_dcbc_enable_line_return_low_inv":"Ligne d\'activation du système de l\'onduleur ouverte. Vérifiez le retour du disjoncteur.","battery_container_dcbc_enable_line_return_low_str":"La ligne d\'activation d\'une ou plusieurs rangées de Powerpacks est ouverte. Vérifiez le câblage et les portes du Powerpack. Pour établir un diagnostic, consultez le Guide de dépannage de la ligne d\'activation.","battery_container_delete_button_title":"Supprimer le dispositif","battery_container_diagnosis_incomplete":"Diagnostic incomplet. Il faut procéder à une mise à jour du microprogramme avant que d\'autres recherches puissent être effectuées.","battery_container_faults":"Défaillances","battery_container_firmware_update_needed":"Une mise à jour du microprogramme est requise.","battery_container_gateway_contactor_meter_controller":"Contacteur de la passerelle/Contrôleur de compteur","battery_container_industrial_confirm_update_firmware":"Cela entraînera la mise à jour du microprogramme de chaque bloc de batterie et de ses sous-composants.","battery_container_industrial_confirm_update_firmware_info":"Cela entraînera la mise à jour du microprogramme de chaque bloc de batterie dans le \\"Configured\\" list and its subcomponents.","battery_container_internal_communications_fault":"Défaillance des communications internes. Vérifiez le câblage et la terminaison du bus CAN et procédez à une mise à jour du microprogramme.","battery_container_meter_socket_adapter":"Commutateur de secours","battery_container_mpbc":"Bloc de batterie {index}","battery_container_mpthc":"Contrôleur thermique (MPTHC) {index}","battery_container_no_msa_detected":"Aucun commutateur de secours détecté.","battery_container_no_sync_detected":"Aucun régulateur de contacteur détecté. Aucune capacité de secours détectée.","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN : {pn}","battery_container_pod":"Pod {index}","battery_container_post":"Borne (LCC) {index}","battery_container_post_missing":"Borne manquante {index}","battery_container_powerpack":"Powerpack {index}","battery_container_powerstage":"Powerstage {index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"Le Powerwall est éteint. Assurez-vous que le commutateur est en position ON.","battery_container_qbms":"Qbert (QBMS)","battery_container_qhvp":"Processeur haute tension (QHVP)","battery_container_residential_confirm_update_firmware":"Cela entraînera la mise à jour du microprogramme de chaque Powerwall et du régulateur de contacteur (s\'il en existe un).","battery_container_resolve_connectivity":"Réglez les problèmes de connectivité avant d\'exécuter une mise à jour du microprogramme.","battery_container_scan":"RECHERCHER","battery_container_scan_in_progress":"RECHERCHE EN COURS...","battery_container_scbc":"Bloc chargeur {index}","battery_container_scthc":"Contrôleur thermique (SCTHC) {index}","battery_container_self_tests_failure":"A échoué à l\'auto-test.","battery_container_self_tests_inconclusive":"Les résultats de l\'auto-test ne sont pas concluants.","battery_container_self_tests_internal_error":"L\'auto-test a échoué en raison d\'une erreur interne du système.","battery_container_self_tests_stall":"Temps d\'attente dépassé : les auto-tests ne parviennent pas à démarrer.","battery_container_self_tests_system_down":"Impossible d\'exécuter les auto-tests pendant que le système est arrêté. Démarrez le système et essayez à nouveau.","battery_container_self_tests_updating":"Impossible d\'exécuter les auto-tests pendant la mise à jour des batteries. Essayez à nouveau une fois la mise à jour terminée.","battery_container_serial_number":"NS : {sn}","battery_container_solar_powerwall":"{index} Powerwall solaire","battery_container_starc":"Convertisseur CC-CC (STARC) {index}","battery_container_stitch":"Alimentation CC-CC (STITCH)","battery_container_synchronizer":"Régulateur du contacteur","battery_container_unknown":"Contrôleur de bus inconnu {index}","battery_container_update_failed":"Échec de la mise à jour. Essayez à nouveau et assurez-vous que le câblage et les commutateurs d\'activation ne sont pas interrompus pendant la procédure de mise à jour.","battery_container_update_firmware":"METTRE À JOUR LE MICROPROGRAMME","battery_container_update_in_progress":"MISE À JOUR EN COURS...","battery_container_waiting_to_report_firmware":"En attente de l\'envoi du rapport sur la version du microprogramme par l\'unité.","battery_container_warnings":"Avertissements","button_label_generate":"GÉNÉRER","can_reboot_message_backup":"Mode Secours","can_reboot_message_block_update":"Mise à jour du bloc en cours","can_reboot_message_enumeration":"Énumération en cours","can_reboot_message_initializing":"Système en cours d\'initialisation","can_reboot_message_power_flow_is_too_high":"La vitesse des pulsations est trop élevée","can_reboot_message_updating":"Mise à jour du Pack site en cours","caution":"ATTENTION","charger_settings_cabinet":"Armoire {sn} {state}","charger_settings_cabinet_posts_warning":"Ces contrôles arrêtent uniquement l’activation de la borne et le bus HT interne des armoires. Vous devez quand même isoler l’alimentation et suivre la procédure de sécurité complète lors de l’accès aux armoires.","charger_settings_common_bus":"Bus commun {state}","charger_settings_common_bus_warning":"Arrête le bus HT commun uniquement. Vous devez quand même isoler l’alimentation et suivre la procédure de sécurité complète lors de l’accès aux armoires.","charger_settings_disabled":"désactivé","charger_settings_enabled":"activé","charger_settings_post":"Borne {id} {state}","charger_settings_saving":"enregistrement {spinner}","client_protocols_container_subtitle":"Activez ou désactivez les protocoles clients.","client_protocols_container_title":"Protocoles clients","client_protocols_menu_title":"Protocoles clients","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"API REST","client_protocols_view_modbus_label":"Modbus TCP/IP ","compliance_container_label_fcc_id":"Numéro FCC : {fccId}","compliance_container_label_ic_id":"IC : {icId}","compliance_container_label_manufacturer":"Fabricant : {manufacturer}","compliance_container_label_model":"Modèle : {model}","compliance_container_title":"Conformité","component-menu-title":"Composants","conductor_limit":"Les batteries sont contrôlées pour éviter un dépassement des limites de courant configurées sur chaque phase des TC du conducteur. Revoyez la note d\'application sur la limite du conducteur pour obtenir plus de détails sur l\'endroit où cela est utilisé et savoir quelles limites devraient être configurées.","conductor_min_current":"Limite d\'exportation de conducteur","control_container_add_on":"MODULE COMPLÉMENTAIRE","control_container_always_active":"TOUJOURS ACTIF","control_container_battery_ok":"EXPORTATION COMPLÈTE DE LA BATTERIE AUTORISÉE","control_container_charge_power_target":"CIBLE DE PUISSANCE DE CHARGE","control_container_conductor_max_current":"Limite d\'importation de conducteur","control_container_conductor_min_current_max_bound":"{mode} a une valeur maximale de 200 A","control_container_conductor_min_current_min_bound":"{mode} a une valeur minimale de 5 A","control_container_control_subtitle":"Sous-titre du contrôle","control_container_control_title":"Titre de la commande","control_container_direct":"DIRECT","control_container_disable":"Désactiver","control_container_discharge_power_target":"CIBLE DE PUISSANCE DE DÉCHARGE","control_container_enabled":"ACTIVÉ","control_container_energy_target":"CIBLE D\'ÉNERGIE. Cette valeur doit correspondre à la taille du système telle qu\'elle est indiquée par les documents de conception et le rapport de l\'inspecteur.","control_container_error_message":"{mode} est requis","control_container_explanation_bullet_five_max_site_meter_power_kw":"Lorsque la charge nette est supérieure à cette limite, les batteries se déchargeront de la meilleure façon possible pour éviter de surpasser cette limite.","control_container_explanation_bullet_five_min_site_meter_power_kw":"Lorsque la génération nette est supérieure à cette limite, les batteries se déchargeront de la meilleure façon possible pour éviter de surpasser cette limite.","control_container_explanation_bullet_four_max_site_meter_power_kw":"Lorsque la charge nette est inférieure à cette limite, les batteries seront limitées à leur puissance de charge autorisée.","control_container_explanation_bullet_four_min_site_meter_power_kw":"Lorsque la génération nette est inférieure à cette limite, les batteries seront limitées à leur puissance de décharge autorisée.","control_container_explanation_bullet_one_max_site_meter_power_kw":"Limite d\'importation du site est un paramètre facultatif. Laissez ce champ vide pour désactiver les limites.","control_container_explanation_bullet_one_min_site_meter_power_kw":"Limite d\'exportation du site est un paramètre facultatif. Laissez ce champ vide pour désactiver les limites.","control_container_explanation_bullet_three_max_site_meter_power_kw":"Il s\'agit d\'une limite agrégée de toutes les phases sur tous les compteurs de site. (Remarque : lorsque des compteurs de charge sont utilisés, le compteur du site est calculé à l\'aide de Charge, Solaire et Batterie).","control_container_explanation_bullet_three_min_site_meter_power_kw":"Il s\'agit d\'une limite agrégée de toutes les phases sur tous les compteurs de site. (Remarque : lorsque des compteurs de charge sont utilisés, le compteur du site est calculé à l\'aide de Charge, Solaire et Batterie).","control_container_explanation_bullet_two_max_site_meter_power_kw":"Lorsque cette option est activée, le maître de site contrôle la puissance maximale qu\'il est permis d\'importer du réseau vers le site.","control_container_explanation_bullet_two_min_site_meter_power_kw":"Lorsque cette option est activée, le maître de site contrôle la puissance maximale qu\'il est permis d\'exporter du site vers le réseau.","control_container_explanation_export_restrictions_locked":"Détermine comment le système peut exporter de l\'alimentation vers le réseau. Une fois définie, la réglementation impose qu\'elle ne puisse être modifiée qu\'en contactant Tesla.","control_container_explanation_export_restrictions_unlocked":"La réglementation impose que les caractéristiques d\'exportation ne puissent être définies que durant la mise en service initiale. Pour modifier, veuillez contacter Tesla.","control_container_explanation_nominal_system":"Cette valeur doit correspondre à la taille du système telle qu\'elle est indiquée par les documents de conception et le rapport de l\'inspecteur.","control_container_heat_for_energy":"CHALEUR POUR ÉNERGIE","control_container_heat_mode":"MODE CHALEUR","control_container_heco_committed_capacity":"Capacité affectée","control_container_heco_committed_discharge_power_W_max_bound":"{mode} a une valeur maximale de 100 000 W (100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"{mode} a une valeur minimale de 100 W","control_container_loading":"Chargement","control_container_max_site_meter_power_W_max_bound":"{mode} a une valeur maximale de 50 000 W (50 kW)","control_container_max_site_meter_power_W_min_bound":"{mode} a une valeur minimale de 1000 W (1 kW)","control_container_max_site_meter_power_kW_positive":"{mode} doit être supérieur ou égal à 0","control_container_max_site_meter_power_kw":"Limite d\'importation de site","control_container_max_site_meter_power_w":"Limite d\'importation de site","control_container_menu":"Menu","control_container_min_site_meter_power_kW_positive":"{mode} doit être supérieur ou égal à 0","control_container_min_site_meter_power_kw":"Limite d\'exportation de site","control_container_min_site_meter_power_w":"Limite d\'exportation de site","control_container_minimum_charge_power":"PUISSANCE DE CHARGE MINIMALE","control_container_minimum_discharge_power":"PUISSANCE DE DÉCHARGE MINIMALE","control_container_misc":"DIVERS","control_container_net_meter_mode":"Restrictions sur l\'exportation du site","control_container_never":"PAS D\'EXPORTATION DEPUIS LE SITE","control_container_nominal_system_energy_kW_positive":"{mode} doit être supérieur ou égal à 0","control_container_nominal_system_energy_kWh_positive":"{mode} doit être supérieur ou égal à 0","control_container_nominal_system_energy_kwh":"Énergie nominale du système","control_container_nominal_system_energy_max_error":"L\'énergie nominale du système excède la limite d\'énergie maximale","control_container_nominal_system_power_kw":"Puissance nominale du système","control_container_nominal_system_power_max_error":"La puissance nominale du système excède la limite d\'énergie maximale","control_container_number_error_message":"{mode} doit être une entrée numérique","control_container_power":"PUISSANCE","control_container_pv_only":"RELEVÉ D\'EXPORTATION JUSQU\'AU COMPTEUR PV OK","control_container_reactive_mode":"MODE RÉACTIF","control_container_real_mode":"MODE RÉEL","control_container_reset":"Réinitialiser","control_container_site_control":"CONTRÔLE DE SITE","control_container_site_limits":"LIMITES DE SITE","control_container_site_max_power":"PUISSANCE MAX. DU SITE","control_container_site_min_power":"PUISSANCE MIN. DU SITE","control_container_submit":"Envoyer","control_container_submitting_control":"Envoi de la commande","control_start":"DÉMARRER","control_stop":"FIN","current_password_placeholder_text":"Saisissez votre mot de passe actuel","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"Ampère {id}","current_transformer_item_view_battery_ct":"Batterie","current_transformer_item_view_calculated_reading":"Calculé(e) :","current_transformer_item_view_conductor_ct":"Conducteur","current_transformer_item_view_ct_voltage_pairing_1":"Phase L1","current_transformer_item_view_ct_voltage_pairing_2":"Phase L2","current_transformer_item_view_ct_voltage_pairing_3":"Phase L3","current_transformer_item_view_ct_voltage_pairing_default":"Phase par défaut","current_transformer_item_view_doubled_solar_ct":"Solaire (1TC x2)","current_transformer_item_view_flip":"Inverser","current_transformer_item_view_generator_ct":"Générateur","current_transformer_item_view_load_ct":"Charger","current_transformer_item_view_measure_pw_plus_input":"Mesure d’un onduleur Powerwall+","current_transformer_item_view_measured_reading":"Par TC :","current_transformer_item_view_missing_ct":"Manquant","current_transformer_item_view_no_reading":"Aucune lecture","current_transformer_item_view_none_ct":"Absent","current_transformer_item_view_phase_sequence_dropdown_title":"Phase","current_transformer_item_view_site_ct":"Site","current_transformer_item_view_smart_ct":"Intelligent","current_transformer_item_view_solar_ct":"Solaire","current_transformer_item_view_solar_rgm_ct":"Revenu solaire uniquement","current_transformers_container_800a_ct_ensure":"Assurez-vous que le choix du TC sur cette page correspond à ce qui est installé.","current_transformers_container_800a_ct_larger":"Les TC de 800 A ont une taille physique supérieure à celle des TC de 200/264 A.","current_transformers_container_800a_ct_use_case":"Lors du comptage des grands conducteurs ou panneaux (comme ceux de 400 A/800 A), utilisez et configurez des TC de 800 A.","current_transformers_container_amps_explanation":"Intensité traversant le transformateur de courant","current_transformers_container_check_phase_doubled_solar_ct_bullet":"Assurez-vous que le TC est installé sur la phase correcte ({sequence}).","current_transformers_container_configure_subtitle":"Configurez les transformateurs de courant du compteur.","current_transformers_container_ct_flipping_ensure_direction":"Assurez-vous d\'abord que l\'étiquette de TC est tournée vers l\'onduleur solaire (pour TC solaire) ou vers l\'alimentation réseau (pour TC de site). Vérifiez ensuite le câblage de la phase, puis vérifiez les relevés de courant, de puissance et de facteur de puissance rapportés.","current_transformers_container_ct_flipping_modal_title":"Inversion de TC dans le logiciel","current_transformers_container_ct_flipping_software_incorrect_metering":"Si vous utilisez le logiciel pour inverser un TC installé sur la mauvaise phase, vous obtiendrez un comptage incorrect.","current_transformers_container_ct_flipping_wrong_phase":"Un relevé de puissance négatif peut indiquer que le TC est installé à l\'envers ou sur la mauvaise phase.","current_transformers_container_double_check_recommendation":"Revérifiez le câblage, les prises de tension, les TC et la configuration du compteur avant de continuer.","current_transformers_container_doubled_solar_ct_explanation":"Un seul TC peut être utilisé pour compter un onduleur PV équilibré","current_transformers_container_doubled_solar_ct_modal_title":"Comptage d\'un onduleur solaire à phase auxiliaire avec un TC","current_transformers_container_grid_code_phase_modal_title":"Avertissement : le nombre de TC ne correspond pas à la phase du code de réseau recommandée","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"Avertissement : le nombre de TC ne correspond pas à la phase du code de réseau recommandée pour plusieurs compteurs","current_transformers_container_grid_code_phase_multiple_warnings_message":"Un nombre de TC imprévu est relié aux {numMeters} compteurs suivants :","current_transformers_container_grid_code_phase_warning_message":"Un nombre de TC imprévu est relié au compteur suivant :","current_transformers_container_grid_code_single_phase_warning":"Le code de réseau appliqué est monophasé. Les systèmes monophasés ont généralement un service monophasé ou triphasé. {lb} Un nombre impair de TC (1 ou 3) est recommandé.","current_transformers_container_grid_code_split_phase_warning":"Le code de réseau appliqué est phase auxiliaire. Les systèmes à phase auxiliaire disposent généralement d\'un TC sur chaque conducteur \\"chaud\\". {lb} Un nombre pair de TC (2 ou 4) est recommandé.","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"Un compteur Neurio mesurant les onduleurs solaires Powerwall+ est nécessaire pour activer le compteur de niveau de revenus (RGM).","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Sélectionnez Oui si la mesure concerne un onduleur solaire Powerwall+. Sélectionnez Non si la mesure concerne un onduleur solaire ne faisant pas partie d’un ensemble Powerwall+.","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"La mesure concerne-t-elle un onduleur Powerwall+ ?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"Assurez-vous que l\'étiquette sur les côtés du TC est tournée vers l\'onduleur solaire.","current_transformers_container_label_modal_title":"Explication des étiquettes","current_transformers_container_load_ct_ensure":"Lors de la configuration des TC de charge, assurez-vous que toutes les charges sur site sont comptées et que les charges avec sauvegarde et celles sans sauvegarde sont comptées séparément.","current_transformers_container_load_ct_modal_title":"TC de charge","current_transformers_container_load_ct_recommended":"Il est recommandé de configurer des TC de charge uniquement pour des utilisations spécifiques pour lesquelles il n\'est pas possible de configurer un TC de site.","current_transformers_container_meter_id":"Compteur {id}","current_transformers_container_no_load_and_site_ct":"Il ne peut pas y avoir à la fois un TC de charge et un TC de site.","current_transformers_container_no_loads_doubled_solar_ct_bullet":"Il ne peut pas y avoir de charges derrière le TC.","current_transformers_container_no_site_or_load_warning":"AUCUN TRANSFORMATEUR DE COURANT DE CHARGE OU DE SITE CONFIGURÉ","current_transformers_container_no_solar_ct_warning":"AUCUN TRANSFORMATEUR DE COURANT SOLAIRE CONFIGURÉ","current_transformers_container_no_solar_inverter_warning":"AUCUN ONDULEUR SOLAIRE CONFIGURÉ","current_transformers_container_phase_usages_modal_title":"Avertissement : la configuration du TC ne correspond pas à la configuration de la phase","current_transformers_container_phase_usages_warning":"Le nombre de phases configurées ne correspond pas au nombre de TC configurés. {lb} {num} TC configuré(s) est/sont recommandé(s).","current_transformers_container_phase_usages_warning_message":"Un nombre de TC imprévu est relié au(x) compteur(s) suivant(s) :","current_transformers_container_power_amperage_configure_warning":"Le TC {type} nécessite une alimentation et un ampérage positifs pour être configuré correctement.","current_transformers_container_power_factor_explanation":"Facteur de puissance (Puissance_réelle / Puissance_apparente). Ne s\'affiche que pour les niveaux de puissance élevés. Pour les charges résistives courantes, le facteur de puissance doit être proche de 1. Un facteur de puissance faible peut indiquer que le transformateur de courant n\'est pas installé correctement ou qu\'il existe des charges capacitives/inductives très importantes.","current_transformers_container_power_factor_out_of_range_warning":"La mesure de facteur de puissance relevée est en dehors de la plage prévue. {lb} Facteur de puissance mesuré : FP {powerFactor} {lb} Le compteur est peut être mal installé, ou son phasage est incorrect, ou les charges capacitives ou inductives sont très importantes.","current_transformers_container_system_test_configured_incorrect":"Avertissement : le TC {id} est peut-être configuré de manière incorrecte","current_transformers_container_title":"Transformateurs de courant","current_transformers_container_voltage_out_of_range_warning":"Tension hors plage. {lb} Tension mesurée : {volts} V {lb} La tension mesurée sur ce TC est en dehors de la plage de fonctionnement normale.","current_transformers_container_volts_explanation":"Tension d\'une ligne à neutre sur la prise de tension associée au transformateur de courant","current_transformers_container_watts_explanation":"Puissance, c\'est-à-dire l\'intensité passant par le transformateur de courant multipliée par la tension sur la prise de tension associée","customer_installation_view_email_label":"ADRESSE E-MAIL DU CLIENT","customer_installation_view_email_placeholder":"E-mail","customer_registration_view_address_label":"ADRESSE","customer_registration_view_address_placeholder":"Adresse","customer_registration_view_city_label":"VILLE","customer_registration_view_city_placeholder":"Ville","customer_registration_view_clear_form":"EFFACER LE FORMULAIRE","customer_registration_view_country_label":"Pays","customer_registration_view_customer_information":"INFORMATIONS SUR LE CLIENT","customer_registration_view_email_address_label":"ADRESSE E-MAIL","customer_registration_view_email_address_label_confirmation":"SAISISSEZ À NOUVEAU L\'ADRESSE E-MAIL","customer_registration_view_email_placeholder":"E-mail","customer_registration_view_family_name_label":"NOM DE FAMILLE (NOM)","customer_registration_view_family_name_warning":"Saisissez le nom du client.","customer_registration_view_given_name_label":"PRÉNOM","customer_registration_view_given_name_warning":"Saisissez le prénom du client.","customer_registration_view_homeowner_family_name_placeholder":"Nom","customer_registration_view_homeowner_given_name_placeholder":"Prénom","customer_registration_view_installation_address":"ADRESSE DE L’INSTALLATION","customer_registration_view_phone_number_label":"TÉLÉPHONE","customer_registration_view_phone_placeholder":"Téléphone","customer_registration_view_skip_explanation":"Si cette étape est ignorée, le propriétaire devra effectuer lui-même l’enregistrement par le biais de l’application mobile Tesla avant d’avoir accès au système.","customer_registration_view_state_placeholder":"État","customer_registration_view_state_province_region_label":"ÉTAT / PROVINCE / RÉGION","customer_registration_view_zip_label":"CODE POSTAL","customer_registration_view_zip_placeholder":"Code postal","diagnostic-alert-affected-children":"Composants concernés ({count})","diagnostic-alerts-missing-alert-information":"Informations sur l\'alerte manquante","diagnostic-alerts-missing-data":"","diagnostic-alerts-toolbox-article":"Article de la boîte à outils","diagnostic-alerts-toolbox-article-external-link":"Liens externes","diagnostic_alert_alert_name":"Nom de l\'alerte","diagnostic_alert_alert_type":"Type d\'alerte","diagnostic_alert_audience":"Public","diagnostic_alert_clear_condition":"Effacer la condition","diagnostic_alert_description":"Description","diagnostic_alert_display_name":"Nom d\'affichage","diagnostic_alert_id":"ID d\'alerte","diagnostic_alert_impact_category":"Catégorie d\'impact","diagnostic_alert_latching":"Verrouillage","diagnostic_alert_max":"Max","diagnostic_alert_min":"Min","diagnostic_alert_name":"Nom","diagnostic_alert_node":"Nœud","diagnostic_alert_offset":"Écart","diagnostic_alert_payload_signals":"Signaux de charge utile","diagnostic_alert_potential_impact":"Impact potentiel","diagnostic_alert_safety_reason":"Motif de sécurité","diagnostic_alert_scale":"Échelle","diagnostic_alert_set_condition":"Définir la condition","diagnostic_alert_signal_name":"Nom du signal","diagnostic_alert_signoff":"Signer pour valider","diagnostic_alert_sna_value":"Valeur SNA","diagnostic_alert_supplier_dtc_name":"Nom du code d\'anomalie du fournisseur","diagnostic_alert_uiID":"ID d\'IU","diagnostic_alert_units":"Unités","diagnostic_alert_urgent":"Urgent","diagnostic_category_item_view_alerts_description":"Alertes de site, composant et sous-composant","diagnostic_category_item_view_download_results":"TÉLÉCHARGER LES RÉSULTATS","diagnostic_category_item_view_internal_comms_description":"Vérifier toutes les communications de l\'appareil","diagnostic_category_item_view_internal_comms_title":"Communications de l\'appareil","diagnostic_category_item_view_live_results":"RÉSULTATS EN DIRECT","diagnostic_category_item_view_metering_description":"Vérifier les connexions du compteur","diagnostic_category_item_view_metering_title":"Comptage","diagnostic_category_item_view_networking_description":"Vérifier la connexion réseau","diagnostic_category_item_view_networking_title":"Mise en réseau","diagnostic_category_item_view_no_selected_tests":"PAS DE TESTS SÉLECTIONNÉS","diagnostic_category_item_view_rerun_selected":"RÉEXÉCUTER {num} TESTS SÉLECTIONNÉS","diagnostic_category_item_view_rerun_selected_test":"RÉEXÉCUTER LES TESTS SÉLECTIONNÉS","diagnostic_category_item_view_run_selected":"EXÉCUTER {num} TESTS SÉLECTIONNÉS","diagnostic_category_item_view_run_selected_test":"EXÉCUTER LES TESTS SÉLECTIONNÉS","diagnostic_category_item_view_select_all_tests":"Sélectionner tout","diagnostic_category_item_view_self_tests_description":"Lancer les tests de charge et de décharge sur le système","diagnostic_category_item_view_self_tests_title":"Auto-tests","diagnostic_category_item_view_toggle_all_tests":"Tout permuter","diagnostic_input_view_blocks_label":"BLOCS","diagnostic_input_view_individual_test_name_label":"NOM DU TEST INDIVIDUEL","diagnostic_input_view_max_allowed_charge_power_label":"PUISSANCE DE CHARGE MAX. AUTORISÉE","diagnostic_input_view_max_allowed_discharge_power_label":"PUISSANCE DE DÉCHARGE MAX. AUTORISÉE","diagnostic_test_enable_line":"Ligne d\'activation","diagnostic_test_item_view_ac_self_test_description":"Auto-test d\'alimentation CA","diagnostic_test_item_view_ac_self_test_description_2":"Exécute une séquence de tests de fluctuation de puissance sur le système CA. Les systèmes Powerpack utiliseront les paramètres « PUISSANCE_MAX_AUTORISÉE ». Définissez-les sur 0 pour les systèmes Megapack et Supercharger.","diagnostic_test_item_view_dc_self_test_description":"Auto-test d\'alimentation CC","diagnostic_test_item_view_dc_self_test_description_2":"Exécute une séquence de tests sur le système CC, y compris des vérifications thermiques.","diagnostic_test_item_view_enable_line_description":"Tester la ligne d\'activation haute pour tous les Powerwalls","diagnostic_test_item_view_enable_line_resolution":"Faire basculer la ligne d\'activation et réessayer","diagnostic_test_item_view_individual_self_test_description":"Sélectionnez une option parmi une liste d’auto-tests disponibles sur les contrôleurs de bus configurés.","diagnostic_test_item_view_meter_comms_description":"Envoyer une commande Ping aux communications du compteur","diagnostic_test_item_view_network_connection_description":"Tester la connexion à Internet et aux serveurs Tesla","diagnostic_test_item_view_network_connection_resolution":"Reconfigurer la mise en réseau","diagnostic_test_item_view_resolution_generic_text":"Reconfigurer {name} et réessayer","diagnostic_test_item_view_step_canceled":"Le test a été annulé par l\'utilisateur","diagnostic_test_item_view_step_config_update_status":"Vérifier le statut du serveur de configuration Tesla","diagnostic_test_item_view_step_google_http":"Envoyer une commande Ping au HTTP Google","diagnostic_test_item_view_step_google_https":"Envoyer une commande Ping au HTTPS Google","diagnostic_test_item_view_step_hermes_status":"Vérifier le statut du serveur de journalisation Tesla","diagnostic_test_item_view_step_results_ip_address":"Adresse IP","diagnostic_test_item_view_step_results_subnet_mask":"Sous-réseau","diagnostic_test_item_view_table_header_key":"Identifiant","diagnostic_test_item_view_table_header_name":"Étape","diagnostic_test_item_view_table_header_value":"Valeur","diagnostic_test_meter_comms":"Communications du compteur","diagnostic_test_network_connection":"Connexion au réseau","diagnostics_composite_view_no_tests_found":"PAS DE TESTS DISPONIBLES TROUVÉS","diagnostics_composite_view_run_all_selected_tests":"EXÉCUTER TOUS LES TESTS SÉLECTIONNÉS","diagnostics_container_industrial_disruptive_tests_description":"Les tests suivants déclencheront le fonctionnement des systèmes de ventilation et de chauffage, ce qui provoquera du bruit. Il faut s\'attendre à une consommation d\'environ 30 kW par onduleur. En outre, les tests suivants peuvent perturber le fonctionnement normal du système :","diagnostics_container_required_inputs_description":"Les tests suivants requièrent des entrées supplémentaires :","diagnostics_container_residential_disruptive_tests_description":"Les tests suivants peuvent perturber le fonctionnement normal de la passerelle et du Powerwall :","diagnostics_container_stop_test_title":"Arrêter le test {name} ?","diagnostics_container_subtitle":"Outils pour diagnostiquer les problèmes affectant l\'installation du système.","diagnostics_container_tests_running":"Tests diagnostiques en cours d\'exécution","diagnostics_container_title":"Diagnostics","disabled_reason_battery_breaker_open":"Le disjoncteur de batterie est ouvert","disabled_reason_checking_firmware_update":"Vérification de la mise à jour du microprogramme","disabled_reason_config":"Désactivé par le fichier de configuration","disabled_reason_excessive_voltage_drop":"Chute de tension excessive","disabled_reason_firmware_update_failed":"Échec de la mise à jour du microprogramme","disabled_reason_firmware_update_in_progress":"Mise à jour du microprogramme en cours","disabled_reason_gridcode_write_failed":"Échec de réglage du code de réseau","disabled_reason_user_requested":"Désactivé sur demande de l’utilisateur","dropdown_default_placeholder":"Tapez...","dropdown_list_view_not_listed_label":"Non répertorié : \\"{searchText}\\"","dropdown_list_view_select_all":"Sélectionner tout","dropdown_list_view_select_field":"Sélectionnez un champ.","dropdown_list_view_show_complete":"AFFICHER LA LISTE COMPLÈTE","dropdown_list_view_show_searchable":"AFFICHER LA LISTE CONSULTABLE","enumeration_warning_details_miswired_12v":"Lorsque vous connectez deux Powerwall+, seule l\'unité connectée au dispositif Gateway/commutateur de secours doit se voir appliquer une alimentation en 12 V. Supprimez l\'alimentation en 12 V de tous les Powerwall+ suivants dans la chaîne, puis relancez la recherche d\'appareils (au bas de cette page) pour effacer cet avertissement.","enumeration_warning_details_multiple_controllers_gateway":"Débranchez le faisceau d\'alimentation de tous les contrôleurs de site de Powerwall+ se trouvant dans le coin supérieur droit de l\'ensemble photovoltaïque.","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"Débranchez le faisceau d\'alimentation du contrôleur de site de Powerwall+ (non connecté au commutateur de secours) se trouvant dans le coin supérieur droit de l\'ensemble photovoltaïque.","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"Débranchez le faisceau d\'alimentation de tous les contrôleurs de site de Powerwall+ se trouvant dans le coin supérieur droit de l\'ensemble photovoltaïque. Mettez le système en service en le connectant au Backup Gateway.","enumeration_warning_details_multiple_controllers_unknown":"Dans une configuration à plusieurs Powerwall+ à connexion CAN câblée, il ne doit y avoir qu\'un contrôleur de site sous tension.","enumeration_warning_details_multiple_controllers_unknown_with_details":"Un seul contrôleur de site doit être actif. Lorsque vous utilisez le dispositif Backup Gateway, débranchez tous les contrôleurs Powerwall+. Lorsque vous utilisez un commutateur de secours, débranchez tous les contrôleurs Powerwall+ sauf un. La fonctionnalité Exécuter l’Assistant est désactivée jusqu’à ce qu’un seul contrôleur de site soit actif.","enumeration_warning_title_miswired_12v":"Erreur de câblage 12 V","enumeration_warning_title_multiple_controllers":"Plusieurs contrôleurs de sites sont actifs","error_details":"Détails de l\'erreur","error_item_view_check_network":"Vérifier la connexion réseau","error_item_view_disconnected":"Déconnecté(e) de la passerelle. Vérifier la connexion réseau et {refresh}","error_item_view_forgot_password":"Cliquez pour réinitialiser le mot de passe.","error_item_view_refresh_browser":"Actualiser le navigateur.","error_item_view_try_logging_in_again":"Essayez de vous connecter à nouveau.","ethernet_view_backup_dns_label":"SERVEUR DNS DE SAUVEGARDE","ethernet_view_backup_dns_warning":"Serveur DNS de sauvegarde valide","ethernet_view_configuration_label":"CONFIGURATION","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"GATEWAY","ethernet_view_gateway_warning":"IP de passerelle (routeur) valide","ethernet_view_ip_address_label":"ADRESSE IP","ethernet_view_ip_address_warning":"Adresse IP valide","ethernet_view_not_available":"Non disponible","ethernet_view_primary_dns_label":"SERVEUR DNS PRINCIPAL","ethernet_view_primary_dns_warning":"Serveur DNS principal valide","ethernet_view_static_label":"Statique","ethernet_view_subnet_mask_label":"MASQUE DE SOUS-RÉSEAU","ethernet_view_subnet_mask_warning":"Masque de sous-réseau valide","factory_reset_message":"Cela provoquera la réinitialisation de l’unité à l’état par défaut fourni par Tesla. Cette action est irréversible. L\'unité devra être remise en service par un installateur professionnel avant de pouvoir fonctionner. Vous devrez peut-être rétablir la connexion au réseau Wi-Fi de l\'unité.","field_false":"Faux","field_true":"Vrai","follower_powerwall_message":"Ce Powerwall est contrôlé par {leader}","follower_powerwall_title":"Powerwall suiveur","form_legend_text":"signale un champ obligatoire","generation_container_connecting_status":"Connexion de","generation_container_connection":"Connexion de l\'onduleur {id}","generation_container_connection_summary":"Pendant ce processus de connexion, il se peut que vous soyez temporairement déconnecté du réseau. {lb} Assurez-vous de vous reconnecter au bon réseau. Ceci peut prendre jusqu\'à 3 minutes.","generation_container_subtitle":"Ajoutez les informations de l’onduleur solaire et du générateur ci-dessous.","generation_container_title":"Génération","generator_item_view_disconnect_type_label":"TYPE DE DISJONCTEUR","generator_item_view_generator":"GÉNÉRATEUR {id}","generator_item_view_manufacturer_label":"FABRICANT (OPT)","generator_item_view_model_label":"MODÈLE","generator_item_view_serial_label":"SÉRIE","generator_item_view_sustained_power_label":"ALIMENTATION CONSTANTE","generator_view_add_generator":"AJOUTER UN GÉNÉRATEUR","grid_code_container_off_grid_confirmation":"Le système est-il déconnecté du réseau électrique?","grid_code_container_off_grid_detected":"Système hors réseau détecté. Vérifiez qu’il s’agit du bon paramètre.","grid_code_container_off_grid_warning":"{warning} : Impossible de détecter l’état hors réseau du système. Un mauvais paramétrage de l\'état hors réseau peut entraîner la défaillance du système.","grid_code_container_results":"Résultats de détection de réseau","grid_code_container_retrieving":"Récupération des codes de réseau","grid_code_container_saving":"Enregistrement du code réseau","grid_code_container_subtitle":"Trouvez les meilleurs paramètres pour votre installation par géolocalisation et en fonction des relevés de compteurs.","grid_services_view_grid_services":"Services au réseau","heading_change_password":"Modifier le mot de passe","help_view_how_password":"Recherche du mot de passe sur une passerelle","help_view_how_password_description":"Ouvrez la porte sur la passerelle. Le mot de passe se trouve sur l\'autocollant après \\"Password:\\"","help_view_how_serial_number":"Trouver le numéro de série sur une passerelle (hors passerelle de secours)","help_view_how_serial_number_backup":"Trouver le numéro de série sur une passerelle de secours","help_view_how_serial_number_backup_description":"Ouvrez la porte sur la passerelle de secours. Le numéro de série commence par \\"(S):\\"","help_view_how_serial_number_description":"Ouvrez la porte sur la passerelle. Le numéro de série commence par \\"(S):\\"","help_view_how_to_enable_line":"Activation/désactivation d\'un Powerwall","help_view_how_to_enable_line_description":"Désactivez le Powerwall avec le commutateur puis remettez-le en marche. Pour les systèmes comprenant plusieurs Powerwall, vous ne devez basculer qu\'un seul commutateur","hierarchy_charger":"Bloc chargeur {name}","hierarchy_chinv":"VFD pour compresseur et chauffage (CHINV)","hierarchy_converter":"Convertisseur CC-CC (STARC)","hierarchy_inverter":"Bloc batterie {name}","hierarchy_mega_thermal_controller":"Contrôleur thermique (MPTHC)","hierarchy_missing_post":"Borne manquante","hierarchy_mpbc":"Bloc batterie {name}","hierarchy_part_number":"Référence","hierarchy_pod":"Pod","hierarchy_pods_reporting":"Rapports des pods","hierarchy_post":"Borne (LCC)","hierarchy_posts":"Bornes","hierarchy_power_stage":"Étage de puissance","hierarchy_power_stages":"Étages de puissance","hierarchy_powerpack":"Powerpack {name}","hierarchy_qbms":"Carte de gestion de la batterie (QBMS)","hierarchy_qhvp":"Processeur haute tension (QHVP)","hierarchy_scthcs":"Contrôleurs thermiques","hierarchy_serial_number":"Numéro de série","hierarchy_sitemaster":"Maître de site {name}","hierarchy_starcs":"Convertisseurs CC-CC","hierarchy_stitch":"Alimentation CC-CC (STITCH)","hierarchy_thermal_controller":"Contrôleur thermique (SCTHC)","higher_order_login_login_required":"Identifiant requis","higher_order_login_title":"Commençons.\\n","home_container_caution":"⚠️ Mise en garde","home_container_caution_deenergize":"Pour désactiver le système en toute sécurité, mettez tous les commutateurs du Powerwall hors tension.","home_container_caution_energized":"Le système peut demeurer sous tension si des guirlandes solaires sont connectées.","home_container_inactive_meter":"Données de compteur obsolètes","home_container_inactive_meter_description":"Vérifiez la connexion {type} au compteur.","home_container_inactive_meter_timestamp":"Dernier relevé de compteur à {timestamp}","home_container_login_required":"Identifiant requis","home_container_missing_meter":"Le compteur est absent","home_container_positive_meter":"Avertissement : le compteur {type} est peut-être mal configuré","home_container_positive_meter_description":"Le compteur {type} nécessite une alimentation et un ampérage positifs pour être configuré correctement.","home_container_powerwall_error":"Erreur système du Powerwall","home_container_powerwall_start_error":"Impossible de démarrer le système : {reason}","home_container_site_controller_error":"Erreur du système de contrôleur de site","home_container_sitemaster_alternative":"Note: Le système ne doit être désactivé que lorsque les interrupteurs et les disjoncteurs de chaque Powerwall sont ouverts.","home_container_sitemaster_confirm":"Cliquez sur Oui ci-dessous uniquement si vous êtes sûr de vouloir arrêter le système.","home_container_sitemaster_confirm_industrial":"Voulez-vous vraiment arrêter le système ?","home_container_sitemaster_confirm_wizard":"Arrêter le système pour exécuter l’assistant. Continuez et arrêtez le système ?","home_container_sitemaster_header_warning":"{warning} Cette action va interrompre le fonctionnement du Powerwall.","home_container_sitemaster_header_warning_industrial":"{warning} Vu l\'état dans lequel se trouve le système, Tesla ne recommande pas qu\'il soit arrêté. Raison: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning} Vu l\'état dans lequel se trouve le système, Tesla ne recommande pas qu\'il soit arrêté. Raison: \\"{reason}\\"","home_container_sitemaster_logging":"La désactivation du système va interrompre le protocole d\'enregistrement.","home_container_sitemaster_reset":"Après un arrêt du système, pour redémarrer le système, cliquez sur le bouton Démarrer sur la page d’accueil.","home_container_sitemaster_update":"Si une mise à jour est en cours, elle va être abandonnée.","home_container_start_powerwall":"Démarrer le système","home_container_start_system_button":"DÉMARRER LE SYSTÈME","home_container_stop_powerwall":"Arrêter le système","home_container_stop_system_button":"ARRÊTER LE SYSTÈME","home_view_compliance":"CONFORMITÉ","home_view_download_all_logs":"Télécharger tous les journaux","home_view_download_logs":"TÉLÉCHARGER LES JOURNAUX","home_view_download_logs_description_one":"Cette opération lance le téléchargement d\'un ensemble compressé de journaux système pouvant être utiles pour effectuer un diagnostic des erreurs affectant le système d\'exploitation, le logiciel et la mise en réseau.","home_view_download_logs_description_three":"Les journaux sont signés et chiffrés ; ils doivent être envoyés au service Énergie de Tesla à des fins d\'enquête.","home_view_download_logs_description_two":"Cela est particulièrement utile lorsque la passerelle ne peut pas être connectée au réseau et qu\'un dépannage avancé est requis.","home_view_login":"CONNEXION","home_view_logout":"DÉCONNEXION","home_view_run_wizard":"EXÉCUTER L’ASSISTANT","input_accept":"J\'accepte","input_confirm":"J\'accuse réception de tous les avertissements du système.","input_consent":"J\'accepte","input_decline":"Je refuse","input_no_consent":"Je refuse","input_title_email":"Saisissez une adresse e-mail valide : name@name.domain","installation_container_relay_section_modal_title":"Relais de basse tension de la passerelle","installation_container_residual_current_device_modal_title":"Exigence d\'installation des RCD du site","installation_container_subtitle":"Informations relatives à l’installateur et au site","installation_container_sync_relay_usage_open_off_grid":"Ouvrir le relais en situation Hors réseau","installation_container_title":"Informations sur l\'installation","installation_problem_detail_site_shutdown_0":"Pour réactiver le système :","installation_problem_detail_site_shutdown_1":"Placez tous les interrupteurs du Powerwall+ en position Marche.","installation_problem_detail_site_shutdown_2":"Fermer les arrêts d’urgence","installation_problem_detail_site_shutdown_3":"S\'assurer que les cavaliers d’arrêt rapide sont correctement installés","installation_problem_detail_site_shutdown_4":"Vérifiez le câblage du circuit d’arrêt.","installation_problem_detail_title_site_shutdown":"Circuit d’arrêt du site déclenché","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Circuit d’arrêt du site déclenché par un arrêt rapide du Powerwall+.","installation_problem_details_pvacs_with_no_solar_rgm":"Les compteurs solaires ne sont nécessaires que pour mesurer les onduleurs solaires qui ne font pas partie d’un ensemble Powerwall+. Les compteurs qui mesurent un onduleur Powerwall+ doivent être marqués comme tels sur la page Transformateurs de courant.","installation_problem_details_too_few_solar_rgm":"Le nombre de TC mesurant un onduleur solaire Powerwall+ doit correspondre au nombre d’onduleurs solaires Powerwall+. Exécutez l’assistant, jumelez le compteur Neurio si nécessaire et ajustez la configuration du TC sur la page Transformateurs de courant.","installation_problem_details_too_many_solar_rgm":"Le nombre de TC mesurant un onduleur solaire Powerwall+ doit correspondre au nombre d’onduleurs solaires Powerwall+. Exécutez l’assistant et ajustez la configuration du TC sur la page Transformateurs de courant.","installation_problem_title_pvacs_with_no_solar_rgm":"Le compteur solaire ne mesure pas l’onduleur Powerwall+. Est-ce correct ?","installation_problem_title_site_shutdown":"Circuit d’arrêt du site déclenché. Tous les Powerwalls et onduleurs solaires Powerwall+ sont désactivés.","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Circuit d’arrêt du site déclenché par un arrêt rapide du Powerwall+. Tous les Powerwalls et onduleurs solaires Powerwall+ sont désactivés.","installation_problem_title_too_few_solar_rgm":"Pas assez de compteurs solaires mesurant l’onduleur Powerwall+","installation_problem_title_too_many_solar_rgm":"Trop de compteurs solaires mesurant l’onduleur Powerwall+","installation_view_add_on_solar":"Ajouts","installation_view_additional_connections_label":"CONNEXIONS ADDITIONNELLES","installation_view_back_wiring":"Postérieure","installation_view_backup_configuration_label":"CONFIGURATION DE LA CAPACITÉ DE SECOURS","installation_view_basement_location":"Sous-Sol","installation_view_company_label":"NOM DE L\'ENTREPRISE","installation_view_company_placeholder":"Nom de l\'entreprise","installation_view_conditioned_space_location":"Espace Confiné","installation_view_existing_solar":"Existant","installation_view_floor_mounting":"Au Sol","installation_view_garage_location":"Garage","installation_view_home_label":"CÂBLAGE DU DOMICILE","installation_view_location_label":"EMPLACEMENT DE L\'INSTALLATION DU POWERWALL","installation_view_modem_ethernet":"Modem cellulaire via Ethernet?","installation_view_modem_wifi":"Modem cellulaire via Wi-Fi?","installation_view_mounting_label":"MONTAGE DU POWERWALL","installation_view_na_backup_configuration":"N/A","installation_view_new_solar":"Nouveau","installation_view_none_solar":"Absent","installation_view_outdoor_location":"En Extérieur","installation_view_pad_mounting":"Socle","installation_view_partial_home_backup_configuration":"Maison partielle","installation_view_phone_label":"TÉLÉPHONE","installation_view_phone_placeholder":"Numéro de téléphone de l\'installateur","installation_view_powerline_ethernet":"Utilisation d\'adaptateur CPL?","installation_view_pv_panel":"Panneau PV","installation_view_relay_enabled":"Ouvrir le relais en situation Hors réseau","installation_view_relay_label":"RELAIS DE BASSE TENSION DE LA PASSERELLE","installation_view_relay_options_modal_content":"En situation Sur réseau ou en cas de connexion à une autre source de tension CA, ce relais sera fermé. {lb1} En situation Hors réseau, ce relais sera ouvert. {lb1} À titre d\'exemple, ceci peut être utilisé pour permettre à une climatisation de fonctionner en situation Sur réseau, puis de ne pas fonctionner en situation Hors réseau afin d\'empêcher le courant d\'appel élevé associé de surcharger les Powerwalls.","installation_view_relay_section_modal_content":"La passerelle dispose d\'un relais intégré qui est contrôlé afin de s\'allumer et de s\'éteindre en fonction du statut du système. {lb1} Cela peut servir à contrôler un appareil externe, comme une source de charge ou d\'énergie secondaire. {lb1} Sur la Backup Gateway 1, utilisez les broches 1 et 2 du connecteur auxiliaire (grand connecteur Phoenix vert à 9 broches). {lb1} Sur la Backup Gateway 2, utilisez les broches 3 et 4 (GSO/GSI) du connecteur auxiliaire (connecteur Phoenix vert à 5 broches). {lb1} Ce relais est adapté à 60 Volts / 2 Ampères, et il est couramment utilisé avec des circuits de 12 V ou 24 V. {lb1} Revoyez le délestage de charge et les notes d\'applications s\'y rapportant pour obtenir plus de détails.","installation_view_residual_current_device":"Le RCD est-il installé en amont de la passerelle ?","installation_view_residual_current_device_modal_content":"Des dispositifs à courant résiduel (Residual Current Device, RCD) au niveau du site peuvent être requis pour certaines installations, comme des réseaux avec configuration de mise à la terre TT. {lb1}{lb2} Pour réduire le risque d\'arrêt intempestif pendant un fonctionnement Hors réseau, Tesla recommande de s\'assurer que tous les RCD en amont sont à actionnement retardé (Type S) ou de relocaliser le RCD du site après le contacteur de la passerelle, dans la mesure du possible. {lb1}{lb2} Pour un complément d\'information, consultez la Note d\'application sur le RCD et la protection contre les défaillances.","installation_view_satellite_ethernet":"Satellitaire via Ethernet?","installation_view_satellite_wifi":"Connexion Satellitaire via Wi-Fi?","installation_view_side_wiring":"Latéral","installation_view_solar_label":"INSTALLATION PHOTOVOLTAÏQUE","installation_view_solar_panels":"Panneaux solaires","installation_view_solar_roof":"Toit solaire","installation_view_solar_type_label":"TYPE D\'INSTALLATION SOLAIRE","installation_view_solarglass":"Solarglass","installation_view_stack_kit":"Utilisation du Stack Kit?","installation_view_type_commercial":"Commercial","installation_view_type_label":"INFORMATIONS SUR L\'INSTALLATION","installation_view_type_perm_off_grid":"Hors réseau de façon permanente","installation_view_type_residential":"Résidentiel","installation_view_wall_mounting":"Au Mur","installation_view_whole_home_backup_configuration":"Maison complète","installation_view_wifi_extender":"Extension Wi-Fi?","installation_view_wiring_label":"CÂBLAGE DU POWERWALL","inverter_test_view_accuracy_magnitude":"Précision Amplitude","inverter_test_view_accuracy_time":"Précision Temps","inverter_test_view_complete":"Terminé","inverter_test_view_current_magnitude":"Amplitude de courant","inverter_test_view_fail":"Échec","inverter_test_view_na":"N/A","inverter_test_view_not_run":"Non exécuté","inverter_test_view_pass":"Succès","inverter_test_view_running":"Exécution en cours","inverter_test_view_set_magnitude":"Régler l\'amplitude","inverter_test_view_set_time":"Régler l’heure","inverter_test_view_test_description":"Exécution de l’auto-test de l’onduleur","inverter_test_view_test_name_all":"Tous les tests","inverter_test_view_test_name_over_freq_stage_one":"Sur-fréquence Phase 1","inverter_test_view_test_name_over_freq_stage_two":"Sur-fréquence Phase 2","inverter_test_view_test_name_over_volt_one":"Surtension Phase 1","inverter_test_view_test_name_over_volt_two":"Surtension Phase 2","inverter_test_view_test_name_under_freq_stage_one":"Sous-fréquence Phase 1","inverter_test_view_test_name_under_freq_stage_two":"Sous-fréquence Phase 2","inverter_test_view_test_name_under_volt_one":"Sous-tension Phase 1","inverter_test_view_test_name_under_volt_two":"Sous-tension Phase 2","inverter_test_view_timestamp":"Horodatage","inverter_test_view_trip_magnitude":"Amplitude d’amorçage","inverter_test_view_trip_time":"Temps d\'amorçage","inverter_test_view_warning":"Remarque : Le test de l’onduleur peut prendre 20 à 30 minutes par onduleur.","label_fail":"Échec","label_inconclusive":"Incertain","label_pass":"Succès","legal_container_customer_policy_subtitle":"Cette partie doit obligatoirement être remplie par le propriétaire.","legal_container_customer_policy_title":"Politique de confidentialité client Tesla et Garantie limitée","legal_container_no_meters_warning":"AUCUN COMPTEUR CONFIGURÉ","legal_container_no_powerwalls_warning":"AUCUN POWERWALL DÉTECTÉ","login_type_customer":"Client","login_type_engineer":"Ingénieur","login_type_installer":"Installateur","login_view_cancel_login_auth":"Annuler la connexion","login_view_change_forgot_password":"MODIFIER LE MOT DE PASSE OU MOT DE PASSE OUBLIÉ","login_view_compliance":"CONFORMITÉ","login_view_customer_email_placeholder":"Adresse e-mail du client","login_view_email":"ADRESSE E-MAIL","login_view_email_placeholder":"E-mail du responsable de l\'installation","login_view_forgot_password":"MOT DE PASSE OUBLIÉ","login_view_forgot_password_login_type":"Veuillez sélectionner le type de connexion","login_view_language_label":"LANGUE","login_view_login_type_label":"TYPE D\'IDENTIFIANT","login_view_password_placeholder":"Saisissez votre mot de passe","login_view_start_login_auth":"DÉMARRER LE PROCESSUS DE CONNEXION","login_view_start_login_auth_how_to_enable_line_description":"Pour vous connecter, mettez le commutateur d\'activation du Powerwall en position d\'arrêt, puis remettez-le en position de marche. Pour les systèmes comprenant plusieurs Powerwall, vous ne devez basculer qu\'un seul commutateur","login_view_username":"NOM D\'UTILISATEUR","login_view_username_placeholder":"Nom d\'utilisateur","login_warning_view_expand":"Si l’Assistant ne démarre pas {click}.","login_warning_view_firmware_update":"Lorsqu\'une mise à jour du microprogramme est en cours","login_warning_view_heading":"{warning} Le lancement de l\'assistant arrête le fonctionnement de la batterie.","login_warning_view_protect_system":"Pour protéger le système, l’Assistant ne démarre pas","login_warning_view_stop_operation":"Démarrage forcé de l\'Assistant (Force Launch Wizard)","login_warning_view_supported_browsers":"{warning} Les seuls navigateurs Web pris en charge actuellement sont Chrome et Safari.","login_warning_view_system_force_launch":"Si vous voulez démarrer l’Assistant et interrompre le fonctionnement du système, sélectionnez Démarrage forcé de l\'Assistant.","login_warning_view_system_off_grid":"Lorsque le système est déconnecté du réseau électrique","login_warning_view_warning_click":"cliquez ici pour en savoir plus","mater_item_view_bad_barcode":"Code-barres incorrect scanné","mater_item_view_barcode_scan_failed":"Échec de scan du code-barres","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"Batterie","meter_aggregate_type_load":"Charger","meter_aggregate_type_site":"Site","meter_aggregate_type_solar":"Solaire","meter_container_add_meter_error":"Vérification du compteur","meter_container_add_meter_status":"Ajout d\'un compteur","meter_container_authorizing_status":"Autorisation en cours","meter_container_decode":"Impossible de déchiffrer le numéro de série à partir de l’image.","meter_container_detecting_status":"Détection des compteurs câblés","meter_container_failed_status":"Échec de l’ajout du compteur","meter_container_reconnecting_status":"Reconnexion","meter_container_skip_title":"Aucun compteur n\'a été mis en service. Voulez-vous vraiment continuer ?","meter_container_starting_status":"Démarrage","meter_container_subtitle":"Saisissez les identifiants courts et les numéros de série de chaque compteur d’énergie pour les connecter au Gateway. Testez chaque compteur après sa mise en service.","meter_container_subtitle_industrial":"Saisissez la ou les adresses IP et le ou les emplacements des compteurs d’énergie pour vous connecter. Testez chaque compteur après sa mise en service.","meter_container_success_status":"Compteur ajouté avec succès","meter_container_title":"Compteurs","meter_container_unknown_status":"Inconnu","meter_container_updating_status":"Mise à jour du compteur","meter_container_verification":"Vérification du compteur {id}","meter_container_verification_gw1":"Pendant le processus de couplage Wi-Fi, vous pouvez être temporairement déconnecté du réseau Wi-Fi de la passerelle. {lb} Assurez-vous de vous reconnecter au bon réseau. Ceci peut prendre jusqu\'à 3 minutes.","meter_container_verification_gw2":"Le processus de couplage Wi-Fi peut prendre jusqu\'à trois minutes.","meter_container_verify_meter_error":"Vérification du compteur","meter_container_verifying_status":"Vérification du compteur","meter_item_view_add_failed":"Échec de l’ajout du compteur","meter_item_view_add_failed_help":"Vérifiez le numéro d\'identification abrégé et le numéro de série. Démarrez le compteur et effectuez la connexion lorsque le compteur émet un son. Si le problème persiste, supprimez le compteur et réessayez.","meter_item_view_advanced_settings":"PARAMÈTRES AVANCÉS (FACULTATIF)","meter_item_view_battery_ct":"Batterie","meter_item_view_battery_location":"Batterie","meter_item_view_check_meter":"VÉRIFIER CONNEXION COMPTEUR {id}","meter_item_view_conductor_location":"Conducteur","meter_item_view_cts":"{count} TC détecté(s)","meter_item_view_doubled_solar_location":"Solaire doublé","meter_item_view_generator_location":"Générateur","meter_item_view_ip_address":"ADRESSE IP","meter_item_view_load_location":"Charger","meter_item_view_mac_address":"ADRESSE MAC","meter_item_view_meter_location":"EMPLACEMENT DU COMPTEUR","meter_item_view_none_location":"Absent","meter_item_view_remote_ip_address_placeholder":"p.ex., 123.123.123.123","meter_item_view_remote_mac_address_placeholder":"p.ex., 12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"p.ex., OBB1231231234, VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"p.ex., 01.234","meter_item_view_serial":"SÉRIE","meter_item_view_short_id":"ID COURT","meter_item_view_site_ct":"Site","meter_item_view_site_location":"Site","meter_item_view_solar_ct":"Solaire","meter_item_view_solar_location":"Solaire","meter_item_view_solar_rgm_location":"Revenu solaire uniquement","meter_item_view_success":"CONNEXION RÉUSSIE !","meter_item_view_unable":"LECTURE DU COMPTEUR IMPOSSIBLE !","meter_item_view_upgrading":"LE COMPTEUR EST EN COURS DE MISE À NIVEAU !","meter_list_view_add":"AJOUTER UN COMPTEUR WI-FI","meter_list_view_add_ip":"AJOUTER COMPTEUR IP","meter_list_view_detect":"DÉTECTER COMPTEURS CÂBLÉS","meter_list_view_enable_inverter_readings":"Activer les relevés de l\'onduleur de la batterie","meter_list_view_inverter_meter":"COMPTEURS DE L\'ONDULEUR","meter_list_view_inverter_meter_desc":"En cas d\'activation et d\'absence de compteurs de la batterie configurés, le contrôleur de site utilise les relevés provenant des onduleurs de la batterie en tant que compteur de la batterie.","meter_msa_id":"COMMUTATEUR DE SECOURS {id}","meter_sync_id":"COMPTEUR DE SYNCHRONISATION {id}","meter_sync_x_id":"Compteur principal interne (Passerelle) {id}","meter_sync_y_id":"Compteur auxiliaire interne (Passerelle) {id}","meter_update_modal_fetch_status_error":"Erreur : Récupération du statut de mise à jour du compteur impossible","meter_update_modal_footer":"La mise à jour du compteur peut prendre jusqu\'à 2 minutes","meter_update_modal_remaining_time":"Temps restant: {seconds} secondes","meter_update_modal_timeout_error":"Erreur : Le temps d\'attente a été dépassé lors de la mise à jour du compteur","meter_update_modal_title":"La mise à jour du compteur est en cours","meter_validation_container_error":"Validation du compteur non disponible pendant l\'exécution du contrôleur de site.","meter_validation_container_error_placeholder":"Validation du compteur non disponible : {error}.","meter_validation_container_power_command":"Commande de puissance","meter_validation_container_power_start":"Démarrer","meter_validation_container_power_stop":"Feu stop","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"Commande de puissance réactive","meter_validation_container_real_power_command":"Commande de puissance réelle","meter_validation_container_show_per_phase":"Indiquer les valeurs par phase","meter_validation_container_title":"Validation du compteur","meter_validation_container_usage":"Envoyez une commande de puissance et validez les données du compteur. Vous devez demeurer sur cette page pour que la commande de puissance soit continue. Des valeurs négatives entraîneront le chargement du système. Des valeurs positives entraîneront le déchargement du système.","meter_validation_control_subtitle":"commande","meter_validation_control_title":"Titre de la commande","meter_validation_disable":"Désactiver","meter_validation_loading":"Chargement","meter_validation_menu":"Menu","meter_validation_reset":"Réinitialiser","meter_validation_submit":"Envoyer","meter_validation_submitting_control":"Envoi de la commande","meter_validation_title":"Validation du compteur","meter_validation_view_apparent_power":"Puissance apparente (kVA)","meter_validation_view_battery_location":"Batterie","meter_validation_view_conductor_location":"Conducteur","meter_validation_view_current":"Courant (A)","meter_validation_view_doubled_solar_location":"Solaire doublé","meter_validation_view_generator_location":"Générateur","meter_validation_view_hz":"Hz","meter_validation_view_inverters":"Onduleurs ({length})","meter_validation_view_ka":"kA","meter_validation_view_kv":"kV","meter_validation_view_kvar":"kVAr","meter_validation_view_kw":"kW","meter_validation_view_kwh":"kWh","meter_validation_view_load_location":"Charger","meter_validation_view_meter":"Compteurs ({length})","meter_validation_view_none_location":"Absent","meter_validation_view_pf":"Facteur de puissance","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"Moyenne","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"Total","meter_validation_view_reactive_power":"Puissance réactive (kVAr)","meter_validation_view_real_power":"Puissance réelle (kW)","meter_validation_view_site_location":"Site","meter_validation_view_solar_location":"Solaire","meter_validation_view_solar_rgm_location":"Revenu solaire uniquement","meter_validation_view_voltage":"Tension (V)","meter_w1_wifi_id":"COMPTEUR {id}","meter_w1_wired_id":"COMPTEUR CÂBLÉ {id}","meter_w2_wifi_id":"COMPTEUR {id}","meter_w2_wired_id":"COMPTEUR CÂBLÉ {id}","meter_wifi_id":"COMPTEUR {id}","meter_wired_id":"COMPTEUR CÂBLÉ {id}","metrics_aggregate":"Système","metrics_apparent_power":"Puissance apparente ({unit})","metrics_battery":"Batterie","metrics_current":"Courant ({unit})","metrics_meter":"Compteur","metrics_no_metrics":"Pas de mesure à afficher.","metrics_power_factor":"Facteur de puissance","metrics_reactive_power":"Puissance réactive ({unit})","metrics_real_power":"Puissance réelle ({unit})","metrics_subtitle":"Mesures","metrics_voltage_l_n":"Tension L-N ({unit})","modal_acknowledge":"VALIDER","modal_confirm":"CONFIRMER","modal_exit":"QUITTER","modal_no":"NON","modal_note":"Note","modal_ok":"OK","modal_reconfigure":"RECONFIGURER","modal_yes":"OUI","modbus_container_title":"Interface Modbus","modbus_table_register_address":"Adresse","modbus_table_register_name":"Nom","modbus_table_register_type":"Type","modbus_table_register_value":"Valeur","modbus_table_register_value_decimal":"Valeur (décimale)","modbus_table_register_value_hex":"Valeur (hex)","msa-off-grid":"Hors réseau","msa-on-grid":"Sur le réseau","navigation_email":"ADRESSE E-MAIL","network-switch-menu-item":"Commutateurs réseau","network_cellular_configured":"Configuré(e), mais pas connecté(e). Assurez-vous que le réseau cellulaire est disponible et qu\'il n\'y a aucun obstacle autour de l\'antenne.","network_connected":"Connecté","network_container_connect_ethernet":"Connexion à Ethernet","network_container_connect_to_internet":"Veuillez patienter pendant que le système tente de se connecter à Internet.","network_container_connect_wifi":"Connexion à {ssid}","network_container_connect_wifi_description":"Pendant ce processus, il se peut que vous deviez vous reconnecter au réseau Passerelle pour continuer l\'installation.","network_container_connman":"Le gestionnaire de connexion au réseau se connecte de manière dynamique au meilleur réseau.","network_container_connman_body":"Pour assurer la connectivité, configurez tous les types de connexions disponibles :","network_container_delete_network":"Supprimer le réseau configuré?","network_container_ethernet_and_wifi_warning":"Configurez les réseaux Ethernet et Wi-Fi disponibles pour assurer la connectivité.","network_container_ethernet_subtitle":"Ethernet","network_container_ethernet_warning":"Configurez les réseaux Ethernet disponibles pour assurer la connectivité.","network_container_network_description":"Connectez-vous à Internet avec tous les types de réseaux disponibles.","network_container_network_subtitle":"Réseau","network_container_no_internet_bullet_four":"Le Powerwall peut transmettre des données de performances à Tesla pour permettre à l\'Assistance technique d\'identifier les problèmes","network_container_no_internet_bullet_four_industrial":"Les appareils peuvent transmettre des données de performances à Tesla pour permettre à l’Assistance technique d’identifier les problèmes","network_container_no_internet_bullet_one":"Les informations d\'enregistrement du Powerwall sont transmises à Tesla dans le but d\'activer la garantie totale de 10 ans","network_container_no_internet_bullet_three":"Le client peut utiliser l\'application mobile Tesla pour suivre sa consommation d\'énergie et contrôler le Powerwall","network_container_no_internet_bullet_two":"Le Powerwall peut recevoir les mises à jour à distance du microprogramme pour améliorer ses performances et bénéficier de nouvelles fonctionnalités","network_container_no_internet_bullet_two_industrial":"Les appareils peuvent recevoir les mises à jour à distance du microprogramme pour améliorer ses performances et bénéficier de nouvelles fonctionnalités","network_container_no_internet_bullet_zero":"Il est possible de déterminer si une mise à jour du microprogramme est nécessaire avant la mise en service","network_container_no_internet_no_cell_title":"Si une connexion Internet est disponible sur ce site, merci de compléter cette étape. Connectez le Powerwall au service Internet du client par Ethernet (de préférence) ou par Wi-Fi.","network_container_no_internet_title":"Si une connexion Internet est disponible sur ce site, merci de compléter cette étape. Connectez le Powerwall au service Internet du client par Ethernet (de préférence) ou par Wi-Fi, ou établissez une connexion cellulaire.","network_container_no_internet_warning":"Il est important d’établir une connexion Internet robuste afin que","network_container_scan_networks":"Lister les réseaux Wi-Fi","network_container_scan_wifi_disconnect_warning":"Attention: Lister les réseaux Wi-Fi déconnectera temporairement la connection Wi-Fi actuelle.","network_container_wifi_subtitle":"Wi-Fi","network_container_wifi_warning":"Configurez les réseaux Wi-Fi disponibles pour assurer la connectivité.","network_disabled":"Désactivé","network_disconnected":"Déconnecté","network_ethernet_configured":"Configuré(e), mais pas connecté(e). Vérifiez la connexion du câble Ethernet.","network_switches_container_discover_failure":"Dernier échec de recherche : {error}","network_switches_container_discover_switches":"Découvrez les commutateurs réseau","network_switches_container_discovered_label":"Commutateurs réseau découverts","network_switches_container_discovering_stop_button":"Cessez la recherche","network_switches_container_discovery_switches_running_label":"Exécution en cours de la découverte de commutateurs réseau. Vous pouvez cesser la recherche ci-dessous.","network_switches_container_ip":"IP : {ip}","network_switches_container_mac":"MAC : {mac}","network_switches_container_not_supported":"Les commutateurs réseau sont pris en charge seulement sur les systèmes industriels.","network_switches_container_password_not_set":"Le mot de passe n’est pas défini","network_switches_container_password_set":"Le mot de passe est défini","network_switches_container_passwords_error":"État de définition du mot de passe : {status}","network_switches_container_set_password_label":"Définir le mot de passe sur tous les Commutateurs réseau utilisant encore le mot de passe défini par l\'usine.\\n Tous les mots de passe seront définis sur une même valeur.","network_switches_container_set_passwords":"Définir les mots de passe","network_switches_container_set_passwords_button":"Définir le mot de passe","network_switches_container_setting_passwords_button":"Mot de passe en cours de définition...","network_switches_container_start_discovering_button":"Lancez la découverte","network_switches_container_start_discovery_help":"La découverte des commutateurs réseau s’effectue automatiquement et périodiquement mais elle peut être déclenchée par le bouton Start Discovery.","network_switches_container_subtitle":"Affichez les commutateurs réseau","network_switches_container_title":"Commutateurs réseau","network_view_check_connection":"VÉRIFIER LA CONNEXION INTERNET","network_view_connection_failed":"NON CONNECTÉ !","network_view_connection_success":"CONNEXION RÉUSSIE !","network_view_continue_no_internet":"CONTINUER SANS INTERNET","network_view_default_error":"Erreur de connexion","network_view_local_network_connected":"Réseau local connecté","network_view_local_network_disconnected":"Erreur du réseau local","network_view_tesla_internet_connected":"Connecté(e) aux services Tesla et à Internet","network_view_tesla_internet_disconnected":"Erreur de la connexion aux Services Tesla et à Internet","network_warning":"Avertissement","network_wifi_configured":"Configuré(e), mais pas connecté(e). Vérifiez vos paramètres Wi-Fi.","open_meter_validatiion_container_title":"Validation du compteur ouvert","operation_mode_autonomous":"Mode autonome","operation_mode_backup":"Charge de secours uniquement","operation_mode_self_consumption":"Mode d\'autoconsommation","operation_mode_site_control":"Contrôle de site","overview_menu_control_title":"commande","overview_menu_diagnostics_title":"Diagnostics","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"Connecté","overview_menu_network_no_connection":"Aucune connexion","overview_menu_registration_complete":"Terminé","overview_menu_registration_incomplete":"Inachevé","overview_menu_registration_pending":"Connexion Internet en attente","overview_menu_security_title":"Modifier ou réinitialiser le mot de passe","overview_menu_settings_title":"Paramètres","overview_menu_summary_title":"Synthèse","overview_menu_system_title":"Système","overview_menu_update_title":"Mise à jour du logiciel","overview_menu_view_alerts_event":"Événement","overview_menu_view_alerts_events":"Événements","overview_menu_view_inverter_title":"Test de l’onduleur","overview_menu_view_network_title":"Réseau","overview_menu_view_registration_title":"Enregistrement","overview_menu_view_test_title":"Auto-test","overview_meter_validation_title":"Validation du compteur","password_generate_error":"Une erreur s’est produite lors de la création du nouveau mot de passe. Vérifiez la connectivité et le nouveau mot de passe, puis essayez à nouveau.","password_generate_help_text":"Saisir le mot de passe existant pour générer un nouveau mot de passe aléatoire.","password_generate_menu_title":"Modifier le mot de passe","password_generate_notice":"Le mot de passe a été changé. Enregistrez le nouveau mot de passe avant de quitter cette page.","phase_container_detect_timeout":"Délai d\'attente de la détection de phase dépassé","phase_container_detection_attempt":"Tentative n° {num}","phase_container_grid_code_validating_modal_title":"Validation du code réseau","phase_container_grid_compliant_description":"Conforme réseau {checkmark}","phase_container_grid_modal_description":"Le réseau sera conforme dans {time} secondes.","phase_container_grid_modal_title":"Attente de la conformité réseau","phase_container_modal_description":"La détection de phase peut prendre jusqu\'à deux minutes par Powerwall.","phase_container_modal_title":"Détection de phase en cours d\'exécution","phase_container_saving_phases_modal_title":"Enregistrement des phases","phase_container_subtitle":"Afficher la ligne sur laquelle chaque Powerwall est activé et mettre à jour le statut de la ligne","phase_container_supported_error":"Aucun Powerwall détecté. La détection de phase n\'est pas prise en charge.","phase_container_title":"Phase","phase_container_voltage_caution_body":"Tension {voltage}V inattendue détectée sur {lineNumber}. Vérifiez à nouveau que {lineStatus} est le paramètre approprié pour cette phase.","phase_container_warning_body":"Aucune phase de secours n\'a été sélectionnée. Le système ne peut donc prendre en charge aucune charge quand la connexion au réseau est perdue.","phase_container_warning_modal_header":"La sauvegarde est désactivée","phase_line_id":"Ligne-{id}","phase_line_item_view_line":"Ligne","phase_line_item_view_line_status_backup":"Fonction de secours","phase_line_item_view_line_status_configured":"Pas de sauvegarde","phase_line_item_view_line_status_not_configured":"Non configuré(e)","phase_line_status_backup":"Fonction de secours","phase_line_status_configured":"Pas de sauvegarde","phase_line_status_not_configured":"Non configuré(e)","phase_view_detect":"DÉTECTER LES PHASES","phase_view_split_phase":"Phase auxiliaire","power_flow_view_go_off_grid":"ALLER HORS RÉSEAU","power_flow_view_go_on_grid":"ALLER SUR LE RÉSEAU","power_flow_view_grid_button_disabled_reason":"Le système doit être lancé pour aller hors réseau.","power_flow_view_grid_spinner_alt_label":"Système en cours de transition","power_flow_view_start_system":"DÉMARRER LE SYSTÈME","power_flow_view_stop_system":"ARRÊTER LE SYSTÈME","powerwall_container_industrial_no_additional_title":"Pas de bloc de batterie supplémentaire trouvé","powerwall_container_industrial_subtitle":"La liste répertorie tous les blocs de batterie automatiquement détectés par le contrôleur de site. Effectuez une nouvelle recherche si le bloc de batterie n’est pas répertorié.","powerwall_container_industrial_subtitle_auto_detection":"La liste répertorie tous les blocs de batterie automatiquement détectés par le contrôleur de site. Si un bloc de batterie n’est pas répertorié, vérifiez l’équipement du réseau y compris le câblage, puis assurez-vous que les contrôleurs de bus sont activés.","powerwall_container_industrial_title":"Bloc de batterie","powerwall_container_industrial_updating":"Vérification des blocs de batterie","powerwall_container_no_additional_powerwalls_description":"Reportez-vous au Manuel d\'installation du Powerwall pour obtenir des conseils et résoudre les éventuels problèmes de câblage.","powerwall_container_no_additional_powerwalls_title":"Aucun autre Powerwall n’a été détecté","powerwall_container_scan_again":"NOUVELLE RECHERCHE","powerwall_container_scanning":"Recherche en cours","powerwall_container_scanning_for_more":"Recherche d’appareils supplémentaires","powerwall_container_subtitle":"Les Powerwalls détectés automatiquement par le Gateway sont affichés ci-dessous. Effectuez une nouvelle recherche si aucun Powerwall n’est affiché.","powerwall_container_subtitle_component_auto_detection":"Tous les composants automatiquement détectés par la Passerelle sont répertoriés. Vérifiez le câblage si un composant n’est pas répertorié.","powerwall_container_title":"Powerwall","powerwall_container_updating":"Vérification des Powerwalls","powerwall_container_updating_note":"Remarque : Cela peut prendre jusqu\'à 60 secondes par Powerwall.","powerwall_item_view_blank_numbers":"En attente de vérification…","powerwall_item_view_numbers":"Numéro d\'article:{partNumber} Numéro de série:{serialNumber}","powerwall_item_view_powerwall":"POWERWALL : {id}","powerwall_pairing_cancel":"Annuler","powerwall_pairing_connect":"Connexion","powerwall_pairing_done":"Effectué","powerwall_pairing_error_already_paired":"Échec d\'appairage : dispositif déjà appairé","powerwall_pairing_error_bad_pairing_response":"Échec d\'appairage : le dispositif refuse l’appairage. Assurez-vous que le suiveur a bien été arrêté","powerwall_pairing_error_bad_qr_code":"Ceci n’est pas un code QR WiFi","powerwall_pairing_error_changes_prohibited":"Échec d\'appairage : Interdit","powerwall_pairing_error_internal":"Échec d\'appairage : erreur interne","powerwall_pairing_error_no_qr_code":"Aucune code QR n\'a été trouvé","powerwall_pairing_error_no_response":"Échec d\'appairage : le dispositif ne répond pas.","powerwall_pairing_error_not_leader":"Échec d\'appairage : il s\'agit d\'un dispositif de suivi. Reconnectez-le au dispositif principal.","powerwall_pairing_error_prohibited_uncommissioned":"Échec d\'appairage : ce Powerwall n\'a pas encore été mis en service","powerwall_pairing_error_too_many_devices":"Échec d\'appairage : le nombre maximum de dispositifs sont déjà connectés.","powerwall_pairing_error_unknown":"Échec d\'appairage : Erreur inconnue","powerwall_pairing_error_wifi_connection_failed":"Échec d\'appairage : Impossible de se connecter au WiFi. Vérifiez le mot de passe.","powerwall_pairing_error_wifi_not_found":"Échec d\'appairage : Réseau WiFI introuvable","powerwall_pairing_exception":"Échec d\'appairage : Exception","powerwall_pairing_instructions_2":"Saisir ou scanner le SSID WiFi et le mot de passe pour appairer le Powerwall. Recherchez un code QR sur le dispositif.","powerwall_pairing_password_label":"Mot de passe :","powerwall_pairing_scan_qr_code":"scanner le code QR","powerwall_pairing_ssid_label":"SSID :","powerwall_pairing_state_complete":"Appairage complet. Le nouveau dispositif peut ne pas commencer à répondre avant une minute ou plus (si une mise à jour est en cours). Cliquez sur Done (Terminé) pour Annuler","powerwall_pairing_state_monitoring":"Apparaige du nouveau dispositif. Ceci peut prendre jusqu\'à une minute.","powerwall_starting":"Démarrage du Powerwall","powerwall_view_detected_backup":"Capacité de secours détectée","powerwall_view_detected_synchrometers":"Capacité de compteur détectée","powerwall_view_failed":"ÉCHEC","powerwall_view_no_backup":"Aucune capacité de secours détectée","powerwall_view_no_sync":"Aucun synchronisateur détecté","powerwall_view_scan":"RECHERCHER","powerwall_view_success":"SUCCÈS","powerwall_view_synchrometer_detected":"Compteurs de synchronisation détectés","powerwall_view_synchronizer_detected":"Synchronisateur détecté","powerwall_view_update":"VÉRIFIER LES POWERWALLS","privacy_policy_view_accept_warranty_title":"Accepter la Garantie limitée du Powerwall Tesla","privacy_policy_view_contact_bullet_one":"par e-mail à l\'adresse {privacyEmail} ;","privacy_policy_view_contact_bullet_two":"Par courrier à l\'adresse Tesla Inc. Attn : Legal 45500 Fremont Boulevard Fremont California 94538 États-Unis.","privacy_policy_view_contact_header":"Comment nous contacter","privacy_policy_view_contact_paragraph_one":"Pour nous transmettre une question ou un commentaire, ou pour vous désinscrire de certains services, veuillez nous contacter :","privacy_policy_view_contact_paragraph_three":"Si vous résidez dans un pays de l\'EEE ou en Suisse, la filiale Tesla locale peut être l\'entité responsable du traitement de vos informations personnelles.","privacy_policy_view_contact_paragraph_two":"Veuillez noter que les communications par e-mail ne sont pas toujours sûres, veuillez donc ne pas y indiquer des informations concernant des cartes de crédit ou des informations sensibles.","privacy_policy_view_cross_border_transfers_header":"Transferts transfrontaliers","privacy_policy_view_cross_border_transfers_paragraph_one":"Les Services sont contrôlés et exploités à partir des États-Unis. Des Informations provenant de/à propos de vous ou de votre utilisation de nos produits ou des Services peuvent être stockées et analysées dans n’importe quel pays où nous sommes implantés ou dans lequel nous engageons des prestataires de services. Ces pays peuvent appliquer des lois sur la protection des données différentes de celles du pays dans lequel vous avez initialement fourni les données. Lorsque nous transférons des informations provenant de/à propos de vous ou de votre utilisation de nos produits ou des Services vers d\'autres pays, nous les protégeons comme décrit dans la présente Politique de confidentialité. En utilisant nos produits, les Services, ou en nous fournissant des informations par tout autre moyen, vous acceptez le transfert des informations provenant de/à propos de vous ou de votre utilisation de nos produits ou des Services vers des pays autres que votre pays de résidence, y compris les États-Unis.","privacy_policy_view_cross_border_transfers_paragraph_two":"Si vous êtes situé dans l\'EEE ou en Suisse, nous nous conformons aux prescriptions légales applicables assurant une protection adéquate des informations personnelles transférées à destination de pays en dehors de l\'EEE ou de la Suisse. Tesla a certifié son adhésion au Programme Privacy Shield EU-États-Unis mis en place par le Département du Commerce et la Commission européenne concernant le traitement de certaines informations personnelles transférées de l’EEE à Tesla et ses filiales en propriété exclusive aux États-Unis. La politique {privacyShield} de Tesla est disponible ici.","privacy_policy_view_devices":"Provenant de/à propos de vous ou de vos appareils","privacy_policy_view_energy_products":"Provenant de vos produits Tesla Energy ou les concernant","privacy_policy_view_eu_policy_warning":"Vous devez accepter la Politique de confidentialité pour enregistrer votre Powerwall et suivre ses informations via l\'application mobile Tesla.","privacy_policy_view_eu_warranty_warning":"Si vous n’acceptez pas la Politique de confidentialité client Tesla, nous ne pourrons honorer la totalité de votre Garantie de dix ans. Tesla honorera votre Garantie pendant au moins quatre ans à compter de la date de première installation de votre Powerwall, sous réserve des exclusions et des limitations décrites dans la Garantie {warrantyLink}.","privacy_policy_view_grid_services":"Votre Powerwall est capable d\'optimiser la fiabilité du réseau électrique en proposant des services dans le cadre de programmes facultatifs mis en place par des fournisseurs d\'énergie ou des tiers. Ces services consistent généralement à décharger partiellement votre Powerwall aux moments opportuns en échange d\'une compensation financière, et nécessitent que vous partagiez votre consommation électrique ainsi que les informations de votre Powerwall avec les fournisseurs d\'énergie ou des tiers. Avant de vous proposer de rejoindre l\'un de ces programmes, nous vous indiquerons les détails de ces derniers et vous offrirons la possibilité de vous en retirer le cas échéant. Si vous ne vous retirez pas à ce moment-là, vous serez inscrit au programme.","privacy_policy_view_grid_services_title":"Services au réseau","privacy_policy_view_grid_warning":"Vous n\'êtes pas obligé d\'accepter. Si vous refusez, nous vous offrirons la possibilité de rejoindre ces programmes ultérieurement.","privacy_policy_view_here":"ici","privacy_policy_view_homeowner_na":"PROPRIÉTAIRE DU DOMICILE NON DISPONIBLE","privacy_policy_view_homeowner_required":"Cette partie doit obligatoirement être remplie par le propriétaire","privacy_policy_view_information_collection_devices_bullet_five":"Par l\'intermédiaire de votre navigateur ou de votre appareil : Certaines informations sont collectées par la plupart des navigateurs ou automatiquement par l\'intermédiaire de votre appareil, comme par exemple votre adresse MAC (Media Access Control), le type d\'ordinateur (Windows ou Macintosh), la résolution de l\'écran, le nom et la version du système d\'exploitation, le fabricant et le modèle de l\'appareil, la langue utilisée, le type et la version du navigateur Internet ainsi que le nom et la version des Services (par exemple les Tesla App) que vous utilisez. Nous utilisons ces informations afin d’assurer que les Services puissent fonctionner correctement.","privacy_policy_view_information_collection_devices_bullet_four":"Hors ligne : Nous sommes susceptibles de collecter des informations auprès de vous ou vous concernant hors ligne, par exemple lorsque vous vous rendez dans un magasin ou un centre de réparation Tesla, lorsque vous assistez à l\'un de nos événements, lorsque vous vous inscrivez en vue d\'un essai de conduite, lorsque vous passez une commande par téléphone ou encore lorsque vous contactez notre service clientèle ou notre service commercial.","privacy_policy_view_information_collection_devices_bullet_one":"Via nos Services : Nous sommes susceptibles de collecter des informations auprès de vous ou vous concernant via nos sites Web, applications logicielles, pages de médias sociaux, e-mails ou autres services numériques (les « Services »), par exemple lorsque vous vous abonnez à une lettre d\'information, faites un achat ou enregistrez votre produit auprès de notre société.","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla : Les clients qui achètent certains produits Tesla recevront un compte My Tesla hébergé sur notre site Web. Il se peut que nous collections et traitions les types de données suivants, que vous choisissez de nous communiquer, pour votre compte My Tesla : vos informations d\'enregistrement de client ; le statut de votre commande ; la garantie ou d\'autres documents relatifs à vos produits Tesla ; ainsi que des informations d\'ordre général sur vos produits Tesla (notamment le numéro d\'identification du véhicule ou un autre numéro de série de produit, des informations sur le programme d\'entretien ou le module de connexion), les formulaires d\'assurance, le permis de conduire, les contrats de financement et autres. À tout moment, vous pouvez accéder à votre compte My Tesla pour mettre à jour les informations collectées auprès de vous ou vous concernant.","privacy_policy_view_information_collection_devices_bullet_two":"Via d\'autres sources : Nous sommes également susceptibles de recevoir des informations vous concernant et provenant d\'autres sources, par exemple de bases de données publiques, de partenaires de marketing, d\'installateurs agréés, de centres de réparation ou de services tiers ainsi que de plateformes de médias sociaux.","privacy_policy_view_information_collection_energy_products_bullet_one":"Nous sommes susceptibles de collecter des informations concernant votre produit, comme la date d\'installation, le nombre de produits installés et le(s) numéro(s) de série.","privacy_policy_view_information_collection_energy_products_bullet_two":"Pour améliorer la qualité de nos produits et de nos services, nous sommes susceptibles de collecter des données concernant l\'endroit où votre produit est installé et sa configuration, des données concernant l\'utilisation et les performances du produit, des données concernant votre consommation globale d\'énergie domestique ainsi que d\'autres données utilisées afin de diagnostiquer des problèmes.","privacy_policy_view_information_collection_header":"Informations que nous pouvons collecter","privacy_policy_view_information_collection_paragraph_five":"Si vous ne voulez plus que nous collections des données de performance ni d\'autres données provenant de votre produit Tesla Energy, veuillez nous contacter comme indiqué dans le paragraphe ”Comment nous contacter” ci-dessous. Veuillez noter que si vous choisissez de mettre fin à la collecte de données de performance provenant de votre produit Tesla, nous ne pourrons pas vous avertir en temps réel d\'éventuels problèmes concernant votre produit énergétique. Cela pourra par conséquent entraîner une dégradation des performances de votre produit énergétique, de graves dommages, voire l’impossibilité d\'utiliser votre produit. Cela pourra également entraîner la désactivation de nombreuses fonctionnalités de votre produit énergétique, et notamment des mises à jour régulières des logiciels et micrologiciels.","privacy_policy_view_information_collection_paragraph_four":"Nous sommes susceptibles de collecter différentes informations à partir de vos produits Tesla Energy ou les concernant par l\'intermédiaire d\'un installateur agréé ou à partir des produits installés (directement ou via des équipements jumelés, comme un onduleur), notamment :","privacy_policy_view_information_collection_paragraph_one":"Nous recueillons trois principaux types d\'informations vous concernant ou concernant votre utilisation de nos produits et services : (1) informations provenant de/à propos de vous ou de vos appareils ; (2) informations provenant de votre véhicule Tesla ou le concernant ; et (3) informations provenant de vos produits Tesla Energy ou les concernant. Selon les produits et services Tesla que vous demandez, possédez ou utilisez, il se peut que certains types d\'informations ne vous concernent pas.","privacy_policy_view_information_collection_paragraph_three":"Lorsque vous visitez notre site Web, ou lorsque vous utilisez nos Services d\'une quelconque manière, nous sommes susceptibles d\'utiliser des cookies, balises Web, outils d\'analyse et autres technologies similaires pour faciliter la fourniture et l\'amélioration de nos Services, comme indiqué ci-dessous :","privacy_policy_view_information_collection_paragraph_two":"Nous sommes susceptibles de collecter des informations auprès de vous ou vous concernant (comme vos nom, adresse, numéro de téléphone, e-mail, informations de paiement, etc.) ou concernant vos appareils, de différentes façons, notamment :","privacy_policy_view_information_collection_services_bullet_five":"Vous pouvez vous informer sur les pratiques de Google concernant cette collecte d’informations et sur la façon de vous désinscrire en téléchargeant l\'option Désactivation de Google Analytics, accessible à l\'adresse {website}.","privacy_policy_view_information_collection_services_bullet_four":"Outils d\'analyse : Nous avons recours à des services d\'analyse de sites Web et d\'applications fournis par des tiers qui utilisent des cookies ou d\'autres technologies comparables pour collecter des informations concernant l\'utilisation des sites Web ou des applications et pour étudier les tendances sans identifier les visiteurs individuels. Les tiers qui nous fournissent ces services peuvent également collecter des informations concernant votre utilisation de sites Web tiers.","privacy_policy_view_information_collection_services_bullet_one":"Cookies : Les cookies sont des éléments d’information stockés directement sur l’ordinateur que vous utilisez. Les cookies nous permettent de récupérer des informations comme le type de navigateur que vous utilisez, le temps que vous passez sur les pages Services, vos préférences linguistiques et d\'autres données de navigation en ligne. Nos prestataires de services et nous-mêmes utilisons ces informations à des fins de sécurité, pour faciliter votre navigation en ligne, pour vous fournir des informations plus ciblées, pour personnaliser votre expérience d\'utilisation des Services et pour analyser l\'activité des utilisateurs. Nous pouvons identifier votre ordinateur pour vous assister dans votre utilisation des Services. Nous recueillons également des informations statistiques concernant l\'utilisation des Services afin d\'améliorer en continu leur conception et leur fonctionnement, afin de mieux comprendre comment les Services sont utilisés et afin de mieux répondre aux questions éventuelles à propos des Services. En outre, les cookies nous permettent de sélectionner et de vous présenter les publicités et les offres qui sont les plus susceptibles de vous plaire. Nous pouvons aussi utiliser des cookies dans les publicités en ligne pour voir comment vous interagissez avec nos publicités et nous pouvons utiliser des cookies ou d\'autres fichiers pour comprendre la manière dont vous utilisez d\'autres sites Web.","privacy_policy_view_information_collection_services_bullet_three":"Balises Web et autres technologies comparables : Les balises Web (autrement connues comme pixels invisibles et GIF invisibles) peuvent être utilisées en relation avec certains Services afin, entre autres, de tracer les actions d\'utilisateurs des Services (y compris les destinataires d\'e-mails), de mesurer la réussite de nos campagnes marketing et de compiler des statistiques relatives à l\'utilisation des Services et aux taux de réponse.","privacy_policy_view_information_collection_services_bullet_two":"Si vous ne voulez pas que des informations soient collectées grâce à l\'utilisation de cookies lorsque vous utilisez votre compte My Tesla ou notre site Web, sachez que la plupart des navigateurs proposent une procédure simple qui vous permet de refuser automatiquement les cookies ou qui vous permet de refuser ou d\'accepter le transfert vers votre ordinateur d\'un cookie spécifique (ou de plusieurs cookies) à partir d\'un site donné. Nous vous conseillons de consulter {website}. Cependant, si vous n\'acceptez pas ces cookies, il se peut que votre expérience d\'utilisation des Services en pâtisse. Par exemple, il se peut que nous ne puissions pas identifier votre ordinateur et que vous deviez par conséquent vous identifier à chaque fois que vous visitez les pages Services.","privacy_policy_view_information_rights_choices_agree_eu":"Vous devez accepter la Politique de confidentialité pour enregistrer votre Powerwall et suivre ses informations via l\'application mobile Tesla.","privacy_policy_view_information_rights_choices_agree_one":"Vous devez accepter la Politique de confidentialité pour enregistrer votre Powerwall et suivre ses informations via l\'application mobile Tesla. Aucune autre action n\'est nécessaire si vous ne souhaitez pas accéder aux informations de votre Powerwall via l\'application mobile Tesla.","privacy_policy_view_information_rights_choices_bullet_one":"À tout moment, vous pouvez accéder à votre compte My Tesla pour mettre à jour les informations collectées auprès de vous ou vous concernant.","privacy_policy_view_information_rights_choices_bullet_two":"Si vous souhaitez examiner, corriger, mettre à jour, supprimer ou effacer des informations collectées auprès de vous ou vous concernant que vous nous avez fournies auparavant, vous pouvez nous contacter à l\'adresse ci-dessous.","privacy_policy_view_information_rights_choices_header":"Droits et choix","privacy_policy_view_information_rights_choices_paragraph_four":"Veuillez noter qu\'il est possible que nous ayons besoin de conserver certaines informations dans nos archives ou à fins de conformité et/ou en vue de conclure des transactions que vous avez entamées avant d\'avoir demandé le changement ou la suppression en question (par exemple lorsque vous effectuez un achat ou participez à une promotion, il est possible que vous ne puissiez pas modifier ou supprimer les informations fournies avant que l\'achat ou la promotion considérés soient terminés). Des informations résiduelles peuvent également se trouver dans nos bases de données ainsi que dans d\'autres archives, qui ne sont pas supprimées.","privacy_policy_view_information_rights_choices_paragraph_one":"Comme détaillé dans les paragraphes ci-dessus, nous vous proposons de nombreux choix quant à la collecte, l’utilisation et le partage des informations provenant de/à propos de vous ou de votre utilisation de nos produits ou des Services. Conformément au droit en vigueur, dans certaines juridictions, vous pouvez aussi disposer du droit de demander l\'accès et d\'obtenir des renseignements sur certaines données que nous conservons à votre sujet, d\'actualiser et de corriger les inexactitudes contenues dans ces données, et de bloquer ou de supprimer ces informations, autant que nécessaire. Ces droits peuvent être limités dans certaines circonstances par la législation locale. Nous vous proposons plusieurs méthodes vous permettant d\'accéder à, d’actualiser ou de demander le blocage ou la suppression des informations provenant de/à propos de vous, notamment","privacy_policy_view_information_rights_choices_paragraph_three":"Nous nous conformerons à votre/vos demande(s) d\'exercice de ces droits et de ces choix dès que cela sera raisonnablement possible.","privacy_policy_view_information_rights_choices_paragraph_two":"Dans votre demande, veuillez indiquer clairement quelles informations vous souhaitez modifier, que vous vouliez supprimer de notre base de données des informations que vous nous avez fournies ou nous faire part des limites que vous souhaitez appliquer à notre utilisation des informations que vous nous avez fournies. Pour votre protection, nous pouvons uniquement donner suite aux demandes concernant les informations associées à l’adresse e-mail spécifique que vous utilisez pour nous envoyer votre demande, et il se peut que nous devions vérifier votre identité avant d\'accéder à votre demande.","privacy_policy_view_information_share_header":"Comment nous partageons les informations collectées","privacy_policy_view_information_share_paragraph_eight":"Autres circonstances","privacy_policy_view_information_share_paragraph_eleven":"Si vous souhaitez retirer votre consentement pour tout traitement d\'informations auquel vous avez donné votre consentement préalable exprès, vous pouvez le faire en nous contactant comme indiqué dans le paragraphe ”Comment nous contacter” ci-dessous.","privacy_policy_view_information_share_paragraph_five":"Nous sommes susceptibles de partager des informations avec d\'autres tiers que vous autorisez, comme dans les circonstances suivantes :","privacy_policy_view_information_share_paragraph_five_point_four":"Avec les fournisseurs de comptes sur les réseaux sociaux, si vous connectez votre compte Services à l’un de vos comptes sur les réseaux sociaux. Si vous le faites, vous nous autorisez à partager des informations avec le fournisseur de votre compte de réseau social et vous comprenez que l\'utilisation des informations partagées sera régie par la politique de confidentialité du fournisseur de compte concerné.","privacy_policy_view_information_share_paragraph_five_point_one":"Avec nos installateurs agréés, afin de faciliter la fourniture des produits énergétiques que vous avez demandés.","privacy_policy_view_information_share_paragraph_five_point_three":"Aux sponsors tiers de concours et promotions similaires, si vous choisissez d\'y participer.","privacy_policy_view_information_share_paragraph_five_point_two":"Avec des centres ou des prestataires d’entretien tiers, si vous choisissez d\'en utiliser. Veuillez noter que certaines informations vous concernant sont stockées sur certains produits Tesla et peuvent être directement accessibles aux centres ou prestataires d’entretien tiers que vous choisissez d\'utiliser pour le diagnostic et l’entretien de votre produit Tesla.","privacy_policy_view_information_share_paragraph_four":"Avec d\'autres tiers autorisés par vous","privacy_policy_view_information_share_paragraph_nine":"Nous sommes susceptibles de partager des informations dans d\'autres circonstances, par exemple :","privacy_policy_view_information_share_paragraph_nine_point_one":"avec votre employeur ou un autre opérateur de flotte, ou encore le propriétaire du produit Tesla, si vous ne le possédez pas directement, et conformément au droit applicable.","privacy_policy_view_information_share_paragraph_nine_point_two":"avec un tiers, en relation avec une réorganisation, une fusion, une vente, co-entreprise, une cession, un transfert ou autre disposition de tout ou partie de nos activités, actifs ou titres (y compris en relation avec une procédure de faillite ou procédure similaire).","privacy_policy_view_information_share_paragraph_one":"Nous sommes susceptibles de partager les informations que nous collectons avec nos prestataires de services et nos partenaires commerciaux, avec d\'autres tiers autorisés par vous, avec d\'autres tiers lorsque la loi l’impose et dans d’autres circonstances. Vous trouverez ci-dessous des exemples illustrant la manière dont nous partageons les informations avec ces acteurs et dans ces circonstances.","privacy_policy_view_information_share_paragraph_seven":"Tesla est susceptible de transférer et de divulguer des informations, y compris des informations susceptibles ou non de vous identifier personnellement, à des tiers afin de se conformer à une obligation légale (y compris, mais sans s\'y limiter, des assignations) ; si nous considérons de bonne foi que la loi l\'exige ; en réponse à une demande légitime des autorités gouvernementales chargées d\'une enquête, y compris afin de respecter des obligations de police ; afin de contrôler ou de mettre en œuvre nos politiques et procédures ; afin de faire face à une situation d\'urgence ; afin de prévenir ou de faire cesser une activité que nous considérons comme étant ou pouvant être illégale, non conforme aux principes d’éthique ou passible de poursuites, ou encore de protéger les droits, la propriété, la sécurité des services, les droits de Tesla, de tiers, de visiteurs de nos Services ou du public, selon ce que nous aurons déterminé à notre discrétion absolue.","privacy_policy_view_information_share_paragraph_six":"Avec d\'autres tiers, si la loi l\'exige","privacy_policy_view_information_share_paragraph_ten":"Nous ne partageons pas d\'informations vous identifiant personnellement avec des tiers non affiliés dans l\'optique de leur marketing, à moins que vous ayez consenti à ce partage.","privacy_policy_view_information_share_paragraph_three":"Nous sommes susceptibles de partager des informations avec nos prestataires de services et nos partenaires commerciaux si cela est nécessaire pour la prestation de services pour notre compte ou votre compte, comme dans les situations suivantes :","privacy_policy_view_information_share_paragraph_three_point_one":"Avec les filiales de Tesla aux fins décrites dans la présente Politique de confidentialité. Les filiales de Tesla sont des entreprises appartenant à Tesla Inc. ou que Tesla Inc. contrôle et des entreprises dont Tesla Inc. possède des parts substantielles.","privacy_policy_view_information_share_paragraph_three_point_three":"Avec des partenaires commerciaux tiers dans la mesure où ils sont impliqués dans votre achat ou dans l’entretien de vos produits Tesla. Nous partageons des informations limitées provenant de vous ou vous concernant pour vous permettre de profiter pleinement de ces services si vous choisissez de les utiliser avec ces partenaires (sociétés de financement, leasing, immatriculation, etc.).","privacy_policy_view_information_share_paragraph_three_point_two":"Avec nos prestataires de services et partenaires de distribution tiers, pour fournir des services comme l\'hébergement de sites web, l\'analyse et le stockage de données, le traitement des paiements, l\'exécution des commandes et l\'installation des produits, la connectivité sans fil aux produits Tesla, les technologies de l\'information et infrastructure associée, le service clientèle, la maintenance des produits ou des services connexes, l’envoi d’e-mails, le traitement des cartes de crédit, l\'audit, le marketing, le traitement par commande vocale et d\'autres services similaires.","privacy_policy_view_information_share_paragraph_two":"Avec nos prestataires de services et nos partenaires commerciaux","privacy_policy_view_information_use_commuicate":"Communiquer avec vous","privacy_policy_view_information_use_header":"Comment nous utilisons les informations collectées","privacy_policy_view_information_use_other_purposes":"Autres finalités","privacy_policy_view_information_use_paragraph_five":"Nous sommes également susceptibles d\'utiliser des informations collectées à d\'autres fins, par exemple :","privacy_policy_view_information_use_paragraph_five_point_one":"À des fins commerciales : analyse de données, audits, contrôle et prévention de la fraude, identification des tendances d\'utilisation, détermination de l\'efficacité de nos campagnes promotionnelles ainsi que l\'exploitation et l\'expansion de nos activités commerciales.","privacy_policy_view_information_use_paragraph_five_point_two":"À l\'exception de ce qui est décrit ci-dessus et ci-dessous, Tesla est susceptible d\'utiliser ou de partager des informations qui ne vous identifieront pas personnellement, pour toute finalité, par exemple à des fins opérationnelles ou de recherche, en relation avec l\'analyse du secteur d\'activité ainsi que l\'amélioration ou la modification de nos produits et services, afin de mieux les personnaliser en fonction de vos besoins, et pour respecter des obligations légales.","privacy_policy_view_information_use_paragraph_four":"Nous sommes susceptibles d\'utiliser les informations collectées afin de fournir et améliorer nos produits et services, par exemple pour :","privacy_policy_view_information_use_paragraph_four_point_five":"Analyser et améliorer la sécurité de nos produits et services.","privacy_policy_view_information_use_paragraph_four_point_four":"Développer et promouvoir de nouveaux produits et services, et améliorer ou modifier notre gamme de produits et services.","privacy_policy_view_information_use_paragraph_four_point_one":"Finaliser et traiter votre achat, par ex. traiter vos paiements, organiser la livraison de votre commande, communiquer avec vous à propos de votre achat et vous fournir le service de clientèle connexe.","privacy_policy_view_information_use_paragraph_four_point_six":"Fournir tout autre service demandé.","privacy_policy_view_information_use_paragraph_four_point_three":"Vérifier les performances de votre produit Tesla et vous fournir des services le concernant.","privacy_policy_view_information_use_paragraph_four_point_two":"Fournir un service concernant votre produit Tesla, par exemple vous contacter pour vous communiquer des recommandations d’entretien et procéder à des mises à jour de votre produit à distance.","privacy_policy_view_information_use_paragraph_one":"Nous sommes susceptibles d’utiliser les informations collectées pour communiquer avec vous, dans le but de fournir et d\'améliorer nos produits et services et à d’autres fins. Vous trouverez ci-dessous des exemples illustrant la manière dont nous utilisons les informations à ces fins.","privacy_policy_view_information_use_paragraph_three":"Vos choix de communications :","privacy_policy_view_information_use_paragraph_three_point_one":"Réception de courriers électroniques de notre part ou de la part de nos filiales : Si vous ne voulez plus recevoir de courriers électroniques marketing de notre part ou de la part de nos filiales, vous pouvez vous désinscrire en suivant les instructions fournies dans tous les e-mails que nous vous envoyons ou en nous contactant à l\'adresse ci-dessous. Veuillez noter que nous pourrons toujours vous envoyer des messages administratifs et des messages de sécurité importants même si vous choisissez de ne plus recevoir d’e-mails marketing.","privacy_policy_view_information_use_paragraph_three_point_two":"Réception d\'appels marketing de notre part : Si vous recevez un appel marketing de notre part et si vous ne voulez plus recevoir d\'appels similaires à l\'avenir, il suffit de demander que l\'on vous mette sur notre « liste rouge ». Veuillez noter que nous pourrons toujours vous appeler pour des questions administratives, des questions de sécurité ou des questions liées à l\'entretien des produits même si vous choisissez de ne plus recevoir d\'appels marketing.","privacy_policy_view_information_use_paragraph_two":"Nous sommes susceptibles d\'utiliser les informations que nous collectons pour communiquer avec vous, par exemple :","privacy_policy_view_information_use_paragraph_two_point_five":"Présenter des produits et des offres personnalisés et pour améliorer nos listes par l\'ajout d\'informations provenant d\'autres sources.","privacy_policy_view_information_use_paragraph_two_point_four":"Vous adresser des informations administratives, par exemple des informations concernant les Services et les modifications de nos conditions générales et de nos politiques.","privacy_policy_view_information_use_paragraph_two_point_one":"Répondre à vos questions et satisfaire vos demandes, comme vous adresser des newsletters ou des informations produit, des alertes ou des brochures.","privacy_policy_view_information_use_paragraph_two_point_seven":"Pour faciliter le partage d\'informations et la fonctionnalité des communications sur les réseaux sociaux.","privacy_policy_view_information_use_paragraph_two_point_six":"Vous permettre de participer à des concours et à des promotions similaires et gérer ces activités.","privacy_policy_view_information_use_paragraph_two_point_three":"Vous communiquer d\'importantes informations de sécurité ou notifier les premiers secours en cas d\'accident impliquant votre véhicule.","privacy_policy_view_information_use_paragraph_two_point_two":"Organiser, évaluer et vous fournir des impressions concernant votre essai de conduite Tesla.","privacy_policy_view_information_use_provide":"Fournir et améliorer nos produits et services","privacy_policy_view_links_header":"Liens","privacy_policy_view_links_paragraph_one":"La présente Politique de confidentialité ne concerne pas et n\'entraîne en aucun cas notre responsabilité concernant les politiques de confidentialité ou autres pratiques de tiers, notamment des tiers exploitant des sites ou des services auxquels les Services sont liés. L’inclusion d\'un lien sur la page des Services ne constitue pas un soutien ou une approbation du site ou service lié, de notre part ou de la part de nos filiales. Elle ne constitue pas non plus une quelconque affiliation au tiers concerné.","privacy_policy_view_links_paragraph_two":"Veuillez noter que nous ne sommes pas responsables de la collecte, de l\'utilisation ou des politiques et des pratiques de divulgation (y compris les pratiques en matière de sécurité des données) d\'autres organisations, telles que d’autres développeurs d\'applications, fournisseurs d\'applications, prestataires de plateformes de médias sociaux, prestataires de systèmes d\'exploitation ou prestataire de services sans fil, y compris de toutes les informations que vous communiquez à d\'autres organisations par l\'intermédiaire de nos applications logicielles ou de nos pages de médias sociaux, ou en relation avec celles-ci.","privacy_policy_view_minors_header":"Mineurs","privacy_policy_view_minors_paragraph":"Les Services ne sont pas destinés aux personnes de moins de seize (16) ans et nous demandons à ce que ces personnes ne fournissent aucune information à Tesla.","privacy_policy_view_offers_eu":"Oui, je souhaite recevoir des communications marketing par e-mail, telles que des enquêtes, des promotions ou des offres de la part de Tesla et de ses filiales sur les produits et services Tesla. Vous avez le droit de retirer votre consentement à tout moment. En savoir plus {legalLink}.","privacy_policy_view_offers_title":"Communiqués sur les produits et nouvelles offres","privacy_policy_view_offers_usa":"J\'accepte d\'être contacté(e) au numéro indiqué pour recevoir des informations ou des offres sur les produits Tesla. Je comprends que ces appels ou ces SMS peuvent faire appel à une numérotation assistée par ordinateur ou comporter des messages pré-enregistrés. Ce consentement ne constitue pas une condition d\'achat.","privacy_policy_view_powerwall_warranty":"Garantie limitée du Powerwall Tesla","privacy_policy_view_privacy_policy":"Avis de confidentialité","privacy_policy_view_privacy_policy_agreement_eu":"Je soussigné(e), propriétaire, certifie avoir lu les informations relatives à la confidentialité client Tesla et consent au traitement de mes informations par Tesla comme décrit dans la Politique de confidentialité client Tesla. Vous avez le droit de retirer votre consentement à tout moment, comme décrit par la Politique de confidentialité client Tesla.","privacy_policy_view_privacy_policy_agreement_usa_australia":"Je soussigné(e), propriétaire, certifie avoir lu les informations relatives à la confidentialité client Tesla et consent au traitement de mes informations par Tesla comme décrit dans la Politique de confidentialité client Tesla.","privacy_policy_view_privacy_shield":"Politique de Confidentialité","privacy_policy_view_retention_period_header":"Durée de conservation des données","privacy_policy_view_retention_period_paragraph":"Nous conserverons les informations que nous aurons collectées auprès de, ou concernant, nos clients, nos produits et les Services pendant toute la durée nécessaire pour les finalités décrites dans la présente Politique de confidentialité, à moins qu\'une durée de conservation supérieure soit requise ou autorisée par la loi.","privacy_policy_view_security_header":"Sécurité","privacy_policy_view_security_paragraph_one":"Nous nous efforçons d\'employer des mesures organisationnelles, techniques et administratives raisonnables pour protéger les informations au sein de notre organisation. Malheureusement, la sécurité d\'un système de transmission ou de stockage de données ne peut être garantie à 100 %. Si vous avez des raisons de penser que vos interactions avec nous ne sont plus sécurisées (par exemple, si vous avez le sentiment que la sécurité d\'un compte que vous possédez chez nous a été compromise), veuillez nous avertir immédiatement du problème en nous contactant comme expliqué dans le paragraphe « Comment nous contacter » ci-dessous.","privacy_policy_view_security_paragraph_two":"Si vous vendez ou cédez votre produit Tesla à quelqu\'un d\'autre, veuillez nous en informer, de sorte que nous puissions décider s\'il convient de mettre en œuvre des mesures supplémentaires pour mieux protéger les informations collectées auprès de vous ou vous concernant contre toute communication à l\'acheteur ou au cessionnaire du produit Tesla.","privacy_policy_view_title":"Consultez la politique de confidentialité complète","privacy_policy_view_updates_header":"Mises à jour de la présente Politique","privacy_policy_view_updates_paragraph":"Nous sommes susceptibles de modifier la présente Politique de confidentialité. Veuillez consulter la légende “Dernière mise à jour“ au bas de cette page pour connaître la date à laquelle cette Politique de confidentialité a été révisée pour la dernière fois. Toute modification apportée à la présente Politique de confidentialité prendra effet dès la publication de la Politique de confidentialité révisée sur la page des Services. En utilisant nos produits, les Services, ou en nous fournissant des informations par tout autre moyen suite à ces modifications, vous acceptez la Politique de confidentialité révisée.","privacy_policy_view_us_warranty_warning":"Vous devez accepter la Garantie limitée Tesla pour enregistrer votre Powerwall et suivre ses informations via l\'application mobile Tesla.","privacy_policy_view_warranty_information":"Je soussigné(e), propriétaire, accepte les conditions de la Garantie limitée du Powerwall Tesla disponible {warrantyLink}. Ces conditions comprennent une clause d’arbitrage par laquelle je renonce à mon droit d\'entamer ou de participer à des recours collectifs et des procès par jury. Je peux dénoncer cette clause dans un délai de 30 jours en suivant la procédure décrite dans la clause.","prompt_factory_reset_confirmation":"Vous confirmez réellement vouloir réinitialiser l\'unité aux réglages d’usine ?","pvac-state-active":"Actif","pvac-state-faulted":"En défaillance","pvac-state-init":"Initialisation...","pvac-state-standby":"En attente du photovoltaïque","pvac_alert_ac_fault":"Défaillance AC de l\'onduleur","pvac_alert_check_ac_note":"Vérifiez le câblage AC et la connexion au réseau. Redémarrez l’onduleur et réessayez.","pvac_alert_check_dc_string1_note":"Vérifiez le câblage et les panneaux de la rangée 1 DC. Redémarrez l’onduleur et réessayez.","pvac_alert_check_dc_string2_note":"Vérifiez la rangée 2 DC, le câblage et les panneaux. Redémarrez l’onduleur et réessayez.","pvac_alert_check_dc_string3_note":"Vérifiez la rangée 3 DC, le câblage et les panneaux. Redémarrez l’onduleur et réessayez.","pvac_alert_check_dc_string4_note":"Vérifiez la rangée 4 DC, le câblage et les panneaux. Redémarrez l’onduleur et réessayez.","pvac_alert_confirm_grid_code_note":"Vérifiez le câblage AC et la connexion au réseau. Confirmez le code de réseau sélectionné.","pvac_alert_dc_fault_string1":"Défaillance DC de l\'onduleur - Rangée 1","pvac_alert_dc_fault_string2":"Défaillance DC de l\'onduleur - Rangée 2","pvac_alert_dc_fault_string3":"Défaillance DC de l\'onduleur - Rangée 3","pvac_alert_dc_fault_string4":"Défaillance DC de l\'onduleur - Rangée 4","pvac_alert_freq_change":"Réseau incompatible - Changement de fréquence","pvac_alert_internal_comms":"Problème de communication interne","pvac_alert_over_freq":"Réseau incompatible - Sur-fréquence","pvac_alert_over_temp":"Surchauffe de l\'onduleur","pvac_alert_over_voltage":"Réseau incompatible - Surtension","pvac_alert_production_limited_note":"La production peut être limitée. Veillez au bon câblage des terminaisons, à un débit d’air et à un espace suffisants autour de l’installation.","pvac_alert_reboot_note":"Redémarrez l’onduleur, s\'assurer que le système est à jour et totalement opérationnel.","pvac_alert_under_freq":"Réseau incompatible - Sous-fréquence","pvac_alert_under_voltage":"Réseau incompatible - Sous-tension","pvi-power-status-dc-only":"DC seulement","pvi-power-status-disabled":"Désactivé","pvi-power-status-enabled":"Activé","pvi-reset-button-label":"Relancez l’onduleur et effacez les alertes","pvs-self-test-1":"Auto-test (1/6) : Défaut de mise à la masse","pvs-self-test-2":"Auto-testAuto-test (2/6) : Défaut d’arc","pvs-self-test-3":"Auto-testAuto-test (3/6) : MCI","pvs-self-test-4":"Auto-testAuto-test (4/6) : Isolation","pvs-self-test-5":"Auto-testAuto-test (5/6) : Soudage de relais","pvs-self-test-6":"Auto-testAuto-test (6/6) : Impédance","pvs_alert_check_arc_fault_note":"Vérifier le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les problèmes de défaut d’arc.","pvs_alert_check_dc_note":"Vérifier le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les défauts de mise à la masse.","pvs_alert_check_dc_string1_note":"Vérifier le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les défauts d\'isolation en se concentrant sur la 1ère rangée.","pvs_alert_check_dc_string2_note":"Vérifier le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les défauts d\'isolation en se concentrant sur la 2ème rangée.","pvs_alert_check_dc_string3_note":"Vérifier le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les défauts d\'isolation en se concentrant sur la 3ème rangée.","pvs_alert_check_dc_string4_note":"Vérifiez le câblage DC, les connexions, les panneaux et les dispositifs à arrêt rapide contre les défauts d\'isolation sur la 4ème rangée.","pvs_alert_check_dc_strings_note":"Vérifier le câblage DC, les connexions, les panneaux et la configuration des rangées.","pvs_alert_dc_arc_fault_detected":"Défaut d’arc DC - détecté","pvs_alert_dc_arc_fault_lockout":"Défaut de mise à la masse - verrouillé","pvs_alert_dc_ground_fault":"Défaut de mise à la masse DC","pvs_alert_dc_isolation_string1":"Problème d\'isolation DC - Rangée 1","pvs_alert_dc_isolation_string2":"Problème d\'isolation DC - Rangée 2","pvs_alert_dc_isolation_string3":"Problème d\'isolation DC - Rangée 3","pvs_alert_dc_isolation_string4":"Problème d\'isolation DC - Rangée 4","pvs_alert_dc_over_voltage":"Surtension DC","pvs_alert_rapid_shutdown":"Arrêt rapide initié","pvs_alert_rapid_shutdown_note":"Vérifiez le disjoncteur AC et le circuit d\'arrêt rapide à faible tension.","registration_container_continue_header":"Adresse e-mail du client saisie : {email}","registration_container_continue_modal_description":"Le client ne pourra pas accéder à l\'application mobile Tesla si l\'adresse e-mail est incorrecte. Assurez-vous que l\'adresse e-mail du client est valide.","registration_container_customer_email_required":"L\'adresse e-mail du client est nécessaire pour activer l\'application mobile Tesla.","registration_container_customer_information_title":"Informations relatives au site","registration_container_fill_required_fields":"L\'installateur ou le client doit remplir tous les champs obligatoires.","registration_container_loading_modal_registering":"Enregistrement","registration_container_reset_form_modal_description":"Veuillez confirmer que vous voulez continuer avec la réinitialisation du formulaire.","registration_container_reset_form_modal_header":"Toute information précédemment saisie sera perdue.","security_container_settings_title_customer":"Modifier ou réinitialiser le mot de passe (client)","security_container_settings_title_installer":"Modifier ou réinitialiser le mot de passe (installateur)","security_view_copied_to_clipboard":"Copié!","security_view_not_wifi_qr_code_error":"N\'est pas un code QR de Wi-Fi.","security_view_scan_qr_code_not_found_error":"Aucun code QR trouvé.","security_view_settings_change_password_error":"Les nouveaux mots de passe ne correspondent pas","security_view_settings_change_password_label":"CHANGER LE MOT DE PASSE","security_view_settings_completed":"TERMINÉ","security_view_settings_new_password_label":"NOUVEAU MOT DE PASSE","security_view_settings_old_password":"MOT DE PASSE ACTUEL","security_view_settings_password_change_info":"Pour modifier le mot de passe, saisissez le mot de passe actuel, puis un nouveau mot de passe.","security_view_settings_password_customer":"MOT DE PASSE","security_view_settings_password_customer_placeholder":"Cinq derniers caractères du mot de passe de l\'autocollant de la passerelle","security_view_settings_password_installer_label":"Mot de passe de la passerelle","security_view_settings_password_reset_info":"Pour réinitialiser le mot de passe, basculez le commutateur sur le Powerwall, puis saisissez les 5 derniers caractères du numéro de série du Gateway.","security_view_settings_password_reset_info_serial":"Pour réinitialiser le mot de passe, basculez le commutateur sur le Powerwall, puis saisissez les 5 derniers caractères du numéro de série de la passerelle.","security_view_settings_password_reset_installer_info":"Pour réinitialiser le mot de passe, basculez le commutateur sur un Powerwall, puis saisissez le mot de passe de l\'autocollant de la passerelle.","security_view_settings_password_reset_installer_info_serial":"Pour réinitialiser le mot de passe, basculez le commutateur du Powerwall, puis saisissez le numéro de série de la passerelle.","security_view_settings_re_enter_password_label":"RE-SAISIR LE NOUVEAU MOT DE PASSE","security_view_settings_reset_password_label":"RÉINITIALISER LE MOT DE PASSE","security_view_settings_serial_customer":"NUMÉRO DE SÉRIE","security_view_settings_serial_customer_placeholder":"Les 5 derniers caractères du numéro de série de la passerelle","security_view_settings_serial_installer_label":"Numéro de série de la passerelle","security_view_settings_success":"Mot de passe mis à jour avec succès","security_view_settings_success_new_password":"Le nouveau mot de passe est :","security_view_settings_toggled_password":"Mot de passe oublié ?","self_test_result_viewer_resi_only":"L\'affichage du journal d\'auto-tests est indisponible.","self_test_results_viewer_collapse_all":"Tout réduire","self_test_results_viewer_column_name":"Nom","self_test_results_viewer_column_result":"Résultat","self_test_results_viewer_column_spec":"Spécifications","self_test_results_viewer_column_test_time":"Heure du test","self_test_results_viewer_column_value":"Valeur","self_test_results_viewer_expand_all":"Tout développer","self_test_results_viewer_failed":"Échec","self_test_results_viewer_in_progress":"En cours","self_test_results_viewer_inconclusive":"Incertain","self_test_results_viewer_not_started":"Non démarré","self_test_results_viewer_passed":"Réussi","self_test_results_viewer_skipped":"Ignoré","self_test_results_viewer_warning":"Avertissement","settings_container_confirm_reset_operation_mode":"Confirmer que le mode a été changé en {operation}","settings_container_heco_modal_description":"Ce paramètre ne peut pas être modifié après la sélection. Vérifiez que le client est actuellement inscrit au programme de bonus de batterie HECO avant de soumettre votre sélection.","settings_container_heco_modal_title":"Vérifier l’inscription","settings_container_heco_view_description":"Le Powerwall se déchargera, à la capacité affectée quotidiennement, pour répondre aux exigences du programme. Ce paramètre ne peut pas être modifié après l’activation.","settings_container_heco_view_scheduled_dispatch_start_time":"Heure de début","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"Distribution programmée HECO","settings_container_heco_view_title":"Programme de bonus de batterie HECO","settings_container_operation_modes_modal_content":"Utilisez l\'écran « Personnaliser » de l\'application mobile Tesla pour modifier les modes de fonctionnement.","settings_container_operation_modes_modal_reset":"RÉINITIALISER LE MODE","settings_container_operation_modes_modal_title":"Mode de fonctionnement","settings_container_operation_modes_modal_warning":"Cette modification est définitive. Les modes avancés peuvent uniquement être réactivés par le biais de l\'application mobile Tesla.","settings_container_operation_modes_reset_modal_title":"Réinitialiser le mode de fonctionnement ?","settings_container_operation_settings_subtitle":"Définissez le nom de votre système, son mode de fonctionnement ainsi que les limitations d\'exportation éventuelles.","settings_container_operation_settings_title":"Paramètres de fonctionnement","settings_container_save_instructions":"Cliquez sur CONTINUER pour enregistrer.","settings_container_saving_site_info_modal":"Enregistrement des paramètres du site","settings_container_site_import_description":"Limite d’importation de site est un paramètre facultatif. Laissez ce champ vide pour désactiver les limites d’importation. Lorsque ce paramètre est activé, il spécifie la puissance maximale qu’il est permis d’importer du réseau vers le site.","settings_container_site_limits_header":"Limites du site","settings_view_custom_modes_label":"MODE PRÉCONFIGURÉ","settings_view_energy_reserve_heco_label":"Les modifications apportées à la réserve de secours sont limitées en raison de l’inscription au programme de bonus de batterie HECO. Le client pourra définir une réserve de secours dans son application.","settings_view_energy_reserve_label":"RÉSERVE DE SECOURS","settings_view_instruction_site_name":"Saisissez un nom de site","settings_view_net_meter_mode":"Mode d’exportation","settings_view_operation_label":"MODE DE FONCTIONNEMENT","settings_view_operation_set_label":"MODE DE FONCTIONNEMENT À DÉFINIR","settings_view_set_net_meter_mode_never_label":"Non-exportation permanente","settings_view_set_net_meter_mode_solar_label":"Exportation solaire","settings_view_site_name":"NOM DU SITE","settings_view_site_name_placeholder":"Ex. Ma Maison","settings_view_solar_export_limitation_slider":"Limitation d’export solaire","settings_view_solar_feature":"Cette fonctionnalité ne devrait être activée que lorsque le fournisseur interdit l’exportation d’électricité photovoltaïque. C\'est le cas par exemple à Hawaï et en Australie.","settings_view_solar_limitation":"POWERWALL INSTALLÉ À CÔTÉ D’UN SYSTÈME SOLAIRE QUI N’EST PAS UN POWERWALL+ ?","settings_view_solar_zero_export":"POWERWALL INSTALLÉ EN MÊME TEMPS QU\'UN SYSTÈME SOLAIRE SANS EXPORTATION ?","site_info_container_submit":"ENVOYER","solar_item_view_baudrate_label":"Débit de transmission","solar_item_view_brand_input_label":"MARQUE","solar_item_view_brand_label":"Marque","solar_item_view_check_inverter":"VÉRIFIER LA CONNEXION DE L\'ONDULEUR {id}","solar_item_view_connection_warning":"Impossible d\'établir la connexion","solar_item_view_inverter_brand":"Marque d’onduleur","solar_item_view_inverter_communication":"Configurer la communication directe avec l\'onduleur","solar_item_view_inverter_model_label":"Modèle d’onduleur","solar_item_view_ip_label":"ADRESSE IP","solar_item_view_model_label":"MODÈLE","solar_item_view_power_rating_explanation":"Il s’agit de la puissance nominale totale du système photovoltaïque par rapport aux modules/panneaux. C\'est donc la puissance nominale de l’installation. Par exemple, si vous avez 10 panneaux solaires de 300 W, indiquez 3 000 W même si l’onduleur PV fait 2 500 W ou 3 500 W.","solar_item_view_pv_array_dc_power_rating":"PUISSANCE NOMINALE CONTINUE DU SYSTÈME PV","solar_item_view_pv_array_dc_power_rating_label":"PUISSANCE NOMINALE CC RÉSEAU PV","solar_item_view_revenue_grade":"Grade de revenu","solar_item_view_revenue_grade_explanation":"Cochez cette option uniquement si l\'onduleur dispose d\'un compteur de niveau de revenus intégré. Les données de l\'onduleur seront lues à partir du compteur à la place de l\'onduleur si cette option est activée.","solar_item_view_revenue_grade_title":"Grade de revenu","solar_item_view_solar":"SOLAIRE {id}","solar_item_view_success":"CONNECTÉ AVEC SUCCÈS!","solar_item_view_unable":"LECTURE DE L\'ONDULEUR IMPOSSIBLE !","solar_list_view_continue_add_solar":"AJOUTER UN ONDULEUR SOLAIRE SUPPLÉMENTAIRE","solar_view_continue_add_solar":"AJOUTER UN ONDULEUR SOLAIRE SUPPLÉMENTAIRE","status_update_urgency_none":"À jour","status_update_urgency_optional":"Mise à jour facultative","status_update_urgency_required":"Mise à jour obligatoire","status_update_urgency_unknown":"Inconnu","success_view_awesome":"GÉNIAL !","success_view_copied_to_clipboard":"Copié!","success_view_installation_complete":"Installation effectuée","success_view_new_password_error_title":"Assistant mot de passe","success_view_new_password_title":"Assistant nouveau mot de passe","success_view_password_set":"Le mot de passe est déjà défini","success_view_record_password":"Veuillez mémoriser ce mot de passe avant de continuer","success_view_retry_registration":"RETENTER L\'ENREGISTREMENT","success_view_set_customer_password":"DÉFINIR LE MOT DE PASSE DU CLIENT","success_view_syncing_configuration":"Synchronisation de la configuration","summary_container_company":"Entreprise","summary_container_connection_type":"Type de connexion","summary_container_email":"E-mail","summary_container_installer_information":"Informations destinées à l\'installateur","summary_container_ip_address":"Adresse IP","summary_container_location":"Lieu","summary_container_meter":"Compteur n° {index}","summary_container_meter_information":"Informations sur le compteur","summary_container_phone":"Numéro de téléphone","summary_container_print":"Imprimer","summary_container_serial_number":"Numéro de série","summary_container_site_info":"Informations relatives au site","summary_container_site_name":"Nom du site","summary_container_subtitle":"Informations sur l\'installation","summary_site_information":"INFORMATIONS RELATIVES AU SITE","summary_view_autonomous":"Contrôle par créneaux horaires","summary_view_backup":"Secours uniquement","summary_view_backup_capable":"Capacité de secours prête","summary_view_backup_reserve":"RÉSERVE DE SECOURS","summary_view_backup_switch":"COMMUTATEUR DE SECOURS","summary_view_conductor_export":"LIMITE D\'EXPORTATION DE CONDUCTEUR","summary_view_conductor_import":"LIMITE D\'IMPORTATION DE CONDUCTEUR","summary_view_control":"Contrôle de site","summary_view_customer_version":"VERSION CLIENT","summary_view_direct":"Direct","summary_view_disabled":"DÉSACTIVÉ","summary_view_ethernet":"ETHERNET","summary_view_export_limit":"LIMITE D\'EXPORTATION PV","summary_view_extra_programs":"PROGRAMMES SUPPLÉMENTAIRES","summary_view_followers":"SUCCESSIFS","summary_view_gateway":"GATEWAY","summary_view_grid_code":"CODE DE RÉSEAU","summary_view_gsm":"CELLULAIRE","summary_view_heco_battery_bonus":"Bonus de batterie HECO","summary_view_ip_address":"ADRESSE IP","summary_view_leader":"PRINCIPAL","summary_view_mode":"MODE","summary_view_msg_cannot_read_solar_assembly":"Arrêtez d’abord le système pour regarder la référence et le numéro de série de l’ensemble photovoltaïque Powerwall+.","summary_view_network":"RÉSEAU","summary_view_non_backup":"Hors secours","summary_view_panel_limit":"COURANT MAXIMAL DU PANEAU","summary_view_part_number":"Référence","summary_view_partnum":"Pièce {partNumber}","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"Agrégation","summary_view_self_consumption":"Autosuffisance","summary_view_serial":"Série","summary_view_serialnum":"Série {serialNumber}","summary_view_site_export":"LIMITE D\'EXPORTATION DE SITE","summary_view_site_import":"LIMITE D\'IMPORTATION DE SITE","summary_view_site_name":"NOM DU SITE","summary_view_solar_assembly":"ENSEMBLE PHOTOVOLTAÏQUE","summary_view_sync":"CAPACITÉ DE SECOURS","summary_view_time":"SYNTHÈSE DURÉE DE COMPILATION","summary_view_time_zone":"FUSEAU HORAIRE","summary_view_wifi":"Wi-Fi","system-device-follower-not-responding":"Le dispositif appairé au WiFi ne répons pas actuellement","system-device-unknown-sitecontroller":"Le dispositif n\'a pas encore découvert ses enfants","system_acpw_vitals_charge":"Niveau de charge : {Charge} %","system_acpw_vitals_power":"Alimentation CA : {power}","system_acpw_vitals_power_charging":"Alimentation CA : {power} en cours de charge","system_acpw_vitals_power_discharging":"Alimentation CA : {power} en cours de déchargement","system_acpw_vitals_state":"État du Powerwall : {state}","system_acpw_vitals_voltage":"Tension AC : {voltage}","system_controller_din":"Contrôleur : {din}","system_device_alert_disabled":"Dispositif désactivé","system_device_alert_updating":"Mises à jour du microprogramme en cours...","system_device_gateway_not_islanding":"Ce n\'est pas le contrôleur d\'îlotage.","system_device_leader":"Principal","system_device_name_backup_switch":"Commutateur de secours ({sn})","system_device_name_battery_assembly":"Ensemble de batterie ({sn})","system_device_name_gateway":"Passerelle ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus":"{role} Powerwall+","system_device_name_powerwall_plus_leader":"Powerwall+ leader","system_device_name_powerwall_plus_solo":"Powerwall+","system_device_name_powerwall_plus_wired":"Powerwall+ (câblé)","system_device_name_powerwall_plus_wireless":"Powerwall+ (sans fil)","system_device_name_remote_meter":"Compteur à distance ({sn})","system_device_name_solar_assembly":"Ensemble photovoltaïque ({sn})","system_device_name_solar_assembly_1":"Ensemble photovoltaïque","system_device_name_sync":"Contacteur de la passerelle/Contrôleur de compteur ({sn})","system_firmware_update":"Mise à jour : {percent}% ({step}/{numSteps})","system_gateway_din":"Passerelle : {din}","system_islanding_vitals_backup_state":"État de réserve : {backupState}","system_islanding_vitals_grid_line":"Ligne du réseau {lineNumber} : {v} {f}","system_islanding_vitals_island_line":"Ligne de l’île {lineNumber} : {v} {f}","system_overview_connected":"Connecté à Tesla","system_overview_disconnected":"Non connecté à Tesla","system_overview_follower":"Powerwall suiveur","system_overview_login_required":"Identifiant requis pour afficher le fonctionnement du système","system_overview_scanning":"Recherche d’appareils...","system_overview_site_controller":"Contrôleur de site","system_overview_updating":"Mise à jour des appareils...","system_pvi_vitals_ac_solar_power":"Puissance photovoltaïque AC : {power} / {current}","system_pvi_vitals_ac_solar_power_only":"Puissance photovoltaïque AC : {power}","system_pvi_vitals_lifetime_energy_kwh":"Énergie pour la durée de vie : {energy}","system_pvi_vitals_state":"État : {message}","system_pvi_vitals_string":"Rangée {number} : {voltage} / {current}","system_pvi_vitals_string_not_connected":"Rangée {number} : Déconnecté","system_remote_meter_ct_line":"CT {n} ({emplacement}) : {valeur}","system_remote_meter_no_cts":"Pas de CT configuré","system_rescan_button_text":"Relancer la recherche d\'appareils","system_scanning_label_text":"Recherche d\'appareils...","system_vitals_missing_value":"---","test_container_configure_subtitle":"Testez le système pour vérifier qu\'il fonctionne correctement.","test_container_system_test_title":"Test du système","test_inverter_container_error_grid_uncompliant":"Le test ne peut pas être exécuté, car le réseau est non conforme.","test_inverter_container_error_not_idle":"Le Powerwall doit être en veille pour l’exécution du test.","test_inverter_container_results_error_plural_subtitle":"{num} tests échoués","test_inverter_container_results_error_singular_subtitle":"{num} test échoué","test_inverter_container_results_success_plural_subtitle":"{num} tests effectués avec succès","test_inverter_container_results_success_singular_subtitle":"{num} test effectué avec succès","test_inverter_container_results_success_subtitle":"Tous les tests ont été effectués avec succès","test_inverter_container_results_title":"Résultats de l’auto-test de l’onduleur","test_inverter_container_title":"Auto-test de l’onduleur","test_meter_composite_view_auxiliary_meter_setup_instructions":"Au moins un transformateur de courant doit être défini pour chaque compteur auxiliaire.","test_meter_composite_view_auxiliary_meters_title":"Compteurs auxiliaires","test_meter_composite_view_configure_meters":"CONFIGURER LES COMPTEURS","test_meter_composite_view_current_transformer_setup_instructions":"Utilisez au moins un TC de site OU un TC de charge, mais pas les deux.","test_meter_composite_view_external_meter_setup_instructions":"Au moins un transformateur de courant doit être défini pour chaque compteur externe.","test_meter_composite_view_external_meters_title":"Compteurs externes","test_meter_composite_view_internal_meters_gateway_title":"Compteurs internes (passerelles)","test_meter_composite_view_internal_meters_title":"Compteurs internes","test_meter_composite_view_no_configured_meters":"AUCUN COMPTEUR CONFIGURÉ. VEUILLEZ {configurer} POUR CONTINUER.","test_meter_composite_view_note":"REMARQUE","test_meter_item_view_acuvim_label":"Compteur {id} : Compteur Acuvim","test_meter_item_view_backup_switch_label":"Compteur {id} : Commutateur du compteur de secours","test_meter_item_view_configure_phases_note":"Configurez les phases pour activer les TC pour ce compteur","test_meter_item_view_internal_meter_x_gateway_label":"Compteur {id} : Compteur principal interne X (Passerelle)","test_meter_item_view_internal_meter_y_gateway_label":"Compteur {id} : Compteur auxiliaire interne Y (Passerelle)","test_meter_item_view_remote_w1_wifi_label":"Compteur {id} : Wi-Fi à distance","test_meter_item_view_remote_w1_wired_label":"Compteur {id} : Câblage à distance","test_meter_item_view_remote_w2_wifi_label":"Compteur {id} : Wi-Fi à distance","test_meter_item_view_remote_w2_wired_label":"Compteur {id} : Câblage à distance","test_meter_item_view_reset":"TOUT RÉINITIALISER","test_meter_item_view_site_meter_title":"Compteur de site interne","test_meter_item_view_sync_id":"Compteur de synchronisation {id}","test_meter_item_view_toggle_advanced":"Avancé","test_meter_item_view_toggle_power":"Puissance","test_meter_item_view_wifi_id":"Compteur {id}","test_meter_item_view_wired_id":"Compteur câblé {id}","test_view_canceled_status":"Le test a été annulé","test_view_failed_status":"Le test a échoué","test_view_idle_status":"Démarrage du test système","test_view_init_status":"Préparation du démarrage du test","test_view_inverter_test_warning_message":"Si vous avez un onduleur PV 0 Export, la procédure d\'auto-test de la passerelle ne peut pas qualifier le système de manière appropriée. Éteignez l’onduleur PV jusqu\'à la fin de l’auto-test.","test_view_passed_status":"Le test a été effectué avec succès","test_view_prep_status":"Initialisation des contrôles : Ceci peut prendre quelques minutes !","test_view_running_status":"Exécution des tests de charge","test_view_skip_start_system_test_text":"Confirmez pour ignorer le test système","test_view_start_system_test_warning":"AVERTISSEMENT","test_view_system_test_completed_message":"Test système terminé !","time_minute":"minute","time_minutes":"minutes","time_second":"seconde","time_seconds":"secondes","time_started_at":"Heure de début {time}","timezone_container_subtitle":"Par géolocalisation et en fonction de l’adresse IP, nous pouvons vous aider à trouver le fuseau horaire correct.","timezone_container_title":"Fuseau horaire","timezone_view_label":"fuseau horaire","toast_view_standard_title":"Note","toast_view_warning_title":"Avertissement","update_container_industrial_updating_description":"Le contrôleur de site va maintenant redémarrer automatiquement pour installer la mise à jour. {lb1}{lb2} Veuillez patienter deux minutes avant de vous reconnecter au réseau du contrôleur de site et de {refresh}","update_container_preparing_title":"Préparation à la dernière mise à jour","update_container_refresh_browser":"Rafraîchissez votre fenêtre de navigation.","update_container_residential_updating_description":"La passerelle va maintenant redémarrer automatiquement pour installer la mise à jour. {lb1}{lb2} Veuillez patienter deux minutes avant de vous reconnecter au réseau passerelle, puis {refresh}","update_container_skip_title":"Ignorer la mise à jour ?","update_container_subtitle":"Vérifiez les mises à jour. Remarque : la transmission de la mise à jour du microprogramme aux Powerwalls se produit sur la page Powerwall.","update_container_subtitle_industrial":"Vérifiez les mises à jour. Remarque : la transmission de la mise à jour du microprogramme aux batteries se produit sur la page Batterie.","update_container_title":"Mise à jour","update_container_updating_title":"Installation de la mise à jour","update_step_item_view_resolution_title":"Solution suggérée","update_view_check_again":"CLIQUEZ POUR REVÉRIFIER","update_view_check_for_update":"RECHERCHER LA MISE À JOUR DE LA PASSERELLE","update_view_check_for_update_industrial":"RECHERCHER LA MISE À JOUR DU CONTRÔLEUR DE SITE","update_view_checking_update":"Vérification des mises à jour","update_view_current_version":"Version actuelle : {version}","update_view_current_version_label":"VERSION ACTUELLE","update_view_downloading":"TÉLÉCHARGEMENT","update_view_downloading_update":"Téléchargement de la mise à jour","update_view_no_power_cicle":"NE PAS ÉTEINDRE L’APPAREIL !","update_view_percent_complete":"{percent} terminés","update_view_progress":"MISE À JOUR EN COURS","update_view_staged":"NOUVELLE VERSION ORGANISÉE","update_view_staged_update":"Prêt pour la mise à jour","update_view_staging":"ORGANISATION","update_view_staging_update":"Préparation de la mise à jour","update_view_time_remaining":"restant","update_view_up_to_date":"VERSION À JOUR","update_view_update_now":"METTRE À JOUR MAINTENANT","update_view_update_urgency_label":"Mettre à jour le statut : {status}","update_view_updated_industrial":"Le logiciel du contrôleur de site est à jour.","update_view_updated_residential":"Le logiciel de la passerelle est à jour.","update_view_wait_minutes":"VEUILLEZ PATIENTER QUELQUES MINUTES","validation_phone":"Insérez un numéro de téléphone valide","vitals_header_subtitle_firmware_update":"Mise à jour du microprogramme en cours...","vitals_header_subtitle_firmware_update_failed":"Échec de la mise à jour du microprogramme. Vérifiez les commutateurs activés et leur raccordement","vitals_header_title":"Système","vitals_powerwall_state_ac_fault":"Défaillance de niveau AC","vitals_powerwall_state_dc_fault":"Défaut de niveau DC","vitals_powerwall_state_grid_following":"Suivi de réseau","vitals_powerwall_state_grid_forming":"Formation de réseau","vitals_powerwall_state_init":"Initialisation","vitals_powerwall_state_off":"Désactivé","vitals_powerwall_state_standby":"En veille","vitals_powerwall_state_support_dc":"Assistance DC","warning":"AVERTISSEMENT","warning_off_grid":"Si le système électrique est déconnecté du réseau, les charges secourues seront éteintes dans un délai de 5 minutes.","warning_on_grid":"Si le système électrique est connecté au réseau, la recharge/décharge du Powerwall est interrompue.","warning_sitemaster_container_not_running":"Le maître du site n\'est pas en cours d\'exécution.","wifi_pairing_link_message":"Ajouter un Powerwall connecté par WiFi","wifi_view_find_network":"RECHERCHER RÉSEAU PAR SSID","wifi_view_note":"Remarque : La Passerelle est compatible uniquement avec les réseaux sans fil 2,4 GHz.","wifi_view_note_five_ghz":"Remarque : la passerelle est compatible avec les réseaux sans fil de 2,4 GHz et de 5 GHz.","wifi_view_readonly":"Ceci est un Powerwall suiveur, de sorte que sa configuration de réseau sans fil ne peut pas être modifiée.","wifi_view_security_label":"SÉCURITÉ","wizard_container_commissioning_wizard":"Assistant de mise en service Tesla","wizard_container_login_required":"Identifiant requis","wizard_container_title":"Commençons.\\n","wizard_container_verifying_login_title":"Vérifier l\'identifiant"}' + ); + }, + function (e) { + e.exports = JSON.parse( + '{"advanced_settings_error":"エラー","advanced_settings_submit":"送信","advanced_settings_submitted":"送信完了","advanced_settings_title":"詳細設定","alert_container_ac_phase_1_over_voltage":"AC過電圧","alert_container_ac_phase_1_under_voltage":"AC不足電圧","alert_container_ac_phase_2_over_voltage":"AC過電圧","alert_container_ac_phase_2_under_voltage":"AC不足電圧","alert_container_ac_phase_3_over_voltage":"AC過電圧","alert_container_ac_phase_3_under_voltage":"AC不足電圧","alert_container_over_frequency":"AC周波数上昇","alert_container_rate_of_change_frequency":"周波数のAC変化率","alert_container_under_frequency":"AC周波数減少","app_container_engineering_mode_banner_message":"Tesla Service モードは認証は必要ありません。動作を変更する場合は、「システムを停止」してください。ブラウザを閉じる前に、システムの状態を準備してください。このモードでは認証は必要ありません。完了後はブラウザを閉じることができます。","app_container_engineering_mode_title":"Tesla Service モード","app_container_firmware_update_banner_message":"設置および配線を操作したり動かさずに、更新が完了するまで、このページを離れないでください。","app_container_firmware_update_banner_title":"ファームウェアをアップデート中です","app_container_sitemaster_message_title":"システムは現在実行されています。電池ブロックのステータスを表示するには、システムをシャットダウンする必要があります。システムは、ホームページから停止することができます。","app_container_sitemaster_power_supply_mode_banner_message":"ペアリングと構成のために電源装置にAC電圧を供給するバッテリー。ランディング ページでシステムを停止するボタン。","app_container_sitemaster_power_supply_mode_banner_title":"自立運転モード","app_container_sitemaster_running_banner_title":"システム実行中","auto_config_check_network_button":"ネットワークを点検してWiFiを有効にします","auto_config_check_system_and_summary":"システムおよび概要ページを点検します。","auto_config_done_button_text":"完了","auto_config_instructions_cannot_determine_grid_connection":"システムを始動させる前に、バックアップ スイッチまたはGatewayに至る配線を確認します。","auto_config_instructions_determining_on_grid":"このメッセージが3分を超えても消えない場合、自立運転スイッチまたはGatewayに至る配線を確認します。","auto_config_instructions_finding_contactor_controller":"このメッセージが3分を超えても消えない場合、自立運転スイッチまたはGatewayに至る配線を確認します。","auto_config_instructions_finding_powerwalls":"このメッセージが3分を超えても消えない場合、Powerwallの配線を確認します。","auto_config_instructions_lookup_failed_retry":"シリアル番号のステッカーをスキャンしてBoltに読み込ませ、自動Powerwallセットアップを有効にしてから、{retryButton}","auto_config_instructions_lookup_failed_wizard":"または手動Powerwallセットアップには{wizardButton}。","auto_config_instructions_missing_info_1":"以下の情報が欠落しているために自動Powerwallセットアップに失敗しました。","auto_config_instructions_missing_info_2":"手動で入力するには{wizardButton}。","auto_config_instructions_missing_info_3":"手動で{registrationButton}。","auto_config_instructions_no_grid_detected":"システムを指導する前に配線およびブレーカーを点検します。","auto_config_instructions_no_network_retry":"自動Powerwallセットアップを有効にするには{networkLink}、そして{retryButton}","auto_config_instructions_no_network_wizard":"または手動Powerwallセットアップには{wizardButton}。","auto_config_instructions_retry":"問題が解消しない場合{networkLink}","auto_config_instructions_retry_wizard":"または手動Powerwallセットアップには{wizardButton}。","auto_config_instructions_updating":"自動Powerwallセットアップを開始する前にソフトウェアのアップデートが必要です。アップデートは自動的にダウンロードされて適用されます。後ほどPowerwallのWiFiネットワークに再接続する必要がある場合があります。","auto_config_missing_grid":"顧客サイトの電力系統","auto_config_missing_gridcode":"顧客サイトのグリッドコード","auto_config_missing_registration":"製品登録のための顧客情報","auto_config_missing_timezone":"顧客サイトのタイムゾーン","auto_config_network_button_text":"ネットワークのセットアップ","auto_config_registration_button_text":"顧客情報の入力","auto_config_retry_button_label":"再試行","auto_config_run_button_label":"Powerwallを自動セットアップ","auto_config_run_wizard_button_text":"ウィザードの実行","auto_config_section_title":"自動Powerwallセットアップ","auto_config_status_cancelled":"自動セットアップはキャンセルされました。再試行可能:","auto_config_status_cannot_determine_grid_connection":"電力系統の接続を判定できませんでした。","auto_config_status_complete":"問題なく完了","auto_config_status_determining_on_grid":"電力系統の接続を判定...","auto_config_status_finding_contactor_controller":"開閉器コントローラを検索...","auto_config_status_finding_powerwalls":"Powerwallを検索...","auto_config_status_in_progress":"進行中","auto_config_status_lookup_failed":"シリアル番号の参照に失敗","auto_config_status_missing_information":"情報欠落","auto_config_status_no_grid_detected":"電力系統が見つかりません。","auto_config_status_no_network":"Teslaに接続されていません","auto_config_status_not_applicable":"自動セットアップは不要または実行済みです。再実行可能:","auto_config_status_retrying":"失敗したネットワークリクエストを再試行中","auto_config_status_timeout":"自動設定がタイムアウトしました。再試行可能:","auto_config_status_updating":"ソフトウェアのアップデートが必要です","auto_config_stop_system_modal_message":"システムの実行中は、自動セットアッププロセスを実行できません。システムを停止し、もう一度お試しください。","auto_config_stop_system_modal_title":"自動セットアップを始動できません","battery_container_add_all_batteries_button_label":"すべて追加","battery_container_available_batteries_subtitle":"に追加しない限り、バッテリーはシステム作動の一部ではありません。","battery_container_available_batteries_title":"使用可能なバッテリーブロック","battery_container_cannot_communicate":"Powerwallと通信できません。CANバス配線および終端抵抗を確認してください。","battery_container_cannot_communicate_with_device":"デバイスと通信できません。CANバス配線および終端抵抗を確認してください。","battery_container_chinv":"コンプレッサおよびヒーターVFD(CHINV){index}","battery_container_configured_batteries_label":"構成済みのバッテリー ブロック","battery_container_configured_batteries_subtitle":"これらのバッテリーはシステム運用の一部です。","battery_container_confirm_update_firmware":"このプロセスは数分かかる場合があります。更新を中断したり、このページを離れないでください。","battery_container_dcbc":"バッテリーブロック{name}","battery_container_dcbc_comms_failure":"通信失敗。ユニットのネットワーク接続をチェックして、もう一度スキャンしてください。","battery_container_dcbc_dcdisconnect_opened":"DC切断ハンドルがオフ位置にあります。","battery_container_dcbc_door_switch_opened":"インバータードア有効化ラインが開いています。ドアスイッチを確認してください。","battery_container_dcbc_enable_line_return_low_estop":"インバーター遠隔シャットダウンが開いています。遠隔シャットダウン回路を確認してください。","battery_container_dcbc_enable_line_return_low_inv":"インバータシステム有効化ラインが開いています。回路遮断器フィードバックを確認してください。","battery_container_dcbc_enable_line_return_low_str":"1つ以上のパワーパック列の有効化ラインが開いています。配線とパワーパックのドアを確認してください。診断用有効化ライン トラブルシューティングガイドを参照してください。","battery_container_delete_button_title":"このデバイスを削除","battery_container_diagnosis_incomplete":"診断が完了していません。このほかのチェックを実行する前に、ファームアップは必要です。","battery_container_faults":"故障","battery_container_firmware_update_needed":"ファームウェアのアップデートが必要です。","battery_container_gateway_contactor_meter_controller":"Gateway開閉器/メーター コントローラ","battery_container_industrial_confirm_update_firmware":"これにより、各電池ブロックおよびそのサブコンポーネントのファームウェアが更新されます。","battery_container_industrial_confirm_update_firmware_info":"これにより、内の各バッテリー ブロックのファームウェアが更新されます","battery_container_internal_communications_fault":"内部通信エラー。CANバス配線および終端を確認し、ファームアップを行なってください。","battery_container_meter_socket_adapter":"自立運転スイッチ","battery_container_mpbc":"バッテリー ブロック{index}","battery_container_mpthc":"サーマル コントローラー(MPTHC){index}","battery_container_no_msa_detected":"自立運転スイッチは検出されませんでした。","battery_container_no_sync_detected":"接触器コントローラーは検出されませんでした。バックアップ機能は検出されませんでした。","battery_container_package_number":"{PackagePartNumber}--{PackageSerialNumber}","battery_container_part_number":"PN: {pn}","battery_container_pod":"ポッド {index}","battery_container_post":"ポスト(LCC){index}","battery_container_post_missing":"欠落ポスト{index}","battery_container_powerpack":"パワーパック {index}","battery_container_powerstage":"パワーステージ{index}","battery_container_powerwall":"{index} Powerwall","battery_container_powerwall_switched_off":"Powerwallのスイッチが切られています。スイッチがON位置にあることを確認してください。","battery_container_qbms":"Qbert(QBMS)","battery_container_qhvp":"高電圧プロセッサー(QHVP)","battery_container_residential_confirm_update_firmware":"これは、各Powerwallのファームウェアおよび接触器コントローラー(ある場合)を更新します。","battery_container_resolve_connectivity":"ファームアップを実行する前に接続の問題を解決してください。","battery_container_scan":"スキャン","battery_container_scan_in_progress":"スキャン中…","battery_container_scbc":"充電器ブロック{index}","battery_container_scthc":"サーマル コントローラー(SCTHC){index}","battery_container_self_tests_failure":"自己テストで合格しませんでした。","battery_container_self_tests_inconclusive":"自己テスト結果が未決定です。","battery_container_self_tests_internal_error":"自己テストは内部システムエラーにより失敗しました。","battery_container_self_tests_stall":"タイムアウト:自己テストをスタートすることができません。","battery_container_self_tests_system_down":"システムのダウン中は、自己テストを実行することができません。システムを始動し、もう一度お試しください。","battery_container_self_tests_updating":"バッテリーをアップデートしている際は、セルフテストを実行することができません。アップデートが完了してから再試行してください。","battery_container_serial_number":"SN: {sn}","battery_container_solar_powerwall":"{index}ソーラーPowerwall","battery_container_starc":"DC-DCコンバーター(STARC){index}","battery_container_stitch":"コントロール パワーDC-DC(STITCH)","battery_container_synchronizer":"接触器コントローラー","battery_container_unknown":"未知のバス コントローラー{index}","battery_container_update_failed":"更新が失敗しました。配線を確認し、スイッチが更新処理中に中断されないようにして、もう一度お試しください。","battery_container_update_firmware":"ファームウェアのアップデート","battery_container_update_in_progress":"アップデートが進行中です…","battery_container_waiting_to_report_firmware":"ユニットからファームウェア・バージョンの報告を待機中。","battery_container_warnings":"警告","button_label_generate":"発電","can_reboot_message_backup":"自立運転モード","can_reboot_message_block_update":"ブロック アップデート進行中","can_reboot_message_enumeration":"計数進行中","can_reboot_message_initializing":"システム初期化中","can_reboot_message_power_flow_is_too_high":"電力フローが高すぎ","can_reboot_message_updating":"サイト パッケージ アップデート進行中","caution":"注意","charger_settings_cabinet":"Cabinet {sn} {state}","charger_settings_cabinet_posts_warning":"これらのコントロールはポスト イネーブルおよびキャビネット内部のHVバスだけを停止します。キャビネットにアクセスする際は依然として電力を遮断し、安全手順に従う必要があります。","charger_settings_common_bus":"Common Bus {state}","charger_settings_common_bus_warning":"コモンHVバスだけを停止しますキャビネットにアクセスする際は依然として電力を遮断し、安全手順に従う必要があります。","charger_settings_disabled":"無効","charger_settings_enabled":"有効","charger_settings_post":"Post {id} {state}","charger_settings_saving":"saving {spinner}","client_protocols_container_subtitle":"クライアント プロトコルの有効/無効を切り替える。","client_protocols_container_title":"クライアント プロトコル","client_protocols_menu_title":"クライアント プロトコル","client_protocols_view_dnp3_label":"DNP3","client_protocols_view_m2m_label":"REST API","client_protocols_view_modbus_label":"Modbus TCP/IP","compliance_container_label_fcc_id":"FCC ID:{fccId}","compliance_container_label_ic_id":"IC:{icId}","compliance_container_label_manufacturer":"製造者: {manufacturer}","compliance_container_label_model":"モデル: {model}","compliance_container_title":"コンプライアンス","component-menu-title":"コンポーネント","conductor_limit":"蓄電池の制御により、幹線あるいは受電点にて電流の制限値を設ける事ができる。","conductor_min_current":"幹線の逆潮流上限値","control_container_add_on":"追加機能","control_container_always_active":"常時スタンバイ","control_container_battery_ok":"フルバッテリーエクスポートが可能","control_container_charge_power_target":"充電パワーターゲット","control_container_conductor_max_current":"幹線の潮流上限値","control_container_conductor_min_current_max_bound":"{mode} の上限値は200A","control_container_conductor_min_current_min_bound":"{mode} の下限値は5A","control_container_control_subtitle":"コントロールサブタイトル","control_container_control_title":"コントロールタイトル","control_container_direct":"直接指令","control_container_disable":"無効","control_container_discharge_power_target":"放電パワーターゲット","control_container_enabled":"使用可能","control_container_energy_target":"エネルギーターゲットこの値は、正常な状態では、設計資料および検査報告書によるシステムサイズと一致します。","control_container_error_message":"{mode}は必須です","control_container_explanation_bullet_five_max_site_meter_power_kw":"この制限値より負荷が大きい場合、蓄電池はこの制限値を越えることを防ぐため可能な限り放電を行います。","control_container_explanation_bullet_five_min_site_meter_power_kw":"この制限値より総発電量が大きい場合、バッテリーはこの制限値を越えることを防ぐため可能な限り充電を行います。","control_container_explanation_bullet_four_max_site_meter_power_kw":"負荷がこの制限値を下回る場合、バッテリー充電は許容範囲内に制限されます。","control_container_explanation_bullet_four_min_site_meter_power_kw":"総発電量がこの制限値を下回る場合、バッテリー放電は許容範囲内に制限されます。","control_container_explanation_bullet_one_max_site_meter_power_kw":"受電点正潮流制限値はオプション設定です。制限値を無効化する場合はこの欄を空欄にします。","control_container_explanation_bullet_one_min_site_meter_power_kw":"受電点逆潮流制限値はオプションの設定です。制限値を無効化する場合はこの欄を空欄にします。","control_container_explanation_bullet_three_max_site_meter_power_kw":"これはすべての相にわたるサイトメーターの総限度値です。(注記: 負荷メーターが使用される場合、サイトメーターは負荷電力、太陽光発電力、また蓄電池電力を使用して計算されます。)","control_container_explanation_bullet_three_min_site_meter_power_kw":"これはすべての相にわたるサイトメーターの総限度値です。(注記: 負荷メーターが使用される場合、サイトメーターは負荷電力、太陽光発電力、また蓄電池電力を使用して計算されます。)","control_container_explanation_bullet_two_max_site_meter_power_kw":"有効にした場合、Sitemasterの制御により受電点からの買電電力の最大値をコントロールします。","control_container_explanation_bullet_two_min_site_meter_power_kw":"有効にした場合、Sitemasterの制御により受電点の逆潮電力の最大値をコントロールします。","control_container_explanation_export_restrictions_locked":"系統への逆潮をどのように行うかを決定します。設定後に変更を行う場合は、Teslaにお問い合わせいただく必要があります。","control_container_explanation_export_restrictions_unlocked":"逆潮電力の設定できるのは最初の試運転調整時のみとなっています。修正を希望される場合はTeslaにご連絡ください。","control_container_explanation_nominal_system":"この値は、正常な状態では、設計資料および検査報告書に従よるシステムサイズと一致します。","control_container_heat_for_energy":"ヒートモード:電力量確保","control_container_heat_mode":"ヒートモード","control_container_heco_committed_capacity":"確約容量","control_container_heco_committed_discharge_power_W_max_bound":"{mode}の最大値は100000 W(100 kW)","control_container_heco_committed_discharge_power_W_min_bound":"{mode}の最小値は100 W","control_container_loading":"読み込み中","control_container_max_site_meter_power_W_max_bound":"{mode} の上限値は50000W(50kW)","control_container_max_site_meter_power_W_min_bound":"{mode} の下限値は1000W(1kW)","control_container_max_site_meter_power_kW_positive":"{mode}は0以上である必要があります。","control_container_max_site_meter_power_kw":"受電点正潮流制限値","control_container_max_site_meter_power_w":"受電点正潮流制限値","control_container_menu":"メニュー","control_container_min_site_meter_power_kW_positive":"{mode}は0以上である必要があります。","control_container_min_site_meter_power_kw":"受電点逆潮流制限値","control_container_min_site_meter_power_w":"受電点逆潮流制限値","control_container_minimum_charge_power":"最小充電電力","control_container_minimum_discharge_power":"最小放電電力","control_container_misc":"MISC","control_container_net_meter_mode":"逆潮流の限度","control_container_never":"逆潮無し","control_container_nominal_system_energy_kW_positive":"{mode}は0以上である必要があります。","control_container_nominal_system_energy_kWh_positive":"{mode}は0以上である必要があります。","control_container_nominal_system_energy_kwh":"公称システム電力量","control_container_nominal_system_energy_max_error":"公称システム電力量が最大エネルギー限度を超えています。","control_container_nominal_system_power_kw":"公称システム電力","control_container_nominal_system_power_max_error":"公称システム電力が最大電力を超えています。","control_container_number_error_message":"{mode}は数値入力である必要があります。","control_container_power":"電力","control_container_pv_only":"太陽光メーターの計測値まで逆潮可能","control_container_reactive_mode":"無効電力モード","control_container_real_mode":"有効電力モード","control_container_reset":"リセット","control_container_site_control":"サイト コントロール","control_container_site_limits":"受電点の制限値","control_container_site_max_power":"サイト最大電力","control_container_site_min_power":"サイト最小電力","control_container_submit":"送信","control_container_submitting_control":"コントロール信号送信","control_start":"スタート","control_stop":"停止","current_password_placeholder_text":"現在のパスワードを入力してください","current_transformer_item_view_200a_ct":"200/264A","current_transformer_item_view_800a_ct":"800A","current_transformer_item_view_amp_dropdown_title":"アンペア{id}","current_transformer_item_view_battery_ct":"蓄電池","current_transformer_item_view_calculated_reading":"計算値:","current_transformer_item_view_conductor_ct":"幹線","current_transformer_item_view_ct_voltage_pairing_1":"L1相","current_transformer_item_view_ct_voltage_pairing_2":"L2相","current_transformer_item_view_ct_voltage_pairing_3":"L3相","current_transformer_item_view_ct_voltage_pairing_default":"デフォルト位相","current_transformer_item_view_doubled_solar_ct":"太陽光(1CT x2)","current_transformer_item_view_flip":"逆向き","current_transformer_item_view_generator_ct":"発電機","current_transformer_item_view_load_ct":"負荷","current_transformer_item_view_measure_pw_plus_input":"Powerwall+インバーターを測定","current_transformer_item_view_measured_reading":"CT当たり:","current_transformer_item_view_missing_ct":"喪失","current_transformer_item_view_no_reading":"読み取り値なし","current_transformer_item_view_none_ct":"なし","current_transformer_item_view_phase_sequence_dropdown_title":"相","current_transformer_item_view_site_ct":"サイト","current_transformer_item_view_smart_ct":"スマート","current_transformer_item_view_solar_ct":"太陽光","current_transformer_item_view_solar_rgm_ct":"太陽光収入のみ","current_transformers_container_800a_ct_ensure":"このページのCTの選択が設置済み機種と一致することを確認してください。","current_transformers_container_800a_ct_larger":"800 A CTは200/264のA CTより物理的に大きくなります。","current_transformers_container_800a_ct_use_case":"大型コンダクタあるいはパネル(400A/800Aのような)を測定する場合、800A CTを使用して設定を行ってください。","current_transformers_container_amps_explanation":"CTを通って流れる電流","current_transformers_container_check_phase_doubled_solar_ct_bullet":"正確な位相 ({sequence})でCTが設置されていることを確認してください。","current_transformers_container_configure_subtitle":"CTのメーターを設定してください。","current_transformers_container_ct_flipping_ensure_direction":"最初に、CTラベルがソーラーのインバーターに面している(ソーラーCTの場合)、または系統側に面している(サイトCTの場合)ことを確認してください。次に、各相の配線位置をチェックして、電流、力および力率読み取り値を確認してください。","current_transformers_container_ct_flipping_modal_title":"ソフトウェアによるのCTフリッピング","current_transformers_container_ct_flipping_software_incorrect_metering":"間違った位相で設置されたCTをソフトウエアにより反転させた場合、正しく測定できなくなります。","current_transformers_container_ct_flipping_wrong_phase":"マイナス電力値は、CTが逆あるいは間違った位相で設置されていることを示す場合があります。","current_transformers_container_double_check_recommendation":"続行する前に、配線、電圧、タップ、CTおよびメーター構成を再度確認してください。","current_transformers_container_doubled_solar_ct_explanation":"バランスPVインバーターの測定に単一のCTを使用することができます。","current_transformers_container_doubled_solar_ct_modal_title":"1つのCTでの単相3線のソーラーインバーターの測定","current_transformers_container_grid_code_phase_modal_title":"警告: CT数が推奨グリッド コード位相と一致しません。","current_transformers_container_grid_code_phase_multiple_meters_modal_title":"警告: CTの数が、複数のメーターの推奨グリッドコード位相と一致しません。","current_transformers_container_grid_code_phase_multiple_warnings_message":"下記の{numMeters} のメーターで予期しない数のCTが含まれています:","current_transformers_container_grid_code_phase_warning_message":"下記のメーターで予期しない数のCTが含まれています:","current_transformers_container_grid_code_single_phase_warning":"適用されるグリッドコードは単相です。単相システムは典型的には、1相あるいは3相サービスのどちらかです。{lb} 奇数個のCT(1または3)が推奨されます。","current_transformers_container_grid_code_split_phase_warning":"適用されるグリッドコードは単相3線です。典型的には単相3線は各相に一つずつCTを取り付けます。 {lb} 太陽光CTを一つにするオプションを除いて、CTの数は偶数(2か4)をお勧めします。","current_transformers_container_is_revenue_grade_solar_ct_modal_explanation_revised":"計量法に基づいた計量(RGM)を有効にするためには、Powerwall+ソーラーインバーターを測定するNeurioメーターが必要です。","current_transformers_container_is_revenue_grade_solar_ct_modal_prompt_revised":"Powerwall+ソーラーインバーターを測定していれば「はい」を選択します。Powerwall+アセンブリの一部でないソーラーインバーターを測定していれば「いいえ」を選択します。","current_transformers_container_is_revenue_grade_solar_ct_modal_title":"Powerwall+インバーターを測定していますか?","current_transformers_container_label_direction_doubled_solar_ct_bullet":"CTラベルがソーラーインバーターに面していることを確認してください。","current_transformers_container_label_modal_title":"ラベルの説明","current_transformers_container_load_ct_ensure":"負荷CTを構成する場合、サイト上の負荷がすべて測定され、バックアップのある負荷、およびバックアップのない負荷が別個に測定されていることを確認してください。","current_transformers_container_load_ct_modal_title":"CTのロード","current_transformers_container_load_ct_recommended":"サイトCTが使用できない場合のみ、負荷用CTを使用可能となります。","current_transformers_container_meter_id":"メーター{id}","current_transformers_container_no_load_and_site_ct":"負荷とサイトの両方のCTがあるとは限らない場合があります。","current_transformers_container_no_loads_doubled_solar_ct_bullet":"CTの裏には負荷を設置できません。","current_transformers_container_no_site_or_load_warning":"サイトまたは負荷電流の変圧器が設定されていません","current_transformers_container_no_solar_ct_warning":"ソーラーCTは設定されていません","current_transformers_container_no_solar_inverter_warning":"ソーラーインバーターは設定されていません","current_transformers_container_phase_usages_modal_title":"警告: CT設定が相構成と一致しません。","current_transformers_container_phase_usages_warning":"構成された位相の数が、構成されたCTの数と一致しません。{lb} {num} 個のCT設定が推奨されます。","current_transformers_container_phase_usages_warning_message":"下記のメーターで予期しない数のCTが含まれています:","current_transformers_container_power_amperage_configure_warning":"{type}CTでは、陽極電力とアンペア数の両方を正確に設定する必要があります。","current_transformers_container_power_factor_explanation":"力率(Power_Real/Power_Apparent)。高電源レベルでのみ表示されます。共通の抵抗型負荷については、力率は1の値の近くになります。低い力率は、CTの設置が不正確か、あるいは非常に大きい容量性/誘導負荷が存在する可能性があります。","current_transformers_container_power_factor_out_of_range_warning":"力率測定が規定範囲外です。{lb} 測定された力率: {powerFactor}PF{lb}メーターの設置が不正または位相が不正確か、あるいは、非常に大きな容量性/誘導負荷が存在する可能性があります。","current_transformers_container_system_test_configured_incorrect":"警告: CT{id}の設定が不正です。","current_transformers_container_title":"CT","current_transformers_container_voltage_out_of_range_warning":"電圧が規定範囲外です。{lb}測定電圧: {volts}V{lb}このCTの測定電圧は正常な動作範囲にありません。","current_transformers_container_volts_explanation":"ラインから電流変流器と関連する電圧タップ中の中立までの電圧","current_transformers_container_watts_explanation":"関連する電圧タップ中の電圧がかかったCTを流れる電力","customer_installation_view_email_label":"お客様のメールアドレス","customer_installation_view_email_placeholder":"Eメール","customer_registration_view_address_label":"建物名・号室","customer_registration_view_address_placeholder":"建物名・号室","customer_registration_view_city_label":"市区町村・番地","customer_registration_view_city_placeholder":"市区町村・番地","customer_registration_view_clear_form":"記入をクリア","customer_registration_view_country_label":"国","customer_registration_view_customer_information":"お客様情報","customer_registration_view_email_address_label":"メールアドレス","customer_registration_view_email_address_label_confirmation":"Eメールを再入力","customer_registration_view_email_placeholder":"Eメール","customer_registration_view_family_name_label":"苗字","customer_registration_view_family_name_warning":"苗字を入力してください","customer_registration_view_given_name_label":"名前","customer_registration_view_given_name_warning":"名前を入力してください","customer_registration_view_homeowner_family_name_placeholder":"苗字","customer_registration_view_homeowner_given_name_placeholder":"名前","customer_registration_view_installation_address":"設置先住所","customer_registration_view_phone_number_label":"電話番号","customer_registration_view_phone_placeholder":"電話","customer_registration_view_skip_explanation":"スキップした場合、所有者は、システムにアクセスする前にTeslaモバイルアプリから登録を実施することが必要になります。","customer_registration_view_state_placeholder":"都道府県","customer_registration_view_state_province_region_label":"都道府県","customer_registration_view_zip_label":"郵便番号","customer_registration_view_zip_placeholder":"郵便番号","diagnostic-alert-affected-children":"影響をうけるコンポーネント({count})","diagnostic-alerts-missing-alert-information":"アラート情報喪失","diagnostic-alerts-missing-data":"<フィールドに入力がありません>","diagnostic-alerts-toolbox-article":"ツールボックス記事","diagnostic-alerts-toolbox-article-external-link":"外部リンク","diagnostic_alert_alert_name":"アラート名","diagnostic_alert_alert_type":"アラートのタイプ","diagnostic_alert_audience":"対象","diagnostic_alert_clear_condition":"条件をクリア","diagnostic_alert_description":"説明","diagnostic_alert_display_name":"名前を表示","diagnostic_alert_id":"アラートID","diagnostic_alert_impact_category":"影響カテゴリー","diagnostic_alert_latching":"ラッチしている","diagnostic_alert_max":"最大","diagnostic_alert_min":"最小","diagnostic_alert_name":"名称","diagnostic_alert_node":"ノード","diagnostic_alert_offset":"オフセット","diagnostic_alert_payload_signals":"ペイロード信号","diagnostic_alert_potential_impact":"潜在的影響","diagnostic_alert_safety_reason":"安全上の理由","diagnostic_alert_scale":"スケール","diagnostic_alert_set_condition":"条件を設定","diagnostic_alert_signal_name":"信号名","diagnostic_alert_signoff":"サイン オフ","diagnostic_alert_sna_value":"SNA値","diagnostic_alert_supplier_dtc_name":"サプライヤーDTC名","diagnostic_alert_uiID":"UI ID","diagnostic_alert_units":"単位","diagnostic_alert_urgent":"緊急","diagnostic_category_item_view_alerts_description":"サイト、コンポーネントおよびサブコンポーネント アラート","diagnostic_category_item_view_download_results":"結果をダウンロード","diagnostic_category_item_view_internal_comms_description":"すべてのデバイス通信をチェックしてください","diagnostic_category_item_view_internal_comms_title":"デバイス通信","diagnostic_category_item_view_live_results":"最新の結果","diagnostic_category_item_view_metering_description":"メーターの接続を確認してください","diagnostic_category_item_view_metering_title":"測定","diagnostic_category_item_view_networking_description":"ネットワークの接続を確認してください","diagnostic_category_item_view_networking_title":"ネットワーキング","diagnostic_category_item_view_no_selected_tests":"選択されたテストはありません","diagnostic_category_item_view_rerun_selected":"選択された{num}テストを再実行","diagnostic_category_item_view_rerun_selected_test":"選択されたテストを再実行","diagnostic_category_item_view_run_selected":"選択された{num}テストを実行","diagnostic_category_item_view_run_selected_test":"選択されたテストを実行","diagnostic_category_item_view_select_all_tests":"全てを選択","diagnostic_category_item_view_self_tests_description":"システムの充電放電テストを開始します","diagnostic_category_item_view_self_tests_title":"自己診断テスト","diagnostic_category_item_view_toggle_all_tests":"すべて変更","diagnostic_input_view_blocks_label":"ブロック","diagnostic_input_view_individual_test_name_label":"個別テスト名","diagnostic_input_view_max_allowed_charge_power_label":"最大許容充電電力","diagnostic_input_view_max_allowed_discharge_power_label":"最大許容放電電力","diagnostic_test_enable_line":"ラインを有効化","diagnostic_test_item_view_ac_self_test_description":"AC電力自己診断テスト","diagnostic_test_item_view_ac_self_test_description_2":"一連のパワースロッシュテストをAC系統に実行します。Powerpackシステムは「MAX_ALLOWED_POWER」設定を使用します。これらをMegapackおよびスーパーチャージャーシステムに対して0に設定します。","diagnostic_test_item_view_dc_self_test_description":"DC電力自己診断テスト","diagnostic_test_item_view_dc_self_test_description_2":"DC系統に対して温度チェックを含む一連のテストを実行します。","diagnostic_test_item_view_enable_line_description":"PowerwallのスイッチがONの位置の確認テスト","diagnostic_test_item_view_enable_line_resolution":"スイッチをONにし、再度お試しください。","diagnostic_test_item_view_individual_self_test_description":"構成済みバスコントローラーで使用可能なセルフテストのリストを選択します。","diagnostic_test_item_view_meter_comms_description":"メーター通信の確認","diagnostic_test_item_view_network_connection_description":"インターネットとTeslaサーバーへの接続テスト","diagnostic_test_item_view_network_connection_resolution":"ネットワーキングを再設定","diagnostic_test_item_view_resolution_generic_text":"{name}を再設定し、再度お試しください。","diagnostic_test_item_view_step_canceled":"テストはユーザー操作により取り消されました。","diagnostic_test_item_view_step_config_update_status":"Tesla Configurationサーバーステータスのチェック","diagnostic_test_item_view_step_google_http":"Ping Google HTTP","diagnostic_test_item_view_step_google_https":"Ping Google HTTPS","diagnostic_test_item_view_step_hermes_status":"Tesla Loggingサーバーステータスのチェック","diagnostic_test_item_view_step_results_ip_address":"IP アドレス","diagnostic_test_item_view_step_results_subnet_mask":"サブネット:","diagnostic_test_item_view_table_header_key":"識別子","diagnostic_test_item_view_table_header_name":"ステップ ","diagnostic_test_item_view_table_header_value":"値","diagnostic_test_meter_comms":"メーター通信","diagnostic_test_network_connection":"ネットワーク接続","diagnostics_composite_view_no_tests_found":"利用可能なテストはありませんでした","diagnostics_composite_view_run_all_selected_tests":"選択されたテストをすべて実行","diagnostics_container_industrial_disruptive_tests_description":"次のテストで、ファンおよびサーマルシステムが作動し、ノイズを生成します。インバーター当たりおよそ30kWの消費が予期されます。さらに、次のテストで、システムの通常動作が中断されることがあります:","diagnostics_container_required_inputs_description":"次のテストには追加の入力が必要です。","diagnostics_container_residential_disruptive_tests_description":"次のテストを行った場合、ゲートウェイとPowerwallの両方の通常動作が中断されることがあります:","diagnostics_container_stop_test_title":"{name}テストを停止しますか?","diagnostics_container_subtitle":"システム設置に関する問題を分析するためのツール。","diagnostics_container_tests_running":"自己診断テスト中","diagnostics_container_title":"診断","disabled_reason_battery_breaker_open":"バッテリー ブレーカーが開いています","disabled_reason_checking_firmware_update":"ファームウェア アップデートの確認中","disabled_reason_config":"構成ファイルによって無効化","disabled_reason_excessive_voltage_drop":"過剰な電圧低下","disabled_reason_firmware_update_failed":"ファームウェアアップデートに失敗","disabled_reason_gridcode_write_failed":"グリッドコード設定に失敗","disabled_reason_user_requested":"ユーザー リクエストで無効化","dropdown_default_placeholder":"入力...","dropdown_list_view_not_listed_label":"記載なし: \\"{searchText}\\"","dropdown_list_view_select_all":"全てを選択","dropdown_list_view_select_field":"欄を選択してください。","dropdown_list_view_show_complete":"完全リストに切替","dropdown_list_view_show_searchable":"検索リストに切替","enumeration_warning_details_miswired_12v":"2つのPowerwall+を接続する場合、Gateway/バックアップ スイッチに接続されているユニットだけに12 Vを印加してください。チェーン内で後続するすべてのPowerwall+から12 Vを切り離し、(このページの末尾にある)デバイスを再スキャンして、この警告をクリアします。","enumeration_warning_details_multiple_controllers_gateway":"ソーラー アセンブリの右上にあるすべてのPowerwall+サイト コントローラの電源ハーネスのプラグを外します。","enumeration_warning_details_multiple_controllers_powerwall_with_msa":"ソーラー アセンブリの右上にある、拡張Powerwall+サイト コントローラ(バックアップ スイッチに接続していない)の電源ハーネスのプラグを外します。","enumeration_warning_details_multiple_controllers_powerwall_with_sync":"ソーラー アセンブリの右上にあるすべてのPowerwall+サイト コントローラの電源ハーネスのプラグを外します。Backup Gatewayを接続することで、システムの試運転を実施します。","enumeration_warning_details_multiple_controllers_unknown":"CANで配線された複数のPowerwall+をセットアップする場合は、サイト コントローラ1つだけしか電源が入っていないようにする必要があります。","enumeration_warning_details_multiple_controllers_unknown_with_details":"1つのサイトコントローラーだけが有効である必要があります。Backup Gatewayを使用する場合、すべてのPowerwall+コントローラーのプラグを抜きます。自立運転スイッチを使用する場合、1台を除きすべてのPowerwall+コントローラーのプラグを抜きます。1つのサイトコントローラーだけが有効になるまで「ウィザードを実行」は無効になります。","enumeration_warning_title_miswired_12v":"12 V配線エラー","enumeration_warning_title_multiple_controllers":"複数のサイト コントローラが通電中","error_details":"エラー詳細","error_item_view_check_network":"ネットワーク接続を確認してください。","error_item_view_disconnected":"ゲートウェイから切断されました。ネットワーク接続をチェックし{refresh}します。","error_item_view_forgot_password":"パスワードをリセットするには、クリックしてください。","error_item_view_refresh_browser":"ブラウザを更新。","error_item_view_try_logging_in_again":"もう一度ログインをお試しください。","ethernet_view_backup_dns_label":"バックアップDNSサーバー","ethernet_view_backup_dns_warning":"有効なバックアップDNSサーバー","ethernet_view_configuration_label":"設定","ethernet_view_dhcp_label":"DHCP","ethernet_view_gateway_label":"ゲートウェイ","ethernet_view_gateway_warning":"有効なゲートウェイ(ルーター)のIP","ethernet_view_ip_address_label":"IP アドレス","ethernet_view_ip_address_warning":"有効なIPアドレス","ethernet_view_not_available":"利用できません","ethernet_view_primary_dns_label":"プライマリDNSサーバー","ethernet_view_primary_dns_warning":"有効なプライマリDNSサーバー","ethernet_view_static_label":"固定","ethernet_view_subnet_mask_label":"サブネット マスク","ethernet_view_subnet_mask_warning":"有効なサブネット マスク","factory_reset_message":"これによりユニットはTesla指定のデフォルト状態にリセットされます。この操作は元に戻すことができません。使用可能にするには、このユニットを専門設置技術者によって再度試運転する必要があります。ユニットのWiFiネットワークを再接続する必要がある場合があります。","field_false":"誤り","field_true":"正しい","follower_powerwall_message":"このPowerwallは{leader}によって制御されています","follower_powerwall_title":"フォロワーPowerwall","form_legend_text":"必要なフィールドを表示","generation_container_connecting_status":"接続しています","generation_container_connection":"インバーター{id}接続","generation_container_connection_summary":"この接続プロセス中に、一時的にネットワークが切断されることがあります。{lb}正確なネットワークに再度接続したことを確認します。これには最長で 3 分ほどかかることがあります。","generation_container_subtitle":"ソーラーインバーターおよび発電機情報の両方を以下に追加してください。","generation_container_title":"発電","generator_item_view_disconnect_type_label":"解列手法","generator_item_view_generator":"発電機{id}","generator_item_view_manufacturer_label":"メーカー(OPT)","generator_item_view_model_label":"モデル","generator_item_view_serial_label":"シリアル","generator_item_view_sustained_power_label":"保持される電力","generator_view_add_generator":"発電機を追加","grid_code_container_off_grid_confirmation":"システムはオフグリッドですか?","grid_code_container_off_grid_detected":"オフグリッドシステムを検知しました。これが正確な設定であることを確かめてください。","grid_code_container_off_grid_warning":"{warning}: システムのオフグリッドステータスを検知することができませんでした。オフグリッドステータス設定不良はシステム障害に帰着するおそれがあります。","grid_code_container_results":"電力系統運用検出結果","grid_code_container_retrieving":"グリッドコードの検索","grid_code_container_saving":"電力系統コードの保存中","grid_code_container_subtitle":"場所とメーターの読み取り値に基づいて、設置に最良の設定を見つけてください。","grid_services_view_grid_services":"グリッド サービス","heading_change_password":"パスワードを変更する","help_view_how_password":"ゲートウェイ上でパスワードを見つける","help_view_how_password_description":"ゲートウェイのドアを開けてください。パスワードはラベルにあります。\\"Password:\\"","help_view_how_serial_number":"非バックアップゲートウェイ上でシリアル番号を見つける","help_view_how_serial_number_backup":"バックアップゲートウェイ上でシリアル番号を見つける","help_view_how_serial_number_backup_description":"バックアップゲートウェイのドアを開けてください。シリアル番号は/から始まります。\\"(S):\\"","help_view_how_serial_number_description":"ゲートウェイのドアを開けてください。シリアル番号は/から始まります。\\"(S):\\"","help_view_how_to_enable_line":"Powerwallの操作","help_view_how_to_enable_line_description":"Powerwallスイッチのオンとオフを切替えます複数台Powerwallシステムでは変更が必要なスイッチは一つだけです。","hierarchy_charger":"充電器ブロック{name}","hierarchy_chinv":"コンプレッサーとヒーターのVFD(CHINV)","hierarchy_converter":"DC-DCコンバーター(STARC)","hierarchy_inverter":"バッテリーブロック{name}","hierarchy_mega_thermal_controller":"サーマル コントローラー(MPTHC)","hierarchy_missing_post":"欠落ポスト","hierarchy_mpbc":"バッテリー ブロック{name}","hierarchy_part_number":"部品番号","hierarchy_pod":"ポッド","hierarchy_pods_reporting":"ポッド報告","hierarchy_post":"ポスト(LCC)","hierarchy_posts":"ポスト","hierarchy_power_stage":"パワーステージ電力ステージ","hierarchy_power_stages":"パワーステージ電力ステージ","hierarchy_powerpack":"パワーパック{name}","hierarchy_qbms":"バッテリー管理ボード(QBMS)","hierarchy_qhvp":"高電圧プロセッサー(QHVP)","hierarchy_scthcs":"サーマル コントローラー","hierarchy_serial_number":"シリアル番号","hierarchy_sitemaster":"サイトマスター{name}","hierarchy_starcs":"DC-DCコンバーター","hierarchy_stitch":"コントロール パワーDC-DC(STITCH)","hierarchy_thermal_controller":"サーマル コントローラー(SCTHC)","higher_order_login_login_required":"ログインが必要です","higher_order_login_title":"それでは、始めましょう。","home_container_caution":"⚠️ 注意","home_container_caution_deenergize":"システムを安全に非通電状態にするには、すべてのPowerwallのスイッチをオフにします。","home_container_caution_energized":"ソーラー ストリングが接続されていると、システムが通電状態のままになる可能性があります。","home_container_inactive_meter":"古くなったメータデータ","home_container_inactive_meter_description":"{type}メーター接続をチェックしてください。","home_container_inactive_meter_timestamp":"最後のメーター読み取りは{timestamp}です。","home_container_login_required":"ログインが必要です","home_container_missing_meter":"メーターがありません。","home_container_positive_meter":"警告: {type}メーター構成が不正確である可能性があります。","home_container_positive_meter_description":"{type}メーターでは、陽極電力とアンペア数の両方を正確に設定する必要があります。","home_container_powerwall_error":"パワーウォールシステムエラー","home_container_powerwall_start_error":"システム始動不能: {reason}","home_container_site_controller_error":"サイト コントローラー システム エラー","home_container_sitemaster_alternative":"注記: 通常システムは、すべてのPowerwallsの有効化スイッチを切り、ブレーカーを開くことにより無効化が行われます。","home_container_sitemaster_confirm":"システムを確実に停止する場合のみ、下で「はい」をクリックしてください。","home_container_sitemaster_confirm_industrial":"システムを停止してもよろしいですか?","home_container_sitemaster_confirm_wizard":"ウィザードを実行するにはシステムを停止させる必要があります。操作を継続してシステムを停止させますか?","home_container_sitemaster_header_warning":"{warning}これによりPowerwallとシステム運用が停止されます。","home_container_sitemaster_header_warning_industrial":"{warning}このシステムはテスラが停止を推奨している状態ではありません。理由: \\"{reason}\\"","home_container_sitemaster_header_warning_wizard":"{warning}このシステムはテスラが停止を推奨している状態ではありません。理由: \\"{reason}\\"","home_container_sitemaster_logging":"システムがオフになっている間は追跡記録は停止されます。","home_container_sitemaster_reset":"システムを停止してから、システムを再開するには、ウェルカムページのスタートボタンをクリックしてください。","home_container_sitemaster_update":"進行中の更新がある場合は終了されます。","home_container_start_powerwall":"システム始動","home_container_start_system_button":"システム始動","home_container_stop_powerwall":"システム停止","home_container_stop_system_button":"システム停止","home_view_compliance":"コンプライアンス","home_view_download_all_logs":"ログをすべてダウンロード","home_view_download_logs":"ログをダウンロード","home_view_download_logs_description_one":"これにより、オペレーティングシステム、ソフトウェアとネットワークの問題を分析するための圧縮システムログセットをダウンロードします。","home_view_download_logs_description_three":"ログは署名の上暗号化され、調査のためのテスラ・エネルギー・サービスに送信されます。","home_view_download_logs_description_two":"ゲートウェイをネットワークに接続できず高度なトラブルシュートが必要な場合、これは特に有用です。","home_view_login":"ログイン","home_view_logout":"ログアウト","home_view_run_wizard":"ウィザードを実行","input_accept":"同意します","input_confirm":"すべてのシステム警告を承認します。","input_consent":"同意します","input_decline":"同意しません","input_no_consent":"同意しません","input_title_email":"有効なEメールアドレスを入力してください:name@name.domain","installation_container_relay_section_modal_title":"Gateway 低電圧リレー","installation_container_residual_current_device_modal_title":"サイトRCDの設置要件","installation_container_subtitle":"インストーラーおよびサイト情報","installation_container_sync_relay_usage_open_off_grid":"自立運転中はリレーは「開」","installation_container_title":"設置に関する情報","installation_problem_detail_site_shutdown_0":"システムを再度有効にするには:","installation_problem_detail_site_shutdown_1":"すべてのPowerwallのON/OFFスイッチをオンにします","installation_problem_detail_site_shutdown_2":"非常停止回路を閉じます","installation_problem_detail_site_shutdown_3":"急速シャットダウンジャンパーが正しく取り付けられていることを確認します","installation_problem_detail_site_shutdown_4":"シャットダウン回路配線を確認します。","installation_problem_detail_title_site_shutdown":"サイトのシャットダウン回路がトリガーしました","installation_problem_detail_title_site_shutdown_pvs_rsd_no_switch":"Powerwall+の急速シャットダウンによって、サイトのシャットダウン回路がトリガーしました","installation_problem_details_pvacs_with_no_solar_rgm":"Powerwall+アセンブリの一部ではないソーラーインバーターを測定している場合に限ってソーラーメーターが必要です。Powerwall+インバーターを測定するメーターは「変流器」ページと同様にマーキングされるべきです。","installation_problem_details_too_few_solar_rgm":"Powerwall+ソーラーインバーターを測定するCTの数はPowerwall+ソーラーインバーターの数と一致している必要があります。ウィザードを実行し、必要に応じてNeurioメーターをペアリングし、「変流器」ページでCT構成を調整します。","installation_problem_details_too_many_solar_rgm":"Powerwall+ソーラーインバーターを測定するCTの数はPowerwall+ソーラーインバーターの数と一致している必要があります。ウィザードを実行し、「変流器」ページでCT構成を調整します。","installation_problem_title_pvacs_with_no_solar_rgm":"Powerwall+インバーターを測定していないソーラーメーターこれは正しいですか?","installation_problem_title_site_shutdown":"サイトのシャットダウン回路がトリガーしました。すべてのPowerwallおよびPowerwall+ソーラーインバーターが無効になっています。","installation_problem_title_site_shutdown_pvs_rsd_no_switch":"Powerwall+の急速シャットダウンによって、サイトのシャットダウン回路がトリガーしましたすべてのPowerwallおよびPowerwall+ソーラーインバーターが無効になっています。","installation_problem_title_too_few_solar_rgm":"Powerwall+インバーターを測定するソーラーメーターが少なすぎます","installation_problem_title_too_many_solar_rgm":"Powerwall+インバーターを測定するソーラーメーターが多すぎます","installation_view_add_on_solar":"追加","installation_view_additional_connections_label":"追加コネクション","installation_view_back_wiring":"後面","installation_view_backup_configuration_label":"バックアップ設定","installation_view_basement_location":"地下室","installation_view_company_label":"会社名","installation_view_company_placeholder":"認定工事会社名","installation_view_conditioned_space_location":"管理されたスペース","installation_view_existing_solar":"既存","installation_view_floor_mounting":"床置き","installation_view_garage_location":"ガレージ","installation_view_home_label":"家の配線","installation_view_location_label":"POWERWALL設置場所","installation_view_modem_ethernet":"モバイルモデムに有線で接続していますか?","installation_view_modem_wifi":"モバイルモデムに無線で接続していますか?","installation_view_mounting_label":"Powerwallの取り付け","installation_view_na_backup_configuration":"N/A","installation_view_new_solar":"新設","installation_view_none_solar":"なし","installation_view_outdoor_location":"屋外","installation_view_pad_mounting":"架台設置","installation_view_partial_home_backup_configuration":"特定負荷バックアップ","installation_view_phone_label":"電話番号","installation_view_phone_placeholder":"施工者の電話番号","installation_view_powerline_ethernet":"電力線搬送通信はありますか?","installation_view_pv_panel":"太陽光パネル","installation_view_relay_enabled":"自立運転中はリレーは「開」","installation_view_relay_label":"Gateway 低電圧リレー","installation_view_relay_options_modal_content":"連系運転中または、他のAC電源接続時はリレーは「閉」 {lb1} 自立運転中は、リレーは「開」となります。 {lb1} 一例として、連系運転中は、エアコンの使用が可能にし、自立運転中は、Powerwallからの過電流を防ぐため、エアコンの使用を停止させる事ができます。","installation_view_relay_section_modal_content":"Gateway内蔵の解列リレーにより、運転状態からリレーの開閉を行います。 {lb1} 負荷や発電機などを制御する為に使用されます。 {lb1} Backup Gateway 1 では、AUX端子の5極(緑色 Phonex connector)の1,2 を使用します。 {lb1} Backup Gateway 2 では、AUX端子の5極(緑色 Phonex connector)の3,4 を使用します。 {lb1} リレーは、定格60V/2Aで、通常12V または24V用として使用されます。 {lb1} 詳細は、 load shedding and related application notes を参照ください。","installation_view_residual_current_device":"ゲートウェイの上流にRCDはインストールされていますか?","installation_view_residual_current_device_modal_content":"状況により、漏電遮断器の取り付け時には、TT系統接地が必要な場合があります。 {lb1}{lb2} オフグリット運転中の不要なブレーカートリップを無くすためには、Gatewayの上位にある漏電遮断器を時延形にするか、漏電遮断器をGatewayの下流に設置することをお勧めします。 {lb1}{lb2} 詳細は、RCD and Fault Protection Application Noteを参照ください。","installation_view_satellite_ethernet":"衛星通信モデムに有線で接続していますか?","installation_view_satellite_wifi":"衛星通信モデムに無線で接続していますか?","installation_view_side_wiring":"側面","installation_view_solar_label":"ソーラーの設置","installation_view_solar_panels":"Solar Panel","installation_view_solar_roof":"ソーラールーフ","installation_view_solar_type_label":"太陽光の種類","installation_view_solarglass":"Solarglass(現時点ではサポートされていません)","installation_view_stack_kit":"連結キットはありますか?","installation_view_type_commercial":"商用","installation_view_type_label":"工事担当者情報","installation_view_type_perm_off_grid":"常時オフグリッド","installation_view_type_residential":"住居","installation_view_wall_mounting":"壁","installation_view_whole_home_backup_configuration":"まるごとバックアップ","installation_view_wifi_extender":"Wi-Fi中継器はありますか?","installation_view_wiring_label":"Powerwallの配線","inverter_test_view_accuracy_magnitude":"精度マグニチュード","inverter_test_view_accuracy_time":"精度時間","inverter_test_view_complete":"完了","inverter_test_view_current_magnitude":"現在のマグニチュード","inverter_test_view_fail":"不合格","inverter_test_view_na":"N/A","inverter_test_view_not_run":"実行されていません","inverter_test_view_pass":"合格","inverter_test_view_running":"実行中","inverter_test_view_set_magnitude":"しきい値を設定","inverter_test_view_set_time":"時間を設定","inverter_test_view_test_description":"インバーター自己診断テストを実行","inverter_test_view_test_name_all":"すべてのテスト","inverter_test_view_test_name_over_freq_stage_one":"周波数上昇ステージ 1","inverter_test_view_test_name_over_freq_stage_two":"周波数上昇ステージ 2","inverter_test_view_test_name_over_volt_one":"過電圧ステージ 1","inverter_test_view_test_name_over_volt_two":"過電圧ステージ 2","inverter_test_view_test_name_under_freq_stage_one":"周波数減少ステージ 1","inverter_test_view_test_name_under_freq_stage_two":"周波数減少ステージ 2","inverter_test_view_test_name_under_volt_one":"不足電圧ステージ 1","inverter_test_view_test_name_under_volt_two":"不足電圧ステージ 2","inverter_test_view_timestamp":"タイムスタンプ","inverter_test_view_trip_magnitude":"トリップしきい値","inverter_test_view_trip_time":"トリップ時間","inverter_test_view_warning":"注記: インバーター テストは、1つのインバーター当たり最大で20~30分かかることがあります。","label_fail":"不合格","label_inconclusive":"未決定","label_pass":"合格","legal_container_customer_policy_subtitle":"必ず住宅所有者の方がご確認ください。","legal_container_customer_policy_title":"Tesla顧客個人情報保護方針と限定保証","legal_container_no_meters_warning":"メーターが構成されていません","legal_container_no_powerwalls_warning":"POWERWALLSが検出されませんでした","login_type_customer":"お客様","login_type_engineer":"技術者","login_type_installer":"設置工事者","login_view_cancel_login_auth":"キャンセル","login_view_change_forgot_password":"パスワード変更またはパスワードを忘れた場合","login_view_compliance":"コンプライアンス","login_view_customer_email_placeholder":"お客様メール","login_view_email":"Eメール","login_view_email_placeholder":"リードインストーラー電子メール","login_view_forgot_password":"パスワードをお忘れですか","login_view_forgot_password_login_type":"ログインの種類を選択してください","login_view_language_label":"言語","login_view_login_type_label":"ログインの種類","login_view_password_placeholder":"お客様のパスワードを入力してください","login_view_start_login_auth":"ログイン開始","login_view_start_login_auth_how_to_enable_line_description":"ログインするには、Powerwallの電源をOFF/ONする必要があります。Powerwallが複数台ある場合は、1台のPowerwallのスイッチをOFF/ONしてください。","login_view_username":"ユーザー名","login_view_username_placeholder":"ユーザー名","login_warning_view_expand":"ウィザードが開始しない場合、{click}をクリックします。","login_warning_view_firmware_update":"ファームアップが進行中の場合","login_warning_view_heading":"{warning} ウィザードを開始した場合バッテリー動作が停止されます。","login_warning_view_protect_system":"システムを保護するため、次の場合は、ウィザードは開始されません:","login_warning_view_stop_operation":"ウィザード強制開始","login_warning_view_supported_browsers":"{warning} 現在ウェブブラウザはChromeおよびSafariのみサポートされています。","login_warning_view_system_force_launch":"蓄電池システムを停止してウィザードを開始する場合は、ウィザード強制開始を選択してください。","login_warning_view_system_off_grid":"蓄電池システムがオフグリッドの場合","login_warning_view_warning_click":"詳細はクリックしてください","mater_item_view_bad_barcode":"無効なバーコードをスキャンしました","mater_item_view_barcode_scan_failed":"バーコードのスキャンに失敗","meter_acuvim_id":"ACUVIM {id}","meter_aggregate_type_battery":"バッテリー","meter_aggregate_type_load":"負荷","meter_aggregate_type_site":"サイト","meter_aggregate_type_solar":"ソーラー","meter_container_add_meter_error":"メーターの確認中","meter_container_add_meter_status":"メーターの追加中","meter_container_authorizing_status":"認証中","meter_container_decode":"イメージからシリアルを読み取ることができませんでした。","meter_container_detecting_status":"有線メーターの検出","meter_container_failed_status":"メーターを追加できませんでした","meter_container_reconnecting_status":"再接続中","meter_container_skip_title":"メーターの試運転が行われてません。続行しますか?","meter_container_starting_status":"充電開始中","meter_container_subtitle":"接続するエネルギーメーターの短いIDおよびシリアル番号を入力してください。試運転後、各メーターをテストしてください。","meter_container_subtitle_industrial":"接続するエネルギーメーターのIPアドレスおよび場所を入力してください。試運転後、各メーターをテストしてください。","meter_container_success_status":"メーターが追加されました","meter_container_title":"メーター","meter_container_unknown_status":"不明","meter_container_updating_status":"メーターの更新中","meter_container_verification":"メーター{id}検証","meter_container_verification_gw1":"このWiFiペアリングプロセス中に、ゲートウェイWiFiネットワークから一時的に切断されることがあります。{lb}正確なネットワークに再度接続したことを確認します。これには最大で 3 分ほどかかることがあります。","meter_container_verification_gw2":"WiFiペアリングプロセスは、最長で 3 分ほどかかることがあります。","meter_container_verify_meter_error":"メーターの確認中","meter_container_verifying_status":"メーターの確認中","meter_item_view_add_failed":"メーターを追加できませんでした","meter_item_view_add_failed_help":"ショートIDおよびシリアルナンバーを確認してください。メーターのチャイムが鳴ったら、サイクルメーターの電源を入れ、接続します。問題が解決しない場合、メーターを削除しもう一度実行してください。","meter_item_view_advanced_settings":"詳細設定(オプション)","meter_item_view_battery_ct":"蓄電池","meter_item_view_battery_location":"蓄電池","meter_item_view_check_meter":"メーター{id}接続チェック","meter_item_view_conductor_location":"導線","meter_item_view_cts":"{count} CTが検出されました","meter_item_view_doubled_solar_location":"2倍ソーラー","meter_item_view_generator_location":"発電機","meter_item_view_ip_address":"IP アドレス","meter_item_view_load_location":"負荷","meter_item_view_mac_address":"MACアドレス","meter_item_view_meter_location":"メーター位置","meter_item_view_none_location":"なし","meter_item_view_remote_ip_address_placeholder":"例、123.123.123.123","meter_item_view_remote_mac_address_placeholder":"例、12-A3-45-67-8B-90","meter_item_view_remote_serial_placeholder":"例、OBB1231231234、VAH4187AB0060","meter_item_view_remote_short_id_placeholder":"例、01.234","meter_item_view_serial":"シリアル","meter_item_view_short_id":"短いID","meter_item_view_site_ct":"サイト","meter_item_view_site_location":"サイト","meter_item_view_solar_ct":"太陽光","meter_item_view_solar_location":"太陽光","meter_item_view_solar_rgm_location":"太陽光収入のみ","meter_item_view_success":"接続に成功しました","meter_item_view_unable":"メーターを読み取れません","meter_item_view_upgrading":"メーターはアップグレード中です","meter_list_view_add":"Wi-Fiメーターを追加(現時点ではサポートされていません)","meter_list_view_add_ip":"IPメーターを追加","meter_list_view_detect":"有線メーターを検知(現時点ではサポートされていません)","meter_list_view_enable_inverter_readings":"バッテリー インバーター指示値を有効にする","meter_list_view_inverter_meter":"インバーター メーター","meter_list_view_inverter_meter_desc":"これを有効にした場合にバッテリー メーターが設定されていないと、サイト コントローラーはバッテリー インバーターの指示値をバッテリー メーターとして使用します。","meter_msa_id":"自立運転スイッチ{id}","meter_sync_id":"同期メーター{id}","meter_sync_x_id":"内部主メーターX(Gateway){id}","meter_sync_y_id":"内部補助メーターY(Gateway){id}","meter_update_modal_fetch_status_error":"エラー: メーター更新ステータスを取得できません","meter_update_modal_footer":"これには最大で 2 分ほどかかることがあります","meter_update_modal_remaining_time":"残り時間: {seconds}秒","meter_update_modal_timeout_error":"エラー: メーターの更新中にタイムアウトが発生しました","meter_update_modal_title":"メーター更新を実行中","meter_validation_container_error":"サイトコントローラー作動中はメーター確認が使用できません。","meter_validation_container_error_placeholder":"メーター確認が使用できません:{error}。","meter_validation_container_power_command":"電力コマンド","meter_validation_container_power_start":"開始","meter_validation_container_power_stop":"停止","meter_validation_container_power_unit":"kW","meter_validation_container_power_unit_kvar":"kVAr","meter_validation_container_power_unit_watts":"kW","meter_validation_container_reactive_power_command":"無効電力コマンド","meter_validation_container_real_power_command":"有効電力コマンド","meter_validation_container_show_per_phase":"各相の値を表示","meter_validation_container_title":"メーター確認","meter_validation_container_usage":"電力コマンドを送信し、メーター データを確認します。電力コマンドを継続するには、このページに留まる必要があります。マイナス値の場合、システムが充電を行います。プラス値の場合、システムが放電を行います。","meter_validation_control_subtitle":"コントロール","meter_validation_control_title":"コントロールタイトル","meter_validation_disable":"無効","meter_validation_loading":"読み込み中","meter_validation_menu":"メニュー","meter_validation_reset":"リセット","meter_validation_submit":"送信","meter_validation_submitting_control":"コントロールの提出","meter_validation_title":"メーター確認","meter_validation_view_apparent_power":"皮相電力(kVA)","meter_validation_view_battery_location":"蓄電池","meter_validation_view_conductor_location":"導線","meter_validation_view_current":"電流(A)","meter_validation_view_doubled_solar_location":"2倍ソーラー","meter_validation_view_generator_location":"発電機","meter_validation_view_inverters":"インバーター({length})","meter_validation_view_load_location":"負荷","meter_validation_view_meter":"メーター({length})","meter_validation_view_none_location":"なし","meter_validation_view_pf":"力率","meter_validation_view_phase_a":"A","meter_validation_view_phase_average":"平均値","meter_validation_view_phase_b":"B","meter_validation_view_phase_c":"C","meter_validation_view_phase_total":"合計","meter_validation_view_reactive_power":"無効電力(kVAr)","meter_validation_view_real_power":"有効電力(kW)","meter_validation_view_site_location":"サイト","meter_validation_view_solar_location":"太陽光","meter_validation_view_solar_rgm_location":"太陽光収入のみ","meter_validation_view_voltage":"電圧(V)","meter_w1_wifi_id":"メーター{id}","meter_w1_wired_id":"有線メーター{id}","meter_w2_wifi_id":"メーター{id}","meter_w2_wired_id":"有線メーター{id}","meter_wifi_id":"メーター{id}","meter_wired_id":"有線メーター{id}","metrics_aggregate":"蓄電システム","metrics_apparent_power":"皮相電力 ({unit})","metrics_battery":"バッテリー","metrics_current":"電流 ({unit})","metrics_meter":"メートル","metrics_no_metrics":"表示するメトリクスはありません。","metrics_power_factor":"力率","metrics_reactive_power":"無効電力 ({unit})","metrics_real_power":"有効電力 ({unit})","metrics_subtitle":"メトリクス","metrics_voltage_l_n":"電圧L-N ({unit})","modal_acknowledge":"同意して確認","modal_confirm":"確定","modal_exit":"閉じる","modal_no":"いいえ","modal_note":"注記","modal_ok":"OK","modal_reconfigure":"再設定","modal_yes":"はい","modbus_container_title":"Modbusインターフェース","modbus_table_register_address":"住所","modbus_table_register_name":"氏名","modbus_table_register_type":"タイプ","modbus_table_register_value":"値","modbus_table_register_value_decimal":"値(10進)","modbus_table_register_value_hex":"値(6進)","msa-off-grid":"オフ グリッド","msa-on-grid":"オン グリッド","navigation_email":"Eメール","network-switch-menu-item":"ネットワーク スイッチ","network_cellular_configured":"接続が確認できません。GWの設置位置が圏外でない事、アンテナが受信できる状態である事を確認してください。","network_connected":"接続されました","network_container_connect_ethernet":"イーサネットに接続中","network_container_connect_to_internet":"システムがインターネット接続を試行するまでお待ちください。","network_container_connect_wifi":"{ssid}に接続中","network_container_connect_wifi_description":"このプロセス中に、設置を継続するためにゲートウェイ ネットワークに再度接続する必要がある場合があります。","network_container_connman":"Network Connection Managerが、最適なネットワークにダイナミックに接続します。","network_container_connman_body":"接続を保証するために、利用可能なすべてのネットワーク設定を行ってください。:","network_container_delete_network":"設定済みネットワークを削除しますか?","network_container_ethernet_and_wifi_warning":"接続を保証するために、利用可能なイーサネットおよびWi-Fiネットワーク設定を行ってください。","network_container_ethernet_subtitle":"イーサネット","network_container_ethernet_warning":"接続を保証するために、利用可能なイーサネットWi-Fiネットワーク設定を行ってください。","network_container_network_description":"すべての利用可能なネットワーク・タイプでインターネットに接続してください。","network_container_network_subtitle":"ネットワーク","network_container_no_internet_bullet_four":"Powerwallによって技術サポートが問題を識別し、Teslaに運転データを送信することができます。","network_container_no_internet_bullet_four_industrial":"デバイスによって技術サポートが問題を識別し、Teslaに運転データを送信することができます。","network_container_no_internet_bullet_one":"Powerwallレジストレーション情報がTeslaに送信されることで、完全な10年保証が有効化されます。","network_container_no_internet_bullet_three":"テスラ・モバイルアプリを使用し、エネルギー使用をモニターし、またPowerwallをコントロールすることができます。","network_container_no_internet_bullet_two":"Powerwallでパフォーマンス向上および新しい機能が利用できるようになり、遠隔ファームアップを受信できます。","network_container_no_internet_bullet_two_industrial":"デバイスでパフォーマンス向上および新しい機能が利用できるようになり、遠隔ファームアップを受信できます。","network_container_no_internet_bullet_zero":"試運転調整前にファームウェアの更新が必要であるかを判断することができます。","network_container_no_internet_no_cell_title":"設置サイトで利用可能なインターネット接続がある場合は、このステップをスキップしないでください。イーサネット(推奨)あるいはWi-Fi経由でお客様の利用されているインタネットサービスに接続してください。","network_container_no_internet_title":"設置サイトで利用可能なインターネット接続がある場合は、このステップをスキップしないでください。イーサネット(推奨)あるいはWi-Fi経由でお客様の利用されているインタネットサービスに接続するか、あるいはモバイルネットワークリンクを確立してください。","network_container_no_internet_warning":"次の目的のため、安定したインターネットを確立することは重要です:","network_container_scan_networks":"Wi-Fiネットワークのスキャン","network_container_scan_wifi_disconnect_warning":"警告: 新しいネットワークをスキャンする場合、一時的に無線接続が切断されます。","network_container_wifi_subtitle":"Wi-Fi","network_container_wifi_warning":"接続を保証するために、利用可能なWi-Fiネットワーク設定を行ってください。","network_disabled":"無効になっています","network_disconnected":"未接続","network_ethernet_configured":"通信できていません。イーサネットケーブルが正しく挿しこまれているか確認してください。","network_switches_container_discover_failure":"最新の検出不具合: {error}","network_switches_container_discover_switches":"ネットワーク スイッチの検出","network_switches_container_discovered_label":"検出済みのネットワーク スイッチ","network_switches_container_discovering_stop_button":"検出を停止","network_switches_container_discovery_switches_running_label":"新しいネットワーク スイッチの検出を現在実行中です。以下のようにして検出を停止することができます。","network_switches_container_ip":"IP: {ip}","network_switches_container_mac":"MAC: {mac}","network_switches_container_not_supported":"ネットワーク スイッチは産業用システムだけでしかサポートしていませんでした。","network_switches_container_password_not_set":"パスワードが設定されていません","network_switches_container_password_set":"パスワードが設定されています","network_switches_container_passwords_error":"パスワード設定ステータス: {status}","network_switches_container_set_password_label":"工場デフォルト パスワードを依然として使用しているすべてのネットワーク スイッチにパスワードを設定します。\\n すべてのパスワードは同じ値に設定されます。","network_switches_container_set_passwords":"パスワードを設定","network_switches_container_set_passwords_button":"パスワードを設定","network_switches_container_setting_passwords_button":"パスワードの設定中...","network_switches_container_start_discovering_button":"検出を開始","network_switches_container_start_discovery_help":"ネットワーク スイッチの検出は自動的かつ定期的に実行されますが、「検出を開始」ボタンでトリガーすることができます。","network_switches_container_subtitle":"ネットワーク スイッチを表示する","network_switches_container_title":"ネットワーク スイッチ","network_view_check_connection":"インターネットの接続を確認してください","network_view_connection_failed":"接続されていません","network_view_connection_success":"接続に成功しました","network_view_continue_no_internet":"インターネット接続なしで続行","network_view_default_error":"接続エラー","network_view_local_network_connected":"ローカルネットワークが接続されました","network_view_local_network_disconnected":"ローカルネットワークエラー","network_view_tesla_internet_connected":"テスラ サービスおよびインターネットに接続","network_view_tesla_internet_disconnected":"Teslaサービスおよびインターネット接続エラー","network_warning":"警告","network_wifi_configured":"通信できていません。Wifiの設定を確認してください。","open_meter_validatiion_container_title":"メーター確認を開く","operation_mode_autonomous":"自動モード","operation_mode_backup":"バックアップ充電のみ","operation_mode_self_consumption":"自家消費モード","operation_mode_site_control":"サイト コントロール","overview_menu_control_title":"コントロール","overview_menu_diagnostics_title":"診断","overview_menu_modbus_title":"Modbus","overview_menu_network_connected":"接続されました","overview_menu_network_no_connection":"接続されていません","overview_menu_registration_complete":"完了","overview_menu_registration_incomplete":"未完了","overview_menu_registration_pending":"インターネット接続保留中","overview_menu_security_title":"パスワード変更あるいはリセット","overview_menu_settings_title":"設定","overview_menu_summary_title":"まとめ","overview_menu_system_title":"蓄電システム","overview_menu_update_title":"ソフトウェアアップデート","overview_menu_view_alerts_event":"事故","overview_menu_view_alerts_events":"イベント","overview_menu_view_inverter_title":"インバーターテスト","overview_menu_view_network_title":"ネットワーク","overview_menu_view_registration_title":"登録","overview_menu_view_test_title":"自己テスト","overview_meter_validation_title":"メーター確認","password_generate_error":"新しいパスワードの生成時にエラーが発生しました。接続および現在のパスワードを確認してから再試行してください。","password_generate_help_text":"既存のパスワードを入力するとランダムに新しいパスワードが生成されます。","password_generate_menu_title":"パスワードを変更する","password_generate_notice":"パスワードが変更されました。このページを離れる前に新しいパスワードを記録してください。","phase_container_detect_timeout":"フェーズ検出がタイムアウトされました。","phase_container_detection_attempt":"試行#{num}","phase_container_grid_code_validating_modal_title":"グリッド コード確認中","phase_container_grid_compliant_description":"グリッド適合 {checkmark}","phase_container_grid_modal_description":"グリッドは{time}秒で適合が完了します。","phase_container_grid_modal_title":"グリッド コンプライアンス待機中","phase_container_modal_description":"フェーズ検出は、1つのPowerwall当たり最長 2 分かかることがあります。","phase_container_modal_title":"相検出実行中","phase_container_saving_phases_modal_title":"位相の保存","phase_container_subtitle":"Powerwallがオンであるラインを表示し、ライン ステータスを更新します","phase_container_supported_error":"Powerwallは検出されませんでした。位相検出はサポートされていません。","phase_container_title":"位相","phase_container_voltage_caution_body":"{lineNumber}の上で予期しない電圧{voltage}Vが検知されました。この位相で{lineStatus}が適切な設定か再確認してください。","phase_container_warning_body":"バックアップ位相は選択されていません。したがって、グリッド接続が失われると、システムは負荷をサポートできません。","phase_container_warning_modal_header":"バックアップは無効になっていまます。","phase_line_id":"ライン - {id}","phase_line_item_view_line":"ライン","phase_line_item_view_line_status_backup":"バックアップ","phase_line_item_view_line_status_configured":"非バックアップ","phase_line_item_view_line_status_not_configured":"設定されていません","phase_line_status_backup":"バックアップ","phase_line_status_configured":"非バックアップ","phase_line_status_not_configured":"設定されていません","phase_view_detect":"位相を検出","phase_view_split_phase":"単相三線式","power_flow_view_go_off_grid":"オフ グリッドに進む","power_flow_view_go_on_grid":"オン グリッドに進む","power_flow_view_grid_button_disabled_reason":"オフ グリッドに進むにはシステムを起動する必要があります。","power_flow_view_grid_spinner_alt_label":"システム移行","power_flow_view_start_system":"システム始動","power_flow_view_stop_system":"システム停止","powerwall_container_industrial_no_additional_title":"追加のバッテリーブロックは見つかりませんでした。","powerwall_container_industrial_subtitle":"Site Controllerによって自動検知されたバッテリーブロックをすべてリストしています。バッテリーブロックがリストされていない場合は、もう一度スキャンしてください。","powerwall_container_industrial_subtitle_auto_detection":"Site Controllerによって自動検知されたバッテリーブロックをすべてリストしています。バッテリー ブロックがリストにない場合、配線を含むネットワーク機器を点検し、バス コントローラが通電していることを確認してください。","powerwall_container_industrial_title":"バッテリーブロック","powerwall_container_industrial_updating":"バッテリーブロックの確認","powerwall_container_no_additional_powerwalls_description":"配線問題の解決のヒントは、Powerwall設置マニュアルを参照してください。","powerwall_container_no_additional_powerwalls_title":"このほかにPowerwallsは見つかりませんでした。","powerwall_container_scan_again":"もう一度スキャン","powerwall_container_scanning":"スキャン中","powerwall_container_scanning_for_more":"さらにスキャン","powerwall_container_subtitle":"ゲートウェイによって自動検知されたPowerwallsをすべてリストしています。Powerwallがリストされていない場合は、もう一度スキャンしてください。","powerwall_container_subtitle_component_auto_detection":"Gatewayによって自動検知されたコンポーネントがすべてリストされています。コンポーネントがリストにない場合は、配線を確認してください。","powerwall_container_title":"Powerwall","powerwall_container_updating":"Powerwallsの確認","powerwall_container_updating_note":"注記: この操作は、1つのPowerwall当たり最長 60 秒かかることがあります。","powerwall_item_view_blank_numbers":"検証を待機中...","powerwall_item_view_numbers":"部品番号:{partNumber} シリアル:{serialNumber}","powerwall_item_view_powerwall":"POWERWALL:{id}","powerwall_pairing_cancel":"キャンセル","powerwall_pairing_connect":"接続","powerwall_pairing_done":"完了","powerwall_pairing_error_already_paired":"ペアリングに失敗: デバイスは既にペアリングされています","powerwall_pairing_error_bad_pairing_response":"ペアリングに失敗: デバイスがペアリングを拒否しました。フォロワーが停止していることを確認してください","powerwall_pairing_error_bad_qr_code":"WiFiのQRコードではありません","powerwall_pairing_error_internal":"ペアリングに失敗: 内部エラー","powerwall_pairing_error_no_qr_code":"QRコードが見つかりません","powerwall_pairing_error_no_response":"ペアリングに失敗: デバイスが応答しませんでした。","powerwall_pairing_error_not_leader":"ペアリングに失敗: フォロワー デバイスです。リーダー デバイスに再接続してください。","powerwall_pairing_error_prohibited_uncommissioned":"ペアリングに失敗: このPowerwallは試運転が終わっていません","powerwall_pairing_error_too_many_devices":"ペアリングに失敗: 既に最大数のデバイスがペアリングされています","powerwall_pairing_error_unknown":"ペアリングに失敗: 不明なエラー","powerwall_pairing_error_wifi_connection_failed":"ペアリングに失敗: WiFiに接続できませんでした。パスワードを確認してください。","powerwall_pairing_error_wifi_not_found":"ペアリングに失敗: WiFiネットワークが見つかりません","powerwall_pairing_exception":"ペアリングに失敗: 例外","powerwall_pairing_instructions_2":"ペアリングするPowerwallのWiFiのSSIDおよびパスワードを入力またはスキャンしてください。デバイスのQRコードを探してください。","powerwall_pairing_password_label":"パスワード:","powerwall_pairing_scan_qr_code":"QRコードをスキャン","powerwall_pairing_ssid_label":"SSID:","powerwall_pairing_state_complete":"ペアリング完了。新しいデバイスは1分以上(アップデート進行中はさらに長く)応答を開始しない可能性があります。「完了」をクリックすると終了します。","powerwall_pairing_state_monitoring":"新しいデバイスのペアリング中です。1分ほどかかることがあります。","powerwall_starting":"Powerwallを開始","powerwall_view_detected_backup":"バックアップ能力が検出されました","powerwall_view_detected_synchrometers":"検出されたメーター能力","powerwall_view_failed":"失敗","powerwall_view_no_backup":"バックアップ機能は検出されませんでした","powerwall_view_no_sync":"シンクロナイザーは検出されませんでした","powerwall_view_scan":"スキャン","powerwall_view_success":"成功","powerwall_view_synchrometer_detected":"同期メーターが検出されました","powerwall_view_synchronizer_detected":"シンクロナイザーが検出されました","powerwall_view_update":"POWERWALLSを確認","privacy_policy_view_accept_warranty_title":"Tesla Powerwall限定保証への同意","privacy_policy_view_contact_bullet_one":"メール {privacyEmail};","privacy_policy_view_contact_bullet_two":"郵送先 Tesla, Inc., Attn: Legal, 45500 Fremont Boulevard, Fremont, California 94538, United States.","privacy_policy_view_contact_header":"Teslaへの連絡方法について","privacy_policy_view_contact_paragraph_one":"ご意見ご質問のある方または特定のサービスのオプトアウトを希望される方は、Teslaまでご連絡ください。","privacy_policy_view_contact_paragraph_three":"お客様がEEAまたはスイスに所在されている場合、お客様の地域のTesla系列会社がお客様の個人情報の処理に責任を負う場合があります。","privacy_policy_view_contact_paragraph_two":"メールによる通信は必ずしも安全ではないため、Teslaに送信されるメールには、クレジットカード情報や機密情報を含めないようにご注意ください。","privacy_policy_view_cross_border_transfers_header":"外国へのデータ移転について","privacy_policy_view_cross_border_transfers_paragraph_one":"Teslaのサービスはアメリカから統括され運営されています。お客様あるいはTeslaの製品またはサービスのお客様の使用に基づく、あるいはお客様に関する情報は、Teslaが設備を持つあらゆる国あるいはTeslaが利用するサービス・プロバイダーの所在国や地域で保存、処理されます。これらの国では、最初に情報を提供した国と同じデータ保護法が施行されていない場合があります。お客様あるいは製品あるいはサービスのお客様の使用に基づく情報、あるいはお客様に関する情報をその他の国々に転送する場合も、Teslaはこの個人情報保護方針と同じ保護を行います。Teslaの製品、サービスを利用する場合、あるいはその他Teslaへの情報提供によって、お客様あるいは製品あるいはサービスのお客様の使用に基づく情報、あるいはお客様に関する情報を、アメリカを含め、お客様の居住国外に転送することに同意したとみなされます。","privacy_policy_view_cross_border_transfers_paragraph_two":"お客様がEEAまたはスイスに所在されている場合、Teslaは、EEAまたはスイス域外国への個人情報の移転に適切な保護を義務付けた法的必要条件に従います。Teslaは、EEAからTeslaおよびその全額出資米国子会社に移転される個人情報の処理に関して米国商務省と欧州委員会によって定めたEU-米国Privacy Shieldフレームワークの適合認証を取得しています。Tesla{privacyShield}はこちらでご確認いただけます。","privacy_policy_view_devices":"お客様またはお客様のデバイスから送信される情報、およびお客様またはお客様のデバイスに関する情報","privacy_policy_view_energy_products":"お客様のTeslaエネルギー製品からの情報および同製品に関する情報","privacy_policy_view_eu_policy_warning":"TeslaモバイルアプリでPowerwallを製品登録し、TeslaモバイルアプリでPowerwallを遠隔管理をご利用いただくには、プライバシーポリシーに同意していただく必要があります。","privacy_policy_view_eu_warranty_warning":"お客様がTesla顧客個人情報保護方針に同意いただけない場合、10年完全保証の対象外となる場合があります。 Teslaは、保証{warrantyLink}の中で述べられた除外条件と制限に従って、お客様のPowerwallが初めて設置された日付後、少なくとも4年間の保証を提供します。","privacy_policy_view_grid_services":"お客様のPowerwallは、電力会社やサードパーティーによるプログラムを通してサービスを提供することで、送配電網の信頼性を高めることができます。これらのサービスを利用した場合、適切なタイミングでPowerwallの電力の一部を放電する代わりに、お客様には金銭的なメリットが発生します。サービスをご利用いただくには、お客様のPowerwallとエネルギー利用状況に関する情報を電力会社やサードパーティーと共有する必要があります。Teslaは、これらのプログラムに加盟する前に、プログラムの詳細をお客様に説明し、参加の可否をお尋ねいたします。その際、お客様がオプトアウトされなかった場合は、プログラムにご参加いただくことになります。","privacy_policy_view_grid_services_title":"グリッド サービス","privacy_policy_view_grid_warning":"ご同意いただくことは必須ではありません。ご同意いただかなくても、今後これらのプログラムに参加する機会を提供する場合があります。","privacy_policy_view_here":"こちら","privacy_policy_view_homeowner_na":"住宅所有者は利用不可","privacy_policy_view_homeowner_required":"必ず住宅所有者の方がご確認ください","privacy_policy_view_information_collection_devices_bullet_five":"お客様のブラウザまたはデバイスを通じた収集: お客様のメディアアクセス制御 (MAC) アドレス、コンピューターの種類(WindowsまたはMacintosh)、画面の解像度、オペレーティングシステムの名称とバージョン、デバイス製造元と型番、使用言語、インターネットブラウザの種類とバージョン、お客様が利用されている本サービス(Teslaアプリ等)の名称とバージョン等の情報が、数多くのブラウザまたはお客様のデバイスを通じて自動的に収集されます。Teslaは、本サービスが適切に機能するよう、これらの情報を利用します。","privacy_policy_view_information_collection_devices_bullet_four":"オフラインTeslaは、お客様からの情報またはお客様に関する情報をで(例えば、お客様によるTesla店舗や修理工場への訪問、Teslaイベントへの参加、試乗の登録、電話での注文、当社の顧客サービス部門やセールス部門への連絡などの際に)収集することがあります。","privacy_policy_view_information_collection_devices_bullet_one":"サービスを通じた収集: Teslaは、ウェブサイト、ソフトウェアアプリケーション、ソーシャルメディアページ、メール、あるいはお客様がニュースレターに登録したり製品を購入したり、あるいはTeslaにお客様の商品を登録する際に利用する他のデジタルサービス (以下総称して「本サービス」といいます。) を通じて、お客様からの情報またはお客様に関する情報を収集することがあります。","privacy_policy_view_information_collection_devices_bullet_three":"My Tesla: Tesla車を購入するお客様には、Teslaウェブサイト上でMy Teslaアカウントが作成されます。Teslaは、お客様が同意された場合My Teslaアカウントから次の種類のデータを収集し処理する場合があります:お客様登録情報;ご注文状況、Tesla製品の (車両登録番号かその他製品シリアル番号、サービス計画情報あるいは接続パッケージなど) 関する一般的な情報、保証およびその他ドキュメンテーション;またTesla製品、保険、運転免許、融資契約および類似情報。お客様は、いつでもMy Teslaアカウントにアクセスして、アカウント内のお客様に関する情報を更新することができます。","privacy_policy_view_information_collection_devices_bullet_two":"その他のソースを通じた収集: Teslaは、さらに公共データベース、マーケティングパートナー、認定設置業者、第三者である車両修理またはサービスセンター、ソーシャルメディアプラットフォームなど、他のソースからお客様に関する情報を取得することがあります。","privacy_policy_view_information_collection_energy_products_bullet_one":"Teslaは、お客様の商品に関する情報(設置日、設置した商品の数量、製造番号等)を収集することがあります。","privacy_policy_view_information_collection_energy_products_bullet_two":"Teslaのエネルギー製品およびサービスの提供および改善のため、Teslaは、お客様の商品の設置場所、その使用設定、商品の使用・性能に関するデータ、自宅での総エネルギー消費に関するデータ、問題を診断するのに必要なその他のデータを収集することがあります。","privacy_policy_view_information_collection_header":"Teslaが収集する可能性がある情報について","privacy_policy_view_information_collection_paragraph_five":"Teslaがお客様のTeslaエネルギー製品から運転データあるいはその他どんなデータも集めることを許可しない場合は、「お問い合わせ」セクションからお問い合わせください。お客様がTeslaエネルギー製品からの運転データの収集をやめた場合、お客様のエネルギー製品に該当する問題をリアルタイムで通知できなくなる点にご注意ください。また、これは、エネルギー製品で機能縮小、深刻な損害あるいは動作不良につながるおそれがあります。また、さらに、定期的なソフトウェアおよびファームアップを含む、エネルギー製品の多くの機能をご利用いただけなくなる場合があります。","privacy_policy_view_information_collection_paragraph_four":"当社は、お客様のTeslaエネルギー製品からの情報および同製品に関するさまざまな情報を認定設置業者を通じて、または設置した製品から(直接またはインバーター等のペアリングをした機器を通じて)収集することがあります。","privacy_policy_view_information_collection_paragraph_one":"Teslaはお客様に関連する内容あるいはお客様の製品やサービスのご使用状況について、主として次の3つの種類の情報を収集します。(1)お客様から送られる情報、またはお客様やお客様のデバイスに関する情報、(2)お客様のTesla車両から送信される情報、またはお客様の車両に関する情報、(3)お客様のTeslaエネルギー製品から送信される情報、またははお客様の製品に関する情報。お客様が要求、所有、使用するTesla製品およびサービスによっては、これらの種類の情報すべてがお客様に該当するとは限りません。","privacy_policy_view_information_collection_paragraph_three":"お客様がTeslaのウェブサイトにアクセスしたり、当サービスを利用される際、Teslaは、Cookie、ピクセルタグ、解析ツール、その他本サービスの向上のための類似の技術を使用することがあり、その詳細は下記のとおりです。","privacy_policy_view_information_collection_paragraph_two":"Teslaは、お客様からの情報またはお客様に関する情報(お名前、住所、電話番号、電子メールアドレス、支払情報等)またはお客様のデバイスに関する情報を、下記のようなさまざまな方法で収集することがあります。","privacy_policy_view_information_collection_services_bullet_five":"このような情報収集及びオプトアウトに関するGoogleの取扱いに関しては、 {website}からGoogle Analytics オプトアウト ブラウザアドオンをダウンロードしてください。","privacy_policy_view_information_collection_services_bullet_four":"分析ツール: Teslaは、クッキーおよびその他同様の技術を使用する第三者によって提供されるウェブサイトとアプリケーションの分析サービスを利用し、個々のビジターを識別することなく、ウェブサイトやアプリケーション使用に関する情報を収集し、かつトレンドを報告することがあります。Teslaにこれらのサービスを提供する第三者は、さらに第三者ウェブサイトでお客様の使用に関する情報を収集している場合があります。","privacy_policy_view_information_collection_services_bullet_one":"クッキー: クッキーは使用されるコンピューター上に直接保存された小さなサイズの情報です。クッキーは、Teslaがブラウザ・タイプ、サービス利用時間、閲覧ページ、言語設定およびその他ウェブ・トラフィックデータのような情報を収集することを可能にします。Teslaのサービス・プロバイダーとTeslaは、セキュリティ、オンライン情報のナビゲーションを促進し、情報をより有効に表示し、サービス利用体験を個別化し、またその他ユーザー・アクティビティを分析する目的で使用します。Teslaは、これによってサービスのご使用を支援するためにお客様のコンピューターを認識することができます。さらに、Teslaは絶えずサービスの設計と機能性を改善するために、使用法に関する統計情報を集めて、サービスがどのように利用されるか理解し、サービスに関する課題解決を支援するためにこれらの情報を活用しています。クッキーはさらに、Teslaの広告または製品等でお客様の好みに合うものがどれか、かつお客様に訴求する可能性が最も高いか、どの製品を表示することをTeslaが選択することを可能にします。さらに、Teslaはオンライン広告でお客様がどのようにTeslaの広告に対応するか知るためにクッキーを使用することがあります。さらに、その他ウェブサイトのお客様の使用を理解するためにクッキーあるいはその他ファイルを使用する場合があります。","privacy_policy_view_information_collection_services_bullet_three":"ピクセルタグおよびその他類似の技術: ピクセルタグ(別名ウェブ・ビーコンやクリアGIF)は、特に、当サービスのユーザー(メール受信者を含みます。)による活動の追跡、当社のマーケティングキャンペーンの成果の測定、当サービスの利用状況や応答率に関する統計をとるために当サービスの一部において使用されることがあります。","privacy_policy_view_information_collection_services_bullet_two":"お客様がMy TeslaアカウントあるいはTeslaのウェブサイトでクッキーを通じた情報が収集されることを希望されない場合、ほとんどのブラウザで、シンプルな設定により、お客様が自動的にクッキーを拒否するか、特定サイトから特定クッキー(複数可)のお客様のコンピューターへの移行を禁止、許可する選択を行うことができます。さらに{website}もご確認ください。ただしこれらのクッキーを禁止する場合、一部のサービスの使用でご不便をおかけするおそれがあります。例えば、Teslaはお客様のコンピューターを認識することができず、それぞれのサービスごとに、別個のログインが必要となることがあります。","privacy_policy_view_information_rights_choices_agree_eu":"Powerwallを製品登録し、TeslaモバイルアプリでPowerwallを監視するには、プライバシーポリシーに同意していただく必要があります。","privacy_policy_view_information_rights_choices_agree_one":"Powerwallを製品登録し、TeslaモバイルアプリでPowerwallを監視するには、プライバシーポリシーに同意していただく必要があります。Powerwall情報へのアクセスでTeslaモバイルアプリを利用されない場合は、ご対応は必要ございません。","privacy_policy_view_information_rights_choices_bullet_one":"お客様は、いつでもMy Teslaアカウントにアクセスして、アカウント内のお客様に関する情報を更新することができます。","privacy_policy_view_information_rights_choices_bullet_two":"お客様が以前に提供されたお客様に関する情報の見直し、修正、更新、非公開、削除などをリクエストされる場合は、下記のアドレス宛にご連絡ください。","privacy_policy_view_information_rights_choices_header":"お客様の権利と選択肢について","privacy_policy_view_information_rights_choices_paragraph_four":"記録保存・法令遵守のため、および/または情報の変更もしくは削除の依頼提出前に開始した取引を完了するため、特定の情報を保管する必要がある場合(例えば、商品の購入またはプロモーションへの参加に際して、完了するまで先に提供した情報の変更や削除は行えません)がありますので、ご了承ください。またTeslaのデータベースその他の記録には残留情報がある場合がありますが、これらは削除されません。","privacy_policy_view_information_rights_choices_paragraph_one":"上記のセクションの中で詳述されるとおり、Teslaはお客様についての、お客様からの、あるいはお客様に関する情報あるいは製品またはサービスのお客様の使用に関する情報の収集、使用、共有について多くの選択肢を提供しています。準拠法を条件として、一部の法域管轄では、さらにTeslaがお客様に関して保持する一定の情報に関する情報にアクセスする、更新する、情報を修正する、情報のブロックまたは削除をリクエストする権利が認められている場合があります。これらの権利は地域法によって一部の状況では制限される場合があります。Teslaは、次のものを含めお客様からの、あるいはお客様に関する情報にアクセスする、情報を修正する、更新する、情報のブロックまたは削除をリクエストするさまざまな方法をご提供しています。","privacy_policy_view_information_rights_choices_paragraph_three":"Teslaでは、実行可能な限り速やかに、お客様からのこれらの権利および選択権の行使のご依頼にお応えします。","privacy_policy_view_information_rights_choices_paragraph_two":"お客様のリクエストでは、修正を依頼する情報、提供済み情報のデータベースからの削除、あるいはお客様がTeslaに提供した情報の使用の制限の種類を明記してください。お客様の情報の保護のため、Teslaは依頼を送るために使用される特定のEメールアドレスと関連する情報のみ対応を行います。また、Teslaはお客様のリクエストを実行する前にお客様の身元を確認する必要がある場合があります。","privacy_policy_view_information_share_header":"個人情報の提供方法について","privacy_policy_view_information_share_paragraph_eight":"その他の場合","privacy_policy_view_information_share_paragraph_eleven":"お客様が事前にオプトインに同意された情報について、オプトアウトを希望される場合は、下記の「Teslaへの連絡方法」に従って当社にご連絡ください。","privacy_policy_view_information_share_paragraph_five":"Teslaは、下記のような場合、お客様が承認するその他の第三者に情報を提供することがあります。","privacy_policy_view_information_share_paragraph_five_point_four":"お客様のソーシャルメディア・アカウントと私たちのサービスを接続する場合のお客様のソーシャルメディア・アカウントプロバイダーとの共有。この場合お客様はソーシャルメディア・アカウント供給者とTeslaが情報を共有することを認め、Teslaが共有する情報の使用は、各ソーシャルメディア・アカウントプロバイダーの個人情報保護方針によって管理されることに同意したとみなされます。","privacy_policy_view_information_share_paragraph_five_point_one":"お客様が要求されたエネルギー製品の提供を促進するため、Teslaの認定設置業者に情報を提供することがあります。","privacy_policy_view_information_share_paragraph_five_point_three":"お客様がコンテストやそれに類するプロモーションに参加することを選択した場合、それらのスポンサーである第三者への情報提供。","privacy_policy_view_information_share_paragraph_five_point_two":"お客様が利用される第三者サービス・センターあるいはプロバイダーとの情報共有。お客様の情報の一部はTesla製品上に保存され、お客様のテスラ製品の診断またはサービスのために利用を選択された第三者であるサービスセンターまたはプロバイダーが直接アクセスできる場合があります。","privacy_policy_view_information_share_paragraph_four":"お客様が承認するその他の第三者への提供","privacy_policy_view_information_share_paragraph_nine":"Teslaは、下記のような場合もお客様の情報を共有することがあります:","privacy_policy_view_information_share_paragraph_nine_point_one":"お客様がTesla製品を直接所有していない場合であっても、適用法令により認められる場合、お客様の雇用主、他の車両の運行者またはTesla製品の所有者に情報を提供することがあります。","privacy_policy_view_information_share_paragraph_nine_point_two":"再編、合併、売却、合弁事業、譲渡、移転その他のTeslaの事業、資産または株式の全部または一部の処分(倒産やそれに類する手続に関連するものを含む)に関する、第三者への情報提供。","privacy_policy_view_information_share_paragraph_one":"Teslaは、収集する情報を、Teslaが利用するサービスプロバイダーと取引先企業、お客様が認可するその他第三者、法律によって義務づけられているその他第三者、およびその他状況で共有することがあります。これらの対象者と、これらの状況の下でTeslaがどのように情報を共有するかの例を以下に示します。","privacy_policy_view_information_share_paragraph_seven":"Teslaは、その自由裁量に基づき、法的義務(召喚命令を含み、これらのみに限定されない)を遵守するため、当社が法律で義務付けられていると真摯に信じたとき、法令の執行条件を遵守すべく、調査中の政府機関の要請に応じるため、Teslaのポリシーと手続きを正当化もしくは執行するため、緊急事態に対応するため、Teslaが違法・非倫理的・提訴可能もしくはそれらのリスクをもたらすと認める行為を防止もしくは停止するため、または本サービス、Tesla、第三者、当サービスへのビジターおよび公の権利、財産、安心もしくは安全を保護するため、お客様を個人的に特定できる情報またはかかる特定ができない情報を含む情報を、第三者に提供または開示することがあります。","privacy_policy_view_information_share_paragraph_six":"法令が要求するその他の第三者への提供","privacy_policy_view_information_share_paragraph_ten":"Teslaは、お客様からのオプトインがない限り、お客様を個人的に特定する情報をマーケティング目的で外部の第三者に提供することはありません。","privacy_policy_view_information_share_paragraph_three":"Teslaは、下記のような場合でお客様またはTeslaのためにサービスを提供する必要がある場合には、Teslaのサービスプロバイダーおよびビジネスパートナーに情報を提供することがあります。","privacy_policy_view_information_share_paragraph_three_point_one":"Tesla系列会社と、本個人情報保護方針に記述されている目的のために。Tesla提携企業とは、Tesla, Incが所有または管理する企業およびTesla, Incが経営権の一部を有する企業のことです。","privacy_policy_view_information_share_paragraph_three_point_three":"その他第三者取引先企業と、お客様の購入あるいはお客様のTesla製品のサービスに関する範囲での共有。金融、賃貸、レジストレーションおよび権原保険会社のようなパートナーのサービスを利用される場合、私たちは、お客様から、あるいはお客様に関してサービス提供に必要な一定の情報を共有します。","privacy_policy_view_information_share_paragraph_three_point_two":"ウェブサイトホスティング、データの解析と保管、支払処理、受注管理、製品設置、テスラ製品に対する無線接続、情報技術と関連インフラ、顧客サービス、製品のメンテナンスとそれに関連するサービス、メール送信、クレジットカード決済、監査、マーケティング、ボイスコマンド処理その他の類似するサービスを提供するため、第三者であるサービスプロバイダーおよびチャンネルパートナーに情報を提供することがあります。","privacy_policy_view_information_share_paragraph_two":"Teslaのサービスプロバイダーおよびビジネスパートナーへの提供","privacy_policy_view_information_use_commuicate":"お客様とのご連絡","privacy_policy_view_information_use_header":"Teslaが収集した情報の利用方法について","privacy_policy_view_information_use_other_purposes":"その他の目的","privacy_policy_view_information_use_paragraph_five":"Teslaは、その他の目的のために当社が収集した情報を下記のとおり利用することがあります。","privacy_policy_view_information_use_paragraph_five_point_one":"Teslaの事業目的のため(例えば、データ解析、会計、不正の監視および防止、利用動向の特定、当社のプロモーションキャンペーンの有効性の決定、当社のビジネス活動の遂行および拡張のため)。","privacy_policy_view_information_use_paragraph_five_point_two":"別途記載のものを除き、Teslaは、お客様個人を特定しないような情報を、その目的の如何を問わず(事業遂行または調査目的、産業解析、当社製品・サービスの改善・変更、当社製品・サービスのお客様のニーズに合わせたよりよいカスタマイズのため、または法的に要求された場合等)利用または提供することがあります。","privacy_policy_view_information_use_paragraph_four":"Teslaは、当社の製品およびサービスの提供および改善のために当社が収集した情報を下記のとおり利用することがあります。","privacy_policy_view_information_use_paragraph_four_point_five":"Teslaの製品・サービスの安全性の解析・改善のため。","privacy_policy_view_information_use_paragraph_four_point_four":"新しい商品・サービスを開発・促進し、Teslaの現行の製品・サービスを改善または変更するため。","privacy_policy_view_information_use_paragraph_four_point_one":"お客様による購入手続を完遂するため(例えば、支払処理を行い、注文をお客様にお伝えし、お客様による購入に関するお客様との連絡を行い、関連するカスタマー・サービスをお客様に提供するため等)。","privacy_policy_view_information_use_paragraph_four_point_six":"お客様が要求されたその他のサービスを提供するため。","privacy_policy_view_information_use_paragraph_four_point_three":"お客様のTesla製品の性能をモニターし、お客様の製品に関するサービスを提供するため。","privacy_policy_view_information_use_paragraph_four_point_two":"お客様のTesla製品に対するサービスの提供のため(例えば、お客様にサービス推奨を行い、お客様の製品の無線アップデートを行うため)。","privacy_policy_view_information_use_paragraph_one":"Teslaは、製品とサービスを提供および改善、ならびにその他目的で、収集した情報をご連絡先として使用する場合があります。Teslaが収集した情報をどのように使用するかについて、いつくか例を挙げます。","privacy_policy_view_information_use_paragraph_three":"コミュニケーションに関する選択肢:","privacy_policy_view_information_use_paragraph_three_point_one":"TeslaまたはTeslaの系列会社から電子通信によるコミュニケーション: TeslaまたはTeslaの系列会社からのマーケティング関連の電子メール受信を解除される場合は、Teslaが送信した電子メール内のオプトアウト手順から、あるいは下の連絡先へのお問い合わせにより、オプトアウトを行っていただくことができます。マーケティングに関するe-mail受信を停止した後も、重要な管理および安全に関するメッセージは送信される点にご注意ください。","privacy_policy_view_information_use_paragraph_three_point_two":"マーケティング関連の電話連絡: お客様がTeslaからマーケティング関連の電話連絡を受け、今後同様のマーケティング関連の電話連絡を受けたくない場合、Teslaの「電話禁止」リストにご登録いただけます。電話マーケティングからの停止後も、重要な管理および安全・製品サービスの問題に関するお電話は行われる点にご注意ください。","privacy_policy_view_information_use_paragraph_two":"Teslaは、お客様にご連絡するため、当社が収集した情報を下記のとおり利用することがあります。","privacy_policy_view_information_use_paragraph_two_point_five":"お客様のニーズに合った製品やオファーを提示し、他のソースからの情報を用いて顧客関連リストを改善するため。","privacy_policy_view_information_use_paragraph_two_point_four":"管理情報(例えば、本サービスに関する情報および利用規約やポリシーの変更など)をお送りするため。","privacy_policy_view_information_use_paragraph_two_point_one":"ニュースレターや製品情報、注意情報、パンフレットを送付するなど、お客様からのお問い合わせやご要望にお応えするため。","privacy_policy_view_information_use_paragraph_two_point_seven":"ソーシャルシェアリングやコミュニケーションの機能を促進するため。","privacy_policy_view_information_use_paragraph_two_point_six":"お客様がコンテストやそれに類するプロモーションに参加できるようにするとともに、それらの活動を管理するため。","privacy_policy_view_information_use_paragraph_two_point_three":"安全上重要な情報についてお客様にお知らせし、お客様の車両に関連する事故が発生した場合に第一応答者に通知をするため。","privacy_policy_view_information_use_paragraph_two_point_two":"お客様によるTesla車両のテストドライブの設定、評価またはフィードバックの提供を行うため。","privacy_policy_view_information_use_provide":"Teslaの製品およびサービスの提供・改善","privacy_policy_view_links_header":"リンク","privacy_policy_view_links_paragraph_one":"この個人情報保護方針では、サービスとリンクするあらゆるサイトあるいはサービスを提供する第三者を含め、第三者のプライバシー、情報保護あるいはその他慣行を対象としていません。またTeslaはこれらの第三者による情報管理についての責任を負いません。サービスとのリンクが行われている場合も、TeslaあるいはTeslaの系列会社が、リンクされたサイトやサービスを支持することや、第三者との関係があることを示すものではありません。","privacy_policy_view_links_paragraph_two":"アプリ開発業者、アプリケーションプロバイダー、ソーシャルメディアプラットフォームプロバイダー、OSプロバイダー、ワイヤレスサービスプロバイダーなど、他の組織による情報(当社のソフトウェアアプリケーションまたはソーシャルメディアページを通じてお客様が他の組織に開示するあらゆる情報を含みます。)の収集、利用または開示に関するポリシーと運用(データセキュリティに関するものを含みます。)に関して、Teslaは責任を負わないことをご了承ください。","privacy_policy_view_minors_header":"未成年者について","privacy_policy_view_minors_paragraph":"当サービスは、16歳未満の個人を対象としていませんので、該当される方はTeslaに情報を提供しないようお願いします。","privacy_policy_view_offers_eu":"Tesla製品とサービスに関するアンケート、プロモーションおよびキャンペーン情報を含む、Teslaおよび関連企業からのメール配信を希望します。お客様はいつでもこの同意を取り消す権利を有します。詳しい情報{legalLink}。","privacy_policy_view_offers_title":"製品発表および新しいオファー","privacy_policy_view_offers_usa":"また、登録した電話番号にTesla製品の情報やプロモーションに関する連絡を受けることに同意します。また、これらの電話連絡やテキスト メッセージには、コンピューターを使用した自動ダイヤルや録音したメッセージが使われる場合があることを理解しています。これに同意することは購入条件には含まれません。","privacy_policy_view_powerwall_warranty":"Tesla Powerwall限定保証","privacy_policy_view_privacy_policy":"プライバシーについての通知","privacy_policy_view_privacy_policy_agreement_eu":"住宅所有者として、お客様向けプライバシーポリシー全文を読み、本プライバシーポリシーが定める通りにTeslaが個人情報を取り扱うことに同意します。(プライバシーポリシーに記載されている通り、お客様はいつでもこの同意を取り消す権利を有します。)","privacy_policy_view_privacy_policy_agreement_usa_australia":"住宅所有者として、お客様向けプライバシーポリシー全文を読み、本プライバシーポリシーが定める通りにTeslaが個人情報を取り扱うことに同意します。","privacy_policy_view_privacy_shield":"Privacy Shieldポリシー","privacy_policy_view_retention_period_header":"情報の保有期間について","privacy_policy_view_retention_period_paragraph":"Teslaは、お客様、Tesla製品および当サービスからの情報、またはお客様、Tesla製品および当サービスに関する情報を、本プライバシーポリシーに略述した目的を遂行するために必要な期間保有するものとします。ただし、それより長期間保有することが法令で義務付けられているかまたは認められる場合はこの限りではありません。","privacy_policy_view_security_header":"セキュリティ","privacy_policy_view_security_paragraph_one":"Teslaは、組織内の情報を保護する合理的な組織的手段、技術的手段および管理上の手段の使用に努めます。ただしデータ伝送や保存システムにおいては、100%の安全を保証することはできません。Teslaとのお客様の通信がもはや安全ではない(例えばTeslaとの任意のアカウントのセキュリティが危険にさらされたと疑われる場合)と思われる場合は、下記「お問い合わせ」セクションから問題を直ちに私たちに通知してください。","privacy_policy_view_security_paragraph_two":"お客様のTesla製品を他の方に売却・譲渡される場合、Teslaにご連絡いただければ、お客様からの情報またはお客様に関する情報を当該売却先・譲渡先への開示から守るために別途対策が必要かどうか、Teslaで判断します。","privacy_policy_view_title":"プライバシーポリシー全文を見る","privacy_policy_view_updates_header":"本ポリシーの更新について","privacy_policy_view_updates_paragraph":"Teslaはこの個人情報保護方針を適宜変更することがあります。この個人情報保護方針がの最終更新日はこのページの最下部の「最終更新日」をご確認ください。この個人情報保護方針へのどんな変更は、サービスについて、改訂された個人情報保護方針をTeslaが公開した時点で有効となります。これらの変更後に、Teslaの製品、サービスあるいはその他Teslaへの提供情報の使用を続行した場合、改訂された個人情報保護方針を受理したとみなされます。","privacy_policy_view_us_warranty_warning":"Tesla モバイルアプリでPowerwallを製品登録し、Tesla モバイルアプリでPowerwallを遠隔管理するためには、Tesla限定保証条件に同意していただく必要があります。","privacy_policy_view_warranty_information":"私は住宅所有者として、TeslaのPowerwall限定保証の条件{warrantyLink}に同意します。","prompt_factory_reset_confirmation":"本当にユニットを工場設定にリセットしますか?","pvac-state-active":"アクティブ","pvac-state-faulted":"故障","pvac-state-init":"初期化中...","pvac-state-standby":"ソーラーを待機","pvac_alert_ac_fault":"インバータAC故障","pvac_alert_check_ac_note":"AC配線および電力系統の接続を確認してください。インバータを再起動して操作を再試行してください。","pvac_alert_check_dc_string1_note":"ストリング1 DC配線およびパネルを確認してください。インバータを再起動して操作を再試行してください。","pvac_alert_check_dc_string2_note":"ストリング2 DC配線およびパネルを確認してください。インバータを再起動して操作を再試行してください。","pvac_alert_check_dc_string3_note":"ストリング3 DC配線およびパネルを確認してください。インバータを再起動して操作を再試行してください。","pvac_alert_check_dc_string4_note":"ストリング4 DC配線およびパネルを確認してください。インバータを再起動して操作を再試行してください。","pvac_alert_confirm_grid_code_note":"AC配線および電力系統の接続を確認してください。選択したグリッド コードを確認します。","pvac_alert_dc_fault_string1":"インバータDC故障 - ストリング1","pvac_alert_dc_fault_string2":"インバータDC故障 - ストリング2","pvac_alert_dc_fault_string3":"インバータDC故障 - ストリング3","pvac_alert_dc_fault_string4":"インバータDC故障 - ストリング4","pvac_alert_freq_change":"電力系統不整合 - 周波数変更","pvac_alert_internal_comms":"内部通信問題","pvac_alert_over_freq":"電力系統不整合 - 過大な周波数","pvac_alert_over_temp":"インバータ過熱","pvac_alert_over_voltage":"電力系統不整合 - 過電圧","pvac_alert_production_limited_note":"生産が制限される可能性があります。電線の終端が適正であり、十分な空気流量があり、設置環境が適正であることを確認します。","pvac_alert_reboot_note":"インバータを再起動し、システムが最新で、十分な試運転調整がなされていることを確認します。","pvac_alert_under_freq":"電力系統不整合 - 低周波数","pvac_alert_under_voltage":"電力系統不整合 - 低電圧","pvi-power-status-dc-only":"DCのみ","pvi-power-status-disabled":"無効","pvi-power-status-enabled":"有効","pvi-reset-button-label":"インバータを再起動してアラートをクリアします","pvs-self-test-1":"セルフテスト(1/6): 漏電","pvs-self-test-2":"セルフテスト(2/6): アーク不良","pvs-self-test-3":"セルフテスト(3/6): MCI","pvs-self-test-4":"セルフテスト(4/6): 絶縁","pvs-self-test-5":"セルフテスト(5/6): リレーのウェルド","pvs-self-test-6":"セルフテスト(6/6): インピーダンス","pvs_alert_check_arc_fault_note":"DC配線、接続部、パネルおよび急速遮断デバイスにアーク不良問題がないか確認します。","pvs_alert_check_dc_note":"DC配線、接続部、パネルおよび急速遮断デバイスに漏電の問題がないか確認します。","pvs_alert_check_dc_string1_note":"DC配線、接続部、パネルおよび急速遮断デバイスに、ストリング1に関する絶縁問題がないか確認します。","pvs_alert_check_dc_string2_note":"DC配線、接続部、パネルおよび急速遮断デバイスに、ストリング2に関する絶縁問題がないか確認します。","pvs_alert_check_dc_string3_note":"DC配線、接続部、パネルおよび急速遮断デバイスに、ストリング3に関する絶縁問題がないか確認します。","pvs_alert_check_dc_string4_note":"DC配線、接続部、パネルおよび急速遮断デバイスに、ストリング4に関する絶縁問題がないか確認します。","pvs_alert_check_dc_strings_note":"DC配線、接続部、パネルおよびストリングの構成を確認します。","pvs_alert_dc_arc_fault_detected":"DCアーク不良 - 検出","pvs_alert_dc_arc_fault_lockout":"DCアーク不良 - ロックアウト","pvs_alert_dc_ground_fault":"DC漏電","pvs_alert_dc_isolation_string1":"DC絶縁問題 - ストリング1","pvs_alert_dc_isolation_string2":"DC絶縁問題 - ストリング2","pvs_alert_dc_isolation_string3":"DC絶縁問題 - ストリング3","pvs_alert_dc_isolation_string4":"DC絶縁問題 - ストリング4","pvs_alert_dc_over_voltage":"DC過電圧","pvs_alert_rapid_shutdown":"急速遮断開始","pvs_alert_rapid_shutdown_note":"ACブレーカーおよび低電圧急速遮断回路を点検します。","registration_container_continue_header":"入力された顧客Eメール: {email}","registration_container_continue_modal_description":"電子メールが正しくない場合、顧客はTeslaモバイル アプリにアクセスすることができません。お客様のEメールが有効であることを確認してください。","registration_container_customer_email_required":"Teslaモバイル アプリを有効化するには、お客様の電子メールが必要です。","registration_container_customer_information_title":"現場情報","registration_container_fill_required_fields":"インストーラーまたはお客様は必要なフィールドすべてに入力する必要があります。","registration_container_loading_modal_registering":"登録中","registration_container_reset_form_modal_description":"フォームのリセットを続行するかどうか確認してください。","registration_container_reset_form_modal_header":"以前に入力された情報は削除されます。","security_container_settings_title_customer":"パスワード変更あるいはリセット(お客様)","security_container_settings_title_installer":"パスワード変更あるいはリセット(設置業者)","security_view_copied_to_clipboard":"コピーされました","security_view_not_wifi_qr_code_error":"WiFiのQRコードではありません。","security_view_scan_qr_code_not_found_error":"QRコードが見つかりません。","security_view_settings_change_password_error":"パスワードが一致しません","security_view_settings_change_password_label":"パスワードを変更","security_view_settings_completed":"完了","security_view_settings_new_password_label":"新しいパスワード","security_view_settings_old_password":"現在のパスワード","security_view_settings_password_change_info":"パスワードを変更するには、現在のパスワードおよび新しいパスワードを入力してください。","security_view_settings_password_customer":"パスワード","security_view_settings_password_customer_placeholder":"ゲートウェイ ステッカー パスワードの最後の5桁","security_view_settings_password_installer_label":"ゲートウェイ パスワード","security_view_settings_password_reset_info":"パスワードをリセットするには、Powerwallスイッチを切り替えてから、ゲートウェイ ステッカー パスワードの最後の5桁を入力してください。","security_view_settings_password_reset_info_serial":"パスワードをリセットするには、Powerwallスイッチを切り替えてから、ゲートウェイシリアル番号の最後の5桁を入力してください。","security_view_settings_password_reset_installer_info":"パスワードをリセットするには、Powerwallスイッチを切り替えてから、ゲートウェイ ステッカー パスワードを入力してください。","security_view_settings_password_reset_installer_info_serial":"パスワードをリセットするには、Powerwallスイッチを切り替えてから、ゲートウェイシリアル番号を入力してください。","security_view_settings_re_enter_password_label":"新しいパスワードを再度入力","security_view_settings_reset_password_label":"パスワードのリセット","security_view_settings_serial_customer":"シリアル番号","security_view_settings_serial_customer_placeholder":"ゲートウェイシリアル番号の最後の5桁","security_view_settings_serial_installer_label":"ゲートウェイ シリアル番号","security_view_settings_success":"パスワードが更新されました","security_view_settings_success_new_password":"新しいパスワードは次のとおりです:","security_view_settings_toggled_password":"パスワードをお忘れですか?","self_test_result_viewer_resi_only":"セルフテスト ログ ビューワは使用できません。","self_test_results_viewer_collapse_all":"すべて閉じる","self_test_results_viewer_column_name":"名称","self_test_results_viewer_column_result":"結果","self_test_results_viewer_column_spec":"仕様","self_test_results_viewer_column_test_time":"テスト時間","self_test_results_viewer_column_value":"値","self_test_results_viewer_expand_all":"すべて開く","self_test_results_viewer_failed":"失敗","self_test_results_viewer_in_progress":"進行中","self_test_results_viewer_inconclusive":"未決定","self_test_results_viewer_not_started":"開始されていません","self_test_results_viewer_passed":"合格","self_test_results_viewer_skipped":"スキップ","self_test_results_viewer_warning":"警告","settings_container_confirm_reset_operation_mode":"{operation}へのモードチェンジを確認します。","settings_container_heco_modal_description":"選択後、この設定を変更することはできません。選択を送信する前に、この顧客が現在HECOバッテリーボーナスプログラムに登録していることを確認します。","settings_container_heco_modal_title":"登録確認","settings_container_heco_view_description":"Powerwallはプログラムの要件に適合するために、確約容量で毎日放電します。有効化後にこの設定を変更することはできません。","settings_container_heco_view_scheduled_dispatch_start_time":"開始時刻","settings_container_heco_view_scheduled_dispatch_start_time_hh_mm":"HH:MM","settings_container_heco_view_scheduled_dispatch_title":"HECO予定ディスパッチ","settings_container_heco_view_title":"HECOバッテリーボーナスプログラム","settings_container_operation_modes_modal_content":"Teslaモバイル アプリの「カスタマイズ」画面で運転モードを変更することができます。","settings_container_operation_modes_modal_reset":"モードリセット","settings_container_operation_modes_modal_title":"動作モード","settings_container_operation_modes_modal_warning":"これの変更はもとに戻せません。詳細モードは、Teslaモバイル アプリでのみ再有効化できます。","settings_container_operation_modes_reset_modal_title":"動作モードをリセットしますか?","settings_container_operation_settings_subtitle":"システムの名前、動作モードおよびエクスポート制限がある場合セットします。","settings_container_operation_settings_title":"運転設定","settings_container_save_instructions":"「継続」をクリックして保存してください。","settings_container_saving_site_info_modal":"サイト設定保存中","settings_container_site_import_description":"受電点正潮流制限値はオプション設定です。インポート制限を無効化する場合はこの欄を空欄にします。有効にした場合、この設定は電力系統からサイトへインポートされる最大許容電力を指定します。","settings_container_site_limits_header":"受電点の制限値","settings_view_custom_modes_label":"設定済みモード","settings_view_energy_reserve_heco_label":"自立運転リザーブへの変更は、HECOバッテリーボーナスプログラムへの登録により制限されています。この顧客はアプリで自立運転リザーブを設定できます。","settings_view_energy_reserve_label":"バックアップリザ―ブ","settings_view_instruction_site_name":"現場名を入力","settings_view_net_meter_mode":"エクスポート モード","settings_view_operation_label":"動作モード","settings_view_operation_set_label":"セットする動作モード","settings_view_set_net_meter_mode_never_label":"恒常的にエクスポートなし","settings_view_set_net_meter_mode_solar_label":"ソーラーエクスポート","settings_view_site_name":"現場名","settings_view_site_name_placeholder":"例:マイホーム","settings_view_solar_export_limitation_slider":"ソーラーのエクスポート制限","settings_view_solar_feature":"この機能は、相互連結によりソーラーシステムがグリッドにエネルギーをエクスポートしないことが必要な場合のみアクティベートします。主にハワイ(CSS)およびオーストラリアの地域において適用されます。","settings_view_solar_limitation":"PowerwallはPowerwall+ではないソーラーシステムと共に設置されましたか?","settings_view_solar_zero_export":"POWERWALLはゼロエクスポートソーラーシステムと合わせて設置されていますか?","site_info_container_submit":"送信","solar_item_view_baudrate_label":"ボーレート","solar_item_view_brand_input_label":"メーカー","solar_item_view_brand_label":"メーカー","solar_item_view_check_inverter":"インバーター{id}接続をチェック","solar_item_view_connection_warning":"接続を確立できませんでした。","solar_item_view_inverter_brand":"インバーターメーカー","solar_item_view_inverter_communication":"インバーターとの直接通信を設定します","solar_item_view_inverter_model_label":"インバーターモデル","solar_item_view_ip_label":"IP アドレス","solar_item_view_model_label":"モデル","solar_item_view_power_rating_explanation":"これはモジュール/パネルに関するソーラーシステムの定格合計電力です。これはアレイの公称電力です。例えば、10x 300Wのソーラーパネルでは、PVインバーターが2500Wでも、3500Wでも、3000Wとしてリストされます。","solar_item_view_pv_array_dc_power_rating":"PV アレイ DC電力定格","solar_item_view_pv_array_dc_power_rating_label":"PV アレイ DC電力定格","solar_item_view_revenue_grade":"計量法に基づいた電力メーター","solar_item_view_revenue_grade_explanation":"インバーターに検定メーターが内蔵されている場合のみチェックしてください。このオプションが有効化されている場合、インバーターではなくメーターからインバーターデータが読み取られます。","solar_item_view_revenue_grade_title":"計量法に基づいた電力メーター","solar_item_view_solar":"ソーラー{id}","solar_item_view_success":"接続に成功しました","solar_item_view_unable":"インバーターを読み取れません","solar_list_view_continue_add_solar":"ソーラーを追加","solar_view_continue_add_solar":"ソーラーを追加","status_update_urgency_none":"最新","status_update_urgency_optional":"更新はオプションです","status_update_urgency_required":"更新が必要です","status_update_urgency_unknown":"不明","success_view_awesome":"ありがとうございます","success_view_copied_to_clipboard":"コピーされました","success_view_installation_complete":"設置完了","success_view_new_password_error_title":"ウィザード パスワード","success_view_new_password_title":"新しいウィザード パスワード","success_view_password_set":"パスワードは既に設定されています","success_view_record_password":"続行する前にこのパスワードを記録して保管しておいてください","success_view_retry_registration":"レジストレーション再試行","success_view_set_customer_password":"お客様パスワードを設定","success_view_syncing_configuration":"設定を同期しています","summary_container_company":"会社名","summary_container_connection_type":"接続タイプ","summary_container_email":"Eメール","summary_container_installer_information":"工事担当者情報","summary_container_ip_address":"IP アドレス","summary_container_location":"住所","summary_container_meter":"メーター#{index}","summary_container_meter_information":"メーター情報","summary_container_phone":"電話番号","summary_container_print":"印刷","summary_container_serial_number":"シリアル番号","summary_container_site_info":"現場情報","summary_container_site_name":"現場名","summary_container_subtitle":"製品と設置情報","summary_site_information":"現場情報","summary_view_autonomous":"時間帯設定","summary_view_backup":"バックアップ専用モード","summary_view_backup_capable":"バックアップ機能あり","summary_view_backup_reserve":"バックアップリザ―ブ","summary_view_backup_switch":"自立運転スイッチ","summary_view_conductor_export":"幹線の逆潮流上限値","summary_view_conductor_import":"幹線の潮流上限値","summary_view_control":"サイト コントロール","summary_view_customer_version":"顧客ファームウエアバージョン","summary_view_direct":"ダイレクト","summary_view_disabled":"無効","summary_view_ethernet":"イーサネット","summary_view_export_limit":"PVエクスポート制限","summary_view_extra_programs":"追加プログラム","summary_view_followers":"フォロワー","summary_view_gateway":"ゲートウェイ","summary_view_grid_code":"グリッドコード","summary_view_gsm":"携帯電話","summary_view_heco_battery_bonus":"HECOバッテリーボーナス","summary_view_ip_address":"IP アドレス","summary_view_leader":"リーダー","summary_view_mode":"モード","summary_view_msg_cannot_read_solar_assembly":"最初にシステムを停止して、Powerwall+ソーラーアセンブリの部品番号およびシリアルを確認してください。","summary_view_network":"ネットワーキング","summary_view_non_backup":"バックアップなし","summary_view_panel_limit":"パネル最大電流","summary_view_part_number":"部品番号","summary_view_partnum":"部品{partNumber}","summary_view_powerwall":"POWERWALL","summary_view_scheduler":"集約","summary_view_self_consumption":"自家消費","summary_view_serial":"シリアル","summary_view_serialnum":"シリアル{serialNumber}","summary_view_site_export":"売電上限値","summary_view_site_import":"買電上限値","summary_view_site_name":"現場名","summary_view_solar_assembly":"ソーラー アセンブリ","summary_view_sync":"バックアップ機能","summary_view_time":"概略コンパイル時間","summary_view_time_zone":"タイムゾーン","summary_view_wifi":"Wi-Fi","system-device-follower-not-responding":"WiFiにペアリングされたデバイスは現在応答していません","system-device-unknown-sitecontroller":"デバイスは子機を発見できていません","system_acpw_vitals_charge":"充電レベル: {charge}%","system_acpw_vitals_power":"AC電源: {power}","system_acpw_vitals_power_charging":"AC電源: {power}充電中","system_acpw_vitals_power_discharging":"AC電源: {power}放電中","system_acpw_vitals_state":"Powerwallの状態: {state}","system_acpw_vitals_voltage":"AC電圧: {voltage}","system_controller_din":"コントローラ: {din}","system_device_alert_disabled":"デバイスが無効","system_device_gateway_not_islanding":"アイランド コントローラーではありません。","system_device_name_backup_switch":"自立運転スイッチ({sn})","system_device_name_battery_assembly":"バッテリー アセンブリ({sn})","system_device_name_gateway":"ゲートウェイ ({sn})","system_device_name_powerwall":"Powerwall ({sn})","system_device_name_powerwall_plus_leader":"リーダーPowerwall+","system_device_name_powerwall_plus_solo":"Powerwall+","system_device_name_powerwall_plus_wired":"Powerwall+(有線)","system_device_name_powerwall_plus_wireless":"Powerwall+(無線)","system_device_name_remote_meter":"リモート メーター({sn})","system_device_name_solar_assembly_1":"ソーラー アセンブリ","system_device_name_sync":"Gateway開閉器/メーター コントローラ({sn})","system_firmware_update":"更新中: {percent}% ({step}/{numSteps})","system_gateway_din":"Gateway: {din}","system_islanding_vitals_backup_state":"自立運転状態: {backupState}","system_islanding_vitals_grid_line":"グリッド ライン{lineNumber}: {v} {f}","system_islanding_vitals_island_line":"アイランド ライン{lineNumber}: {v} {f}","system_overview_connected":"Teslaに接続されています","system_overview_disconnected":"Teslaに接続されていません","system_overview_follower":"フォロワーPowerwall","system_overview_login_required":"システムの作動を表示するにはログインが必要です","system_overview_scanning":"デバイスをスキャン中...","system_overview_site_controller":"サイト コントローラー","system_overview_updating":"デバイスを更新中...","system_pvi_vitals_ac_solar_power":"ACソーラー電力: {power} / {current}","system_pvi_vitals_ac_solar_power_only":"ACソーラー電力: {power}","system_pvi_vitals_lifetime_energy_kwh":"通算エネルギー量: {energy}","system_pvi_vitals_state":"都道府県:{message}","system_pvi_vitals_string":"ストリング{number}: {voltage} / {current}","system_pvi_vitals_string_not_connected":"ストリング{number}: 接続されていません","system_remote_meter_ct_line":"CT {n} ({location}): {value}","system_remote_meter_no_cts":"構成されているCTがありません","system_rescan_button_text":"デバイスを再スキャン","system_scanning_label_text":"デバイスをスキャン中...","system_vitals_missing_value":"---","test_container_configure_subtitle":"システムが想定通りに動作しているかテストします。","test_container_system_test_title":"システム テスト","test_inverter_container_error_grid_uncompliant":"グリッドが未適合のためこのテストは実行することができません。","test_inverter_container_error_not_idle":"Powerwallはテストを実行する前にスタンバイモードにあることが必要です。","test_inverter_container_results_error_plural_subtitle":"{num}テストが失敗","test_inverter_container_results_error_singular_subtitle":"{num}テストが失敗","test_inverter_container_results_success_plural_subtitle":"{num}テストに合格","test_inverter_container_results_success_singular_subtitle":"{num}テストに合格","test_inverter_container_results_success_subtitle":"テストがすべて合格しました","test_inverter_container_results_title":"インバーター自己診断テスト結果","test_inverter_container_title":"インバーター自己診断テスト","test_meter_composite_view_auxiliary_meter_setup_instructions":"各補助メーターに少なくとも1台のCTをセットする必要があります。","test_meter_composite_view_auxiliary_meters_title":"補助メーター","test_meter_composite_view_configure_meters":"メーター設定","test_meter_composite_view_current_transformer_setup_instructions":"少なくとも1つのサイトCTを使用するか、あるいは負荷CTを選択してください。両方を使用することはできません。","test_meter_composite_view_external_meter_setup_instructions":"各外部メーターに少なくとも1台のCTをセットする必要があります。","test_meter_composite_view_external_meters_title":"外部メーター","test_meter_composite_view_internal_meters_gateway_title":"内部メーター(Gateway)","test_meter_composite_view_internal_meters_title":"内部メーター","test_meter_composite_view_no_configured_meters":"設定されたメーターはありません。続行するには{configure}を行ってください。","test_meter_composite_view_note":"注記","test_meter_item_view_acuvim_label":"メーター{id}: Acuvimメーター","test_meter_item_view_backup_switch_label":"メーター{id}: 自立運転スイッチ メーター","test_meter_item_view_configure_phases_note":"このメーターでCTを有効化するには位相を設定してください","test_meter_item_view_internal_meter_x_gateway_label":"メーター{id}: 内部主メーターX(Gateway)","test_meter_item_view_internal_meter_y_gateway_label":"メーター{id}: 内部補助メーターY(Gateway)","test_meter_item_view_remote_w1_wifi_label":"メーター{id}: リモートWi-Fi","test_meter_item_view_remote_w1_wired_label":"メーター{id}: リモート有線","test_meter_item_view_remote_w2_wifi_label":"メーター{id}: リモートWi-Fi","test_meter_item_view_remote_w2_wired_label":"メーター{id}: リモート有線","test_meter_item_view_reset":"設定リセット","test_meter_item_view_site_meter_title":"内部サイト メーター","test_meter_item_view_sync_id":"同期メーター{id}","test_meter_item_view_toggle_advanced":"詳細","test_meter_item_view_toggle_power":"電力","test_meter_item_view_wifi_id":"メーター{id}","test_meter_item_view_wired_id":"有線メーター{id}","test_view_canceled_status":"テストが取り消されました","test_view_failed_status":"テストに失敗しました","test_view_idle_status":"システムテストを始める","test_view_init_status":"テストを始める準備中","test_view_inverter_test_warning_message":"0 エクスポートPVインバーターがある場合、ゲートウェイの自己試験手順はシステム確認にはご利用いただけません。自己テストが完了するまでPVインバーターをオフにしてください。","test_view_passed_status":"テストが完了しました","test_view_prep_status":"コントロールの初期化: これは数分かかる場合があります","test_view_running_status":"充電テスト実行中","test_view_skip_start_system_test_text":"確認するとシステムテストをスキップします","test_view_start_system_test_warning":"警告","test_view_system_test_completed_message":"システムテストが完了しました","time_minute":"分","time_minutes":"分","time_second":"秒","time_seconds":"秒","time_started_at":"開始時刻:{time}","timezone_container_subtitle":"私たちは、お客様の住所とIPアドレスに基づいて、設置タイムゾーンの判断をお手伝いします。","timezone_container_title":"タイムゾーン","timezone_view_label":"タイムゾーン","toast_view_standard_title":"注記","toast_view_warning_title":"警告","update_container_industrial_updating_description":"サイト コントローラーは、自動的に再起動し、更新をインストールします。{lb1}{lb2}2分間お待ちください。サイト コントローラーネットワークに接続してから {refresh}してください。","update_container_preparing_title":"最新のアップデートの準備中","update_container_refresh_browser":"お客様のブラウザをリフレッシュ","update_container_residential_updating_description":"ゲートウェイは、自動的に再起動し、更新をインストールします。{lb1}{lb2}2分間お待ちください。ゲートウェイネットワークに接続してから {refresh}してください。","update_container_skip_title":"更新をスキップしますか?","update_container_subtitle":"アップデートを確認。注記: Powerwallページでは、Powerwallsへのファームアップのプッシュが発生します。","update_container_subtitle_industrial":"アップデートを確認。注記: バッテリーページでは、バッテリーへのファームアップのプッシュが発生します。","update_container_title":"アップデート","update_container_updating_title":"アップデート更新中","update_step_item_view_resolution_title":"推奨される対応","update_view_check_again":"もう一度チェックするにはクリックしてください","update_view_check_for_update":"ゲートウェイ更新チェック","update_view_check_for_update_industrial":"サイト コントローラー更新チェック","update_view_checking_update":"アップデートの確認中","update_view_current_version":"現在のバージョン: {version}","update_view_current_version_label":"現在のバージョン:","update_view_downloading":"ダウンロード中","update_view_downloading_update":"アップデートのダウンロード","update_view_no_power_cicle":"電力サイクルを行わないでください","update_view_percent_complete":"{percent}完了","update_view_progress":"アップデートが進行中です","update_view_staged":"新バージョンのステージング済み","update_view_staged_update":"更新をインストールする準備ができています","update_view_staging":"ステージング","update_view_staging_update":"アップデートのステージング","update_view_time_remaining":"残り","update_view_up_to_date":"バージョンは最新です","update_view_update_now":"今すぐ更新","update_view_update_urgency_label":"更新状態: {status}","update_view_updated_industrial":"サイト コントローラーソフトウェアは最新です。","update_view_updated_residential":"ゲートウェイ ソフトウェアは最新です。","update_view_wait_minutes":"数分お待ちください","validation_phone":"有効な電話番号を入力","vitals_header_subtitle_firmware_update":"ファームウェアをアップデート中...","vitals_header_subtitle_firmware_update_failed":"ファームウェアアップデートに失敗しました。スイッチが有効であることおよび配線を確認します。","vitals_header_title":"蓄電システム","vitals_powerwall_state_ac_fault":"ACステージ不良","vitals_powerwall_state_dc_fault":"DCステージ不良","vitals_powerwall_state_grid_following":"電力系統追従","vitals_powerwall_state_grid_forming":"電力系統形成","vitals_powerwall_state_init":"初期化","vitals_powerwall_state_off":"オフ","vitals_powerwall_state_standby":"スタンバイ","vitals_powerwall_state_support_dc":"サポートDC","warning":"警告","warning_off_grid":"電気系統がオフグリッドの場合、バックアップ負荷は5分以内に停止します。","warning_on_grid":"電気系統がオングリッドの場合、Powerwallは充電/放電を中止します。","warning_sitemaster_container_not_running":"Sitemasterは実行されていません。","wifi_pairing_link_message":"WiFi接続Powerwallを追加","wifi_view_find_network":"SSIDでネットワークを検出","wifi_view_note":"注記: このゲートウェイは2.4GHzワイヤレス・ネットワークとのみ互換性を持ちます。","wifi_view_note_five_ghz":"注記: このゲートウェイは2.4GHzおよび5GHzの両方のワイヤレス・ネットワークと互換性を持ちます。","wifi_view_readonly":"これはフォロワーPowerwallなので、無線ネットワーク設定を編集できない可能性があります。","wifi_view_security_label":"セキュリティ","wizard_container_commissioning_wizard":"Tesla試運転ウィザード","wizard_container_login_required":"ログインが必要です","wizard_container_title":"それでは、始めましょう。","wizard_container_verifying_login_title":"ログインの確認"}' + ); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const o = a(i(1)), + s = i(3); + i(645); + class _ extends o.Component { + constructor() { + super(...arguments), (this.state = { error: null, errorInfo: null }); + } + componentDidCatch(e, t) { + var i, n; + this.setState({ error: e, errorInfo: t }), null === (n = (i = this.props).logError) || void 0 === n || n.call(i, e, t); + } + render() { + var e; + const { error: t } = this.state; + return t + ? o.createElement( + "div", + { className: "error-boundary" }, + o.createElement( + "h1", + null, + o.createElement(s.FormattedMessage, { id: "error_boundary_title", description: "Title for page that shows any unforeseen application errors", defaultMessage: "Oh no! Something went wrong." }) + ), + o.createElement( + "h3", + null, + o.createElement(s.FormattedMessage, { + id: "error_boundary_subtitle", + description: "Subtitle for page that shows any unforeseen application errors", + defaultMessage: "Well, this is embarrassing. We encountered an error in the app.", + }) + ), + o.createElement("p", { className: "error" }, t.toString()), + o.createElement("h3", null, o.createElement(s.FormattedMessage, { id: "error_boundary_label_error_details", description: "Label shown above a detailed ", defaultMessage: "Error Details:" })), + o.createElement("p", { className: "stack" }, null === (e = this.state.errorInfo) || void 0 === e ? void 0 : e.componentStack) + ) + : this.props.children; + } + } + t.default = _; + }, + , + , + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.errors = t.labels = t.prompts = t.titles = t.buttons = void 0); + const n = i(1051); + (t.buttons = (0, n.defineMessages)({ + BACK: { id: "navigation_back", description: "Label for button that returns to the previous screen.", defaultMessage: "BACK" }, + CANCEL: { id: "navigation_cancel", description: "Label for button that cancels or aborts the current action.", defaultMessage: "CANCEL" }, + CONTINUE: { id: "navigation_forward", description: "Label for button that advances to the next screen.", defaultMessage: "CONTINUE" }, + SKIP: { id: "navigation_skip", description: "Label for button that skips the current screen and advances to the next screen.", defaultMessage: "SKIP" }, + CLOSE: { id: "modal_close", description: "Label for button that closes a modal dialog (e.g. a warning).", defaultMessage: "CLOSE" }, + FINISH: { id: "label_button_finish", description: "Label for button that completes the current procedure (e.g. commissioning wizard).", defaultMessage: "FINISH" }, + SAVE: { id: "modal_save", description: "Label for button that saves the settings shown on the current screen.", defaultMessage: "SAVE" }, + EDIT: { id: "label_button_edit", description: "Label for button that edits the setting shown on the current screen.", defaultMessage: "EDIT" }, + DELETE: { id: "control_delete", description: "Label for button that deletes or removes the specified item.", defaultMessage: "DELETE" }, + CONNECT: { id: "control_connect", description: "Label for button that connects to the network or devices show on the current screen.", defaultMessage: "CONNECT" }, + REFRESH: { id: "modal_refresh", description: "Label for button that refreshes or reloads the current list or screen.", defaultMessage: "REFRESH" }, + UPLOAD: { id: "label_button_upload", description: "Label for button that uploads a file or data to the device or service.", defaultMessage: "UPLOAD" }, + SCAN_BARCODE: { id: "label_button_scan_barcode", description: "Label for button that will scan a barcode using the camera.", defaultMessage: "SCAN BARCODE" }, + SCAN_QRCODE: { id: "label_button_scan_qrcode", description: "Label for button that will scan a QR code using the camera.", defaultMessage: "SCAN QR CODE" }, + ENTER_MANUALLY: { id: "label_button_enter_manually", description: "Label for button that enables manual data entry rather than scanning a barcode.", defaultMessage: "ENTER MANUALLY" }, + FACTORY_RESET: { id: "button_label_factory_reset", description: "Button label for a factory reset action.", defaultMessage: "RESET TO FACTORY DEFAULTS" }, + CONFIRM: { id: "button_label_confirm", description: "Button label for confirming an action.", defaultMessage: "CONFIRM" }, + })), + (t.titles = (0, n.defineMessages)({ + gridCode: { + id: "grid_code_container_title", + description: "Grid Code is the techncial specification of the electric grid standard. This term may appear as the title of a screen or section showing the Grid Code settings and parameters.", + defaultMessage: "Grid Code", + }, + ethernet: { id: "network_view_ethernet_title", description: "Title for a screen or section showing the device's Ethernet connection details or configuration options.", defaultMessage: "Ethernet" }, + wifi: { id: "network_view_wifi_title", description: "Title for a screen or section showing the device's Wi-Fi connection details or configuration options.", defaultMessage: "Wi-Fi" }, + cellular: { id: "network_view_gsm_title", description: "Title for a screen or section showing the device's cellular connection details or configuration options.", defaultMessage: "Cellular" }, + metering: { id: "title_metering", description: "Title for a screen or section showing the device's metering configuration and connection status", defaultMessage: "Metering" }, + networks: { id: "title_networks", description: "Title for a screen or section showing the device's networking devices, settings, and status.", defaultMessage: "Networks" }, + service: { id: "title_service", description: "Title for a screen or section showing features accessible to a service person.", defaultMessage: "Service" }, + siteInfo: { id: "title_site_info", description: "Site Info is a screen for configuring different items relating to the site. e.g. Inverter is connected to Solar Roof or PV Panels.", defaultMessage: "Site Info" }, + siteMeter: { + id: "title_site_meter", + description: + "Site Meter is an electrical meter that is installed at the interconnection point where the site connects to the electric grid. This term may appear as the title of a screen or section showing a Site Meter configuration, or denote ", + defaultMessage: "Site Meter", + }, + softwareUpdate: { id: "title_software_update", description: "Title for a screen or section showing the device's software update status.", defaultMessage: "Software Update" }, + software: { id: "title_software", description: "Title for a screen or section showing the device's software version and software update status.", defaultMessage: "Software" }, + alerts: { id: "alert_container_title", description: "Title for a screen or section showing the device's alerts or alert status.", defaultMessage: "Alerts" }, + installation: { id: "title_installation", description: "Title for a screen or section showing the device's installation parameters and settings.", defaultMessage: "Installation" }, + summary: { id: "summary_container_title", description: "Title for a screen or section showing a summary of the device's configuration.", defaultMessage: "Summary" }, + })), + (t.prompts = (0, n.defineMessages)({ + requiredField: { id: "prompt_required_field", description: "Prompt shown next to a field that is required.", defaultMessage: "This field is required." }, + select: { id: "dropdown_default_selection", description: "Prompt shown in a dropdown selector that does not have a preselected value and a user selection is desired or required.", defaultMessage: "Select" }, + })), + (t.labels = (0, n.defineMessages)({ + factoryReset: { id: "label_factory_reset", description: "Label for a factory reset.", defaultMessage: "FACTORY RESET" }, + partNumber: { id: "label_part_number", description: "Label for the device part number", defaultMessage: "Part Number" }, + partNumberTPN: { id: "label_part_number_psn", description: "Label for a Tesla part number. 'TPN' is how it is identified on the device enclosure.", defaultMessage: "Part Number (TPN)" }, + serialNumber: { id: "label_serial_number", description: "Label for the device serial number", defaultMessage: "Serial Number" }, + serialNumberTSN: { id: "label_serial_number_tsn", description: "Label for a Tesla serial number. 'TSN' is how it is identified on the device enclosure.", defaultMessage: "Serial Number (TSN)" }, + model: { id: "label_model", description: "Label for the device model", defaultMessage: "Model" }, + })), + (t.errors = (0, n.defineMessages)({ invalidPassword: { id: "error_messages_invalid_password", description: "indicates an error due to an invalid password.", defaultMessage: "Invalid password. Please try again." } })); + }, + function (e, t) {}, + , + function (e, t, i) { + e.exports = i.p + "012955c70685614a5639d326f41890bd.png"; + }, + function (e, t, i) { + e.exports = i.p + "230aeae00823cd3b622d093948d9c433.png"; + }, + function (e, t, i) { + e.exports = i.p + "4e28cc8f2bdf3ba640331daa2c453341.png"; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAADCAYAAAB8mEQQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA7SURBVHgBtY4xEQAgDMT6/aUjEmoFB0jBIVawwNyFeoBmy5ILzMxJLgAuj2RjR0RnRmfKkD80VT2oOL0stgxY/9w14gAAAABJRU5ErkJggg=="; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAADCAYAAAB8mEQQAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAA4SURBVHgBrY4BEQAgCMTeT0IVmxCNJkbBJJx8BlmAbSszraoOAMM/l+RmC31IKDToLWaogBl0Gg8ymhHD+8iQzwAAAABJRU5ErkJggg=="; + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return _; + }), + i.d(t, "registrationSelector", function () { + return c; + }); + var n = i(2); + function r(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function a(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? r(Object(i), !0).forEach(function (t) { + o(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : r(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function o(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const s = { + isFetching: !1, + isSaving: !1, + isRegistering: !1, + didInvalidate: !1, + name: "", + email: "", + phone: "", + street: "", + city: "", + state: "", + zip: "", + country: "", + privacyNotice: null, + limitedWarranty: null, + gridServices: null, + marketing: null, + consent: !1, + registered: !1, + timedOut: !1, + }; + function _(e = s, t) { + switch (t.type) { + case n.REQUEST_CUSTOMER_INFORMATION_CONFIG: + case n.REQUEST_REGISTRATION: + return a(a({}, e), {}, { isFetching: !0, didInvalidate: !1 }); + case n.REQUEST_SAVE_LEGAL_INFORMATION: + return a(a({}, e), {}, { isSaving: !0, didInvalidate: !1 }); + case n.REQUEST_REGISTER_CUSTOMER_INFORMATION: + return a(a({}, e), {}, { isRegistering: !0, didInvalidate: !1 }); + case n.RECEIVE_CUSTOMER_INFORMATION_CONFIG_SUCCESS: + return a( + a(a({}, e), {}, { isFetching: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt }, l(e, t)), + {}, + { registered: null != t.registered ? t.registered : e.registered, timedOut: null != t.timed_out_registration ? t.timed_out_registration : e.timedOut } + ); + case n.RECEIVE_REGISTRATION_SUCCESS: + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !1, registered: t.registered, timedOut: t.timed_out_registration }); + case n.RECEIVE_SAVE_LEGAL_INFORMATION_SUCCESS: + return a( + a({}, e), + {}, + { + isSaving: !1, + didInvalidate: !1, + lastUpdatedAt: t.receivedAt, + privacyNotice: t.privacy_notice, + limitedWarranty: t.limited_warranty, + gridServices: t.grid_services, + marketing: t.marketing, + consent: t.consent, + registered: null != t.registered ? t.registered : e.registered, + timedOut: null != t.timed_out_registration ? t.timed_out_registration : e.timedOut, + } + ); + case n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_SUCCESS: + return a( + a(a({}, e), {}, { isRegistering: !1, didInvalidate: !1, lastUpdatedAt: t.receivedAt }, l(e, t)), + {}, + { registered: null != t.registered ? t.registered : e.registered, timedOut: null != t.timed_out_registration ? t.timed_out_registration : e.timedOut } + ); + case n.RECEIVE_CUSTOMER_INFORMATION_CONFIG_ERROR: + case n.RECEIVE_REGISTRATION_ERROR: + return a(a({}, e), {}, { isFetching: !1, didInvalidate: !0 }); + case n.RECEIVE_SAVE_LEGAL_INFORMATION_ERROR: + return a(a({}, e), {}, { isSaving: !1, didInvalidate: !0 }); + case n.RECEIVE_REGISTER_CUSTOMER_INFORMATION_ERROR: + return a(a({}, e), {}, { isRegistering: !1, didInvalidate: !0 }, l(e, t)); + case n.RESET_ALL: + case n.RESET_CUSTOMER_INFORMATION: + return s; + default: + return e; + } + } + function l(e, t) { + return { + name: null != t.name ? t.name : e.name, + email: null != t.email ? t.email : e.email, + phone: null != t.phone ? t.phone : e.phone, + street: null != (t.address || t.street) ? t.address || t.street : e.street, + city: null != t.city ? t.city : e.city, + state: null != t.state ? t.state : e.state, + zip: null != t.zip ? t.zip : e.zip, + country: null != t.country ? t.country : e.country, + privacyNotice: null != t.privacy_notice ? t.privacy_notice : e.privacyNotice, + limitedWarranty: null != t.limited_warranty ? t.limited_warranty : e.limitedWarranty, + gridServices: null != t.grid_services ? t.grid_services : e.gridServices, + marketing: null != t.marketing ? t.marketing : e.marketing, + }; + } + const c = ({ registration: e }) => e; + }, + function (e, t, i) { + "use strict"; + i.r(t), + i.d(t, "default", function () { + return c; + }), + i.d(t, "hasNetworkConnectionSelector", function () { + return d; + }); + var n = i(60), + r = i(2), + a = i(37); + function o(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function s(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? o(Object(i), !0).forEach(function (t) { + _(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : o(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function _(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const l = { + networks: { isFetching: !1, didInvalidate: !1, items: [] }, + accessPoints: { isFetching: !1, didInvalidate: !1, isScanning: !1, items: [] }, + connectingNetwork: { didInvalidate: !1, networkName: "", interface: null, startedAt: null }, + clientProtocols: { didInvalidate: !1, isFetching: !1, m2m: null, modbus: null, dnp3: null, service_shell: null }, + }; + function c(e = l, t) { + switch (t.type) { + case r.REQUEST_NETWORKS: + return s(s({}, e), {}, { networks: s(s({}, e.networks), {}, { isFetching: !0, didInvalidate: !1 }) }); + case r.RECEIVE_NETWORKS_SUCCESS: + return s(s({}, e), {}, { networks: s(s({}, e.networks), {}, { items: t.networks || [], isFetching: !1, didInvalidate: !1 }) }); + case r.RECEIVE_NETWORKS_ERROR: + return s(s({}, e), {}, { networks: s(s({}, e.networks), {}, { isFetching: !1, didInvalidate: !0 }) }); + case r.REQUEST_ACCESS_POINTS: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { isFetching: !0, didInvalidate: !1 }) }); + case r.RECEIVE_ACCESS_POINTS_SUCCESS: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { isScanning: null == e.accessPoints.scanStartedAt && e.accessPoints.isScanning, isFetching: !1, didInvalidate: !1, items: t.accessPoints || [] }) }); + case r.RECEIVE_ACCESS_POINTS_ERROR: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { isFetching: !1, didInvalidate: !0 }) }); + case r.REQUEST_SCAN_WIFI_NETWORKS: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { isScanning: !0, didInvalidate: !1 }) }); + case r.RECEIVE_SCAN_WIFI_NETWORKS_SUCCESS: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { scanStartedAt: t.receivedAt, didInvalidate: !1 }) }); + case r.RECEIVE_SCAN_WIFI_NETWORKS_ERROR: + return s(s({}, e), {}, { accessPoints: s(s({}, e.accessPoints), {}, { isScanning: !1, didInvalidate: !0 }) }); + case r.REQUEST_CONNECT_ETHERNET: + case r.REQUEST_CONNECT_WIFI: + return s(s({}, e), {}, { connectingNetwork: { networkName: t.networkName, interface: t.interface, didInvalidate: !1, startedAt: t.startedAt } }); + case r.RECEIVE_CONNECT_ETHERNET_SUCCESS: + case r.RECEIVE_CONNECT_WIFI_SUCCESS: + return s(s({}, e), {}, { connectingNetwork: s({}, l.connectingNetwork) }); + case r.RECEIVE_CONNECT_ETHERNET_ERROR: + case r.RECEIVE_CONNECT_WIFI_ERROR: + return s(s({}, e), {}, { connectingNetwork: s(s({}, l.connectingNetwork), {}, { didInvalidate: !0 }) }); + case r.CANCEL_NETWORK: + return s( + s({}, e), + {}, + { + networks: s(s({}, e.networks), {}, { isFetching: !1, didInvalidate: !1 }), + accessPoints: s(s({}, e.accessPoints), {}, { isFetching: !1, didInvalidate: !1, isScanning: !1 }), + connectingNetwork: s({}, l.connectingNetwork), + } + ); + case r.REQUEST_CLIENT_PROTOCOLS: + return s(s({}, e), {}, { clientProtocols: s(s({}, e.clientProtocols), {}, { isFetching: !0, didInvalidate: !1 }) }); + case r.RECEIVE_CLIENT_PROTOCOLS_SUCCESS: + return s(s({}, e), {}, { clientProtocols: s(s({}, t.clientProtocols), {}, { didInvalidate: !1, isFetching: !1 }) }); + case r.RECEIVE_CLIENT_PROTOCOLS_ERROR: + return s(s({}, e), {}, { clientProtocols: s(s({}, e.clientProtocols), {}, { didInvalidate: !0, isFetching: !1 }) }); + case r.RESET_ALL: + case r.RESET_NETWORK_CONFIG: + return l; + default: + return e; + } + } + function d(e) { + let t = (e.network && e.network.networks && e.network.networks.items) || [], + i = Object(n.cellularDisabledSelector)(e); + for (let e of t) if ((!i || e.interface !== a.d.GSM) && e.active) return !0; + return !1; + } + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const s = a(i(1)), + _ = i(3), + l = i(35), + c = i(17), + d = i(28), + u = i(283), + m = i(26), + p = i(133), + g = i(150), + w = o(i(5)), + v = a(i(4)); + i(823); + const f = (0, _.defineMessages)({ + heading: { id: "heading_change_password", defaultMessage: "Change Password" }, + currentPasswordPlaceholderText: { id: "current_password_placeholder_text", description: "Placeholder text shown in current password field", defaultMessage: "Enter your current password" }, + }); + t.default = (0, l.connect)(function (e) { + return {}; + })( + (0, _.injectIntl)(function (e) { + const { dispatch: t, intl: i } = e; + let n, + [r, a] = (0, s.useState)(""), + [o, l] = (0, s.useState)(!1), + [h, E] = (0, s.useState)(null), + [b, y] = (0, s.useState)(null); + return ( + (0, s.useEffect)(() => { + t((0, p.showHeader)("header-default", { title: i.formatMessage(f.heading) })); + }, []), + (0, s.useEffect)(() => { + t((0, g.showBack)(null, "< " + i.formatMessage(d.buttons.BACK), c.browserHistory.goBack)); + }, []), + (n = h + ? s.default.createElement("pre", { className: "form-control-static" }, h) + : s.default.createElement( + s.default.Fragment, + null, + s.default.createElement( + "button", + { + type: "button", + className: "btn btn-action", + onClick: function () { + l(!0), + fetch(w.default.api.uri + "/password/generate", { method: "POST", credentials: w.default.credentials, headers: { "Content-Type": "application/json" }, body: JSON.stringify({ password: r }) }) + .then(v.checkStatus) + .then(v.parseText) + .then((e) => { + const t = v.parseResponseText(e); + if (!t || !t.password) throw new Error("Received invalid response"); + v.checkResponseStatus(t), l(!1), E(t.password), y(null); + }) + .catch((e) => { + console.error("Error generating password:", e), l(!1), E(null), y(e); + }); + }, + disabled: !r || o, + }, + s.default.createElement(_.FormattedMessage, { id: "button_label_generate", defaultMessage: "GENERATE" }) + ), + o && s.default.createElement(u.LoadingSpinner, { className: "spinner password-generate-spinner" }) + )), + s.default.createElement( + "div", + { className: "password-generate-container" }, + s.default.createElement( + "p", + { className: "password-generate-help-text" }, + s.default.createElement(_.FormattedMessage, { id: "password_generate_help_text", defaultMessage: "Enter the existing password to generate a new random password." }) + ), + s.default.createElement( + "form", + { role: "form", className: "form-horizontal", onSubmit: (e) => e.preventDefault() }, + s.default.createElement( + "div", + { className: "form-group" }, + s.default.createElement("label", { htmlFor: "currentPassword", className: "col-sm-4" }, s.default.createElement(_.FormattedMessage, Object.assign({}, m.passwordFormLabels.currentPassword))), + s.default.createElement( + "div", + { className: "col-sm-8" }, + s.default.createElement("input", { + type: "password", + id: "currentPassword", + className: "form-control", + placeholder: i.formatMessage(f.currentPasswordPlaceholderText), + onChange: (e) => a(e.target.value), + autoComplete: "off", + autoCorrect: "off", + required: !0, + }) + ) + ), + s.default.createElement( + "div", + { className: "form-group" }, + s.default.createElement("label", { className: "col-sm-4" }, s.default.createElement(_.FormattedMessage, Object.assign({}, m.passwordFormLabels.newPassword))), + s.default.createElement("div", { className: "col-sm-8" }, n) + ) + ), + !!h && + s.default.createElement( + "p", + { className: "password-generate-notice" }, + s.default.createElement(_.FormattedMessage, { id: "password_generate_notice", defaultMessage: "The password has been changed. Record the new password before leaving this page." }) + ), + !!b && + s.default.createElement( + "p", + { className: "password-generate-error" }, + s.default.createElement(_.FormattedMessage, { id: "password_generate_error", defaultMessage: "There was an error generating a new password. Verify connectivity and the current password and try again." }) + ) + ) + ); + }) + ); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__awaiter) || + function (e, t, i, n) { + return new (i || (i = Promise))(function (r, a) { + function o(e) { + try { + _(n.next(e)); + } catch (e) { + a(e); + } + } + function s(e) { + try { + _(n.throw(e)); + } catch (e) { + a(e); + } + } + function _(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, s); + } + _((n = n.apply(e, t || [])).next()); + }); + }, + s = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const _ = a(i(1)), + l = i(17), + c = i(3), + d = i(35), + u = i(28), + m = i(133), + p = i(55), + g = i(2), + w = s(i(14)), + v = i(455), + f = i(21); + i(824); + function h(e) { + return _.default.createElement( + "div", + { className: "factory-reset-modal-container" }, + _.default.createElement("p", null, _.default.createElement(c.FormattedMessage, { id: "prompt_factory_reset_confirmation", defaultMessage: "Confirm you really wish to reset the unit to factory settings?" })), + _.default.createElement( + "div", + { className: "btn-group" }, + _.default.createElement("button", { className: "btn btn-secondary factory-reset-modal-button", onClick: e.onCancel, type: "button" }, _.default.createElement(c.FormattedMessage, Object.assign({}, u.buttons.CANCEL))), + _.default.createElement("button", { className: "btn btn-danger factory-reset-modal-button", onClick: e.onConfirm, type: "button" }, _.default.createElement(c.FormattedMessage, Object.assign({}, u.buttons.CONTINUE))) + ) + ); + } + t.default = (0, d.connect)( + function (e) { + return { din: e.configuration.din, isEngineer: (0, f.isEngineer)(e.authentication) }; + }, + function (e) { + return { + destroyModal: (t) => { + e((0, p.destroyModal)(t)); + }, + showHeader: (t) => { + e((0, m.showHeader)("header-default", { title: t })); + }, + showModal: (t, i, n) => { + e((0, p.showModal)(t, i, n)); + }, + setErrors: (t) => { + e((0, m.updateHeader)("header-default", { errors: t })); + }, + clearErrors: () => { + e((0, m.updateHeader)("header-default", { errors: [] })); + }, + }; + } + )( + (0, c.injectIntl)(function (e) { + const { intl: t, din: i, isEngineer: n } = e, + [r, a] = (0, _.useState)(!1); + e.showHeader(t.formatMessage(u.titles.service)); + let s = (0, _.useMemo)(() => (0, v.getTEDAPI)({ din: i, isEngineer: n }), [i, n]); + const d = () => + o(this, void 0, void 0, function* () { + console.info("Initiated factory reset"); + try { + a(!0), yield s.common.factoryReset({}), console.info("Factory reset succeess"), l.browserHistory.replace("/"); + } catch (t) { + if ((console.error("Factory reset failed", t), !(t instanceof Error))) throw t; + e.setErrors([new w.default(g.FACTORY_RESET, t.message)]); + } finally { + a(!1); + } + }), + m = (t) => { + t && d(), e.destroyModal("FACTORY_RESET_MODAL"); + }; + return _.default.createElement( + "div", + { className: "service-container" }, + _.default.createElement("h3", null, _.default.createElement(c.FormattedMessage, Object.assign({}, u.labels.factoryReset))), + _.default.createElement( + "p", + null, + _.default.createElement(c.FormattedMessage, { + id: "factory_reset_message", + defaultMessage: + "This will cause the unit to reset to the default state as provided by Tesla. This action cannot be undone. The unit will need to be re-commissioned by a professional installer before operation is possible. You may need to reconnect to the unit's WiFi network.", + }) + ), + _.default.createElement( + "button", + { + className: "btn btn-primary btn-block", + disabled: r, + onClick: () => { + e.clearErrors(), e.showModal("FACTORY_RESET_MODAL", { centered: !0, showCancel: !1, contentView: _.default.createElement(h, { onCancel: () => m(!1), onConfirm: () => m(!0) }) }, void 0); + }, + type: "button", + }, + _.default.createElement(c.FormattedMessage, Object.assign({}, u.buttons.FACTORY_RESET)) + ) + ); + }) + ); + }, + , + , + , + , + , + , + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAXNSR0IArs4c6QAAAkhJREFUOBGtlT9oU1EUxvNenslSEAyIZChKKYUiOAmiIFjoIEUEqVMpCIX8GSIEYnFxdZAuGkJIWsGlgxAFkSKYvRQ6udRBsmSIU9ZiQv74+17vS5v38pSUXrg55537fd89995zb6xISEun07cYWh0Oh8vYWXqC3qY3LcuqY2uVSuUHNtAsfySVSs1BekP8NoK72D16I5lMtlutloTn6Ctg1rCHYDar1WoDf9TGRLPZ7MPBYPAB4FY8Hn9XLBY7I6TPyeVy8U6n8xzxgm3bz8rl8jcPMhKVYL/ffx+NRp8AOPAA/7Pw7sD7DG/DE3ZFzZL3mfHxNILehBJmhV9Y4V1tha0B7aGW/C/BfD5/xRPxW/HEN2cRscwpf43FYvP+PWQFlwC+hvDUTD6D/5JsdvzC2uNut/uL+CNlqrLZ9Qsa0gPsHw5tAaHr+Pfpb0lkETvWxJcOwVUHR3VYGEOYD4S+46q7jbo8IvsGnBsEjkz4rNljbMshosIeq7OzKM9H7DIHuQ4p6ThOWHVIZ1bLT6iwPfIkm8lkltjbJid8E+F7pVJpIt7oJJSpd1N+TxJUDMFjMvzIdmTCMIqbG9dWpk26rl5oo7h/UtzboYDTAek0bbKo46ycxoMegtd6vd7V4EggojehrkxrOGuqswDEBMh0CfdV2Lji4ksHt+biqLtPnO4L9+OcP+JLR3RlGuEQNpmloDus72mbeOJLR1xXlFNt6PnSazOtsPDiiS8diY6ePn0AuNj3VKJq7M3Fvvwnsie/5vU613/UX4d8Ju+yyDc7AAAAAElFTkSuQmCC"; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.unitMessages = t.phaseMessages = void 0); + const n = i(3), + r = i(134); + (t.phaseMessages = (0, n.defineMessages)({ + [r.PhaseType.SINGLE]: { id: "phase_type_single", description: "Identifies a grid or installation that has a single phase.", defaultMessage: "Single-Phase" }, + [r.PhaseType.TWO]: { id: "phase_type_two", description: "Identifies a two-phase grid or installation.", defaultMessage: "Two-Phase" }, + [r.PhaseType.THREE]: { id: "phase_type_three", description: "Identifies a three-phase grid or installation.", defaultMessage: "Three-Phase" }, + [r.PhaseType.SPLIT]: { id: "phase_type_split", description: "Identifies a split-phase grid or installation.", defaultMessage: "Split-Phase" }, + [r.PhaseType.WYE_LL]: { id: "phase_type_wye_ll", description: "Identifies an L-L (line-to-line) installation on wye 3-phase grid (also called a star connection).", defaultMessage: "Wye L-L" }, + })), + (t.unitMessages = (0, n.defineMessages)({ + hertz: { id: "display_frequency_hertz", defaultMessage: "{frequency}Hz" }, + volts: { id: "display_voltage_volts", defaultMessage: "{voltage}V" }, + amps: { id: "display_current_amps", defaultMessage: "{current}A" }, + watts: { id: "display_power_watts", defaultMessage: "{power}W" }, + kiloWatts: { id: "display_power_kilowatts", defaultMessage: "{power}kW" }, + wattHours: { id: "display_energy_watt_hours", defaultMessage: "{energy}Wh" }, + kiloWattHours: { id: "display_energy_kilowatt_hours", defaultMessage: "{energy}kWh" }, + ohms: { id: "display_resistance_ohms", defaultMessage: "{resistance}Ω" }, + kiloOhms: { id: "display_resistance_kiloohms", defaultMessage: "{resistance}kΩ" }, + })); + }, + function (e, t, i) {}, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const o = a(i(1)); + i(652); + class s extends o.Component { + constructor() { + super(...arguments), (this.state = { focused: !1 }); + } + render() { + var e, t, i; + let n = null; + if (this.props.inputAddonView) { + let t = null !== (e = this.props.inputAddonProps) && void 0 !== e ? e : { className: "input-group-addon" }; + n = o.createElement("div", Object.assign({}, t), this.props.inputAddonView); + } + let r = null !== (t = this.props.className) && void 0 !== t ? t : "input-group"; + this.state.focused && (r += " focus"); + let a = null !== (i = this.props.inputProps) && void 0 !== i ? i : { type: "text", className: "form-control", autoCapitalize: "none", autoComplete: "off", autoCorrect: "off" }; + return o.createElement("div", { className: r, onFocus: this._handleFocus.bind(this), onBlur: this._handleBlur.bind(this) }, o.createElement("input", Object.assign({}, a)), n); + } + _handleFocus() { + this.setState({ focused: !0 }); + } + _handleBlur() { + this.setState({ focused: !1 }); + } + } + t.default = s; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const s = a(i(1)), + _ = i(50), + l = o(i(153)); + i(749); + class c extends s.Component { + constructor(e) { + super(e), (this.state = { collapsed: !!e.collapsedOnMount }); + } + render() { + const { style: e, collapsedHeader: t } = this.props; + return s.createElement( + "div", + { className: "collapsible-container", style: e }, + s.createElement("div", { className: "collapsible-header", role: "button", "data-toggle": "collapse", onClick: this._handleCollapseToggle.bind(this) }, t, this._getCaret()), + this._getContent() + ); + } + _getCaret() { + return this.props.children && this.props.isCollapsible + ? s.createElement("div", { className: this.props.caretClassName }, s.createElement("img", { className: (0, _.classNames)({ "rotate-90": !this.state.collapsed }), src: l.default, alt: "indicator" })) + : null; + } + _getContent() { + const { hasWell: e, children: t, id: i } = this.props; + if (this.state.collapsed) return null; + let n = t; + return e && n && (n = s.createElement("div", { className: "well" }, n)), s.createElement("div", { id: "collapse-" + i }, n); + } + _handleCollapseToggle(e) { + if ((e.preventDefault(), e.stopPropagation(), !this.props.isCollapsible)) return; + const t = !this.state.collapsed; + this.setState({ collapsed: t }), this.props.toggleCallback && this.props.toggleCallback(t); + } + } + t.default = c; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAcCAYAAAB2+A+pAAAAAXNSR0IArs4c6QAAArZJREFUSA2tVs1rE1EQn9lNNQfFg9QvUPygBUEsGIQgCNpupc3FgxfpTa+CXwhCQVrwpCgWIf+JJKmuIvZSKB4iglCx9eBBFBHRSmmzO868xP1IXnb3rQ4smTfv9/Fm8/btIhgG1Z0zAN5tICgrKsIigH0PJ92XJlJoAqbG2BXw6TEAWXEe+mDhVZx4Xo3X+48yG1PNKQN6C9xpQSuH0AKyT2PF5TuQHl0r1xOIZi1Av9rXVGiyIMYorF4mVs1kDPOvLgPRiRhTNxCMYDNE6q2mZ84OaHnvuaPBDHoACF+hYA/huPsjCZ/esefPZjYVJ1mgcFIisWPu9ih3+0b9fxGh9Q0Pyjdeq8rioxIUt9iRWU5loxXs49z1u/hEOEruuOXPdZsKdWn5JzRX19QleU/IRhNuQvQ1poZznjfUOR3X8ykoR/OgKAlzlUasGA60xlSb3ArkPwxhOTPWUFoautYYcP0mr/iIBm9WEg3R0kSPMT0d38e4aQ02b2m6oxnj9xiD17rPG2pbDPUvA9ESza6IGdP86Cmen+rC/I/hVEc70AqM1Rkrbx7ipzAlLAwh0bwvTTRZO3qOB8bQWLjEpqW+5MhEaWg7HNpdVJfkmUK0xaMTaunt89hf5p286+9E2q/ntZ9l2w67T+MA4hcoWMNyjrc7bvkzJqZiYDFTLqOQxsSLA8kdG4ZN/y3f5oGsIs2VXzBxp6ngjbsjMHLY4CFA2IQB65jFptdMTMWt+uQTfP6+oS7JjUIaZE+5WRUjIoMPDBYDSjQPiulJhb+fcK+8RE3i1oX9vCXaDMlzxB6k+tlV9j2Yg5yfgvCRP+Kwnl8hJ5M9LX6uHrD5Wk4Jc5p4saeFjrvCH+MX+b/+ba5iymAP9hLP4Nih2qi8f6/zRjvJJ+tOU8lEPME3bmyJMXNYefFBsH8AhWv0MUn9RD0AAAAASUVORK5CYII="; + }, + function (e, t, i) { + "use strict"; + var n; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.BarcodeReader = t.BarcodeError = t.DecodeStatus = t.BarcodeFormat = void 0), + (function (e) { + (e.None = "None"), (e.Code39 = "Code39"), (e.Code128 = "Code128"), (e.QRCode = "QRCode"); + })(t.BarcodeFormat || (t.BarcodeFormat = {})), + (function (e) { + (e.NoError = "NoError"), (e.NotFound = "NotFound"), (e.FormatError = "FormatError"), (e.ChecksumError = "ChecksumError"), (e.InternalError = "InternalError"); + })((n = t.DecodeStatus || (t.DecodeStatus = {}))); + class r extends Error { + constructor(e, t) { + super(`${e}${t ? ": " + t : ""}`), (this.status = e), (this.error = t); + } + } + t.BarcodeError = r; + t.BarcodeReader = class { + constructor(e = "") { + (this._queue = []), (this._disabled = !1), (this._worker = new Worker(e + "/barcode.js")), (this._worker.onmessage = this._handleWorkerMessage.bind(this)), (this._worker.onerror = this.stop.bind(this)); + } + _handleWorkerMessage(e) { + const t = this._queue.shift(); + if (!t) return; + const { result: i } = e.data; + if (i.status !== n.NoError) return void t.reject(new r(i.status, i.error)); + const { format: a, text: o } = i; + t.resolve({ format: a, text: o }); + } + scanBarcode(e, t = []) { + if (this._disabled) { + const e = new r(n.InternalError, "BarcodeReader is unavailable."); + return Promise.reject(e); + } + const i = { file: e, hints: { tryHarder: !0, tryRotate: !0, formats: t.join("|") } }; + return this._worker.postMessage(i), new Promise((e, t) => this._queue.push({ resolve: e, reject: t })); + } + stop() { + if (this._disabled) return; + this._worker.terminate(), (this._disabled = !0); + const e = this._queue; + this._queue = []; + const t = new r(n.InternalError, "BarcodeReader is unavailable."); + e.forEach((e) => e.reject(t)); + } + }; + }, + function (e, t) { + e.exports = + "data:image/png;base64,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"; + }, + function (e, t, i) { + e.exports = i.p + "25be833719104362501e2268c5346d10.png"; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAOCAYAAAASVl2WAAAAAXNSR0IArs4c6QAAAJFJREFUGBlj+P//fxsQ5zDgAkBJDSB+CsRFuNQwACVVgfgxEFfgU6QIVPAAiOvwKZIDKrgLxC34FEkDFdwE4i6QIkZsKoGSkkDx/UC8nQmbAqCYCBALAPFtDHmgbkMgfgXEKdgkTYESr4E4HpukJVDiLRBHYpO0BUq8A+IQbJKOUEl/DEmQAFByBRB7Y5UECgIAfeZ8AwjCztMAAAAASUVORK5CYII="; + }, + function (e, t, i) { + e.exports = i.p + "3b8bde11a1eab10668c1dbaf6dbd94ad.png"; + }, + function (e, t, i) { + e.exports = i.p + "fd509b9190bcc31cd81e9e21c97fe678.png"; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.DevicesWithVitals = t.SiteControllerConnectedDeviceWithVitals = t.DeviceVital = void 0); + const n = i(770), + r = i(40), + a = { name: "" }, + o = { alerts: "" }, + s = {}; + function _(e) { + if (e.gt(Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + return e.toNumber(); + } + (t.DeviceVital = { + encode(e, t = r.Writer.create()) { + var i, n, a, o; + return ( + t.uint32(10).string(e.name), + "intValue" === (null === (i = e.value) || void 0 === i ? void 0 : i.$case) && t.uint32(24).int64(e.value.intValue), + "floatValue" === (null === (n = e.value) || void 0 === n ? void 0 : n.$case) && t.uint32(33).double(e.value.floatValue), + "stringValue" === (null === (a = e.value) || void 0 === a ? void 0 : a.$case) && t.uint32(42).string(e.value.stringValue), + "boolValue" === (null === (o = e.value) || void 0 === o ? void 0 : o.$case) && t.uint32(48).bool(e.value.boolValue), + t + ); + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, a); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.name = i.string(); + break; + case 3: + o.value = { $case: "intValue", intValue: _(i.int64()) }; + break; + case 4: + o.value = { $case: "floatValue", floatValue: i.double() }; + break; + case 5: + o.value = { $case: "stringValue", stringValue: i.string() }; + break; + case 6: + o.value = { $case: "boolValue", boolValue: i.bool() }; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.SiteControllerConnectedDeviceWithVitals = { + encode(e, i = r.Writer.create()) { + void 0 !== e.device && void 0 !== e.device && n.SiteControllerConnectedDevice.encode(e.device, i.uint32(10).fork()).ldelim(); + for (const n of e.vitals) t.DeviceVital.encode(n, i.uint32(18).fork()).ldelim(); + for (const t of e.alerts) i.uint32(26).string(t); + return i; + }, + decode(e, i) { + const a = e instanceof Uint8Array ? new r.Reader(e) : e; + let s = void 0 === i ? a.len : a.pos + i; + const _ = Object.assign({}, o); + for (_.vitals = [], _.alerts = []; a.pos < s; ) { + const e = a.uint32(); + switch (e >>> 3) { + case 1: + _.device = n.SiteControllerConnectedDevice.decode(a, a.uint32()); + break; + case 2: + _.vitals.push(t.DeviceVital.decode(a, a.uint32())); + break; + case 3: + _.alerts.push(a.string()); + break; + default: + a.skipType(7 & e); + } + } + return _; + }, + }), + (t.DevicesWithVitals = { + encode(e, i = r.Writer.create()) { + for (const n of e.devices) t.SiteControllerConnectedDeviceWithVitals.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, s); + for (o.devices = []; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.devices.push(t.SiteControllerConnectedDeviceWithVitals.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.parseWifiCode = void 0), + (t.parseWifiCode = function (e) { + if (!e.startsWith("WIFI:")) throw new Error("Not a WiFi code."); + const t = (e = e.slice(5)).indexOf(";;"); + -1 !== t && (e = e.slice(0, t)); + let i = e.match(/(\\.|[^;])+/g) || []; + if (((i = i.filter((e) => e.indexOf(":") > 0)), 0 == i.length)) throw new Error("Empty WiFi code"); + let n = {}; + return ( + i.forEach((e) => { + const t = e.indexOf(":"); + if (-1 === t || 0 === t) return; + let i = e.slice(0, t); + if (n[i]) return; + let r = e.slice(t + 1); + r.startsWith('"') && r.endsWith('"') && (r = r.slice(1, -1)), (n[i] = r.replace(/\\\\/g, "\\").replace(/\\;/g, ";").replace(/\\:/g, ":").replace(/\\,/g, ",").replace(/\\"/g, '"')); + }), + n + ); + }); + }, + function (e, t, i) {}, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t) {}, + , + , + , + , + , + function (e, t) {}, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) {}, + function (e, t, i) {}, + , + function (e, t, i) { + var n = { + "./af": 299, + "./af.js": 299, + "./ar": 300, + "./ar-dz": 301, + "./ar-dz.js": 301, + "./ar-kw": 302, + "./ar-kw.js": 302, + "./ar-ly": 303, + "./ar-ly.js": 303, + "./ar-ma": 304, + "./ar-ma.js": 304, + "./ar-sa": 305, + "./ar-sa.js": 305, + "./ar-tn": 306, + "./ar-tn.js": 306, + "./ar.js": 300, + "./az": 307, + "./az.js": 307, + "./be": 308, + "./be.js": 308, + "./bg": 309, + "./bg.js": 309, + "./bm": 310, + "./bm.js": 310, + "./bn": 311, + "./bn.js": 311, + "./bo": 312, + "./bo.js": 312, + "./br": 313, + "./br.js": 313, + "./bs": 314, + "./bs.js": 314, + "./ca": 315, + "./ca.js": 315, + "./cs": 316, + "./cs.js": 316, + "./cv": 317, + "./cv.js": 317, + "./cy": 318, + "./cy.js": 318, + "./da": 319, + "./da.js": 319, + "./de": 320, + "./de-at": 321, + "./de-at.js": 321, + "./de-ch": 322, + "./de-ch.js": 322, + "./de.js": 320, + "./dv": 323, + "./dv.js": 323, + "./el": 324, + "./el.js": 324, + "./en-SG": 325, + "./en-SG.js": 325, + "./en-au": 326, + "./en-au.js": 326, + "./en-ca": 327, + "./en-ca.js": 327, + "./en-gb": 328, + "./en-gb.js": 328, + "./en-ie": 329, + "./en-ie.js": 329, + "./en-il": 330, + "./en-il.js": 330, + "./en-nz": 331, + "./en-nz.js": 331, + "./eo": 332, + "./eo.js": 332, + "./es": 333, + "./es-do": 334, + "./es-do.js": 334, + "./es-us": 335, + "./es-us.js": 335, + "./es.js": 333, + "./et": 336, + "./et.js": 336, + "./eu": 337, + "./eu.js": 337, + "./fa": 338, + "./fa.js": 338, + "./fi": 339, + "./fi.js": 339, + "./fo": 340, + "./fo.js": 340, + "./fr": 341, + "./fr-ca": 342, + "./fr-ca.js": 342, + "./fr-ch": 343, + "./fr-ch.js": 343, + "./fr.js": 341, + "./fy": 344, + "./fy.js": 344, + "./ga": 345, + "./ga.js": 345, + "./gd": 346, + "./gd.js": 346, + "./gl": 347, + "./gl.js": 347, + "./gom-latn": 348, + "./gom-latn.js": 348, + "./gu": 349, + "./gu.js": 349, + "./he": 350, + "./he.js": 350, + "./hi": 351, + "./hi.js": 351, + "./hr": 352, + "./hr.js": 352, + "./hu": 353, + "./hu.js": 353, + "./hy-am": 354, + "./hy-am.js": 354, + "./id": 355, + "./id.js": 355, + "./is": 356, + "./is.js": 356, + "./it": 357, + "./it-ch": 358, + "./it-ch.js": 358, + "./it.js": 357, + "./ja": 359, + "./ja.js": 359, + "./jv": 360, + "./jv.js": 360, + "./ka": 361, + "./ka.js": 361, + "./kk": 362, + "./kk.js": 362, + "./km": 363, + "./km.js": 363, + "./kn": 364, + "./kn.js": 364, + "./ko": 365, + "./ko.js": 365, + "./ku": 366, + "./ku.js": 366, + "./ky": 367, + "./ky.js": 367, + "./lb": 368, + "./lb.js": 368, + "./lo": 369, + "./lo.js": 369, + "./lt": 370, + "./lt.js": 370, + "./lv": 371, + "./lv.js": 371, + "./me": 372, + "./me.js": 372, + "./mi": 373, + "./mi.js": 373, + "./mk": 374, + "./mk.js": 374, + "./ml": 375, + "./ml.js": 375, + "./mn": 376, + "./mn.js": 376, + "./mr": 377, + "./mr.js": 377, + "./ms": 378, + "./ms-my": 379, + "./ms-my.js": 379, + "./ms.js": 378, + "./mt": 380, + "./mt.js": 380, + "./my": 381, + "./my.js": 381, + "./nb": 382, + "./nb.js": 382, + "./ne": 383, + "./ne.js": 383, + "./nl": 384, + "./nl-be": 385, + "./nl-be.js": 385, + "./nl.js": 384, + "./nn": 386, + "./nn.js": 386, + "./pa-in": 387, + "./pa-in.js": 387, + "./pl": 388, + "./pl.js": 388, + "./pt": 389, + "./pt-br": 390, + "./pt-br.js": 390, + "./pt.js": 389, + "./ro": 391, + "./ro.js": 391, + "./ru": 392, + "./ru.js": 392, + "./sd": 393, + "./sd.js": 393, + "./se": 394, + "./se.js": 394, + "./si": 395, + "./si.js": 395, + "./sk": 396, + "./sk.js": 396, + "./sl": 397, + "./sl.js": 397, + "./sq": 398, + "./sq.js": 398, + "./sr": 399, + "./sr-cyrl": 400, + "./sr-cyrl.js": 400, + "./sr.js": 399, + "./ss": 401, + "./ss.js": 401, + "./sv": 402, + "./sv.js": 402, + "./sw": 403, + "./sw.js": 403, + "./ta": 404, + "./ta.js": 404, + "./te": 405, + "./te.js": 405, + "./tet": 406, + "./tet.js": 406, + "./tg": 407, + "./tg.js": 407, + "./th": 408, + "./th.js": 408, + "./tl-ph": 409, + "./tl-ph.js": 409, + "./tlh": 410, + "./tlh.js": 410, + "./tr": 411, + "./tr.js": 411, + "./tzl": 412, + "./tzl.js": 412, + "./tzm": 413, + "./tzm-latn": 414, + "./tzm-latn.js": 414, + "./tzm.js": 413, + "./ug-cn": 415, + "./ug-cn.js": 415, + "./uk": 416, + "./uk.js": 416, + "./ur": 417, + "./ur.js": 417, + "./uz": 418, + "./uz-latn": 419, + "./uz-latn.js": 419, + "./uz.js": 418, + "./vi": 420, + "./vi.js": 420, + "./x-pseudo": 421, + "./x-pseudo.js": 421, + "./yo": 422, + "./yo.js": 422, + "./zh-cn": 423, + "./zh-cn.js": 423, + "./zh-hk": 424, + "./zh-hk.js": 424, + "./zh-tw": 425, + "./zh-tw.js": 425, + }; + function r(e) { + var t = a(e); + return i(t); + } + function a(e) { + if (!i.o(n, e)) { + var t = new Error("Cannot find module '" + e + "'"); + throw ((t.code = "MODULE_NOT_FOUND"), t); + } + return n[e]; + } + (r.keys = function () { + return Object.keys(n); + }), + (r.resolve = a), + (e.exports = r), + (r.id = 643); + }, + , + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAABHklEQVQ4jc3UvU4CURAF4A8SQrTA2l4tsNJGaHwWhZoH0efQRCoVfAyipZIorQ12logWzIZls7hoKDjJFPfMz525d2bYdJQK9Ls4xl6cX/GI979e1MA9vvCdkQnuwqYQFVxGoGkEbeE0pBXcNGwuwicX23iILJ5R/+XiOl7Cto+trEEJ3TC4Ry2lq6IZUk3xO+iFT1fmP85DcYVyij/E0Pz9hsElKOM6dGcJeYBPvOVkNsQYnZBxcOlMaxhFjH0YxA3ZX2sG30lxneCaS2wH5VTtRT25MpKSR4pL/rBCyaz5U1hsm15Opsvaph8+N3KebK2NnaBiNk7J6PXQNh+9dnArjV4aDbMFMJG/HG5xkue4yvo6sri+nvxjfW0OfgDNJWMGCxPjVQAAAABJRU5ErkJggg=="; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAABnElEQVQ4ja3Uu2tUURAG8N8md41eRAtBSGHnAwQLraKFItqlTgpT+MLCyk7srfwXrCxcMWqhG+1s7EMMiJpCAhYipItY+Ni4FmcuOdncbG6xA4dz75zvfHwzc2ZgBR0URmQd9DE/CtICV2OfDd8cevFdYhpHsIEvWML3JsTzNUrvhy9fPbzEVBPSZ3HpU/wfwgzO4Txu4BX+heIHaO9EOI5HmZJhOT0pFbOPBeyrI3sagDd40YD0ILoZrpUf3s0O2rbmdHlIWGM2X8m1ynkKv/ERezNwiR8Bfj5E6QGs4ieOwfu4dGYAOB3+JbuHfzYwi4VUMZgYAJWxP8RF6Z2O4Qr+DmB/xT4Ox0PuasivbD++xbqdKV0eUDqBD/gjpQ9cD/DjUFHZ5SCsntJ6Tfg3w3cvl9yyWdVujdIZKael7R11GLeqcHMr8TrAn6XHW2cF3traUTtaW2qnDalY3QjpAi7hjtTH/ThvPKWm4mLP9uHQxxOcUDNQWjVkuU3iNI5iD77iHdbivJA6ZVYaLHO7KW1ieZt2RkFYkXaw8h/dmHogm+upYwAAAABJRU5ErkJggg=="; + }, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAICAYAAADJEc7MAAAAAXNSR0IArs4c6QAAAIlJREFUGBljYMANsoBS/bilscukAIVfAPF1IO7CrgRTNB4o9AqIdYFYEohvAnELEOMFkUDZ10BsiKRKGsi+C8R1SGIozBAg7y0Qm6KIQjhyQOoBEFdAuAjSH8h8B8SWCCEMliJQ5DEQF8FkvIEMkCZbmAAeWhUo9xSIc0BqVgCxI4hBJNAAqmsDAPL9E9lufkHxAAAAAElFTkSuQmCC"; + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAA1NJREFUSA21VctrE0Ec/mazibSmsaggii8QFBHBvm1R8aDiyQqCiqgXRXxWUTx48SB4ETx6EPUPaPUiehIfF59JiorUm+ALwcZam9TYZJMdv6md7ewmkaTWhWVnfvPN7/tmfo8FqnwyCRwaTmBjlfCqYVbVSGCLLbC6BnxV0FoEVOWwVpBPAK/54kg/1tbqhPuO8d1R6z6F9wmQEt8tF321iCDxcUicky4GpyKgZE86jjN0+jEoYvQ55skkZpkbMkmcyMTxOf0C6037P4/p8DSFvCJhWDtLPUbD4CNE9TzTj5VKaDqJddo2rV86nqscjiawOZ3AUwoaGn8TuJ19jYVqTWPUeKqP+NtGEmyHixtBjBB4H61Hp1iFvF77+RJtRQeXOQ9pGwRSfA/aNmY4eVwnWcxYy4sQjtmeITBgQlq84ksBM/0hK4GeILlbwC1ivRBx/I3gAxPkd7hvieHLsQT2R5vx1v4RxxGWwjJjUcbacTbzDMthY45h/0MusDvWhifank2gvVjATQr2k1votsMYdXK4S/LFGs+vY1kkb8U9ZfOVoQFCMYw6cz5x8l0l5ChDXvDI1clN8rxJrvxzvfwjBxDJZDHAGp/tkbfjqYlmCW5whe/kiIQwUNeMD8NxrOE1LzDxIYFPPPkb01ZRgAKxAjYVXSaPwB6GxSNnVaxgHphhA2OdmtmERCqJ+RGJJpOEpx5raMFD06bHFQWoEou14ht7wpxYB4b0hmwSHUU5fu0ztY33mOK425bIFoA7HC/y1oA8b2JftA33DZs3LJsDqhGx/O6rRvQ/yZWKkjJU5MLCKdfCTtECR0tVrZnh6GO2T8vJtV9fCNR/gPE+qchnteC5Bg2/xFK7gKskb9A2bvwlBY7mcvgSieAa52a2S8vGedb5A42v6svGM6XfcVXOK4B8NxDEMBydDMcFluIkTmAw2ojDYyNodFxc4YLXL3gjOZZlT2Mr3gV9VZpPOg4gJsh7AzEfZHJ2h0MYcySzXf75KY1vJTnF7q1UbgH33rR8FcTRxVwIJtxXWcS2cBi56SJXKkoEMBG7eC29bDT1nkwBRd7NZMs7hdKTu27tJ9e+S0IwEsdWqpokJ5Jdrl+1V1WKVtHfXoXEu2gHXmuHtX5/Aw4ZVLNS+Es3AAAAAElFTkSuQmCC"; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAVCAYAAAC6wOViAAAAAXNSR0IArs4c6QAAAuBJREFUSA2llTtok1EUx/OQiKAOKtiA4OJgIg6C4OSgiK5OnSymNi0+Cmor9ZHEvEi0Q4sOonRxFuujxZoWRBQR1NGhKLgIYlodCg4p5OnvSM7lNv3Sfq0XLufc//2f87/nfucmHo+LkUql3mYymcMuqK4oPlcsj8dfr9e9Lrmr0ozo6OjoJqo5tGqERRgeHt7CLRy0IFeuES2VSvsbjcYjkhx3Ewlv6+Li4rjX64264dscIxqPxz/5fL4oScbS6fQJm4R/k/lFMRHEfwy3yEH7FXdrjagEJBKJV5geEj3I5XJBTRIMBt8h9EvX2FtNwSh41cJduY7NgeDOWCw2T8KjZEkyw8wi8xkzy5RK/6xHkDiPo6hscMVHqHhcfHtQYSaZTN5VLJ/P7y2Xyw9Zb1YMOw1niMYcIscpxYmtMM9tUKDVQpbv2Domwe8p2BScYL1DMZLOwIkheA17RXFslXUPh/no5YreA5hv6/f7E7Va7Q3BPyH5raBJ/F690hUEI8QOtgqCnUFwSvJJpYN0rblmRL/RUFWu9wd7u4VEwARJ+lQQu6tSqYyB19ieFw7jA5yzYF34Xdh/OFgDf0gFhWjEZGEPRGPwBwhYImhz1uu3/aahUOj27OzsAsJjWmE2mw3xc3gfbKMlWGA/wyGvgp9UnMNWWPez91kxtcsqhSTPYSQQCNxg/FZiU1Cq3q4YiQsdHR3dc3Nz0qUDimPl7XaT66WFGdc0kCBNwSe4fp7BgrLAw1ToWpDDRIhxFJScplIRhPyUE38Ph8N9nZ2d0iQe8D0Y+ckzFbJ+TYW9xWLxAripkNga6/M0TUFi2w0jyrs6QDURBAdUsF3Q/+JGtDURh9jHIUbA7bc6ReV3mk1zzIqp8NQu89S+Wlhb11G0KficqG0aybVNcaU9NI380lyycOnSCIeZVmw1u0x0JUG+4XUSXtSkHGTNghK7RNRJEM4L/tqiToLsnaZpZiTRWsZfoX9+zsO/NisAAAAASUVORK5CYII="; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAdCAYAAAC5UQwxAAAAAXNSR0IArs4c6QAAA8pJREFUSA2Vll1IVEEUx7v7obu42pqEZfVQUFkWirqbBUIipJF9vRt9SAUFGgYFBUkvvUUGQWY9REVEQW8FQeRDZO66amjCkhhpWASSS2Zo+dHv6N5lvHt39zowd87H/5z/zJmZe6+2LEEbGBhIj0QiNbidCSBJzXa7/X1xcfGQEaQZDaL39PRsnJmZaUVcS8+im+KwJ2pjOGyapp0uKSl5o4JsqiJyV1dXLWSvEQcYy2w22yHkb+Kz0iC56Xa7t4NtmZubexgKherVuNjMcSzHcZ1eBvCCz+d7qQMV3wHdZjL+guwsK3ql+4LBoI8J30b/4HQ6GwoLCyfmCUm4A5IWAtbQJ5An9SDDmGPQVXUQZZSeTo40crjoImdik20JU7GjDowaZSzHkYdcQ8fHpmnaeWQBNs0bog/sJxEPqjbkr2AbdBvyDeSP9FbJxyo9jE8cDscuBwnmIAxj+E4Zg3pQd3f34OzsrLe0tDRmE19nZ2czMTrsM4JsxTpKNlJUVDQiDjDDDJ/0fOFwOHN8fPwHtqFYpABTNRJthuytgjuH3Cw6k7vs9/vvKj5TMe6UmqKiRsj2K/5nVGVK1ynbXl1ONi6VUF4E0iL0Jkj889rCY2dvb2+2opuKlgkp5wZWtFWysNKr7O0oZcxD/oJpjG6fnJzcw5i0WSYksb66AK+sx5KVQ3EEWe7tsOhWymqZkHw6YQb39gErlgMjJ7KOyRSKTKtob293L4jmT0uEHR0d8k4tiqbYBkEVq9H6+/tXMV5SUru5HrsVPU60REiSfcZI9i/Inl3DnqH6mEzS02qJkD3Sy6nnnubzk2NiF38VdrsONI4pL35fX1/u1NRUL4EqNozuoUup4xqEhzlQ7+IcGFKukLJJOVWyZSTchM2UTEgoa9wWiF1aSkKCjeWUhKniqhfSxz8XzdzoDgQCOZzCfpUA+Sn9PlgvK13BmM2YSz+j4rBX8nLoY1zUHIs0g8LnpJpE6moCLpersaCg4K8BKvfxJ7Yril3KGkeoJlOwCyJHX31ZD2M9bkYmaA7JLYYXIktjoqbXIyEhlz2LEpVHg38z1sr7U/REzePx1OOTb6Ts8xa2ZL0Rm5CQclYBdjLTWe7cKcjkKiRt+fn54wCO0f8IkLi4VSYkZIbz5eTQNPGClr84S00mRmxjFGyNsK2tTf5BKuiP+Au7Y4lJARHzHPUe3c+vykrFZX4PvV5vJaAQM72ogpcoy89XiEnL1sSaaUmnp6cL0tLSTlCefzHkEgWJ5Ye4DkJfylC+d6tTgiwCKGkpW+TS4f8BQK1g4UJKUyEAAAAASUVORK5CYII="; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAaCAYAAABCfffNAAAAAXNSR0IArs4c6QAAA1BJREFUSA2dlU9Ik3EYx7c5Nm1lJkaIdaiIckVQl5T1xwy0f1Z08FRUQhodPFQQhFPnttYuRh4yunjpUCOCoEOg1KxTeogC7VSJSacysiKn+9Pned073v22d44e+L7Pn9/z/L6//6/VokggEKiJx+P3CO9Rmopxp20227nu7u4JY7LN6Ph8vhYIosQ+geNgEhQjv0hqA4+TyeSz3t7eU8YiqzgEV6D8oBFcxX+BtgwMDDhnZ2e7MS+KbyITJSUlbV6v97O0U1uHumu1Wp/W1tYGWltbE9a+vr7tsN+nYQv4Cv4AVTYQKFWDaV8GlAJO4ACSVwnWg1Gn09luT6VSwlzNWjajNYH0OcZ1Yu/SIQux09gdup/WD8kZEpv2Y6iT+O3i028FeBSLxbbamdZ7nFds1ltpFGHKoySPGzeQ2I2lVu37mu8+sEOvo30tfpXBL8eXvGltTzAKSigUWsOI5BCUgJ8gBG4Bkd0QzCyZ+b9Zpyt/isWysLBwmDYhsDDzPtQmsUXwjyxZ5t+iSFjOlnQXYyzHA+zMHaJN9qKgLEsSDodX0cN+EAfXGLmcpEHQCeZAHcslp8lUliWZn59volqO5hsINnPkd9HpE/yVQDZX+pAcU1mWhOWQmy/iwR4CTcFgcB2+8bQV3JeCJIxYXoJGYTDI2OLiYhBfZqJLQ39/f5nuqLogCctziAJjcZKZrCZ2QumobG5u7qASy7gFSehQXyq9YArDqzuKNl0yUxJ5HOlE3dCNxOQdyyfNkUhEu0tqoykJr+8Bkl1KQaEXomJycrJeyddcUxJa1aUadLvd1Q6Ho5anvZ63TS7hTaXTo4qvufZ8QU6VxOUp0WUYw8e/IYn+nsZH9Di5snxngYjsi/Foa0GzmeyltULLsFg+oDvoTAhypLKyUjrVfwk15O1Uk8xI9KX6Zrfbz1D4Wy3U/c7Ozhj2BfAjHctZshwSOpSYJC6A811dXV/SxaaKmhnu1CUS5F1bnoQNlRe2ClyheAxdlPT09LwkMQy2+f1+OeoZyZkJv9EWRnUHgkgmq0gDotukDicSiayLmUXCDdfuAf8M9WgWRcPgUqWlpZdJdhsLsm4oSeUul2vU4/HIfvyXjIyMxBoaGqbA32g0qvXzD+edDWdswixvAAAAAElFTkSuQmCC"; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAaCAYAAABGiCfwAAAAAXNSR0IArs4c6QAAAmZJREFUSA21Vr9rFEEU/t7uxVwORYQkRqJWgthYWImNnYigCFYipk7hH6Bgp00CFhYSUULiLUkRsLoyRXoxXTCCgiDxzG0Of4BwCbe7z7d3t3c7O5Pb3fMcWHbe93588+a9mV3gf433PJIMbSWBzPLKrxOH2jrfzmO7fi2pH4ys/P0GgoN1OO71ZEAsuVNgewHkf03q8pM5u3cBmgNzEQjm4dRud4OuuUdRCIQI42g2PnXxzoSSQF+5XJ0FrAcGm6do7LzF2OkF0V2W5zNmpnqL6DgUDI46xEySwUNR3NOVLeQxSmfuSLYXWpKFDya7dLINLgjRE3G+aQrQxSKiEAhou4vHJv3Jlr4UseM+E/urMZ/0qW3lzGxx7xhs74VszaX06AkL3/+YQFqiuRtXq+MY8Zal6/ITEfZQbI6ayPRufFOfhtV8DaazJofMWEgKqR3TJmYmF0M/tWaOew7svRKDycxBDzNkTAA8AQtbkUlvG1drF8FBWRT/ThRFD9+BH0Riexud2hVZxXMwxiLFkN8ruH9yjrD24zgOvFnJqn1LE24JaWlIZB6If8utsy8pVvQGKe+uC9GpIZFV5Np6FMXq1SxCiPQFRLq8b+IjcRedjFnH4h655qSQqa3fDqSTEf5IHffl0xHay0MFuVk6837saWThNjKrEdh6KQdzWQVFqnAJP2vvNDwCCEpmehYsxzA5qHdWkqq+cpBWM5JvlzYsX4OyAMTKHalnYcpMDmGW2JoNqzXTyUjaQBs8YGak/M7pZKbMyB4sM6g1M7X+FoiUvQb7dS3ZEKhuNlGanjfqQpDtRlz3F7gKputfMThvAAAAAElFTkSuQmCC"; + }, + function (e, t) { + e.exports = + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAXCAYAAAD+4+QTAAAAAXNSR0IArs4c6QAAAjJJREFUSA2tlc1LG0EYxrPZtJseWkKwIHoohd566EUI6CVe2mOhQsE/oEUI5FgCuSRLQIQeJCAICoLSQwMKPRZaSKBHzxFb1EtPIqGlICmsSX+vZMLs7Idd9YWHmffzmXlnZjeVSijD4dCKSqnVas9brZZt+gMGM0DXKTLR6XS2isXiebvd/qH7XNctsIA3pVJpV7fLPG0aovRGozGNbwc8BSsQvlKxzJ8MBoNV9CNl08eMrkTNpYjneRv4H45ipGVuvV53WP1X5uvgPuiCgFy5E9rwjKxtoAjGRSCoonwEk2JMp9MHMpoSSwLBHG3YJOmBmajpivwil8t91+zjaSQJrXgBwRqR98bR8ZPjcrn8NywklIQzeE0r3pPwX2c2KhzaKvEF7jwEb7GXR4lJhiPLsr6wuMNMJnNQrVZ/og+lwPid4MRmvcMmJNeRPEkzQNq8wHva4y2dS6HLncgr7Xa7LvpLMd6CfKMjS6qO1Ww2nV6vJ/2fV8ZbGveo40Lm2YVCYRFlCpyACeCAm4qcxWPwiE9Qx3fwsH7AIY/vRpLNZucqlcpvVcS8wqau4hKN/X7/jp5gFvXtTA9MOL+rx5uPzSSV2M/AA3LdJV4gK50FUYtKTLLMWZ1R0CfY9jFkfcaRYtu27/KYKw+szHGci7BCcTYetm8nJompp/gKDOIKhvl48bEHHyDhpiTeCf+VZO1ipYl3Qo6vXebt+kPAL70F+Xw+dCe08ZPZe5WH71TNZfwHVU2gRMdtneUAAAAASUVORK5CYII="; + }, + function (e, t, i) {}, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(62), + s = n(i(113)), + _ = n(i(174)); + t.default = function ({ device: e, overrideSerialNumber: t }) { + return r.default.createElement( + o.DeviceView, + null, + r.default.createElement( + o.DeviceHeader, + { device: e }, + r.default.createElement(a.FormattedMessage, { id: "system_device_name_gateway", defaultMessage: "Gateway ({sn})", values: { sn: t || e.serialNumber() } }), + r.default.createElement(_.default, { device: e }) + ), + r.default.createElement( + o.DeviceBody, + null, + r.default.createElement(s.default, { device: e }), + r.default.createElement(a.FormattedMessage, { id: "system_device_gateway_not_islanding", defaultMessage: "This is not the islanding controller." }) + ) + ); + }; + }, + function (e, t, i) {}, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(138), + o = i(3), + s = i(62), + _ = n(i(113)), + l = n(i(751)), + c = n(i(174)); + t.default = function ({ device: e, overrideSerialNumber: t }) { + const i = e.type(); + return r.default.createElement( + s.DeviceView, + null, + r.default.createElement( + s.DeviceHeader, + { device: e }, + i === a.DeviceType.MSA + ? r.default.createElement(o.FormattedMessage, { id: "system_device_name_backup_switch", defaultMessage: "Backup Switch ({sn})", values: { sn: e.serialNumber() } }) + : r.default.createElement(o.FormattedMessage, { id: "system_device_name_sync", defaultMessage: "Gateway Contactor / Meter Controller ({sn})", values: { sn: t || e.serialNumber() } }), + r.default.createElement(c.default, { device: e }) + ), + r.default.createElement(s.DeviceBody, null, r.default.createElement(_.default, { device: e }), r.default.createElement(l.default, { device: e })) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(155), + s = i(138), + _ = i(62); + function l({ vitals: e }) { + const t = e.getBoolean("ISLAND_GridConnected"); + let i = _.MissingValue; + switch (t) { + case !0: + i = r.default.createElement(a.FormattedMessage, { id: "msa-on-grid", defaultMessage: "On Grid" }); + break; + case !1: + i = r.default.createElement(a.FormattedMessage, { id: "msa-off-grid", defaultMessage: "Off Grid" }); + } + return r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(a.FormattedMessage, { id: "system_islanding_vitals_backup_state", defaultMessage: "Backup state: {backupState}", values: { backupState: i } }) + ); + } + function c(e, t, i) { + const n = Number(e.getNumber(t)), + a = Number(e.getNumber(i)), + s = n >= 10 && a > 0 ? a : null; + return { v: r.default.createElement(o.Volts, { value: r.default.createElement(_.Vital, { value: n }) }), f: r.default.createElement(o.Hertz, { value: r.default.createElement(_.Vital, { value: s }) }) }; + } + function d({ lineNumber: e, vitals: t }) { + const i = `ISLAND_FreqL${e}_Main`, + n = `ISLAND_VL${e}N_Main`; + return r.default.createElement(a.FormattedMessage, { id: "system_islanding_vitals_grid_line", defaultMessage: "Grid Line {lineNumber}: {v} {f}", values: Object.assign(Object.assign({}, c(t, n, i)), { lineNumber: e }) }); + } + function u({ lineNumber: e, vitals: t }) { + const i = `ISLAND_FreqL${e}_Load`, + n = `ISLAND_VL${e}N_Load`; + return r.default.createElement(a.FormattedMessage, { id: "system_islanding_vitals_island_line", defaultMessage: "Island Line {lineNumber}: {v} {f}", values: Object.assign(Object.assign({}, c(t, n, i)), { lineNumber: e }) }); + } + t.default = function ({ device: e }) { + const t = e.vitals(), + i = !1 === t.getBoolean("ISLAND_GridConnected"), + n = s.DeviceType.MSA === e.type() ? [1, 2] : [1, 2, 3], + a = n.map((e) => r.default.createElement("p", { className: "vitals-value", id: "gridVitalLine" + e, key: "gridVitalLine" + e }, r.default.createElement(d, { lineNumber: e, vitals: t }))), + o = i && n.map((e) => r.default.createElement("p", { className: "vitals-value", id: "islandVitalLine" + e, key: "islandVitalLine" + e }, r.default.createElement(u, { lineNumber: e, vitals: t }))); + return r.default.createElement(r.default.Fragment, null, r.default.createElement(l, { vitals: t }), a, o); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(155), + s = i(12), + _ = i(62); + function l({ device: e }) { + let t = e.vitals(), + i = []; + for (let e = 0; e < 4; e++) { + let n = t.getString(`NEURIO_CT${e}_Location`); + if (!n) continue; + let l = r.default.createElement(a.FormattedMessage, Object.assign({}, s.CurrentTransformerConnectionLabels[n])), + c = t.getNumber(`NEURIO_CT${e}_InstRealPower`), + d = r.default.createElement(o.Watts, { value: r.default.createElement(_.Vital, { value: c }) }), + u = r.default.createElement( + "p", + { className: "vitals-value", key: "CT" + e }, + r.default.createElement(a.FormattedMessage, { id: "system_remote_meter_ct_line", defaultMessage: "CT {n} ({location}): {value}", values: { n: e + 1, location: l, value: d } }) + ); + i.push(u); + } + return ( + 0 === i.length && i.push(r.default.createElement("p", { className: "vitals-value" }, r.default.createElement(a.FormattedMessage, { id: "system_remote_meter_no_cts", defaultMessage: "No CTs configured" }))), + r.default.createElement(r.default.Fragment, null, i) + ); + } + t.default = function ({ device: e }) { + return r.default.createElement( + _.DeviceView, + null, + r.default.createElement(_.DeviceHeader, { device: e }, r.default.createElement(a.FormattedMessage, { id: "system_device_name_remote_meter", defaultMessage: "Remote Meter ({sn})", values: { sn: e.serialNumber() } })), + r.default.createElement(_.DeviceBody, null, r.default.createElement(l, { device: e })) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(62), + s = n(i(113)), + _ = n(i(448)), + l = n(i(174)); + t.default = function ({ device: e }) { + return r.default.createElement( + o.DeviceView, + null, + r.default.createElement( + o.DeviceHeader, + { device: e }, + r.default.createElement(a.FormattedMessage, { id: "system_device_name_powerwall", defaultMessage: "Powerwall ({sn})", values: { sn: e.serialNumber() } }), + r.default.createElement(l.default, { device: e }) + ), + r.default.createElement(o.DeviceBody, null, r.default.createElement(s.default, { device: e }), r.default.createElement(_.default, { device: e })) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(138), + o = i(3), + s = i(62), + _ = n(i(113)), + l = n(i(448)), + c = n(i(755)), + d = n(i(449)), + u = n(i(788)), + m = n(i(174)); + t.default = function (e) { + var t, i; + const { device: n, leader: p, follower: g, index: w, sitemanagerRunning: v } = e; + let f, h, E; + f = + w > 0 + ? r.default.createElement(o.FormattedMessage, { id: "system_device_name_powerwall_plus_wired", defaultMessage: "Powerwall+ (wired)" }) + : p + ? r.default.createElement(o.FormattedMessage, { id: "system_device_name_powerwall_plus_leader", defaultMessage: "Leader Powerwall+" }) + : g + ? r.default.createElement(o.FormattedMessage, { id: "system_device_name_powerwall_plus_wireless", defaultMessage: "Powerwall+ (wireless)" }) + : r.default.createElement(o.FormattedMessage, { id: "system_device_name_powerwall_plus_solo", defaultMessage: "Powerwall+" }); + for (let e of n.children) + switch (e.type()) { + case a.DeviceType.ACPW: + h = e; + break; + case a.DeviceType.PVI: + E = e; + } + return r.default.createElement( + s.DeviceView, + { doNotCollapse: !0 }, + r.default.createElement(s.DeviceHeader, { device: n, sitemanagerRunning: v }, f, r.default.createElement(m.default, { device: h })), + r.default.createElement( + s.DeviceBody, + null, + r.default.createElement(_.default, { device: n }), + E && + r.default.createElement( + s.DeviceView, + null, + r.default.createElement(s.DeviceHeader, { device: E, sitemanagerRunning: v }, r.default.createElement(o.FormattedMessage, { id: "system_device_name_solar_assembly_1", defaultMessage: "Solar Assembly" })), + r.default.createElement( + s.DeviceBody, + null, + r.default.createElement(_.default, { device: E, sitemanagerRunning: v }), + r.default.createElement(c.default, { device: E, powerwallId: (null === (t = n.parent) || void 0 === t ? void 0 : t.din()) || "", follower: g, sitemanagerRunning: v }), + r.default.createElement(d.default, { device: E, powerwallId: (null === (i = n.parent) || void 0 === i ? void 0 : i.din()) || "", follower: g, sitemanagerRunning: v }), + r.default.createElement(u.default, { device: E }) + ) + ), + h && + r.default.createElement( + s.DeviceView, + null, + r.default.createElement( + s.DeviceHeader, + { device: h }, + r.default.createElement(o.FormattedMessage, { id: "system_device_name_battery_assembly", defaultMessage: "Battery Assembly ({sn})", values: { sn: h.serialNumber() } }) + ), + r.default.createElement(s.DeviceBody, null, r.default.createElement(_.default, { device: h }), r.default.createElement(l.default, { device: h })) + ) + ) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = n(i(5)), + s = i(113); + t.default = function ({ device: e, powerwallId: t, follower: i, sitemanagerRunning: n }) { + return e.hasAlerts() || e.disabledReasons().includes(s.DisabledReason.DisabledArcFaultLockout) + ? (e.vitals().getString("PVS_State") || "").startsWith("PVS_SelfTest") + ? null + : n + ? (t.startsWith("STSTSM--") && (t = t.substring(8)), + r.default.createElement( + "div", + null, + r.default.createElement( + "button", + { + className: "inverter-reset-button", + onClick: () => + (function () { + var n; + const r = o.default.api.uri + "/solar_powerwall/reset"; + let a = null === (n = e.parent) || void 0 === n ? void 0 : n.din(); + (null == a ? void 0 : a.startsWith("TETHC--")) && (a = a.substring(7)); + const s = { battery_din: a, follower_din: i ? t : "" }; + fetch(r, { method: "POST", credentials: o.default.credentials, body: JSON.stringify(s) }); + })(), + }, + r.default.createElement(a.FormattedMessage, { id: "pvi-reset-button-label", description: "This is the button to reset the PVI ECUs", defaultMessage: "Restart Inverter and Clear Alerts" }) + ) + )) + : null + : null; + }; + }, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.SiteControllerConnectedDevice = t.SiteControllerConnectedDeviceStore = void 0); + const n = i(771), + r = i(40), + a = {}, + o = {}; + (t.SiteControllerConnectedDeviceStore = { + encode(e, i = r.Writer.create()) { + for (const n of e.siteControllerConnectedDevice) t.SiteControllerConnectedDevice.encode(n, i.uint32(10).fork()).ldelim(); + return i; + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === i ? n.len : n.pos + i; + const s = Object.assign({}, a); + for (s.siteControllerConnectedDevice = []; n.pos < o; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + s.siteControllerConnectedDevice.push(t.SiteControllerConnectedDevice.decode(n, n.uint32())); + break; + default: + n.skipType(7 & e); + } + } + return s; + }, + }), + (t.SiteControllerConnectedDevice = { + encode: (e, t = r.Writer.create()) => (void 0 !== e.device && void 0 !== e.device && n.Device.encode(e.device, t.uint32(10).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, o); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.device = n.Device.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.ChargerPostAttributes = t.PayterModuleAttributes = t.BatterySystemCapabilities = t.MeterAttributes = t.PVInverterAttributes = t.GeneratorAttributes = t.TeslaEnergyEcuAttributes = t.TeslaHardwareId = t.DeviceAttributes = t.ConnectionParameters = t.Device = t.Manifest = void 0); + const n = i(772), + r = i(40), + a = i(453), + o = { gatewayDin: "", trigger: 0 }, + s = {}, + _ = { serialBaud: 0, modbusId: 0 }, + l = {}, + c = {}, + d = { ecuType: 0 }, + u = { nameplateRealPowerW: 0, nameplateApparentPowerVa: 0 }, + m = { nameplateRealPowerW: 0 }, + p = { meterLocation: 0 }, + g = { nominalEnergyWh: 0, nominalPowerW: 0 }, + w = { id: "" }, + v = {}; + function f(e) { + return { seconds: e.getTime() / 1e3, nanos: (e.getTime() % 1e3) * 1e6 }; + } + function h(e) { + let t = 1e3 * e.seconds; + return (t += e.nanos / 1e6), new Date(t); + } + function E(e) { + if (e.gt(Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + return e.toNumber(); + } + (t.Manifest = { + encode(e, i = r.Writer.create()) { + i.uint32(10).string(e.gatewayDin), i.uint32(16).int32(e.trigger), void 0 !== e.generatedTime && void 0 !== e.generatedTime && n.Timestamp.encode(f(e.generatedTime), i.uint32(26).fork()).ldelim(); + for (const n of e.device) t.Device.encode(n, i.uint32(34).fork()).ldelim(); + return ( + void 0 !== e.batterySystemCapabilities && void 0 !== e.batterySystemCapabilities && t.BatterySystemCapabilities.encode(e.batterySystemCapabilities, i.uint32(42).fork()).ldelim(), + void 0 !== e.gatewayFirmwareVersion && void 0 !== e.gatewayFirmwareVersion && a.StringValue.encode({ value: e.gatewayFirmwareVersion }, i.uint32(50).fork()).ldelim(), + void 0 !== e.gatewayFirmwareGithash && void 0 !== e.gatewayFirmwareGithash && a.StringValue.encode({ value: e.gatewayFirmwareGithash }, i.uint32(58).fork()).ldelim(), + i + ); + }, + decode(e, i) { + const s = e instanceof Uint8Array ? new r.Reader(e) : e; + let _ = void 0 === i ? s.len : s.pos + i; + const l = Object.assign({}, o); + for (l.device = []; s.pos < _; ) { + const e = s.uint32(); + switch (e >>> 3) { + case 1: + l.gatewayDin = s.string(); + break; + case 2: + l.trigger = s.int32(); + break; + case 3: + l.generatedTime = h(n.Timestamp.decode(s, s.uint32())); + break; + case 4: + l.device.push(t.Device.decode(s, s.uint32())); + break; + case 5: + l.batterySystemCapabilities = t.BatterySystemCapabilities.decode(s, s.uint32()); + break; + case 6: + l.gatewayFirmwareVersion = a.StringValue.decode(s, s.uint32()).value; + break; + case 7: + l.gatewayFirmwareGithash = a.StringValue.decode(s, s.uint32()).value; + break; + default: + s.skipType(7 & e); + } + } + return l; + }, + }), + (t.Device = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.din && void 0 !== e.din && a.StringValue.encode({ value: e.din }, i.uint32(10).fork()).ldelim(), + void 0 !== e.partNumber && void 0 !== e.partNumber && a.StringValue.encode({ value: e.partNumber }, i.uint32(18).fork()).ldelim(), + void 0 !== e.serialNumber && void 0 !== e.serialNumber && a.StringValue.encode({ value: e.serialNumber }, i.uint32(26).fork()).ldelim(), + void 0 !== e.manufacturer && void 0 !== e.manufacturer && a.StringValue.encode({ value: e.manufacturer }, i.uint32(34).fork()).ldelim(), + void 0 !== e.siteLabel && void 0 !== e.siteLabel && a.StringValue.encode({ value: e.siteLabel }, i.uint32(42).fork()).ldelim(), + void 0 !== e.componentParentDin && void 0 !== e.componentParentDin && a.StringValue.encode({ value: e.componentParentDin }, i.uint32(50).fork()).ldelim(), + void 0 !== e.firmwareVersion && void 0 !== e.firmwareVersion && a.StringValue.encode({ value: e.firmwareVersion }, i.uint32(58).fork()).ldelim(), + void 0 !== e.firstCommunicationTime && void 0 !== e.firstCommunicationTime && n.Timestamp.encode(f(e.firstCommunicationTime), i.uint32(66).fork()).ldelim(), + void 0 !== e.lastCommunicationTime && void 0 !== e.lastCommunicationTime && n.Timestamp.encode(f(e.lastCommunicationTime), i.uint32(74).fork()).ldelim(), + void 0 !== e.connectionParameters && void 0 !== e.connectionParameters && t.ConnectionParameters.encode(e.connectionParameters, i.uint32(82).fork()).ldelim(), + void 0 !== e.deviceAttributes && void 0 !== e.deviceAttributes && t.DeviceAttributes.encode(e.deviceAttributes, i.uint32(90).fork()).ldelim(), + void 0 !== e.firmwareGithash && void 0 !== e.firmwareGithash && a.StringValue.encode({ value: e.firmwareGithash }, i.uint32(98).fork()).ldelim(), + i + ), + decode(e, i) { + const o = e instanceof Uint8Array ? new r.Reader(e) : e; + let _ = void 0 === i ? o.len : o.pos + i; + const l = Object.assign({}, s); + for (; o.pos < _; ) { + const e = o.uint32(); + switch (e >>> 3) { + case 1: + l.din = a.StringValue.decode(o, o.uint32()).value; + break; + case 2: + l.partNumber = a.StringValue.decode(o, o.uint32()).value; + break; + case 3: + l.serialNumber = a.StringValue.decode(o, o.uint32()).value; + break; + case 4: + l.manufacturer = a.StringValue.decode(o, o.uint32()).value; + break; + case 5: + l.siteLabel = a.StringValue.decode(o, o.uint32()).value; + break; + case 6: + l.componentParentDin = a.StringValue.decode(o, o.uint32()).value; + break; + case 7: + l.firmwareVersion = a.StringValue.decode(o, o.uint32()).value; + break; + case 8: + l.firstCommunicationTime = h(n.Timestamp.decode(o, o.uint32())); + break; + case 9: + l.lastCommunicationTime = h(n.Timestamp.decode(o, o.uint32())); + break; + case 10: + l.connectionParameters = t.ConnectionParameters.decode(o, o.uint32()); + break; + case 11: + l.deviceAttributes = t.DeviceAttributes.decode(o, o.uint32()); + break; + case 12: + l.firmwareGithash = a.StringValue.decode(o, o.uint32()).value; + break; + default: + o.skipType(7 & e); + } + } + return l; + }, + }), + (t.ConnectionParameters = { + encode: (e, t = r.Writer.create()) => ( + void 0 !== e.ipAddress && void 0 !== e.ipAddress && a.StringValue.encode({ value: e.ipAddress }, t.uint32(10).fork()).ldelim(), + void 0 !== e.serialPort && void 0 !== e.serialPort && a.StringValue.encode({ value: e.serialPort }, t.uint32(18).fork()).ldelim(), + t.uint32(24).int64(e.serialBaud), + t.uint32(32).uint32(e.modbusId), + t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, _); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.ipAddress = a.StringValue.decode(i, i.uint32()).value; + break; + case 2: + o.serialPort = a.StringValue.decode(i, i.uint32()).value; + break; + case 3: + o.serialBaud = E(i.int64()); + break; + case 4: + o.modbusId = i.uint32(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.DeviceAttributes = { + encode(e, i = r.Writer.create()) { + var n, a, o, s; + return ( + "teslaEnergyEcuAttributes" === (null === (n = e.deviceAttributes) || void 0 === n ? void 0 : n.$case) && t.TeslaEnergyEcuAttributes.encode(e.deviceAttributes.teslaEnergyEcuAttributes, i.uint32(10).fork()).ldelim(), + "generatorAttributes" === (null === (a = e.deviceAttributes) || void 0 === a ? void 0 : a.$case) && t.GeneratorAttributes.encode(e.deviceAttributes.generatorAttributes, i.uint32(18).fork()).ldelim(), + "pvInverterAttributes" === (null === (o = e.deviceAttributes) || void 0 === o ? void 0 : o.$case) && t.PVInverterAttributes.encode(e.deviceAttributes.pvInverterAttributes, i.uint32(26).fork()).ldelim(), + "meterAttributes" === (null === (s = e.deviceAttributes) || void 0 === s ? void 0 : s.$case) && t.MeterAttributes.encode(e.deviceAttributes.meterAttributes, i.uint32(34).fork()).ldelim(), + i + ); + }, + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, l); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.deviceAttributes = { $case: "teslaEnergyEcuAttributes", teslaEnergyEcuAttributes: t.TeslaEnergyEcuAttributes.decode(n, n.uint32()) }; + break; + case 2: + o.deviceAttributes = { $case: "generatorAttributes", generatorAttributes: t.GeneratorAttributes.decode(n, n.uint32()) }; + break; + case 3: + o.deviceAttributes = { $case: "pvInverterAttributes", pvInverterAttributes: t.PVInverterAttributes.decode(n, n.uint32()) }; + break; + case 4: + o.deviceAttributes = { $case: "meterAttributes", meterAttributes: t.MeterAttributes.decode(n, n.uint32()) }; + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.TeslaHardwareId = { + encode: (e, t = r.Writer.create()) => ( + void 0 !== e.pcbaId && void 0 !== e.pcbaId && a.UInt32Value.encode({ value: e.pcbaId }, t.uint32(10).fork()).ldelim(), + void 0 !== e.assemblyId && void 0 !== e.assemblyId && a.UInt32Value.encode({ value: e.assemblyId }, t.uint32(18).fork()).ldelim(), + void 0 !== e.usageId && void 0 !== e.usageId && a.UInt32Value.encode({ value: e.usageId }, t.uint32(26).fork()).ldelim(), + t + ), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, c); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.pcbaId = a.UInt32Value.decode(i, i.uint32()).value; + break; + case 2: + o.assemblyId = a.UInt32Value.decode(i, i.uint32()).value; + break; + case 3: + o.usageId = a.UInt32Value.decode(i, i.uint32()).value; + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.TeslaEnergyEcuAttributes = { + encode: (e, i = r.Writer.create()) => ( + i.uint32(8).int32(e.ecuType), + void 0 !== e.hardwareId && void 0 !== e.hardwareId && t.TeslaHardwareId.encode(e.hardwareId, i.uint32(18).fork()).ldelim(), + void 0 !== e.pvInverterAttributes && void 0 !== e.pvInverterAttributes && t.PVInverterAttributes.encode(e.pvInverterAttributes, i.uint32(26).fork()).ldelim(), + void 0 !== e.meterAttributes && void 0 !== e.meterAttributes && t.MeterAttributes.encode(e.meterAttributes, i.uint32(34).fork()).ldelim(), + void 0 !== e.chargerPostAttributes && void 0 !== e.chargerPostAttributes && t.ChargerPostAttributes.encode(e.chargerPostAttributes, i.uint32(42).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === i ? n.len : n.pos + i; + const o = Object.assign({}, d); + for (; n.pos < a; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + o.ecuType = n.int32(); + break; + case 2: + o.hardwareId = t.TeslaHardwareId.decode(n, n.uint32()); + break; + case 3: + o.pvInverterAttributes = t.PVInverterAttributes.decode(n, n.uint32()); + break; + case 4: + o.meterAttributes = t.MeterAttributes.decode(n, n.uint32()); + break; + case 5: + o.chargerPostAttributes = t.ChargerPostAttributes.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return o; + }, + }), + (t.GeneratorAttributes = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).uint64(e.nameplateRealPowerW), t.uint32(16).uint64(e.nameplateApparentPowerVa), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, u); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.nameplateRealPowerW = E(i.uint64()); + break; + case 2: + a.nameplateApparentPowerVa = E(i.uint64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.PVInverterAttributes = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).uint64(e.nameplateRealPowerW), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, m); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.nameplateRealPowerW = E(i.uint64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.MeterAttributes = { + encode(e, t = r.Writer.create()) { + t.uint32(10).fork(); + for (const i of e.meterLocation) t.int32(i); + return t.ldelim(), t; + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, p); + for (a.meterLocation = []; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + if (2 == (7 & e)) { + const e = i.uint32() + i.pos; + for (; i.pos < e; ) a.meterLocation.push(i.int32()); + } else a.meterLocation.push(i.int32()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.BatterySystemCapabilities = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).uint64(e.nominalEnergyWh), t.uint32(16).uint64(e.nominalPowerW), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, g); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.nominalEnergyWh = E(i.uint64()); + break; + case 2: + a.nominalPowerW = E(i.uint64()); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.PayterModuleAttributes = { + encode: (e, t = r.Writer.create()) => (t.uint32(10).string(e.id), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, w); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.id = i.string(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.ChargerPostAttributes = { + encode: (e, i = r.Writer.create()) => ( + void 0 !== e.label && void 0 !== e.label && a.StringValue.encode({ value: e.label }, i.uint32(10).fork()).ldelim(), + void 0 !== e.payterModuleAttributes && void 0 !== e.payterModuleAttributes && t.PayterModuleAttributes.encode(e.payterModuleAttributes, i.uint32(18).fork()).ldelim(), + i + ), + decode(e, i) { + const n = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === i ? n.len : n.pos + i; + const s = Object.assign({}, v); + for (; n.pos < o; ) { + const e = n.uint32(); + switch (e >>> 3) { + case 1: + s.label = a.StringValue.decode(n, n.uint32()).value; + break; + case 2: + s.payterModuleAttributes = t.PayterModuleAttributes.decode(n, n.uint32()); + break; + default: + n.skipType(7 & e); + } + } + return s; + }, + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.Timestamp = void 0); + const n = i(40), + r = { seconds: 0, nanos: 0 }; + function a(e) { + if (e.gt(Number.MAX_SAFE_INTEGER)) throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); + return e.toNumber(); + } + t.Timestamp = { + encode: (e, t = n.Writer.create()) => (t.uint32(8).int64(e.seconds), t.uint32(16).int32(e.nanos), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let o = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, r); + for (; i.pos < o; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.seconds = a(i.int64()); + break; + case 2: + s.nanos = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3); + t.default = function (e) { + return e.updateFailed + ? r.default.createElement( + "span", + { className: "system-warning-subtitle" }, + r.default.createElement(a.FormattedMessage, { id: "vitals_header_subtitle_firmware_update_failed", defaultMessage: "Firmware update failed. Check enable switches and wiring." }) + ) + : e.updating + ? r.default.createElement("span", { className: "system-warning-subtitle" }, r.default.createElement(a.FormattedMessage, { id: "vitals_header_subtitle_firmware_update", defaultMessage: "Firmware update in progress..." })) + : null; + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__awaiter) || + function (e, t, i, n) { + return new (i || (i = Promise))(function (r, a) { + function o(e) { + try { + _(n.next(e)); + } catch (e) { + a(e); + } + } + function s(e) { + try { + _(n.throw(e)); + } catch (e) { + a(e); + } + } + function _(e) { + var t; + e.done + ? r(e.value) + : ((t = e.value), + t instanceof i + ? t + : new i(function (e) { + e(t); + })).then(o, s); + } + _((n = n.apply(e, t || [])).next()); + }); + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const s = a(i(1)), + _ = i(3), + l = i(582), + c = i(589), + d = i(175), + u = i(454); + var m, p; + !(function (e) { + (e[(e.HIDDEN = 0)] = "HIDDEN"), (e[(e.VISIBLE = 1)] = "VISIBLE"), (e[(e.PAIRING = 2)] = "PAIRING"), (e[(e.MONITORING = 3)] = "MONITORING"), (e[(e.CONFIGURING = 4)] = "CONFIGURING"), (e[(e.COMPLETE = 5)] = "COMPLETE"); + })(m || (m = {})), + (function (e) { + (e[(e.NONE = 0)] = "NONE"), + (e[(e.NO_QR_CODE = 1)] = "NO_QR_CODE"), + (e[(e.BAD_QR_CODE = 2)] = "BAD_QR_CODE"), + (e[(e.PAIRING_EXCEPTION = 3)] = "PAIRING_EXCEPTION"), + (e[(e.UNKNOWN_PAIRING_ERROR = 4)] = "UNKNOWN_PAIRING_ERROR"), + (e[(e.WIFI_NOT_FOUND = 5)] = "WIFI_NOT_FOUND"), + (e[(e.WIFI_CONNECTION_FAILED = 6)] = "WIFI_CONNECTION_FAILED"), + (e[(e.NO_RESPONSE = 7)] = "NO_RESPONSE"), + (e[(e.BAD_RESPONSE = 8)] = "BAD_RESPONSE"), + (e[(e.INTERNAL_ERROR = 9)] = "INTERNAL_ERROR"), + (e[(e.CHANGES_PROHIBITED = 10)] = "CHANGES_PROHIBITED"), + (e[(e.TOO_MANY_DEVICES = 11)] = "TOO_MANY_DEVICES"), + (e[(e.NOT_LEADER = 12)] = "NOT_LEADER"), + (e[(e.ALREADY_PAIRED = 13)] = "ALREADY_PAIRED"); + })(p || (p = {})); + const g = { + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_FOUND]: p.WIFI_NOT_FOUND, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CANNOT_JOIN]: p.WIFI_CONNECTION_FAILED, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NO_RESPONSE]: p.NO_RESPONSE, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_BAD_RESPONSE]: p.BAD_RESPONSE, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_INTERNAL_ERROR]: p.INTERNAL_ERROR, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_CHANGES_PROHIBITED]: p.CHANGES_PROHIBITED, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_MAX_DEVICES]: p.TOO_MANY_DEVICES, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_NOT_LEADER]: p.NOT_LEADER, + [u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_FAILED_EXISTS]: p.ALREADY_PAIRED, + }, + w = (0, _.defineMessages)({ + [p.NO_QR_CODE]: { id: "powerwall_pairing_error_no_qr_code", defaultMessage: "No QR code found", description: "An error message indicating that the QR code scan failed because no QR code was seen" }, + [p.BAD_QR_CODE]: { id: "powerwall_pairing_error_bad_qr_code", defaultMessage: "Not a WiFi QR code", description: "An error message indicating that the QR scan failed because the QR code was not the right type" }, + [p.PAIRING_EXCEPTION]: { id: "powerwall_pairing_exception", defaultMessage: "Pairing Failed: Exception", description: "An error message indicating that device pairing failed because an exception was thrown" }, + [p.UNKNOWN_PAIRING_ERROR]: { id: "powerwall_pairing_error_unknown", defaultMessage: "Pairing Failed: Unknown Error", description: "An error message indicating that device pairing failed for unknown reasons" }, + [p.WIFI_NOT_FOUND]: { + id: "powerwall_pairing_error_wifi_not_found", + defaultMessage: "Pairing Failed: WiFi network not found", + description: "An error message indicating that device pairing failed because the specified wifi network was not found", + }, + [p.WIFI_CONNECTION_FAILED]: { + id: "powerwall_pairing_error_wifi_connection_failed", + defaultMessage: "Pairing Failed: Could not connect to WiFi. Check the password.", + description: "An error message indicating that device pairing failed because we could not connect to the WiFi network", + }, + [p.NO_RESPONSE]: { + id: "powerwall_pairing_error_no_response", + defaultMessage: "Pairing Failed: device did not respond.", + description: "An error message indicating that device pairing failed because the device did not respond", + }, + [p.BAD_RESPONSE]: { + id: "powerwall_pairing_error_bad_pairing_response", + defaultMessage: "Pairing Failed: device refused to pair. Ensure the follower has been stopped", + description: "An error message indicating that device pairing failed because of a bad response", + }, + [p.INTERNAL_ERROR]: { id: "powerwall_pairing_error_internal", defaultMessage: "Pairing Failed: internal error", description: "An error message indicating that device pairing failed because of an internal error" }, + [p.CHANGES_PROHIBITED]: { + id: "powerwall_pairing_error_prohibited_uncommissioned", + defaultMessage: "Pairing Failed: this Powerwall is not commissioned yet", + description: "An error message indicating that device pairing failed because changes are currently prohibited", + }, + [p.TOO_MANY_DEVICES]: { + id: "powerwall_pairing_error_too_many_devices", + defaultMessage: "Pairing Failed: the maximum number of devices are already paired", + description: "An error message indicating that device pairing failed because we have already reached the limit for paired devices", + }, + [p.NOT_LEADER]: { + id: "powerwall_pairing_error_not_leader", + defaultMessage: "Pairing Failed: this is a follower device. Reconnect to the leader device.", + description: "An error message indicating that device pairing failed because we are connected to a follower device", + }, + [p.ALREADY_PAIRED]: { + id: "powerwall_pairing_error_already_paired", + defaultMessage: "Pairing Failed: the device is already paired", + description: "An error message indicating that device pairing failed because the device is already connected", + }, + }); + t.default = function ({ tedapi: e, followers: t }) { + const i = (null == t ? void 0 : t.length) || 0, + [n, r] = (0, s.useState)(m.HIDDEN), + [a, v] = (0, s.useState)(-1), + [f, h] = (0, s.useState)(""), + [E, b] = (0, s.useState)(""), + [y, S] = (0, s.useState)(p.NONE), + R = (0, s.useRef)(null), + T = (0, s.useRef)(null); + function A() { + R.current && R.current.scrollIntoView({ behavior: "smooth", block: "start" }); + } + function C() { + return T.current || (T.current = new l.BarcodeReader()), T.current; + } + function I() { + T.current && (T.current.stop(), (T.current = null)); + } + function O() { + var t, i; + return o(this, void 0, void 0, function* () { + try { + let n = yield e.energysitenet.getConfig({}); + N(null === (i = null === (t = null == n ? void 0 : n.config) || void 0 === t ? void 0 : t.recentlyAdded) || void 0 === i ? void 0 : i.status); + } catch (e) { + console.error("Exception while checking pairing status:", e), S(p.PAIRING_EXCEPTION), r(m.VISIBLE), v(-1); + } + }); + } + function N(e) { + switch (e) { + case u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_IN_PROGRESS: + case void 0: + n !== m.MONITORING && r(m.MONITORING); + break; + case u.EnergySiteNetAdditionStatus.ENERGY_SITE_NET_ADDITION_STATUS_ADDED: + r(m.CONFIGURING); + break; + default: + r(m.VISIBLE), v(-1); + let t = g[e]; + t || (t = p.UNKNOWN_PAIRING_ERROR), S(t); + } + } + (0, s.useEffect)(() => { + switch (n) { + case m.VISIBLE: + return void A(); + case m.HIDDEN: + return I(), h(""), b(""), void S(p.NONE); + case m.MONITORING: + A(); + let e = setInterval(O, 1e3); + return () => clearInterval(e); + case m.CONFIGURING: + A(), i === a && (r(m.COMPLETE), v(-1)); + } + }, [n, i]), + (0, s.useEffect)(() => { + S(p.NONE); + }, [f, E]), + (0, s.useEffect)(A, [y]), + (0, s.useEffect)(() => I, []); + let k = n !== m.VISIBLE && n !== m.COMPLETE, + P = n === m.COMPLETE, + D = k ? { disabled: !0 } : {}; + return s.default.createElement( + "div", + { className: "powerwall-pairing-container" }, + n === m.HIDDEN && + s.default.createElement( + "a", + { className: "powerwall-pairing-link", onClick: () => r(m.VISIBLE) }, + s.default.createElement(_.FormattedMessage, { id: "wifi_pairing_link_message", defaultMessage: "Add a WiFi-connected Powerwall" }) + ), + n !== m.HIDDEN && + s.default.createElement( + s.default.Fragment, + null, + s.default.createElement("hr", null), + s.default.createElement( + "p", + { ref: R }, + s.default.createElement(_.FormattedMessage, { + id: "powerwall_pairing_instructions_2", + defaultMessage: "Enter or scan the WiFi SSID and password for the Powerwall to be paired. Look for a QR code on the device.", + }) + ), + s.default.createElement( + "div", + { className: "powerwall-pairing-column" }, + s.default.createElement( + "label", + null, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_ssid_label", defaultMessage: "SSID:" }), + s.default.createElement("input", { type: "text", className: "form-control", value: f, onChange: (e) => h(e.target.value), autoCapitalize: "characters", autoComplete: "off", autoCorrect: "off", disabled: k }) + ), + s.default.createElement( + "label", + null, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_password_label", defaultMessage: "Password:" }), + s.default.createElement("input", { type: "text", className: "form-control", value: E, onChange: (e) => b(e.target.value), autoCapitalize: "characters", autoComplete: "off", autoCorrect: "off", disabled: k }) + ), + (n === m.MONITORING || n === m.CONFIGURING) && + s.default.createElement( + "p", + { className: "powerwall-pairing-message" }, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_state_monitoring", defaultMessage: "Pairing new device. This may take up to a minute." }) + ), + n === m.COMPLETE && + s.default.createElement( + "p", + { className: "powerwall-pairing-success" }, + s.default.createElement(_.FormattedMessage, { + id: "powerwall_pairing_state_complete", + defaultMessage: "Pairing complete. The new device may not start responding for a minute or more (longer if there is an update in progress). Click Done to dismiss.", + }) + ), + y !== p.NONE && s.default.createElement("p", { className: "powerwall-pairing-error" }, s.default.createElement(_.FormattedMessage, Object.assign({}, w[y]))), + k && s.default.createElement("div", { className: "progress" }, s.default.createElement("div", { className: "progress-bar progress-bar-striped active", role: "progressbar" })), + P + ? s.default.createElement( + "div", + { className: "powerwall-pairing-row" }, + s.default.createElement( + "button", + { + onClick: () => { + r(m.HIDDEN); + }, + className: "btn btn-primary", + disabled: k, + }, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_done", defaultMessage: "Done" }) + ) + ) + : s.default.createElement( + "div", + { className: "powerwall-pairing-row" }, + s.default.createElement( + "button", + { + onClick: () => { + r(m.HIDDEN), v(-1); + }, + className: "btn btn-primary", + disabled: k, + }, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_cancel", defaultMessage: "Cancel" }) + ), + s.default.createElement( + "label", + Object.assign({ className: "btn btn-primary", onClick: () => !k && C() }, D), + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_scan_qr_code", defaultMessage: "Scan QR Code" }), + s.default.createElement("input", { + type: "file", + accept: "image/*", + capture: "camera", + onChange: (e) => { + let t = e && e.target && e.target.files && e.target.files[0]; + t && + (function (e) { + o(this, void 0, void 0, function* () { + let t = C(); + try { + let i = yield t.scanBarcode(e, [l.BarcodeFormat.QRCode]); + try { + let e = (0, c.parseWifiCode)(i.text); + e.S && h(e.S), e.P && b(e.P); + } catch (e) { + S(p.BAD_QR_CODE); + } + } catch (e) { + S(p.NO_QR_CODE); + } + }); + })(t); + }, + disabled: k, + }) + ), + s.default.createElement( + "button", + { + className: "btn btn-primary", + onClick: () => + (function () { + var t; + return o(this, void 0, void 0, function* () { + r(m.PAIRING), S(p.NONE), v(i + 1); + try { + let i = yield e.energysitenet.addDevice({ + device: { wifiApConfig: { ssid: f, password: { value: E }, securityType: d.WifiNetworkSecurityType.WIFI_NETWORK_SECURITY_TYPE_INVALID } }, + }); + N(null === (t = i.recentlyAdded) || void 0 === t ? void 0 : t.status); + } catch (e) { + console.error("Exception while adding device:", e), S(p.PAIRING_EXCEPTION), r(m.VISIBLE), v(-1); + } + }); + })(), + disabled: k || !f || !E, + }, + s.default.createElement(_.FormattedMessage, { id: "powerwall_pairing_connect", defaultMessage: "Connect" }) + ) + ) + ) + ) + ); + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.Status = void 0); + const n = i(776), + r = i(40), + a = { code: 0, message: "" }; + t.Status = { + encode(e, t = r.Writer.create()) { + t.uint32(8).int32(e.code), t.uint32(18).string(e.message); + for (const i of e.details) n.Any.encode(i, t.uint32(26).fork()).ldelim(); + return t; + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, a); + for (s.details = []; i.pos < o; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.code = i.int32(); + break; + case 2: + s.message = i.string(); + break; + case 3: + s.details.push(n.Any.decode(i, i.uint32())); + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.Any = void 0); + const n = i(40), + r = { typeUrl: "" }; + t.Any = { + encode: (e, t = n.Writer.create()) => (t.uint32(10).string(e.typeUrl), t.uint32(18).bytes(e.value), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new n.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, r); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.typeUrl = i.string(); + break; + case 2: + o.value = i.bytes(); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__exportStar) || + function (e, t) { + for (var i in e) "default" === i || Object.prototype.hasOwnProperty.call(t, i) || n(t, e, i); + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.createEnergyDeviceAPIClient = void 0); + const s = a(i(778)), + _ = a(i(779)); + o(i(780), t), + (t.createEnergyDeviceAPIClient = function (e) { + return { common: s.createCommonAPIClient(e), energysitenet: _.createEnergySiteNetAPIClient(e) }; + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.createCommonAPIClient = void 0); + const n = i(140); + t.createCommonAPIClient = function (e) { + const t = "CommonAPI"; + return { + getSystemInfo(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "getSystemInfoRequest", getSystemInfoRequest: i } } } }; + return e.rpc(t, "GetSystemInfo", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "getSystemInfoResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.getSystemInfoResponse; + throw e.error(t, "GetSystemInfo", r, i, "response message did not contain expected payload"); + }); + }, + setLocalSiteConfig(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "setLocalSiteConfigRequest", setLocalSiteConfigRequest: i } } } }; + return e.rpc(t, "SetLocalSiteConfig", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "setLocalSiteConfigResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.setLocalSiteConfigResponse; + throw e.error(t, "SetLocalSiteConfig", r, i, "response message did not contain expected payload"); + }); + }, + performUpdate(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "performUpdateRequest", performUpdateRequest: i } } } }; + return e.rpc(t, "PerformUpdate", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "performUpdateResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.performUpdateResponse; + throw e.error(t, "PerformUpdate", r, i, "response message did not contain expected payload"); + }); + }, + factoryReset(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "factoryResetRequest", factoryResetRequest: i } } } }; + return e.rpc(t, "FactoryReset", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "factoryResetResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.factoryResetResponse; + throw e.error(t, "FactoryReset", r, i, "response message did not contain expected payload"); + }); + }, + wifiScan(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "wifiScanRequest", wifiScanRequest: i } } } }; + return e.rpc(t, "WifiScan", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "wifiScanResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.wifiScanResponse; + throw e.error(t, "WifiScan", r, i, "response message did not contain expected payload"); + }); + }, + configureWifi(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "configureWifiRequest", configureWifiRequest: i } } } }; + return e.rpc(t, "ConfigureWifi", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "configureWifiResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.configureWifiResponse; + throw e.error(t, "ConfigureWifi", r, i, "response message did not contain expected payload"); + }); + }, + checkForUpdate(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "checkForUpdateRequest", checkForUpdateRequest: i } } } }; + return e.rpc(t, "CheckForUpdate", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "checkForUpdateResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.checkForUpdateResponse; + throw e.error(t, "CheckForUpdate", r, i, "response message did not contain expected payload"); + }); + }, + clearUpdate(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "clearUpdateRequest", clearUpdateRequest: i } } } }; + return e.rpc(t, "ClearUpdate", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "clearUpdateResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.clearUpdateResponse; + throw e.error(t, "ClearUpdate", r, i, "response message did not contain expected payload"); + }); + }, + deviceCert(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "deviceCertRequest", deviceCertRequest: i } } } }; + return e.rpc(t, "DeviceCert", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "deviceCertResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.deviceCertResponse; + throw e.error(t, "DeviceCert", r, i, "response message did not contain expected payload"); + }); + }, + configureWifiWithEncryptedPassword(i) { + let r = "ConfigureWifiWithEncryptedPassword", + a = { + deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, + payload: { $case: "common", common: { message: { $case: "configureWifiWithEncryptedPasswordRequest", configureWifiWithEncryptedPasswordRequest: i } } }, + }; + return e.rpc(t, r, a).then((i) => { + var n, o; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "configureWifiWithEncryptedPasswordResponse" === (null === (o = i.payload.common.message) || void 0 === o ? void 0 : o.$case)) + return i.payload.common.message.configureWifiWithEncryptedPasswordResponse; + throw e.error(t, r, a, i, "response message did not contain expected payload"); + }); + }, + getNetworkingStatus(i) { + let r = "GetNetworkingStatus", + a = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "getNetworkingStatusRequest", getNetworkingStatusRequest: i } } } }; + return e.rpc(t, r, a).then((i) => { + var n, o; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "getNetworkingStatusResponse" === (null === (o = i.payload.common.message) || void 0 === o ? void 0 : o.$case)) + return i.payload.common.message.getNetworkingStatusResponse; + throw e.error(t, r, a, i, "response message did not contain expected payload"); + }); + }, + getCellularInfo(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "getCellularInfoRequest", getCellularInfoRequest: i } } } }; + return e.rpc(t, "GetCellularInfo", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "getCellularInfoResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.getCellularInfoResponse; + throw e.error(t, "GetCellularInfo", r, i, "response message did not contain expected payload"); + }); + }, + configureEthernet(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "configureEthernetRequest", configureEthernetRequest: i } } } }; + return e.rpc(t, "ConfigureEthernet", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "configureEthernetResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.configureEthernetResponse; + throw e.error(t, "ConfigureEthernet", r, i, "response message did not contain expected payload"); + }); + }, + forgetWifiNetwork(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "forgetWifiNetworkRequest", forgetWifiNetworkRequest: i } } } }; + return e.rpc(t, "ForgetWifiNetwork", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "forgetWifiNetworkResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.forgetWifiNetworkResponse; + throw e.error(t, "ForgetWifiNetwork", r, i, "response message did not contain expected payload"); + }); + }, + checkInternet(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "checkInternetRequest", checkInternetRequest: i } } } }; + return e.rpc(t, "CheckInternet", r).then((i) => { + var n, a; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "checkInternetResponse" === (null === (a = i.payload.common.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.common.message.checkInternetResponse; + throw e.error(t, "CheckInternet", r, i, "response message did not contain expected payload"); + }); + }, + checkForUpdateUrgency(i) { + let r = "CheckForUpdateUrgency", + a = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "checkForUpdateUrgencyRequest", checkForUpdateUrgencyRequest: i } } } }; + return e.rpc(t, r, a).then((i) => { + var n, o; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "checkForUpdateUrgencyResponse" === (null === (o = i.payload.common.message) || void 0 === o ? void 0 : o.$case)) + return i.payload.common.message.checkForUpdateUrgencyResponse; + throw e.error(t, r, a, i, "response message did not contain expected payload"); + }); + }, + negotiateUpdateWithLocallyAvailablePackages(i) { + let r = "NegotiateUpdateWithLocallyAvailablePackages", + a = { + deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, + payload: { $case: "common", common: { message: { $case: "negotiateUpdateWithLocallyAvailablePackagesRequest", negotiateUpdateWithLocallyAvailablePackagesRequest: i } } }, + }; + return e.rpc(t, r, a).then((i) => { + var n, o; + if ( + "common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && + "negotiateUpdateWithLocallyAvailablePackagesResponse" === (null === (o = i.payload.common.message) || void 0 === o ? void 0 : o.$case) + ) + return i.payload.common.message.negotiateUpdateWithLocallyAvailablePackagesResponse; + throw e.error(t, r, a, i, "response message did not contain expected payload"); + }); + }, + prepareRegistrationPayload(i) { + let r = "PrepareRegistrationPayload", + a = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "common", common: { message: { $case: "prepareRegistrationPayloadRequest", prepareRegistrationPayloadRequest: i } } } }; + return e.rpc(t, r, a).then((i) => { + var n, o; + if ("common" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "prepareRegistrationPayloadResponse" === (null === (o = i.payload.common.message) || void 0 === o ? void 0 : o.$case)) + return i.payload.common.message.prepareRegistrationPayloadResponse; + throw e.error(t, r, a, i, "response message did not contain expected payload"); + }); + }, + }; + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.createEnergySiteNetAPIClient = void 0); + const n = i(140); + t.createEnergySiteNetAPIClient = function (e) { + const t = "EnergySiteNetAPI"; + return { + addDevice(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "energysitenet", energysitenet: { message: { $case: "addDeviceRequest", addDeviceRequest: i } } } }; + return e.rpc(t, "AddDevice", r).then((i) => { + var n, a; + if ("energysitenet" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "addDeviceResponse" === (null === (a = i.payload.energysitenet.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.energysitenet.message.addDeviceResponse; + throw e.error(t, "AddDevice", r, i, "response message did not contain expected payload"); + }); + }, + removeDevice(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "energysitenet", energysitenet: { message: { $case: "removeDeviceRequest", removeDeviceRequest: i } } } }; + return e.rpc(t, "RemoveDevice", r).then((i) => { + var n, a; + if ("energysitenet" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "removeDeviceResponse" === (null === (a = i.payload.energysitenet.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.energysitenet.message.removeDeviceResponse; + throw e.error(t, "RemoveDevice", r, i, "response message did not contain expected payload"); + }); + }, + getConfig(i) { + let r = { deliveryChannel: n.DeliveryChannel.DELIVERY_CHANNEL_INVALID, payload: { $case: "energysitenet", energysitenet: { message: { $case: "getConfigRequest", getConfigRequest: i } } } }; + return e.rpc(t, "GetConfig", r).then((i) => { + var n, a; + if ("energysitenet" === (null === (n = i.payload) || void 0 === n ? void 0 : n.$case) && "getConfigResponse" === (null === (a = i.payload.energysitenet.message) || void 0 === a ? void 0 : a.$case)) + return i.payload.energysitenet.message.getConfigResponse; + throw e.error(t, "GetConfig", r, i, "response message did not contain expected payload"); + }); + }, + }; + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }, + o = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.createHermesClient = t.createLocalClient = t.createRPCClient = t.HTTPClientTransport = t.RPCClient = t.serviceParticipant = t.localParticipant = t.deviceParticipant = t.RPCError = void 0); + const s = o(i(450)), + _ = a(i(40)), + l = i(781); + Object.defineProperty(t, "deviceParticipant", { + enumerable: !0, + get: function () { + return l.deviceParticipant; + }, + }), + Object.defineProperty(t, "localParticipant", { + enumerable: !0, + get: function () { + return l.localParticipant; + }, + }), + Object.defineProperty(t, "serviceParticipant", { + enumerable: !0, + get: function () { + return l.serviceParticipant; + }, + }); + const c = a(i(140)), + d = a(i(785)), + u = i(786); + Object.defineProperty(t, "RPCError", { + enumerable: !0, + get: function () { + return u.RPCError; + }, + }), + (_.util.Long = s.default), + _.configure(); + class m { + constructor(e, t) { + (this.messageOpts = e), (this.clientOpts = t); + } + rpc(e, t, i) { + let n = { api: e, method: t, request: i, requestedAt: Date.now() }, + r = (0, l.encode)(i, this.messageOpts); + return this.clientOpts.transport + .request(n, r) + .catch((e) => { + throw (e instanceof Error && !(e instanceof u.RPCError) && ((n.transportError = e), (e = new u.RPCError(n, "Transport error: " + e.message))), e); + }) + .then((e) => { + var t, i, r, a, o; + let s; + try { + s = (0, l.decode)(e, this.messageOpts); + } catch (e) { + if (!(e instanceof Error)) throw new u.RPCError(n, "Caught unexpected non-error type: " + String(e)); + throw (e instanceof l.DecodeError && ((n.responseAuthEnvelope = e.authEnvelope), (n.response = null !== (t = e.messageEnvelope) && void 0 !== t ? t : void 0)), new u.RPCError(n, "Decode error: " + e.message)); + } + if ("common" === (null === (i = s.payload) || void 0 === i ? void 0 : i.$case) && "errorResponse" === (null === (r = s.payload.common.message) || void 0 === r ? void 0 : r.$case)) { + let { errorResponse: e } = s.payload.common.message; + n.errorResponse = e; + let { status: t } = e; + const i = t ? `${t.code}: ${t.message}` : "???"; + throw new u.RPCError(n, i); + } + return null === (o = (a = this.clientOpts).successHandler) || void 0 === o || o.call(a, n), s; + }) + .catch((e) => { + var t, i; + throw (null === (i = (t = this.clientOpts).errorHandler) || void 0 === i || i.call(t, e), e); + }); + } + error(e, t, i, n, r) { + let a = { api: e, method: t, request: i, response: n, requestedAt: Date.now() }; + return new u.RPCError(a, r); + } + } + t.RPCClient = m; + class p { + constructor(e) { + this.opts = e; + } + request(e, t) { + var i; + const { endpoint: n } = this.opts; + e.endpoint = n; + const r = new XMLHttpRequest(); + return ( + (r.timeout = null !== (i = this.opts.timeout) && void 0 !== i ? i : 12e3), + (r.responseType = "arraybuffer"), + (r.withCredentials = "include" === this.opts.credentials), + r.open("POST", n, !0), + r.setRequestHeader("Content-Type", "application/octet-stream"), + r.send(t), + new Promise((t, i) => { + (r.onload = () => { + r.readyState === XMLHttpRequest.DONE && + (r.status >= 200 && r.status < 300 + ? t(new Uint8Array(r.response)) + : ((e.httpResponse = new Response(r.response, { status: r.status, statusText: r.statusText })), i(new u.RPCError(e, `POST ${n}: ${r.status} ${r.statusText}`)))); + }), + (r.onerror = () => { + i(new TypeError(`POST ${n}: Network error`)); + }), + (r.ontimeout = () => { + i(new TypeError(`POST ${n}: Timeout`)); + }); + }) + ); + } + } + function g(e, t) { + let i = new p({ endpoint: t.host.replace(/\/$/, "") + "/tedapi/v1", credentials: t.credentials, timeout: t.timeout }); + return new m(e, { transport: i, successHandler: t.successHandler, errorHandler: t.errorHandler }); + } + (t.HTTPClientTransport = p), + (t.createRPCClient = g), + (t.createLocalClient = function (e) { + return g( + { + externalAuthType: c.ExternalAuthType.EXTERNAL_AUTH_TYPE_PRESENCE, + deliveryChannel: c.DeliveryChannel.DELIVERY_CHANNEL_LOCAL_HTTPS, + ourParticipant: (0, l.localParticipant)(d.LocalParticipant.LOCAL_PARTICIPANT_INSTALLER), + theirParticipant: (0, l.deviceParticipant)(e.din), + }, + e + ); + }), + (t.createHermesClient = function (e) { + return g( + { + externalAuthType: c.ExternalAuthType.EXTERNAL_AUTH_TYPE_HERMES_COMMAND, + deliveryChannel: c.DeliveryChannel.DELIVERY_CHANNEL_HERMES_COMMAND, + ourParticipant: (0, l.serviceParticipant)(c.TeslaService.TESLA_SERVICE_COMMAND), + theirParticipant: (0, l.deviceParticipant)(e.din), + }, + e + ); + }); + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__createBinding) || + (Object.create + ? function (e, t, i, n) { + void 0 === n && (n = i), + Object.defineProperty(e, n, { + enumerable: !0, + get: function () { + return t[i]; + }, + }); + } + : function (e, t, i, n) { + void 0 === n && (n = i), (e[n] = t[i]); + }), + r = + (this && this.__setModuleDefault) || + (Object.create + ? function (e, t) { + Object.defineProperty(e, "default", { enumerable: !0, value: t }); + } + : function (e, t) { + e.default = t; + }), + a = + (this && this.__importStar) || + function (e) { + if (e && e.__esModule) return e; + var t = {}; + if (null != e) for (var i in e) "default" !== i && Object.prototype.hasOwnProperty.call(e, i) && n(t, e, i); + return r(t, e), t; + }; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.decode = t.encode = t.serviceParticipant = t.localParticipant = t.deviceParticipant = t.DecodeError = void 0); + const o = i(782), + s = a(i(140)); + class _ extends Error { + constructor(e, t, i) { + super(i), (this.authEnvelope = e), (this.messageEnvelope = t); + } + } + function l(e, t) { + var i, n, r, a; + switch (null === (i = t.id) || void 0 === i ? void 0 : i.$case) { + case "din": + return "din" === (null === (n = e.id) || void 0 === n ? void 0 : n.$case) && t.id.din === e.id.din; + case "teslaService": + return "teslaService" === (null === (r = e.id) || void 0 === r ? void 0 : r.$case) && t.id.teslaService === e.id.teslaService; + case "local": + return "local" === (null === (a = e.id) || void 0 === a ? void 0 : a.$case) && t.id.local === e.id.local; + } + return !1; + } + (t.DecodeError = _), + (t.deviceParticipant = function (e) { + return { id: { $case: "din", din: e } }; + }), + (t.localParticipant = function (e) { + return { id: { $case: "local", local: e } }; + }), + (t.serviceParticipant = function (e) { + return { id: { $case: "teslaService", teslaService: e } }; + }), + (t.encode = function (e, t) { + return ( + (e.deliveryChannel = t.deliveryChannel), + (e.sender = t.ourParticipant), + (e.recipient = t.theirParticipant), + s.AuthEnvelope.encode({ payload: o.MessageEnvelope.encode(e).finish(), auth: null !== t.externalAuthType ? { $case: "externalAuth", externalAuth: { type: t.externalAuthType } } : void 0 }).finish() + ); + }), + (t.decode = function (e, t) { + var i; + let n = s.AuthEnvelope.decode(e); + if (!n.payload) throw new _(n, null, "missing AuthEnvelope.payload"); + switch (null === (i = n.auth) || void 0 === i ? void 0 : i.$case) { + case "externalAuth": { + const { externalAuth: e } = n.auth; + if (e.type <= s.ExternalAuthType.EXTERNAL_AUTH_TYPE_INVALID) throw new _(n, null, "missing/invalid AuthEnvelope.externalAuth.type"); + if (null !== t.externalAuthType && e.type !== t.externalAuthType) throw new _(n, null, "unexpected AuthEnvelope.externalAuth.type"); + break; + } + default: + throw new _(n, null, "missing AuthEnvelope.auth"); + } + let r = o.MessageEnvelope.decode(n.payload); + const { deliveryChannel: a, sender: c, recipient: d } = r; + if (a !== t.deliveryChannel) throw new _(n, r, "unexpected MessageEnvelope.deliveryChannel"); + if (!c) throw new _(n, r, "missing MessageEnvelope.sender"); + if (!l(c, t.theirParticipant)) throw new _(n, r, "unexpected MessageEnvelope.sender"); + if (!d) throw new _(n, r, "missing MessageEnvelope.recipient"); + if (!l(d, t.ourParticipant)) throw new _(n, r, "unexpected MessageEnvelope.recipient"); + return r; + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.MessageEnvelope = void 0); + const n = i(140), + r = i(783), + a = i(784), + o = i(40), + s = { deliveryChannel: 0 }; + t.MessageEnvelope = { + encode(e, t = o.Writer.create()) { + var i, s; + return ( + t.uint32(8).int32(e.deliveryChannel), + void 0 !== e.sender && void 0 !== e.sender && n.Participant.encode(e.sender, t.uint32(18).fork()).ldelim(), + void 0 !== e.recipient && void 0 !== e.recipient && n.Participant.encode(e.recipient, t.uint32(26).fork()).ldelim(), + "common" === (null === (i = e.payload) || void 0 === i ? void 0 : i.$case) && r.CommonMessages.encode(e.payload.common, t.uint32(34).fork()).ldelim(), + "energysitenet" === (null === (s = e.payload) || void 0 === s ? void 0 : s.$case) && a.EnergySiteNetMessages.encode(e.payload.energysitenet, t.uint32(82).fork()).ldelim(), + t + ); + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new o.Reader(e) : e; + let _ = void 0 === t ? i.len : i.pos + t; + const l = Object.assign({}, s); + for (; i.pos < _; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + l.deliveryChannel = i.int32(); + break; + case 2: + l.sender = n.Participant.decode(i, i.uint32()); + break; + case 3: + l.recipient = n.Participant.decode(i, i.uint32()); + break; + case 4: + l.payload = { $case: "common", common: r.CommonMessages.decode(i, i.uint32()) }; + break; + case 10: + l.payload = { $case: "energysitenet", energysitenet: a.EnergySiteNetMessages.decode(i, i.uint32()) }; + break; + default: + i.skipType(7 & e); + } + } + return l; + }, + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.CommonMessages = void 0); + const n = i(175), + r = i(40), + a = {}; + t.CommonMessages = { + encode(e, t = r.Writer.create()) { + var i, a, o, s, _, l, c, d, u, m, p, g, w, v, f, h, E, b, y, S, R, T, A, C, I, O, N, k, P, D, L, M, z, U, V, G, j; + return ( + "errorResponse" === (null === (i = e.message) || void 0 === i ? void 0 : i.$case) && n.ErrorResponse.encode(e.message.errorResponse, t.uint32(10).fork()).ldelim(), + "getSystemInfoRequest" === (null === (a = e.message) || void 0 === a ? void 0 : a.$case) && n.CommonAPIGetSystemInfoRequest.encode(e.message.getSystemInfoRequest, t.uint32(18).fork()).ldelim(), + "getSystemInfoResponse" === (null === (o = e.message) || void 0 === o ? void 0 : o.$case) && n.CommonAPIGetSystemInfoResponse.encode(e.message.getSystemInfoResponse, t.uint32(26).fork()).ldelim(), + "setLocalSiteConfigRequest" === (null === (s = e.message) || void 0 === s ? void 0 : s.$case) && n.CommonAPISetLocalSiteConfigRequest.encode(e.message.setLocalSiteConfigRequest, t.uint32(34).fork()).ldelim(), + "setLocalSiteConfigResponse" === (null === (_ = e.message) || void 0 === _ ? void 0 : _.$case) && n.CommonAPISetLocalSiteConfigResponse.encode(e.message.setLocalSiteConfigResponse, t.uint32(42).fork()).ldelim(), + "performUpdateRequest" === (null === (l = e.message) || void 0 === l ? void 0 : l.$case) && n.CommonAPIPerformUpdateRequest.encode(e.message.performUpdateRequest, t.uint32(50).fork()).ldelim(), + "performUpdateResponse" === (null === (c = e.message) || void 0 === c ? void 0 : c.$case) && n.CommonAPIPerformUpdateResponse.encode(e.message.performUpdateResponse, t.uint32(58).fork()).ldelim(), + "factoryResetRequest" === (null === (d = e.message) || void 0 === d ? void 0 : d.$case) && n.CommonAPIFactoryResetRequest.encode(e.message.factoryResetRequest, t.uint32(66).fork()).ldelim(), + "factoryResetResponse" === (null === (u = e.message) || void 0 === u ? void 0 : u.$case) && n.CommonAPIFactoryResetResponse.encode(e.message.factoryResetResponse, t.uint32(74).fork()).ldelim(), + "wifiScanRequest" === (null === (m = e.message) || void 0 === m ? void 0 : m.$case) && n.CommonAPIWifiScanRequest.encode(e.message.wifiScanRequest, t.uint32(82).fork()).ldelim(), + "wifiScanResponse" === (null === (p = e.message) || void 0 === p ? void 0 : p.$case) && n.CommonAPIWifiScanResponse.encode(e.message.wifiScanResponse, t.uint32(90).fork()).ldelim(), + "configureWifiRequest" === (null === (g = e.message) || void 0 === g ? void 0 : g.$case) && n.CommonAPIConfigureWifiRequest.encode(e.message.configureWifiRequest, t.uint32(98).fork()).ldelim(), + "configureWifiResponse" === (null === (w = e.message) || void 0 === w ? void 0 : w.$case) && n.CommonAPIConfigureWifiResponse.encode(e.message.configureWifiResponse, t.uint32(106).fork()).ldelim(), + "checkForUpdateRequest" === (null === (v = e.message) || void 0 === v ? void 0 : v.$case) && n.CommonAPICheckForUpdateRequest.encode(e.message.checkForUpdateRequest, t.uint32(114).fork()).ldelim(), + "checkForUpdateResponse" === (null === (f = e.message) || void 0 === f ? void 0 : f.$case) && n.CommonAPICheckForUpdateResponse.encode(e.message.checkForUpdateResponse, t.uint32(122).fork()).ldelim(), + "clearUpdateRequest" === (null === (h = e.message) || void 0 === h ? void 0 : h.$case) && n.CommonAPIClearUpdateRequest.encode(e.message.clearUpdateRequest, t.uint32(130).fork()).ldelim(), + "clearUpdateResponse" === (null === (E = e.message) || void 0 === E ? void 0 : E.$case) && n.CommonAPIClearUpdateResponse.encode(e.message.clearUpdateResponse, t.uint32(138).fork()).ldelim(), + "deviceCertRequest" === (null === (b = e.message) || void 0 === b ? void 0 : b.$case) && n.CommonAPIDeviceCertRequest.encode(e.message.deviceCertRequest, t.uint32(146).fork()).ldelim(), + "deviceCertResponse" === (null === (y = e.message) || void 0 === y ? void 0 : y.$case) && n.CommonAPIDeviceCertResponse.encode(e.message.deviceCertResponse, t.uint32(154).fork()).ldelim(), + "configureWifiWithEncryptedPasswordRequest" === (null === (S = e.message) || void 0 === S ? void 0 : S.$case) && + n.CommonAPIConfigureWifiWithEncryptedPasswordRequest.encode(e.message.configureWifiWithEncryptedPasswordRequest, t.uint32(162).fork()).ldelim(), + "configureWifiWithEncryptedPasswordResponse" === (null === (R = e.message) || void 0 === R ? void 0 : R.$case) && + n.CommonAPIConfigureWifiWithEncryptedPasswordResponse.encode(e.message.configureWifiWithEncryptedPasswordResponse, t.uint32(170).fork()).ldelim(), + "getNetworkingStatusRequest" === (null === (T = e.message) || void 0 === T ? void 0 : T.$case) && n.CommonAPIGetNetworkingStatusRequest.encode(e.message.getNetworkingStatusRequest, t.uint32(178).fork()).ldelim(), + "getNetworkingStatusResponse" === (null === (A = e.message) || void 0 === A ? void 0 : A.$case) && n.CommonAPIGetNetworkingStatusResponse.encode(e.message.getNetworkingStatusResponse, t.uint32(186).fork()).ldelim(), + "getCellularInfoRequest" === (null === (C = e.message) || void 0 === C ? void 0 : C.$case) && n.CommonAPIGetCellularInfoRequest.encode(e.message.getCellularInfoRequest, t.uint32(194).fork()).ldelim(), + "getCellularInfoResponse" === (null === (I = e.message) || void 0 === I ? void 0 : I.$case) && n.CommonAPIGetCellularInfoResponse.encode(e.message.getCellularInfoResponse, t.uint32(202).fork()).ldelim(), + "configureEthernetRequest" === (null === (O = e.message) || void 0 === O ? void 0 : O.$case) && n.CommonAPIConfigureEthernetRequest.encode(e.message.configureEthernetRequest, t.uint32(210).fork()).ldelim(), + "configureEthernetResponse" === (null === (N = e.message) || void 0 === N ? void 0 : N.$case) && n.CommonAPIConfigureEthernetResponse.encode(e.message.configureEthernetResponse, t.uint32(218).fork()).ldelim(), + "forgetWifiNetworkRequest" === (null === (k = e.message) || void 0 === k ? void 0 : k.$case) && n.CommonAPIForgetWifiNetworkRequest.encode(e.message.forgetWifiNetworkRequest, t.uint32(226).fork()).ldelim(), + "forgetWifiNetworkResponse" === (null === (P = e.message) || void 0 === P ? void 0 : P.$case) && n.CommonAPIForgetWifiNetworkResponse.encode(e.message.forgetWifiNetworkResponse, t.uint32(234).fork()).ldelim(), + "checkInternetRequest" === (null === (D = e.message) || void 0 === D ? void 0 : D.$case) && n.CommonAPICheckInternetRequest.encode(e.message.checkInternetRequest, t.uint32(242).fork()).ldelim(), + "checkInternetResponse" === (null === (L = e.message) || void 0 === L ? void 0 : L.$case) && n.CommonAPICheckInternetResponse.encode(e.message.checkInternetResponse, t.uint32(250).fork()).ldelim(), + "checkForUpdateUrgencyRequest" === (null === (M = e.message) || void 0 === M ? void 0 : M.$case) && n.CommonAPICheckForUpdateUrgencyRequest.encode(e.message.checkForUpdateUrgencyRequest, t.uint32(258).fork()).ldelim(), + "checkForUpdateUrgencyResponse" === (null === (z = e.message) || void 0 === z ? void 0 : z.$case) && + n.CommonAPICheckForUpdateUrgencyResponse.encode(e.message.checkForUpdateUrgencyResponse, t.uint32(266).fork()).ldelim(), + "negotiateUpdateWithLocallyAvailablePackagesRequest" === (null === (U = e.message) || void 0 === U ? void 0 : U.$case) && + n.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest.encode(e.message.negotiateUpdateWithLocallyAvailablePackagesRequest, t.uint32(274).fork()).ldelim(), + "negotiateUpdateWithLocallyAvailablePackagesResponse" === (null === (V = e.message) || void 0 === V ? void 0 : V.$case) && + n.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse.encode(e.message.negotiateUpdateWithLocallyAvailablePackagesResponse, t.uint32(282).fork()).ldelim(), + "prepareRegistrationPayloadRequest" === (null === (G = e.message) || void 0 === G ? void 0 : G.$case) && + n.CommonAPIPrepareRegistrationPayloadRequest.encode(e.message.prepareRegistrationPayloadRequest, t.uint32(290).fork()).ldelim(), + "prepareRegistrationPayloadResponse" === (null === (j = e.message) || void 0 === j ? void 0 : j.$case) && + n.CommonAPIPrepareRegistrationPayloadResponse.encode(e.message.prepareRegistrationPayloadResponse, t.uint32(298).fork()).ldelim(), + t + ); + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, a); + for (; i.pos < o; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.message = { $case: "errorResponse", errorResponse: n.ErrorResponse.decode(i, i.uint32()) }; + break; + case 2: + s.message = { $case: "getSystemInfoRequest", getSystemInfoRequest: n.CommonAPIGetSystemInfoRequest.decode(i, i.uint32()) }; + break; + case 3: + s.message = { $case: "getSystemInfoResponse", getSystemInfoResponse: n.CommonAPIGetSystemInfoResponse.decode(i, i.uint32()) }; + break; + case 4: + s.message = { $case: "setLocalSiteConfigRequest", setLocalSiteConfigRequest: n.CommonAPISetLocalSiteConfigRequest.decode(i, i.uint32()) }; + break; + case 5: + s.message = { $case: "setLocalSiteConfigResponse", setLocalSiteConfigResponse: n.CommonAPISetLocalSiteConfigResponse.decode(i, i.uint32()) }; + break; + case 6: + s.message = { $case: "performUpdateRequest", performUpdateRequest: n.CommonAPIPerformUpdateRequest.decode(i, i.uint32()) }; + break; + case 7: + s.message = { $case: "performUpdateResponse", performUpdateResponse: n.CommonAPIPerformUpdateResponse.decode(i, i.uint32()) }; + break; + case 8: + s.message = { $case: "factoryResetRequest", factoryResetRequest: n.CommonAPIFactoryResetRequest.decode(i, i.uint32()) }; + break; + case 9: + s.message = { $case: "factoryResetResponse", factoryResetResponse: n.CommonAPIFactoryResetResponse.decode(i, i.uint32()) }; + break; + case 10: + s.message = { $case: "wifiScanRequest", wifiScanRequest: n.CommonAPIWifiScanRequest.decode(i, i.uint32()) }; + break; + case 11: + s.message = { $case: "wifiScanResponse", wifiScanResponse: n.CommonAPIWifiScanResponse.decode(i, i.uint32()) }; + break; + case 12: + s.message = { $case: "configureWifiRequest", configureWifiRequest: n.CommonAPIConfigureWifiRequest.decode(i, i.uint32()) }; + break; + case 13: + s.message = { $case: "configureWifiResponse", configureWifiResponse: n.CommonAPIConfigureWifiResponse.decode(i, i.uint32()) }; + break; + case 14: + s.message = { $case: "checkForUpdateRequest", checkForUpdateRequest: n.CommonAPICheckForUpdateRequest.decode(i, i.uint32()) }; + break; + case 15: + s.message = { $case: "checkForUpdateResponse", checkForUpdateResponse: n.CommonAPICheckForUpdateResponse.decode(i, i.uint32()) }; + break; + case 16: + s.message = { $case: "clearUpdateRequest", clearUpdateRequest: n.CommonAPIClearUpdateRequest.decode(i, i.uint32()) }; + break; + case 17: + s.message = { $case: "clearUpdateResponse", clearUpdateResponse: n.CommonAPIClearUpdateResponse.decode(i, i.uint32()) }; + break; + case 18: + s.message = { $case: "deviceCertRequest", deviceCertRequest: n.CommonAPIDeviceCertRequest.decode(i, i.uint32()) }; + break; + case 19: + s.message = { $case: "deviceCertResponse", deviceCertResponse: n.CommonAPIDeviceCertResponse.decode(i, i.uint32()) }; + break; + case 20: + s.message = { $case: "configureWifiWithEncryptedPasswordRequest", configureWifiWithEncryptedPasswordRequest: n.CommonAPIConfigureWifiWithEncryptedPasswordRequest.decode(i, i.uint32()) }; + break; + case 21: + s.message = { $case: "configureWifiWithEncryptedPasswordResponse", configureWifiWithEncryptedPasswordResponse: n.CommonAPIConfigureWifiWithEncryptedPasswordResponse.decode(i, i.uint32()) }; + break; + case 22: + s.message = { $case: "getNetworkingStatusRequest", getNetworkingStatusRequest: n.CommonAPIGetNetworkingStatusRequest.decode(i, i.uint32()) }; + break; + case 23: + s.message = { $case: "getNetworkingStatusResponse", getNetworkingStatusResponse: n.CommonAPIGetNetworkingStatusResponse.decode(i, i.uint32()) }; + break; + case 24: + s.message = { $case: "getCellularInfoRequest", getCellularInfoRequest: n.CommonAPIGetCellularInfoRequest.decode(i, i.uint32()) }; + break; + case 25: + s.message = { $case: "getCellularInfoResponse", getCellularInfoResponse: n.CommonAPIGetCellularInfoResponse.decode(i, i.uint32()) }; + break; + case 26: + s.message = { $case: "configureEthernetRequest", configureEthernetRequest: n.CommonAPIConfigureEthernetRequest.decode(i, i.uint32()) }; + break; + case 27: + s.message = { $case: "configureEthernetResponse", configureEthernetResponse: n.CommonAPIConfigureEthernetResponse.decode(i, i.uint32()) }; + break; + case 28: + s.message = { $case: "forgetWifiNetworkRequest", forgetWifiNetworkRequest: n.CommonAPIForgetWifiNetworkRequest.decode(i, i.uint32()) }; + break; + case 29: + s.message = { $case: "forgetWifiNetworkResponse", forgetWifiNetworkResponse: n.CommonAPIForgetWifiNetworkResponse.decode(i, i.uint32()) }; + break; + case 30: + s.message = { $case: "checkInternetRequest", checkInternetRequest: n.CommonAPICheckInternetRequest.decode(i, i.uint32()) }; + break; + case 31: + s.message = { $case: "checkInternetResponse", checkInternetResponse: n.CommonAPICheckInternetResponse.decode(i, i.uint32()) }; + break; + case 32: + s.message = { $case: "checkForUpdateUrgencyRequest", checkForUpdateUrgencyRequest: n.CommonAPICheckForUpdateUrgencyRequest.decode(i, i.uint32()) }; + break; + case 33: + s.message = { $case: "checkForUpdateUrgencyResponse", checkForUpdateUrgencyResponse: n.CommonAPICheckForUpdateUrgencyResponse.decode(i, i.uint32()) }; + break; + case 34: + s.message = { + $case: "negotiateUpdateWithLocallyAvailablePackagesRequest", + negotiateUpdateWithLocallyAvailablePackagesRequest: n.CommonAPINegotiateUpdateWithLocallyAvailablePackagesRequest.decode(i, i.uint32()), + }; + break; + case 35: + s.message = { + $case: "negotiateUpdateWithLocallyAvailablePackagesResponse", + negotiateUpdateWithLocallyAvailablePackagesResponse: n.CommonAPINegotiateUpdateWithLocallyAvailablePackagesResponse.decode(i, i.uint32()), + }; + break; + case 36: + s.message = { $case: "prepareRegistrationPayloadRequest", prepareRegistrationPayloadRequest: n.CommonAPIPrepareRegistrationPayloadRequest.decode(i, i.uint32()) }; + break; + case 37: + s.message = { $case: "prepareRegistrationPayloadResponse", prepareRegistrationPayloadResponse: n.CommonAPIPrepareRegistrationPayloadResponse.decode(i, i.uint32()) }; + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.EnergySiteNetMessages = void 0); + const n = i(454), + r = i(40), + a = {}; + t.EnergySiteNetMessages = { + encode(e, t = r.Writer.create()) { + var i, a, o, s, _, l; + return ( + "addDeviceRequest" === (null === (i = e.message) || void 0 === i ? void 0 : i.$case) && n.EnergySiteNetAPIAddDeviceRequest.encode(e.message.addDeviceRequest, t.uint32(10).fork()).ldelim(), + "addDeviceResponse" === (null === (a = e.message) || void 0 === a ? void 0 : a.$case) && n.EnergySiteNetAPIAddDeviceResponse.encode(e.message.addDeviceResponse, t.uint32(18).fork()).ldelim(), + "removeDeviceRequest" === (null === (o = e.message) || void 0 === o ? void 0 : o.$case) && n.EnergySiteNetAPIRemoveDeviceRequest.encode(e.message.removeDeviceRequest, t.uint32(26).fork()).ldelim(), + "removeDeviceResponse" === (null === (s = e.message) || void 0 === s ? void 0 : s.$case) && n.EnergySiteNetAPIRemoveDeviceResponse.encode(e.message.removeDeviceResponse, t.uint32(34).fork()).ldelim(), + "getConfigRequest" === (null === (_ = e.message) || void 0 === _ ? void 0 : _.$case) && n.EnergySiteNetAPIGetConfigRequest.encode(e.message.getConfigRequest, t.uint32(42).fork()).ldelim(), + "getConfigResponse" === (null === (l = e.message) || void 0 === l ? void 0 : l.$case) && n.EnergySiteNetAPIGetConfigResponse.encode(e.message.getConfigResponse, t.uint32(50).fork()).ldelim(), + t + ); + }, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let o = void 0 === t ? i.len : i.pos + t; + const s = Object.assign({}, a); + for (; i.pos < o; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + s.message = { $case: "addDeviceRequest", addDeviceRequest: n.EnergySiteNetAPIAddDeviceRequest.decode(i, i.uint32()) }; + break; + case 2: + s.message = { $case: "addDeviceResponse", addDeviceResponse: n.EnergySiteNetAPIAddDeviceResponse.decode(i, i.uint32()) }; + break; + case 3: + s.message = { $case: "removeDeviceRequest", removeDeviceRequest: n.EnergySiteNetAPIRemoveDeviceRequest.decode(i, i.uint32()) }; + break; + case 4: + s.message = { $case: "removeDeviceResponse", removeDeviceResponse: n.EnergySiteNetAPIRemoveDeviceResponse.decode(i, i.uint32()) }; + break; + case 5: + s.message = { $case: "getConfigRequest", getConfigRequest: n.EnergySiteNetAPIGetConfigRequest.decode(i, i.uint32()) }; + break; + case 6: + s.message = { $case: "getConfigResponse", getConfigResponse: n.EnergySiteNetAPIGetConfigResponse.decode(i, i.uint32()) }; + break; + default: + i.skipType(7 & e); + } + } + return s; + }, + }; + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), + (t.LocalAuthAPICheckAuthStatusResponse = t.LocalAuthAPICheckAuthStatusRequest = t.LocalAuthAPILogoutResponse = t.LocalAuthAPILogoutRequest = t.LocalAuthAPILoginResponse = t.LocalAuthAPILoginRequest = t.LocalAuthAPIRequiredFactorsResponse = t.LocalAuthAPIRequiredFactorsRequest = t.LocalAuthResult = t.LocalParticipant = void 0); + const n = i(175), + r = i(40), + a = {}, + o = { password: !1, presence: !1 }, + s = { participant: 0, email: "" }, + _ = { result: 0 }, + l = {}, + c = {}, + d = {}, + u = { result: 0 }; + !(function (e) { + (e[(e.LOCAL_PARTICIPANT_INVALID = 0)] = "LOCAL_PARTICIPANT_INVALID"), + (e[(e.LOCAL_PARTICIPANT_INSTALLER = 1)] = "LOCAL_PARTICIPANT_INSTALLER"), + (e[(e.LOCAL_PARTICIPANT_CUSTOMER = 2)] = "LOCAL_PARTICIPANT_CUSTOMER"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.LocalParticipant || (t.LocalParticipant = {})), + (function (e) { + (e[(e.LOCAL_AUTH_RESULT_INVALID = 0)] = "LOCAL_AUTH_RESULT_INVALID"), + (e[(e.LOCAL_AUTH_RESULT_SUCCESS = 1)] = "LOCAL_AUTH_RESULT_SUCCESS"), + (e[(e.LOCAL_AUTH_RESULT_INVALID_PARAMETERS = 2)] = "LOCAL_AUTH_RESULT_INVALID_PARAMETERS"), + (e[(e.LOCAL_AUTH_RESULT_INVALID_PASSWORD = 3)] = "LOCAL_AUTH_RESULT_INVALID_PASSWORD"), + (e[(e.LOCAL_AUTH_RESULT_PRESENCE_PROOF_REQUIRED = 4)] = "LOCAL_AUTH_RESULT_PRESENCE_PROOF_REQUIRED"), + (e[(e.LOCAL_AUTH_RESULT_PRESENCE_PROOF_TIMED_OUT = 5)] = "LOCAL_AUTH_RESULT_PRESENCE_PROOF_TIMED_OUT"), + (e[(e.UNRECOGNIZED = -1)] = "UNRECOGNIZED"); + })(t.LocalAuthResult || (t.LocalAuthResult = {})), + (t.LocalAuthAPIRequiredFactorsRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, a); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return o; + }, + }), + (t.LocalAuthAPIRequiredFactorsResponse = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).bool(e.password), t.uint32(16).bool(e.presence), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, o); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.password = i.bool(); + break; + case 2: + a.presence = i.bool(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.LocalAuthAPILoginRequest = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).int32(e.participant), t.uint32(18).string(e.email), void 0 !== e.password && void 0 !== e.password && n.WifiPassword.encode(e.password, t.uint32(26).fork()).ldelim(), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let a = void 0 === t ? i.len : i.pos + t; + const o = Object.assign({}, s); + for (; i.pos < a; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + o.participant = i.int32(); + break; + case 2: + o.email = i.string(); + break; + case 3: + o.password = n.WifiPassword.decode(i, i.uint32()); + break; + default: + i.skipType(7 & e); + } + } + return o; + }, + }), + (t.LocalAuthAPILoginResponse = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).int32(e.result), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, _); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.result = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }), + (t.LocalAuthAPILogoutRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, l); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.LocalAuthAPILogoutResponse = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, c); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.LocalAuthAPICheckAuthStatusRequest = { + encode: (e, t = r.Writer.create()) => t, + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, d); + for (; i.pos < n; ) { + const e = i.uint32(); + i.skipType(7 & e); + } + return a; + }, + }), + (t.LocalAuthAPICheckAuthStatusResponse = { + encode: (e, t = r.Writer.create()) => (t.uint32(8).int32(e.result), t), + decode(e, t) { + const i = e instanceof Uint8Array ? new r.Reader(e) : e; + let n = void 0 === t ? i.len : i.pos + t; + const a = Object.assign({}, u); + for (; i.pos < n; ) { + const e = i.uint32(); + switch (e >>> 3) { + case 1: + a.result = i.int32(); + break; + default: + i.skipType(7 & e); + } + } + return a; + }, + }); + }, + function (e, t, i) { + "use strict"; + Object.defineProperty(t, "__esModule", { value: !0 }), (t.RPCError = void 0); + class n extends Error { + constructor(e, t) { + super(`${e.api}.${e.method}: ${t}`), Object.assign(this, e), (this.api = e.api), (this.method = e.method), (this.request = e.request), (this.requestedAt = e.requestedAt); + } + } + t.RPCError = n; + }, + function (e, t, i) {}, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(155), + s = i(50), + _ = i(62), + l = n(i(789)); + t.default = function ({ device: e }) { + const t = e.vitals(); + let i = t.getNumber("PVAC_Pout"), + n = (t.getNumber("PVAC_Iout"), t.getNumber("PVAC_LifetimeEnergyPV_Total")); + n && (n /= 1e3); + let c = [ + { number: 1, connected: t.getBoolean("PVS_StringA_Connected"), voltage: t.getNumber("PVAC_PVMeasuredVoltage_A"), current: t.getNumber("PVAC_PVCurrent_A") }, + { number: 2, connected: t.getBoolean("PVS_StringB_Connected"), voltage: t.getNumber("PVAC_PVMeasuredVoltage_B"), current: t.getNumber("PVAC_PVCurrent_B") }, + { number: 3, connected: t.getBoolean("PVS_StringC_Connected"), voltage: t.getNumber("PVAC_PVMeasuredVoltage_C"), current: t.getNumber("PVAC_PVCurrent_C") }, + { number: 4, connected: t.getBoolean("PVS_StringD_Connected"), voltage: t.getNumber("PVAC_PVMeasuredVoltage_D"), current: t.getNumber("PVAC_PVCurrent_D") }, + ], + d = t.getString("PVS_State"), + u = !!d && d.startsWith("PVS_SelfTest"); + return r.default.createElement( + r.default.Fragment, + null, + r.default.createElement(l.default, { device: e }), + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(a.FormattedMessage, { + id: "system_pvi_vitals_ac_solar_power_only", + defaultMessage: "AC Solar Power: {power}", + values: { power: r.default.createElement(o.Watts, { value: r.default.createElement(_.Vital, { value: i }) }) }, + }) + ), + r.default.createElement( + "p", + { className: "vitals-value" }, + r.default.createElement(a.FormattedMessage, { + id: "system_pvi_vitals_lifetime_energy_kwh", + defaultMessage: "Lifetime Energy: {energy}", + values: { energy: r.default.createElement(o.KiloWattHours, { value: r.default.createElement(_.Vital, { value: n }) }) }, + }) + ), + c.map((e) => + r.default.createElement( + "p", + { key: e.number, className: (0, s.classNames)("vitals-value", { "vitals-value-muted": u }) }, + e.connected || u + ? r.default.createElement(a.FormattedMessage, { + id: "system_pvi_vitals_string", + description: "Displays the DC voltage and current for the specified string of PV panels", + defaultMessage: "String {number}: {voltage} / {current}", + values: { + number: e.number, + voltage: r.default.createElement(o.Volts, { value: r.default.createElement(_.Vital, { value: e.voltage }) }), + current: r.default.createElement(o.Amps, { value: r.default.createElement(_.Vital, { value: e.current }) }), + }, + }) + : r.default.createElement(a.FormattedMessage, { + id: "system_pvi_vitals_string_not_connected", + description: "Indicates that no PV panels are connected to the specified string", + defaultMessage: "String {number}: Not connected", + values: { number: e.number }, + }) + ) + ) + ); + }; + }, + function (e, t, i) { + "use strict"; + var n = + (this && this.__importDefault) || + function (e) { + return e && e.__esModule ? e : { default: e }; + }; + Object.defineProperty(t, "__esModule", { value: !0 }); + const r = n(i(1)), + a = i(3), + o = i(50), + s = i(62), + _ = i(449); + var l, c; + !(function (e) { + (e.PVS_State_SNA = "PVS_State_SNA"), + (e.PVS_GridSupporting = "PVS_GridSupporting"), + (e.PVS_Fault = "PVS_Fault"), + (e.PVS_ActiveToIdleNotice = "PVS_ActiveToIdleNotice"), + (e.PVS_Active = "PVS_Active"), + (e.PVS_SelfTestRelayWeld = "PVS_SelfTestRelayWeld"), + (e.PVS_SelfTestMci = "PVS_SelfTestMci"), + (e.PVS_SelfTestArcFault = "PVS_SelfTestArcFault"), + (e.PVS_SelfTestIsolation = "PVS_SelfTestIsolation"), + (e.PVS_SelfTestPeImpedance = "PVS_SelfTestPeImpedance"), + (e.PVS_SelfTestGroundFault = "PVS_SelfTestGroundFault"), + (e.PVS_Standby = "PVS_Standby"), + (e.PVS_Idle = "PVS_Idle"), + (e.PVS_Init = "PVS_Init"), + (e.PVS_Off = "PVS_Off"); + })(l || (l = {})), + (function (e) { + (e.PVAC_State_SNA = "PVAC_State_SNA"), (e.PVAC_Active = "PVAC_Active"), (e.PVAC_Standby = "PVAC_Standby"), (e.PVAC_Faulted = "PVAC_Faulted"), (e.PVAC_Init = "PVAC_Init"); + })(c || (c = {})); + const d = (0, a.defineMessages)({ + [l.PVS_SelfTestGroundFault]: { id: "pvs-self-test-1", defaultMessage: "Self-test (1/6): Ground Fault" }, + [l.PVS_SelfTestArcFault]: { id: "pvs-self-test-2", defaultMessage: "Self-test (2/6): Arc Fault" }, + [l.PVS_SelfTestMci]: { id: "pvs-self-test-3", defaultMessage: "Self-test (3/6): MCI" }, + [l.PVS_SelfTestIsolation]: { id: "pvs-self-test-4", defaultMessage: "Self-test (4/6): Isolation" }, + [l.PVS_SelfTestRelayWeld]: { id: "pvs-self-test-5", defaultMessage: "Self-test (5/6): Relay Weld" }, + [l.PVS_SelfTestPeImpedance]: { id: "pvs-self-test-6", defaultMessage: "Self-test (6/6): Impedance" }, + }), + u = (0, a.defineMessages)({ + [c.PVAC_Init]: { id: "pvac-state-init", description: "Indicates the inverter is initializing.", defaultMessage: "Initializing..." }, + [c.PVAC_Faulted]: { id: "pvac-state-faulted", description: "Indicates the inverter is in a faulted state.", defaultMessage: "Faulted" }, + [c.PVAC_Standby]: { id: "pvac-state-standby", description: "Indicates the inverter is on stand-by.", defaultMessage: "Wait for Solar" }, + [c.PVAC_Active]: { id: "pvac-state-active", description: "Indicates the inverter is active.", defaultMessage: "Active" }, + }); + t.default = function ({ device: e }) { + const t = e.vitals(); + let i, + n = t.getString("PVS_State"), + l = t.getString("PVAC_State"), + c = t.getString("PVI-PowerStatusSetpoint") || _.PowerStatus.UNSET, + m = !1; + return ( + n && n in d + ? ((i = r.default.createElement(a.FormattedMessage, Object.assign({}, d[n]))), (m = !0)) + : (i = + c === _.PowerStatus.OFF || c === _.PowerStatus.DC_ONLY + ? r.default.createElement(a.FormattedMessage, Object.assign({}, _.powerStatusMessages[c])) + : l && l in u + ? r.default.createElement(a.FormattedMessage, Object.assign({}, u[l])) + : s.MissingValue), + r.default.createElement( + "p", + { className: (0, o.classNames)("vitals-value", { "vitals-value-selftest": m }) }, + r.default.createElement(a.FormattedMessage, { id: "system_pvi_vitals_state", defaultMessage: "State: {message}", values: { message: i } }) + ) + ); + }; + }, + function (e, t, i) { + e.exports = i.p + "c8fcb53fcd20652d2178b6f0b250133d.svg"; + }, + function (e, t, i) { + e.exports = i.p + "b8edeecd65dc2e9ab81897c5ee2db33e.svg"; + }, + function (e, t, i) { + e.exports = i.p + "a850d2157007ce3dcec027b4e229da17.png"; + }, + function (e, t, i) { + e.exports = i.p + "f3e32873e5f25c0515bc4c3485ebf289.png"; + }, + function (e, t, i) { + e.exports = i.p + "5101b9205648ce60c79f155a9f738027.png"; + }, + function (e, t, i) {}, + function (e, t, i) { + e.exports = i.p + "43b51e1b10d9be72e3f138207d0dcb50.png"; + }, + function (e, t, i) { + e.exports = i.p + "cb0da8a8999c06735455bf5056a5cd78.png"; + }, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + function (e, t, i) {}, + , + , + , + , + , + , + , + function (e, t) {}, + , + , + , + , + , + function (e, t) {}, + , + , + , + , + function (e, t, i) {}, + function (e, t, i) {}, + , + function (e, t, i) {}, + function (e, t, i) {}, + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + function (e, t, i) { + "use strict"; + i.r(t); + var n = {}; + i.r(n), + i.d(n, "showBanner", function () { + return j; + }), + i.d(n, "destroyBanner", function () { + return W; + }), + i.d(n, "destroyBanners", function () { + return F; + }); + var r = i(18), + a = i.n(r), + o = i(292), + s = i.n(o), + _ = i(0), + l = i.n(_), + c = i(1), + d = i.n(c), + u = i(3), + m = i(35), + p = i(17), + g = i(49), + w = i(55), + v = i(66), + f = i.n(v), + h = i(14), + E = i(29), + b = i(154), + y = i(10), + S = i(2); + i(640); + function R(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const T = Object(u.defineMessages)({ + tryLoggingInAgain: { id: "error_item_view_try_logging_in_again", defaultMessage: "Try logging in again." }, + refreshBrowser: { id: "error_item_view_refresh_browser", defaultMessage: "Refresh browser." }, + disconnected: { id: "error_item_view_disconnected", defaultMessage: "Disconnected from Gateway. Check network connection and {refresh}" }, + checkNetwork: { id: "error_item_view_check_network", defaultMessage: "Check network connection." }, + }); + class A extends c.Component { + constructor(...e) { + super(...e), R(this, "_handleClick", this._handleClick.bind(this)), R(this, "_navigateToSecurity", this._navigateToSecurity.bind(this)); + } + render() { + const { error: e, intl: t } = this.props; + let n = null, + r = null, + a = e.message, + o = "", + s = null != a && !(a.lastIndexOf(".") === a.length - 1), + _ = !1; + return ( + e instanceof h.default && + (e.isDetailed() && (n = c.createElement("img", { "data-testid": "8610cc7e-2d95-433c-b4f2-d8f221997d2c", className: "error-info", alt: "Detailed Error", src: i(298), onClick: this._handleClick })), + (_ = e.isUnauthorized()), + (o = e.toErrorString())), + Object(E.p)(a) || _ + ? (r = + e.name && e.name === S.RECEIVE_LOGIN_ERROR + ? c.createElement("u", { onClick: this._navigateToSecurity }, c.createElement(u.FormattedMessage, { id: "error_item_view_forgot_password", defaultMessage: "Click to reset password." })) + : c.createElement("a", { "data-testid": "81f30817-fd59-4219-81a1-f9770578976c", className: "refresh", onClick: b.b }, t.formatMessage(T.tryLoggingInAgain))) + : Object(E.j)(a) + ? ((o = t.formatMessage(T.disconnected, { refresh: "" })), + (s = !1), + (r = c.createElement("a", { "data-testid": "391bbcd8-77e4-46fb-aeed-93b5655d4c29", className: "refresh text-lowercase", onClick: b.b }, t.formatMessage(T.refreshBrowser)))) + : Object(E.q)(a) + ? (r = c.createElement("a", { "data-testid": "2a56dd50-21f9-46da-a789-86662115ed52", className: "refresh", onClick: b.b }, t.formatMessage(T.refreshBrowser))) + : Object(E.k)(a) && ((s = !1), (r = c.createElement("a", { "data-testid": "28a36a86-b956-4612-8756-cbf01fd6d1a7", className: "error-link", href: "/network" }, t.formatMessage(T.checkNetwork)))), + c.createElement("p", { "data-testid": "9d67a30d-6c1d-4d2a-861a-74593cd27470", className: "error-item" }, o || a, s ? "." : "", r ? " " : "", r, n) + ); + } + _navigateToSecurity() { + let e = "/password"; + this.props.selectedLoginType !== y.c.CUSTOMER && (e += "?mode=" + y.c.INSTALLER), p.browserHistory.push(e); + } + _handleClick(e) { + this.props.handleClick && this.props.handleClick(e); + } + } + R(A, "propTypes", { intl: u.intlShape.isRequired, error: l.a.instanceOf(h.default).isRequired, handleClick: l.a.func, selectedLoginType: l.a.oneOf(Object.values(y.c)) }); + var C, I, O; + i(641); + function N(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function k(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class P extends c.Component { + constructor(e) { + super(e), (this.ui = {}), (this._handleHidden = this._handleHidden.bind(this)); + } + componentDidMount() { + (this.ui.modal = f()(this.refs.modal)), + this.ui.modal.modal( + (function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? N(Object(i), !0).forEach(function (t) { + k(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : N(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + })({}, this.props.bootstrapProps) + ), + this.ui.modal.on("hidden.bs.modal", this._handleHidden), + this.props.fadeIn && (this.ui.fade = f()(".modal.fade.in")), + this.props.onMount && this.props.onMount(); + } + componentWillUnmount() { + this.ui.modal.off("hidden.bs.modal", this._handleHidden), this.ui.modal.modal("hide"), this.ui.fade && this.ui.fade.length && this.ui.fade.remove(), this.props.onUnmount && this.props.onUnmount(); + } + render() { + const { + size: e, + centered: t, + fullscreen: i, + fadeIn: n, + showCancel: r, + showBorders: a, + showErrors: o, + modalClass: s, + errors: _, + selectedLoginType: l, + bannerView: d, + headerView: u, + contentView: m, + footerView: p, + } = this.props; + return c.createElement( + "div", + { "data-testid": "6c45a17b-1a5a-4dec-8351-665862b60642", className: this._getModalClassName(t, i, n, a, s, o, _), tabIndex: "-1", role: "dialog", ref: "modal" }, + c.createElement( + "div", + { "data-testid": "0e8ca6c4-0912-426e-9fb4-9600c6cfd314", className: "modal-dialog modal-" + e, role: "document" }, + c.createElement( + "div", + { "data-testid": "85b231c4-419d-4b0b-a37b-69f4cafd4aae", className: "modal-content" }, + d && this._getModalBanner(d), + u && this._getModalHeader(u, r, o, _, l), + m && this._getModalContent(m), + p && this._getModalFooter(p) + ) + ) + ); + } + _getModalClassName(e, t, i, n, r, a, o) { + let s = ["modal"]; + return e && s.push("modal-center"), t && s.push("modal-fullscreen"), i && s.push("fade"), n || s.push("modal-no-borders"), r && s.push(r), a && o.length && (s.push("modal-error"), i && s.push("in")), s.join(" "); + } + _getModalBanner(e) { + return c.createElement("div", null, e); + } + _getModalHeader(e, t, i, n, r) { + let a = []; + return ( + i && n.length && (a = n.map((e, t) => c.createElement(A, { intl: this.props.intl, key: t, error: e, selectedLoginType: r }))), + c.createElement("div", { "data-testid": "53249177-ed6d-400d-aff2-e3e77db701f4", className: "modal-header" }, this._getCancel(t), e, a) + ); + } + _getCancel(e) { + return e + ? c.createElement( + "button", + { "data-testid": "33954d8f-f1b2-47c5-85ed-2bbd210cdbe5", type: "button", className: "close", "data-dismiss": "modal", "aria-label": "Close" }, + c.createElement("span", { "data-testid": "df78842b-6663-4a34-b983-e698658d2f47", "aria-hidden": "true" }, "×") + ) + : null; + } + _getModalContent(e) { + return c.createElement("div", { "data-testid": "26d958a5-5f8d-4b2d-867b-9e0b942de3f7", className: "modal-body" }, e); + } + _getModalFooter(e) { + return c.createElement("div", { "data-testid": "3722b54d-83dd-4180-b93d-c82a43b68239", className: "modal-footer" }, e); + } + _handleHidden() { + this.props.hideModal && this.props.hideModal(); + } + } + function D() { + return (D = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + k(P, "propTypes", { + intl: u.intlShape.isRequired, + size: l.a.string.isRequired, + centered: l.a.bool.isRequired, + fullscreen: l.a.bool.isRequired, + fadeIn: l.a.bool.isRequired, + showCancel: l.a.bool.isRequired, + showBorders: l.a.bool.isRequired, + showErrors: l.a.bool.isRequired, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + modalClass: l.a.string, + bannerView: l.a.element, + headerView: l.a.element, + contentView: l.a.element, + footerView: l.a.element, + hideModal: l.a.func, + onMount: l.a.func, + onUnmount: l.a.func, + bootstrapProps: l.a.object, + }), + k(P, "defaultProps", { size: "md", centered: !1, fullscreen: !1, fadeIn: !0, showCancel: !0, showBorders: !1, showErrors: !0, errors: [] }); + class L extends c.Component { + render() { + const { modalType: e, modalProps: t, bootstrapProps: i, hideModal: n, errors: r, selectedLoginType: a, intl: o } = this.props; + return e ? c.createElement(P, D({}, t, { intl: o, bootstrapProps: i, hideModal: n, selectedLoginType: a, errors: r.filter((t) => !(e === y.b && Object(E.l)(t.message))) })) : null; + } + } + (C = L), + (I = "propTypes"), + (O = { + intl: u.intlShape.isRequired, + modalType: l.a.string, + modalProps: l.a.object, + bootstrapProps: l.a.object, + hideModal: l.a.func, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + }), + I in C ? Object.defineProperty(C, I, { value: O, enumerable: !0, configurable: !0, writable: !0 }) : (C[I] = O); + var M = Object(m.connect)( + (e, t) => { + const { authentication: i, modal: n, error: r } = e; + return { modalType: n.modalType, modalProps: n.modalProps, bootstrapProps: n.bootstrapProps, errors: r.items, selectedLoginType: i.selectedLoginType }; + }, + (e) => ({ + hideModal: () => { + e(Object(w.hideModal)()); + }, + }) + )(Object(u.injectIntl)(L)), + z = i(150), + U = i(133), + V = i(7), + G = i(6); + const j = Object(G.b)(S.SHOW_BANNER, "bannerProps"), + W = Object(G.b)(S.DESTROY_BANNER, "name"), + F = Object(G.b)(S.DESTROY_ALL_BANNERS); + var q = i(74), + x = i(135), + B = i(39), + H = i(109), + K = i(5), + Y = i.n(K), + Q = i(4); + function Z() { + return function (e) { + fetch(Y.a.api.uri + "/troubleshooting/problems", { credentials: Y.a.credentials }) + .then(Q.checkStatus) + .then((e) => e.json()) + .then((t) => { + var i; + t && Array.isArray(t.problems) && e(((i = t.problems), { type: S.RECEIVE_INSTALLATION_PROBLEMS, problems: i })); + }) + .catch((e) => {}); + }; + } + var J = i(20), + X = i.n(J), + $ = i(554), + ee = i.n($), + te = i(28), + ie = i(68), + ne = i(48); + i(646); + function re(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class ae extends c.Component { + render() { + const { headerClass: e, title: t, subtitle: i, subtitleView: n, additionalView: r, email: a, errors: o, progress: s, handleClick: _, kioskMode: l, selectedLoginType: d, intl: m, installationProblems: g } = this.props; + let w = null, + v = [], + f = []; + return ( + o.length && (v = o.map((e, t) => c.createElement(A, { intl: m, key: t, error: e, handleClick: _, selectedLoginType: d }))), + (w = i ? c.createElement("p", { "data-testid": "092c8885-9b44-4193-b471-90781f43b19c", className: "subtitle" }, i) : n), + Array.isArray(g) && + g.length > 0 && + (f = g.map((e) => { + const t = ne.installationProblemTitles[e]; + if (!t) return null; + switch (e) { + case ne.InstallationProblems.PVACsWithNoSolarRGM: + case ne.InstallationProblems.TooManySolarRGM: + case ne.InstallationProblems.TooFewSolarRGM: + return c.createElement( + "div", + { key: e }, + c.createElement(p.Link, { onClick: () => this._showSolarRGMProblemModal(e) }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, t)) + ); + default: + return c.createElement("div", { key: e }, c.createElement(p.Link, { to: "/system" }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, t))); + } + })), + c.createElement( + "div", + { "data-testid": "ce33805a-86b7-4f6d-807e-c4e305cb3205", className: this._getClassName(e, o) }, + c.createElement( + "div", + { "data-testid": "8300b4f1-fdc2-458d-94b8-3f69f84f436f", className: "container" }, + this._getProgressIndication(a, s, l), + c.createElement("h2", { "data-testid": "361ccdc2-ce7c-4772-a631-f833bd8c2193", className: "title" }, t), + w, + r, + v, + f + ) + ) + ); + } + _showSolarRGMProblemModal(e) { + this.props.showModal("PROBLEMS_MODAL", { + modalClass: "modal-caution", + size: "md", + centered: !1, + showCancel: !0, + showErrors: !0, + headerView: c.createElement("h2", { className: "modal-title" }, c.createElement(u.FormattedMessage, ne.installationProblemTitles[e])), + contentView: c.createElement("div", null, c.createElement(u.FormattedMessage, ne.installationProblemDetails[e])), + footerView: c.createElement( + "div", + { className: "center-block" }, + c.createElement("button", { type: "button", className: "btn btn-primary", "data-dismiss": "modal" }, c.createElement(u.FormattedMessage, te.buttons.CLOSE)) + ), + }); + } + _getClassName(e, t) { + let i = ["header", e]; + return t.length && i.push("error"), i.join(" "); + } + _getProgressIndication(e, t, i) { + if (i || (!t && !e)) return null; + let n = ""; + return e && (n += e), t && (n += ` ${t}/${this.props.isResi ? 13 : 9}`), c.createElement("p", { "data-testid": "0438bf7f-2a09-4985-8749-4f5c28b91dc4", className: "wizard-progress" }, n); + } + } + re(ae, "propTypes", { + intl: u.intlShape.isRequired, + headerClass: l.a.string.isRequired, + title: l.a.string.isRequired, + subtitle: l.a.string, + subtitleView: l.a.element, + additionalView: l.a.element, + email: l.a.string, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + progress: l.a.number.isRequired, + handleClick: l.a.func.isRequired, + kioskMode: l.a.bool.isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + isResi: l.a.bool.isRequired, + installationProblems: l.a.array.isRequired, + showModal: l.a.func.isRequired, + }), + re(ae, "defaultProps", { title: "", subtitle: "", subtitleView: null, additionalView: null, errors: [], progress: 0, installationProblems: [] }); + var oe = i(26), + se = i(60), + _e = i(126); + function le() { + return (le = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + class ce extends c.Component { + constructor(e) { + super(e), (this._handleDetailedClick = this._handleDetailedClick.bind(this)); + } + render() { + const { headerType: e, headerProps: t, errors: i, email: n, kioskMode: r, selectedLoginType: a, intl: o, isResi: s, installationProblems: _, showModal: l } = this.props; + return t.title + ? c.createElement(ae, le({ isResi: s, intl: o, errors: i, email: n, headerClass: e, handleClick: this._handleDetailedClick, kioskMode: r, selectedLoginType: a, installationProblems: _, showModal: l }, t)) + : null; + } + _handleDetailedClick(e) { + this.props.showModal("DETAILED_ERROR_MODAL", { + modalClass: "modal-error", + size: "lg", + centered: !0, + showCancel: !1, + showErrors: !1, + headerView: c.createElement("h2", { "data-testid": "229cc453-2a7f-4b73-b53f-1be26ffdcbdc", className: "modal-title" }, this.props.intl.formatMessage(oe.errorMessages.details)), + contentView: c.createElement( + "div", + { "data-testid": "d757513a-9115-4fbc-993e-2b3404a8f4c5" }, + c.createElement( + "ul", + { "data-testid": "a4d93b83-2d09-4111-a8d9-79931254aef0", className: "detailed-errors" }, + Object(E.b)(this.props.errors).map((e, t) => + c.createElement( + "li", + { "data-testid": "6f7e814c-9bae-40b7-a93a-749dc41528ba", key: t }, + c.createElement("div", { "data-testid": "992d8ad6-e14a-4245-84b8-82152941eabd", className: "line-breaks" }, e.toDetailedString()) + ) + ) + ) + ), + footerView: c.createElement( + "button", + { "data-testid": "19625f9d-50ec-4956-a59a-5f4f434fc47d", type: "button", className: "btn btn-link center-block", "data-dismiss": "modal" }, + c.createElement(u.FormattedMessage, te.buttons.CLOSE) + ), + }); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(ce, "propTypes", { + intl: u.intlShape.isRequired, + headerType: l.a.string, + headerProps: l.a.shape({ title: l.a.string }).isRequired, + email: l.a.string, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + kioskMode: l.a.bool.isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + isResi: l.a.bool.isRequired, + installationProblems: l.a.array.isRequired, + }); + var de = Object(m.connect)( + (e, t) => { + const { header: i, authentication: n, error: r } = e; + return { + headerType: i.headerType, + headerProps: i.headerProps, + email: n.email, + selectedLoginType: n.selectedLoginType, + errors: r.items, + kioskMode: t.location.query.mode === y.c.KIOSK, + isResi: Object(se.isResiGatewaySelector)(e), + installationProblems: Object(_e.b)(e), + }; + }, + (e) => ({ + showModal: (t, i, n) => { + e(Object(w.showModal)(t, i, n)); + }, + }) + )(Object(u.injectIntl)(ce)), + ue = i(50); + i(647); + function me(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class pe extends c.Component { + _renderDefaultView() { + const { title: e, message: t } = this.props; + return c.createElement( + "div", + { "data-testid": "7c9c24f1-3171-4b44-b739-d40696a3e6ae", className: "container text-break" }, + null != e ? c.createElement("p", { "data-testid": "0de58fa5-e1b6-4084-9d80-148ad4bf6324", className: "text-extra-large mt-1" }, e) : null, + c.createElement("p", { "data-testid": "462f9c99-d750-4a98-8142-c755e0f7e39a", className: "text-medium " + (null != e ? "no-margin" : "mt-1") }, t) + ); + } + render() { + return c.createElement( + "div", + { "data-testid": "23935f4a-3964-46da-a559-9b3828970a14", className: Object(ue.classNames)("absolute flex py-5 banner-container", this.props.containerClasses) }, + this.props.contentView || this._renderDefaultView(), + c.createElement("div", { "data-testid": "1a33ddfd-a96a-48fb-8c63-379befbc0285", className: "text-larger absolute px-2 banner-close", onClick: this.props.onClose }, "×") + ); + } + } + me(pe, "zIndex", 10), me(pe, "propTypes", { contentView: l.a.element, title: l.a.string, message: l.a.string, containerClasses: l.a.string, onClose: l.a.func.isRequired }), me(pe, "defaultProps", { containerClasses: "" }); + var ge = i(15); + class we extends c.Component { + constructor(e) { + super(e), (this.state = { closing: !1 }); + } + _getCloseHandler(e, t) { + const { destroyBanner: i } = this.props; + return async () => { + this.state.closing || + this.setState({ closing: !0 }, async () => { + await Object(ge.d)(200), i(e), t && t(), this.setState({ closing: !1 }); + }); + }; + } + render() { + if (this.props.banners.length < 1) return null; + const e = this.props.banners[0], + { name: t, closeCallback: i, containerClasses: n, contentView: r, title: a, message: o } = e; + return c.createElement( + "div", + { "data-testid": "fbf0f7cc-6e47-4e1d-be38-17f916d8076f", className: "banners-container" }, + c.createElement(pe, { + key: t, + contentView: r, + title: a, + message: o, + containerClasses: Object(ue.classNames)({ "slide-out-top": this.state.closing, "slide-in-top": !this.state.closing }, n || ""), + onClose: this._getCloseHandler(t, i), + }) + ); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(we, "propTypes", { banners: l.a.arrayOf(l.a.object).isRequired, destroyBanner: l.a.func.isRequired }); + var ve = Object(m.connect)( + (e) => ({ banners: e.banner.items }), + (e) => ({ + destroyBanner(t) { + e(W(t)); + }, + }) + )(Object(u.injectIntl)(we)), + fe = i(58); + i(426); + function he() { + return (he = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function Ee(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function be(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Ee(Object(i), !0).forEach(function (t) { + ye(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : Ee(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function ye(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const Se = { route: l.a.string, text: l.a.string, onClick: l.a.func, buttonClass: l.a.string, additionalProps: l.a.object }; + class Re extends c.Component { + constructor(e) { + super(e), (this.ui = {}), (this._handleClick = this._handleClick.bind(this)); + } + render() { + const { footerClass: e, back: t, cancel: i, forward: n } = this.props; + return c.createElement( + "div", + { "data-testid": "134d20db-2e72-4492-a144-db29e5937d75", className: this._getClassName(e) }, + c.createElement( + "div", + { "data-testid": "3131d07c-cbb5-4233-991c-b56fc24f1501", className: "container" }, + c.createElement( + "div", + { "data-testid": "503c0c08-0e04-467f-9778-28a8bff38b6c", className: "row" }, + c.createElement("div", { "data-testid": "e5e7071f-68a3-4e72-9b80-95825520f022", className: "col-xs-4 back-section" }, this._getLink(fe.a.BACK, t)), + c.createElement("div", { "data-testid": "4e41cfcb-2350-45a5-9b4a-08479fa9e71b", className: "col-xs-4 no-padding cancel-section" }, this._getLink(fe.a.CANCEL, i)), + c.createElement("div", { "data-testid": "beaf52e5-59fa-4eed-b3e7-2fefced724d5", className: "col-xs-4 forward-section" }, this._getLink(fe.a.FORWARD, n)) + ) + ) + ); + } + componentDidMount() { + (this.ui.tooltip = f()('[data-toggle="tooltip"]')), this.ui.tooltip && this.ui.tooltip.length && this.ui.tooltip.tooltip(); + } + _getClassName(e) { + return ["footer", e].join(" "); + } + _getLink(e, t) { + const { route: i, text: n, onClick: r, buttonClass: a, additionalProps: o } = t; + if (i || r) { + let t = be({ to: i, type: e, onClick: this._handleClick, className: this._getLinkClassName(e, a) }, o), + r = + n.indexOf("< ") > -1 + ? c.createElement( + "svg", + { width: "8px", height: "10px", viewBox: "0 0 8 10" }, + c.createElement( + "g", + { id: "left-chevron", fill: "none", fillRule: "evenodd", strokeWidth: "2", stroke: "inherit", transform: "translate(-18.000000, -1120.000000) translate(20.000000, 1116.000000)" }, + c.createElement("polyline", { + transform: "translate(2.531860, 8.995758) rotate(-180.000000) translate(-2.531860, -8.995758) ", + points: "-7.10542736e-15 12.9915161 5.0637207 8.95031738 0.0109863281 5", + }) + ) + ) + : null, + s = + n.indexOf(" >") > -1 + ? c.createElement( + "svg", + { width: "8px", height: "10px", viewBox: "0 0 8 10" }, + c.createElement( + "g", + { id: "right-chevron", fill: "none", fillRule: "evenodd", strokeWidth: "2", stroke: "inherit", transform: "translate(-332.000000, -1121.000000)" }, + c.createElement("polyline", { points: "333 1129.99152 338.063721 1125.95032 333.010986 1122" }) + ) + ) + : null; + return "/" === i ? c.createElement(p.IndexLink, t, r, this._getText(n), s) : c.createElement(p.Link, he({ "data-testid": "eaaace92-28e7-4758-b87e-4335215a72dd" }, t), r, this._getText(n), s); + } + if (n) { + let e = be({ className: a || "btn-text" }, o); + return c.createElement("a", he({ "data-testid": "d0e40650-58fc-449a-a81f-5de2daee5799" }, e), n); + } + return null; + } + _getLinkClassName(e, t) { + let i = e.toLowerCase() + "-link"; + return t && (i += " " + t), i; + } + _getText(e) { + return e.indexOf("< ") > -1 ? e.replace("< ", "") : e.indexOf(" >") > -1 ? e.replace(" >", "") : e; + } + _handleClick(e) { + let t = e.target, + i = t.getAttribute("type"); + t.getAttribute("href") || e.preventDefault(), i && this.props[i.toLowerCase()].onClick && this.props[i.toLowerCase()].onClick(e); + } + } + ye(Re, "propTypes", { footerClass: l.a.string.isRequired, back: l.a.shape(Se).isRequired, cancel: l.a.shape(Se).isRequired, forward: l.a.shape(Se).isRequired }), ye(Re, "defaultProps", { back: {}, cancel: {}, forward: {} }); + class Te extends c.Component { + render() { + const { navigationType: e, back: t, cancel: i, forward: n } = this.props; + return t.route || n.route || i.route || i.onClick || t.onClick || n.onClick ? c.createElement(Re, { footerClass: e, back: t, cancel: i, forward: n }) : null; + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(Te, "propTypes", { navigationType: l.a.string, back: l.a.object.isRequired, cancel: l.a.object.isRequired, forward: l.a.object.isRequired }); + var Ae = Object(m.connect)((e, t) => { + const { navigation: i } = e; + return { navigationType: i.navigationType, back: i.back, cancel: i.cancel, forward: i.forward }; + })(Te), + Ce = i(555), + Ie = i(136), + Oe = i(108); + i(648); + class Ne extends c.Component { + constructor(e) { + super(e), (this.state = { offset: 0, startTimestamp: 0, closing: !1 }), (this._handleStart = this._handleStart.bind(this)), (this._handleStop = this._handleStop.bind(this)), (this._handleDrag = this._handleDrag.bind(this)); + } + _renderHeader() { + const { type: e, header: t } = this.props, + i = c.createElement("button", { "data-testid": "3eb9001c-000f-4631-afce-231723abd0e5", type: "button", ref: (e) => (this.closeButton = e), className: "close toast-close px-2 py-1" }, "×"); + switch (e) { + case Ie.WARNING_TOAST: + return c.createElement( + "div", + { "data-testid": "cdf90d0c-deff-4515-81ef-cf8fe1428eef", className: "toast-header toast-warning-header py-1 pl-2" }, + c.createElement("strong", { className: "toast-title" }, t || c.createElement(u.FormattedMessage, { id: "toast_view_warning_title", defaultMessage: "Warning" })), + i + ); + case Ie.STANDARD_TOAST: + default: + return c.createElement( + "div", + { "data-testid": "186dadde-46f4-4889-89d0-bcf85f3dd46d", className: "toast-header toast-standard-header py-1 pl-2" }, + c.createElement("strong", { className: "toast-title" }, t || c.createElement(u.FormattedMessage, { id: "toast_view_standard_title", defaultMessage: "Note" })), + i + ); + } + } + render() { + const e = { transform: `translateX(${this.state.offset}px)` }, + t = this.props.link + ? c.createElement( + "p", + { "data-testid": "798ac791-9579-4610-8cdc-2e0f2cf5dd88", className: "toast-link px-2 py-3 hand" }, + c.createElement("span", { "data-testid": "d5262048-88c3-429b-96c9-95e139ca7901" }, this.props.message), + c.createElement("img", { "data-testid": "a4d2c88e-2f52-4751-9d87-130be5876ec4", className: "caret-right toast-link-indicator ml-1", src: i(153) }) + ) + : c.createElement("span", { "data-testid": "c78e8e56-e68d-449c-ab72-ef733abb74de", className: "px-2 py-3" }, this.props.message); + return c.createElement( + Ce.DraggableCore, + { axis: "x", handle: ".handle", onStart: this._handleStart, onStop: this._handleStop, onDrag: this._handleDrag, grid: [5] }, + c.createElement( + "div", + { "data-testid": "d1b2275c-f235-4032-9954-32d780124b2f", className: "toast handle " + (this.state.closing ? "fade-out" : "fade-in"), role: "alert", style: e }, + this._renderHeader(), + c.createElement("div", { "data-testid": "024c5b58-a596-424a-bec3-131ba89f54e6", className: "toast-body" }, t) + ) + ); + } + _navigateToLink() { + this.props.link && p.browserHistory.push(this.props.link); + } + _handleStart(e, t) { + this.setState({ startTimestamp: Date.now() }); + } + _handleStop(e, t) { + e.preventDefault(); + const i = Math.abs(this.state.offset); + i > 125 || e.target.isSameNode(this.closeButton) + ? this.setState({ closing: !0 }, async () => { + await Object(ge.d)(300), this.props.onClose(); + }) + : i < 5 && Date.now() - this.state.startTimestamp < Oe.b + ? this._navigateToLink() + : this.setState({ offset: 0, startTimestamp: 0 }); + } + _handleDrag(e, t) { + t && this.setState((e) => ({ offset: e.offset + t.deltaX })); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(Ne, "propTypes", { intl: u.intlShape.isRequired, type: l.a.string.isRequired, link: l.a.string, header: l.a.string, message: l.a.string.isRequired, onClose: l.a.func.isRequired }); + i(649); + function ke() { + return (ke = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + class Pe extends c.Component { + _createCloseHandler(e) { + return () => { + this.props.clearToast(e); + }; + } + render() { + return c.createElement( + "div", + { "data-testid": "3af20fbe-4447-43a9-84fe-8ad6c315ac8d", className: "toast-list" }, + this.props.items.map(({ name: e, toastProps: t }) => c.createElement(Ne, ke({}, t, { intl: this.props.intl, key: e, onClose: this._createCloseHandler(e) }))) + ); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(Pe, "propTypes", { + intl: u.intlShape.isRequired, + items: l.a.arrayOf(l.a.shape({ name: l.a.string.isRequired, toastProps: l.a.shape({ type: l.a.string.isRequired, link: l.a.string, header: l.a.string, message: l.a.string.isRequired }).isRequired })).isRequired, + clearToast: l.a.func.isRequired, + }); + class De extends c.Component { + render() { + return c.createElement(Pe, { intl: this.props.intl, items: this.props.items, clearToast: this.props.clearToast }); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(De, "propTypes", { + intl: u.intlShape.isRequired, + clearToast: l.a.func.isRequired, + items: l.a.arrayOf(l.a.shape({ name: l.a.string.isRequired, toastProps: l.a.shape({ type: l.a.string.isRequired, link: l.a.string, header: l.a.string, message: l.a.string.isRequired }).isRequired })).isRequired, + }); + var Le = Object(m.connect)( + (e, t) => ({ items: e.toast.items }), + (e) => ({ + clearToast: (t) => { + e(Object(q.a)(t)); + }, + }) + )(Object(u.injectIntl)(De)); + i(650), i(651); + class Me extends c.Component { + componentDidUpdate(e) { + if (this.props.location !== e.location) { + const e = X.a.findDOMNode(this); + e instanceof Element && (e.scrollTop = 0); + } + } + render() { + const { location: e, contentClass: t } = this.props; + return c.createElement( + "div", + { "data-testid": "cf45a2bf-efcd-40b6-9d74-0ea00f0ddab8", className: "app" }, + c.createElement(de, { location: e }), + c.createElement(ve, null), + c.createElement( + "div", + { "data-testid": "affb039c-7bd1-4af7-ab29-894c542cfe7e", className: t }, + c.createElement("div", { "data-testid": "1fefe302-3d07-4899-8ea3-db115acb38f5", className: "container" }, c.createElement(ee.a, { logError: h.default.logFatal }, this.props.children)) + ), + c.createElement(Le, null), + c.createElement(Ae, null), + c.createElement(M, null) + ); + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(Me, "propTypes", { children: l.a.element.isRequired, location: l.a.object.isRequired, contentClass: l.a.string.isRequired }); + var ze = i(190), + Ue = i(129), + Ve = i(21), + Ge = i(45), + je = i(46), + We = i(521), + Fe = i(201), + qe = i(56); + function xe(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function Be(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? xe(Object(i), !0).forEach(function (t) { + He(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : xe(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function He(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const Ke = Object(u.defineMessages)({ + firmwareUpdateTitle: { id: "app_container_firmware_update_banner_title", defaultMessage: "Firmware Update In Progress" }, + firmwareUpdateMessage: { id: "app_container_firmware_update_banner_message", defaultMessage: "Leave installation and wiring undisturbed and remain on this page until update is complete." }, + engineeringModeTitle: { id: "app_container_engineering_mode_title", defaultMessage: "Tesla Service Mode" }, + engineeringModeMessage: { + id: "app_container_engineering_mode_banner_message", + defaultMessage: + "Tesla Service Mode requires no authentication. Please 'Stop System' if you are making operational changes. Before closing the browser, leave the System in an acceptable state. Please close the browser when completed since this mode requires no authentication.", + }, + sitemasterRunningTitle: { id: "app_container_sitemaster_running_banner_title", defaultMessage: "System Running" }, + sitemasterMessage: { + id: "app_container_sitemaster_message_title", + defaultMessage: "The system is currently running. In order to view the status of the battery blocks, the system must be shut down. You can stop the system from the home page.", + }, + sitemasterPowerSupplyModeTitle: { id: "app_container_sitemaster_power_supply_mode_banner_title", defaultMessage: "Grid Forming Mode" }, + sitemasterPowerSupplyModeMessage: { + id: "app_container_sitemaster_power_supply_mode_banner_message", + defaultMessage: "Battery producing AC voltage to power devices for pairing and configuration. Button to stop system on landing page.", + }, + }); + class Ye extends c.Component { + constructor(e) { + super(e), He(this, "_handleLogin", this._handleLogin.bind(this)), He(this, "_startToggleAuth", this._startToggleAuth.bind(this)), (this.state = { canShowEngineeringMode: !0 }); + } + componentWillMount() { + this.props.initializeConfig(), this.props.fetchSupportsToggleAuth(), this.props.isResi && (this.fetchSupportsToggleAuthInterval = window.setInterval(this.props.fetchSupportsToggleAuth, 1e4)); + } + componentDidMount() { + this._checkAuthentication(), + this._checkFirmwareUpdate(), + this.props.fetchSitemasterSettings(), + this.props.fetchInstallationProblems(), + this.props.requestSitemasterStatusThunk(), + (this.requestSitemasterStatusThunk = setInterval(this.props.requestSitemasterStatusThunk, 1e4)), + (this.fetchInstallationProblemsInterval = setInterval(this.props.fetchInstallationProblems, 5e3)), + this._checkSitemasterStatus(); + } + componentDidUpdate(e, t) { + e.hash && e.hash !== this.props.hash && window.location.reload(); + const { isResi: i, bootstrapped: n } = this.props; + i && e && e.isResi && n && clearInterval(this.requestSitemasterStatusThunk), + this._checkSitemasterStatus(e), + this._checkAuthentication(e), + this._checkFirmwareUpdate(e), + this._showEngineeringBanner(), + this.props.currentlyDisplayedModalType === y.b && Object(Ve.isAuthenticated)(this.props.authentication, this.props.error.items) && (this.props.clearErrors(), this.props.destroyModal(y.b)); + } + componentWillUnmount() { + const { isResi: e } = this.props; + e || clearInterval(this.requestSitemasterStatusThunk), window.clearInterval(this.fetchSupportsToggleAuthInterval), window.clearInterval(this.fetchInstallationProblemsInterval); + } + render() { + return this.props.persisted && this.props.bootstrapped + ? Object(Ve.isAuthenticated)(this.props.authentication, this.props.error.items) || y.i.includes(this.props.location.pathname) + ? c.createElement(Me, { location: this.props.location, contentClass: this._getClassName(this.props.location.pathname) }, this.props.children) + : a()(this.props, (e) => e.children.props.route.path) && "*" === this.props.children.props.route.path + ? c.createElement( + "div", + { "data-testid": "9de6fd35-133d-4513-9f1a-364c2b331ece", className: "app" }, + c.createElement("div", { "data-testid": "66e6becb-36d0-4f96-ba5a-e61318e964d9", className: "container" }, this.props.children) + ) + : c.createElement(M, null) + : null; + } + componentWillReceiveProps(e) { + const { resetNavigation: t, resetHeader: i, clearErrors: n, hideModal: r, location: a, authentication: o, clearToasts: s } = e; + if ( + (this.props.location.pathname !== a.pathname && this.props.fetchSitemasterSettings(), + this.props.authentication.lastLoginAt !== o.lastLoginAt && null !== o.lastLoginAt && p.browserHistory.push(a), + this.props.location.pathname !== a.pathname) + ) { + if (this.props.location.pathname.indexOf("network") > -1 && a.pathname.indexOf("network") > -1) return void n(); + n(), t(), i(), s(), r(); + } + } + _checkAuthentication(e, t) { + const { + showModal: i, + authentication: n, + location: r, + intl: a, + changeUsername: o, + error: s, + persisted: _, + bootstrapped: l, + getLoginHeaderView: d, + handleChangeLoginModal: u, + isResi: m, + cancelPendingToggleAuth: g, + deviceType: w, + tegType: v, + } = this.props, + { selectedLoginType: f } = n; + _ && + l && + (!Object(Ve.isCustomer)(n, s.items) || y.g.includes(r.pathname) + ? Object(Ve.isAuthenticated)(n, s.items) || + y.i.includes(r.pathname) || + (y.h.includes(r.pathname) && e && e.authentication.lastLoginAt !== n.lastLoginAt && null === n.lastLoginAt) || + ("pvinverter" !== v + ? (Object(Ve.hasExpiredSession)(s.items) && (Object(Ge.a)("AuthCookie"), this.props.resetAuthentication()), + i( + y.b, + { + modalClass: "modal-login", + centered: !0, + showCancel: !1, + fadeIn: !1, + bannerView: w !== qe.DEVICE_TYPE.GW1 && c.createElement(Fe.UpgradeBannerView, null), + headerView: d(f), + onUnmount: this.props.cancelPendingToggleAuth, + contentView: c.createElement(ze.a, { + intl: a, + username: n.username, + selectedLoginType: n.selectedLoginType, + toggleAuthSupported: n.toggleAuthSupported, + changeUsername: o, + changeLogin: u, + handleSubmit: this._handleLogin, + loginType: n.loginType, + isFetching: n.isFetching, + startToggleAuth: this._startToggleAuth, + cancelPendingToggleAuth: g, + waitForToggle: n.waitForToggle, + showSubmit: !0, + useShowPasswordIcon: !0, + isResi: m, + }), + }, + { backdrop: "static", keyboard: !1 } + )) + : p.browserHistory.push("/upgrade")) + : this._replaceRoute("/")); + } + async _startToggleAuth() { + try { + await this.props.startToggleAuth(), this.props.handleCheckForToggle(); + } catch (e) {} + } + _checkFirmwareUpdate(e) { + const { persisted: t, bootstrapped: i, destroyBanner: n, location: r, system: o, authentication: s, error: _, isResi: l } = this.props; + t && + i && + Object(Ve.isInstaller)(s, _.items) && + (!a()(e, (e) => e.persisted) && t && o.isFirmwareUpdating + ? this._showFirmwareUpdateBanner() + : e && (!e.system.isFirmwareUpdating && o.isFirmwareUpdating ? this._showFirmwareUpdateBanner() : e.system.isFirmwareUpdating && !o.isFirmwareUpdating && n("FIRMWARE_UPDATE_BANNER")), + !o.isFirmwareUpdating || -1 !== r.pathname.indexOf("batteries") || (y.i.includes(r.pathname) && l) || this._replaceRoute("/batteries")); + } + _checkSitemasterStatus(e) { + const { destroyBanner: t, sitemasterStatus: i, isResi: n, powerSupplyMode: r } = this.props, + a = s()(window.location.pathname, "/batteries"); + n || (i && a ? this._showSitemasterRunningBanner() : e && e.sitemasterStatus && !i && t("SITEMASTER_RUNNING_BANNER")), + r && e && !e.powerSupplyMode ? this._showSitemasterRunningInPowerSupplyModeBanner() : !r && e && e.powerSupplyMode && t("SITEMASTER_POWER_SUPPLY_MODE_BANNER"); + } + _replaceRoute(e) { + p.browserHistory.replace(e); + } + _getClassName(e) { + let t = "core-layout__viewport"; + return e.indexOf("wizard") > -1 ? (t += " wizard-container no-padding") : e.indexOf("success") > -1 && (t += " success-container no-padding"), t; + } + _showFirmwareUpdateBanner() { + this.props.showBanner({ name: "FIRMWARE_UPDATE_BANNER", priority: 0, title: this.props.intl.formatMessage(Ke.firmwareUpdateTitle), message: this.props.intl.formatMessage(Ke.firmwareUpdateMessage) }); + } + _showEngineeringBanner() { + Object(Ve.isEngineer)(this.props.authentication) && + this.state.canShowEngineeringMode && + (this.props.showBanner({ name: "ENGINEERING_MODE_BANNER", priority: 0, title: this.props.intl.formatMessage(Ke.engineeringModeTitle), message: this.props.intl.formatMessage(Ke.engineeringModeMessage) }), + this.setState({ canShowEngineeringMode: !1 })); + } + _showSitemasterRunningInPowerSupplyModeBanner() { + this.props.showBanner({ + name: "SITEMASTER_POWER_SUPPLY_MODE_BANNER", + priority: 0, + title: this.props.intl.formatMessage(Ke.sitemasterPowerSupplyModeTitle), + message: this.props.intl.formatMessage(Ke.sitemasterPowerSupplyModeMessage), + }); + } + _showSitemasterRunningBanner() { + this.props.showBanner({ name: "SITEMASTER_RUNNING_BANNER", priority: 0, title: this.props.intl.formatMessage(Ke.sitemasterRunningTitle), message: this.props.intl.formatMessage(Ke.sitemasterMessage) }); + } + async _handleLogin(e, t, i) { + try { + await this.props.login(e, t, i, this.props.isResi), this.props.clearErrors(), this.props.destroyModal(y.b); + } catch (e) {} + } + } + He( + Ye, + "propTypes", + Be( + Be({}, Ue.a), + {}, + { + getLoginHeaderView: l.a.func.isRequired, + handleChangeLoginModal: l.a.func.isRequired, + authentication: l.a.shape({ + lastLoginAt: l.a.number, + loginType: l.a.oneOf(Object.values(y.c)).isRequired, + username: l.a.string.isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + toggleAuthSupported: l.a.bool.isRequired, + waitForToggle: l.a.bool, + }).isRequired, + system: l.a.shape({ isFirmwareUpdating: l.a.bool.isRequired }).isRequired, + location: l.a.shape({ pathname: l.a.string.isRequired }).isRequired, + persisted: l.a.bool.isRequired, + bootstrapped: l.a.bool.isRequired, + resetNavigation: l.a.func.isRequired, + resetHeader: l.a.func.isRequired, + clearErrors: l.a.func.isRequired, + clearToasts: l.a.func.isRequired, + showModal: l.a.func.isRequired, + hideModal: l.a.func.isRequired, + updateModal: l.a.func.isRequired, + destroyModal: l.a.func.isRequired, + showBanner: l.a.func.isRequired, + destroyBanner: l.a.func.isRequired, + destroyBanners: l.a.func.isRequired, + changeUsername: l.a.func.isRequired, + login: l.a.func.isRequired, + toggleAuthLogin: l.a.func.isRequired, + fetchSupportsToggleAuth: l.a.func.isRequired, + fetchInstallationProblems: l.a.func.isRequired, + resetAuthentication: l.a.func.isRequired, + error: l.a.shape({ items: l.a.array.isRequired }).isRequired, + children: l.a.shape({ props: l.a.shape({ route: l.a.shape({ path: l.a.string }).isRequired }).isRequired }).isRequired, + initializeConfig: l.a.func.isRequired, + isResi: l.a.bool.isRequired, + powerSupplyMode: l.a.bool, + deviceType: l.a.oneOf(Object.values(qe.DEVICE_TYPE)), + tegType: l.a.string, + } + ) + ); + var Qe = Object(m.connect)( + (e, t) => { + const { authentication: i, configuration: n, system: r, error: a, meterValidation: o, sitemaster: s } = e, + { location: _ } = t, + { deviceType: l, tegType: c } = n; + return { + location: _, + authentication: i, + system: r, + hash: n.hash, + persisted: n.persisted, + bootstrapped: n.bootstrapped, + isResi: Object(je.isResiGateway)(l), + sitemasterStatus: o.running, + powerSupplyMode: s.powerSupplyMode, + error: a, + errors: a.items, + currentlyDisplayedModalType: e.modal && e.modal.modalType, + deviceType: l, + tegType: c, + }; + }, + (e) => + Be( + Be( + { + initializeConfig: () => { + e(Object(x.initializeConfig)()); + }, + resetNavigation: () => { + e(Object(z.resetNavigation)()); + }, + resetHeader: () => { + e(Object(U.resetHeader)()); + }, + clearErrors: () => { + e(Object(V.clearErrors)()); + }, + clearToasts: () => { + e(Object(q.b)()); + }, + changeUsername: (t) => { + e(Object(B.e)(t)); + }, + changeSelectedLoginType: (t) => { + e(Object(B.d)(t)); + }, + login: (t, i, n, r) => e(Object(B.h)(t, i, n, r)), + startToggleAuth: () => e(Object(B.l)()), + cancelPendingToggleAuth: () => { + e(Object(B.a)()); + }, + toggleAuthLogin: (t, i) => e(Object(B.m)(t, i)), + fetchSupportsToggleAuth: () => e(Object(B.f)()), + resetAuthentication: () => e(Object(B.j)()), + fetchSitemasterSettings: () => e(Object(H.a)()), + fetchInstallationProblems: () => e(Z()), + requestSitemasterStatusThunk: () => Object(We.requestSitemasterStatusThunk)()(e), + }, + Object(g.b)(w, e) + ), + Object(g.b)(n, e) + ) + )(Object(u.injectIntl)(Object(Ue.b)(Ye))), + Ze = i(88), + Je = i(27), + Xe = i.n(Je), + $e = i(77), + et = i(8); + i(740); + function tt() { + return (tt = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function it(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function nt(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? it(Object(i), !0).forEach(function (t) { + rt(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : it(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function rt(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class at extends c.Component { + render() { + const { type: e, iconSize: t, borderWidth: i, iconLabelView: n, innerIconView: r, active: a } = this.props; + let o = { width: t + "px", height: t + "px" }, + s = "icon-container", + _ = nt({ borderRadius: t / 2 + "px", borderWidth: i + "px" }, this._getIconContainerStyle()); + return ( + a || (s += " default-icon-container"), + c.createElement( + "div", + { "data-testid": "1e9f3f58-18a4-4933-a2e6-e26582c1109b", className: "energy-icon" }, + this._getIconLabel(e, n), + c.createElement( + "div", + { "data-testid": "5fd94db1-03cb-418d-8ef0-91e16704bac8", className: s, style: _ }, + c.createElement("div", { "data-testid": "f87a63ec-a496-4056-aaaa-c4c37486423f", className: "centered", style: o }, this._getIconImage(e, a), r) + ) + ) + ); + } + _getIconImage(e, t) { + if (!this.props.showIconImage) return null; + let n = { src: null, style: this.props.iconStyle }; + switch (e) { + case et.h.SOLAR: + n.src = i(t ? 741 : 742); + break; + case et.h.GRID: + n.src = i(t ? 743 : 744); + break; + case et.h.USAGE: + n.src = i(t ? 745 : 746); + } + return null == n.src ? null : c.createElement("img", tt({ "data-testid": "e21bc9b3-167e-4c14-b7ac-c833260bcc6b" }, n)); + } + _getIconLabel(e, t) { + let i = null; + return this.props.showIconLabel && (i = t || c.createElement("p", { "data-testid": "0ba3f4bb-f54f-45a3-8419-41d74f7f53cd", className: "icon-text" }, e)), i; + } + _getIconContainerStyle() { + let e = this.props.iconContainerStyle || {}; + return this.props.active || (e = nt(nt({}, e), {}, { borderColor: this.props.inactiveColor })), e; + } + } + rt(at, "propTypes", { + type: l.a.oneOf(Object.values(et.h)).isRequired, + iconSize: l.a.number.isRequired, + borderWidth: l.a.number.isRequired, + innerIconView: l.a.element, + iconLabelView: l.a.element, + active: l.a.bool.isRequired, + inactiveColor: l.a.string.isRequired, + showIconImage: l.a.bool.isRequired, + showIconLabel: l.a.bool.isRequired, + iconStyle: l.a.object, + iconContainerStyle: l.a.object, + }), + rt(at, "defaultProps", { iconSize: 50, borderWidth: 1, innerIconView: null, iconLabelView: null, active: !1, inactiveColor: "gray", showIconImage: !0, showIconLabel: !1 }); + i(747); + class ot extends c.Component { + render() { + return this.props.active && this.props.gridServicesActive + ? c.createElement( + "div", + { "data-testid": "918f2708-5178-458c-b545-f7e5048b9c40", className: "grid-services" }, + c.createElement("span", { "data-testid": "a3a492e5-2c43-48bd-bd7e-0e3d6efa4c56", className: "circle" }), + c.createElement( + "span", + { "data-testid": "2b90b745-997b-4c72-b0bb-66a025cee7b1", className: "grid-services-text" }, + c.createElement(u.FormattedMessage, { id: "grid_services_view_grid_services", defaultMessage: "Grid Services" }) + ) + ) + : null; + } + } + !(function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(ot, "propTypes", { active: l.a.bool.isRequired, gridServicesActive: l.a.bool }); + var st = i(151), + _t = i(59), + lt = i(12), + ct = i(13), + dt = i(269), + ut = i.n(dt), + mt = i(263), + pt = i.n(mt); + i(795); + function gt() { + return (gt = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function wt(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function vt(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? wt(Object(i), !0).forEach(function (t) { + ft(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : wt(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function ft(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const ht = [et.h.SOLAR, et.h.BATTERY, et.h.GRID, et.h.USAGE], + Et = Object(u.defineMessages)({ gridButtonSpinnerAltLabel: { id: "power_flow_view_grid_spinner_alt_label", defaultMessage: "System Transitioning" } }); + class bt extends c.Component { + static getActiveIcons(e) { + const { activeTypes: t, loadPower: i, gridPower: n, solarPower: r, batteryPower: a, gridStatus: o, units: s, precision: _, showNegative: l, correctNegative: c, correctLoadPower: d } = e; + if (0 === t.length) return []; + const u = bt.getDisplayPowers(i, r, a, n, o, s, _, l, c, d), + m = t.filter((e) => { + switch (e) { + case et.h.SOLAR: + return u[et.h.SOLAR] > 0 && u.adjusted > 0; + case et.h.BATTERY: + return 0 !== u[et.h.BATTERY]; + case et.h.GRID: + return o !== ct.e.ISLANDED && 0 !== u[et.h.GRID]; + default: + return !1; + } + }); + return t.includes(et.h.USAGE) && null != i && ((d && 0 !== Number(Object(_t.a)(u[et.h.USAGE], _)) && u[et.h.USAGE] > 0) || (!d && u[et.h.USAGE] > 0)) && m.push(et.h.USAGE), 1 === m.length ? [] : m; + } + static getDisplayPowers(e, t, i, n, r, a, o, s, _, l) { + const c = { USAGE: 0, SOLAR: 0, BATTERY: 0, GRID: 0, adjusted: 0 }; + return ( + null != t && (c.adjusted = t), + null != e && e < 0 && _ && (c.adjusted += Math.abs(e)), + (c[et.h.SOLAR] = bt.getDisplayValue(c.adjusted, a, o, _, s)), + (c[et.h.BATTERY] = bt.getDisplayValue(i, a, o, !1, s)), + r !== ct.e.ISLANDED && (c[et.h.GRID] = bt.getDisplayValue(n, a, o, !1, s)), + l + ? ((c[et.h.USAGE] += c[et.h.SOLAR] * (c.adjusted < 0 && !s ? -1 : 1)), + (c[et.h.USAGE] += c[et.h.BATTERY] * (null != i && i < 0 && !s ? -1 : 1)), + r !== ct.e.ISLANDED && (c[et.h.USAGE] += c[et.h.GRID] * (null != n && n < 0 && !s ? -1 : 1)), + (c[et.h.USAGE] = c[et.h.USAGE] < 0 && !s ? 0 : Number(Object(_t.a)(c[et.h.USAGE], o)))) + : (c[et.h.USAGE] = bt.getDisplayValue(e, a, o, _, s)), + c + ); + } + static getDisplayValue(e, t, i, n = !1, r = !1) { + if (null == e || (n && e < 0)) return 0; + const a = Math.abs(e); + return a > lt.METER_POWER_NOISE ? Number(Object(st.c)(r ? e : a, t, i).split(" ")[0]) : 0; + } + constructor(e) { + super(e), + ft(this, "_handleSitemanagerStartStopClick", this._handleSitemanagerStartStopClick.bind(this)), + ft(this, "_handleIslandingClick", this._handleIslandingClick.bind(this)), + (this.state = { activeIcons: [], colors: { batteryToHome: et.c, batteryToGrid: et.c, gridToHome: et.d, gridToBattery: et.d, solarToBattery: et.f, solarToGrid: et.f, solarToHome: et.f } }); + } + componentWillMount() { + this.setState({ activeIcons: bt.getActiveIcons(this.props) }); + } + componentWillReceiveProps(e) { + this.setState({ activeIcons: bt.getActiveIcons(e) }); + } + render() { + const { + gridWidth: e, + gridHeight: t, + activeTypes: i, + activeGlowRadius: n, + indicatorRadius: r, + indicatorGlowRadius: a, + indicatorAnimationTimer: o, + energyIconDiameter: s, + energyIconBorderWidth: _, + showPowerwall: l, + showCompletePowerwall: d, + sitemasterRunning: u, + authenticated: m, + lineSpacing: p, + lineRadius: g, + lineWidth: w, + labelMargin: v, + labelHeight: f, + labelWidth: h, + customLabels: E, + iconStyle: b, + iconContainerStyle: y, + showLabels: S, + handleInactiveLabelClick: R, + handleNegativeLabelClick: T, + showNegative: A, + correctNegative: C, + correctLoadPower: I, + showZero: O, + showIcons: N, + inactiveColor: k, + customIcons: P, + availableTypes: D, + units: L, + precision: M, + containerStyle: z, + style: U, + isResi: V, + compact: G, + criticalInstallationProblems: j, + } = this.props, + { batteryPower: W, solarPower: F, loadPower: q, gridPower: x, gridStatus: B, gridServicesActive: H, soe: K } = this.props, + { activeIcons: Y, colors: Q } = this.state, + Z = 0 === i.length, + J = e / 2, + X = t / 2, + $ = D.includes(et.h.SOLAR), + ee = D.includes(et.h.USAGE), + te = D.includes(et.h.GRID), + ie = bt.getDisplayPowers(q, F, W, x, B, L, M, A, C, I), + ne = Y.includes(et.h.BATTERY), + re = Y.includes(et.h.USAGE), + ae = Y.includes(et.h.SOLAR), + oe = Y.includes(et.h.GRID), + se = + te && ne && W > 0 && x < 0 && 1e3 * (ie[et.h.BATTERY] - ie[et.h.USAGE]) >= bt.DISCHARGE_THRESHOLD + ? c.createElement("use", { id: "battery-to-grid", xlinkHref: "#curvedArrow", stroke: "url(#greenGrayGradient)", fill: Q.batteryToGrid, transform: `translate(${-1 * p + e} ${X / 2 + p}) scale(-1 1)` }) + : null, + _e = ee && ne && re && W > 0 ? c.createElement("use", { id: "battery-to-home", xlinkHref: "#curvedArrow", stroke: "url(#greenBlueGradient)", fill: Q.batteryToHome, x: p, y: X / 2 + p }) : null, + le = + te && oe && ne && x > 0 && W < 0 && ie[et.h.GRID] > ie[et.h.USAGE] + ? c.createElement("use", { id: "grid-to-battery", xlinkHref: "#curvedArrowMirror", stroke: "url(#grayGreenGradient)", fill: Q.gridToBattery, x: -1 * p, y: p }) + : null, + ce = + $ && te && ae && oe && x < 0 + ? c.createElement("use", { id: "solar-to-grid", xlinkHref: "#curvedArrow", stroke: "url(#yellowGrayGradient)", fill: Q.solarToGrid, transform: `rotate(180 ${J} ${X})`, x: 1 * p, y: X / 2 + p }) + : null, + de = + $ && + ee && + ae && + re && + ie.adjusted > 0 && + !((ie[et.h.SOLAR] === ie[et.h.BATTERY] * (A ? -1 : 1) && ie[et.h.USAGE] === ie[et.h.GRID]) || (ie[et.h.SOLAR] === ie[et.h.GRID] * (A ? -1 : 1) && ie[et.h.BATTERY] === ie[et.h.USAGE])) + ? c.createElement("use", { id: "solar-to-home", xlinkHref: "#curvedArrow", stroke: "url(#blueYellowGradient)", fill: Q.solarToHome, transform: `translate(${p} ${0.75 * t + -1 * p}) scale(1 -1)` }) + : null; + let ue = null, + me = null, + pe = null; + Z + ? ((ue = c.createElement("use", { id: "grid-to-home-inactive", xlinkHref: "#horizontalArrow", stroke: "gray", strokeDasharray: "2,4" })), + (me = c.createElement("use", { id: "solar-to-battery-inactive", xlinkHref: "#verticalArrow", stroke: "gray", strokeDasharray: "2,4" }))) + : ((ue = te && ee && oe && re && x > 0 ? c.createElement("use", { id: "grid-to-home", xlinkHref: "#horizontalArrow", stroke: "url(#grayBlueGradient)", fill: Q.gridToHome }) : null), + (me = $ && ae && ne && ie.adjusted > 0 && W < 0 ? c.createElement("use", { id: "solar-to-battery", xlinkHref: "#verticalArrow", stroke: "url(#yellowGreenGradient)", fill: Q.solarToBattery }) : null)); + const ge = Z ? 0 : r, + we = Z ? 0 : a, + ve = c.createElement("div", { "data-testid": "7edf03b3-a222-4ebe-b757-5a4af34484bc", style: { width: s + 2 * _, height: s + 2 * _ } }), + fe = N + ? c.createElement(at, { + type: et.h.SOLAR, + active: ae, + iconSize: s, + borderWidth: _, + showIconImage: P && null == P[et.h.SOLAR], + innerIconView: null != P ? P[et.h.SOLAR] : null, + inactiveColor: k, + iconStyle: b, + iconContainerStyle: vt(vt({}, y), {}, { borderColor: et.f }), + }) + : ve, + he = N + ? c.createElement(at, { + type: et.h.GRID, + active: oe, + iconSize: s, + borderWidth: _, + showIconImage: P && null == P[et.h.GRID], + innerIconView: null != P ? P[et.h.GRID] : null, + inactiveColor: k, + iconStyle: b, + iconContainerStyle: vt(vt({}, y), {}, { borderColor: et.d }), + }) + : ve, + Ee = N + ? c.createElement(at, { + type: et.h.USAGE, + active: re, + iconSize: s, + borderWidth: _, + showIconImage: P && null == P[et.h.USAGE], + innerIconView: null != P ? P[et.h.USAGE] : null, + inactiveColor: k, + iconStyle: b, + iconContainerStyle: vt(vt({}, y), {}, { borderColor: et.g }), + }) + : ve, + be = { cx: 0, cy: 0, r: ge, strokeOpacity: 0 }, + ye = { cx: 0, cy: 0, r: we, fillOpacity: 0.2, strokeOpacity: 0 }, + Se = 0 === Y.length && ($ || (te && ee)) ? c.createElement("g", { stroke: et.e, strokeWidth: w, fill: "none" }, c.createElement("use", { xlinkHref: $ ? "#verticalPath" : "#halfVerticalPath" })) : null, + Re = 0 === Y.length && te && ee ? c.createElement("g", { stroke: et.e, strokeWidth: w, fill: "none" }, c.createElement("use", { xlinkHref: "#horizontalPath" })) : null; + let Te = { className: this._getPowerFlowGridClassName(d, u, m, H) }; + null != z && (Te.style = z), N || Z || null == W || 0 === W || (pe = c.createElement("use", { xlinkHref: "#halfVerticalArrow", stroke: et.c, fill: et.c })); + const Ae = l + ? this._getPowerwall(d, s, _, b, K, u, Z, V) + : c.createElement( + "div", + { "data-testid": "c52444f1-a739-4789-998a-87f84a3625ad", className: "center-align" }, + c.createElement(at, { + type: et.h.BATTERY, + active: ne, + iconSize: s, + borderWidth: _, + showIconImage: P && null == P[et.h.BATTERY], + innerIconView: null != P ? P[et.h.BATTERY] : null, + inactiveColor: k, + iconStyle: b, + iconContainerStyle: vt(vt({}, y), {}, { borderColor: et.c }), + }) + ); + return c.createElement( + "div", + gt({ "data-testid": "a9f4d12a-b2bc-4fb1-98d1-ba2246341d1a" }, Te), + c.createElement( + "div", + { "data-testid": "7b3807df-ad55-4238-87d9-afc5737194aa", className: "power-flow", style: U }, + this._getActiveGlowIcons(Y, e, t, s, _, n, v, f, l, A), + this._getPowerLabels(i, D, S, O, e, t, s, _, n, v, f, h, E, l, d, ie[et.h.USAGE], ie[et.h.GRID], ie[et.h.SOLAR], ie[et.h.BATTERY], A, L, R, T), + c.createElement( + "div", + { "data-testid": "05dafaf8-fbb8-4519-8bc2-6578daea3b19", className: "inner-container", style: { marginTop: n + f + v } }, + c.createElement("div", { "data-testid": "1202100e-7a76-4479-a383-6b49dfec3fe9", className: "center-align" }, fe), + c.createElement( + "div", + { "data-testid": "060d9163-49c8-4cdf-a925-bf845b874ef2", className: "grid-row-container" }, + he, + c.createElement( + "svg", + { width: e, height: t, viewBox: `0 0 ${e} ${t}` }, + c.createElement( + "defs", + null, + et.k, + et.l, + et.i, + et.j, + et.a, + et.p, + et.o, + c.createElement( + "g", + { id: "curvedArrow", strokeWidth: w }, + c.createElement("path", { + id: "curvedPath", + d: `M ${J} ${0.75 * t}\n l 0 -${X - g}\n a ${g},${g} 0 0 1 ${g},-${g}\n L ${e} ${0.25 * t}`, + fill: "none", + }), + c.createElement( + "circle", + gt({ "data-testid": "903be15b-24d0-4bc0-8231-33ba2a61fb5d" }, ye), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#curvedPath" })) + ), + c.createElement( + "circle", + gt({ "data-testid": "3aa17112-9f15-48d0-8ba5-7c8371e54eab" }, be), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#curvedPath" })) + ) + ), + c.createElement( + "g", + { id: "curvedArrowMirror", strokeWidth: w }, + c.createElement("path", { + id: "curvedPathMirror", + d: `M 0 ${X}\n l ${J - g} 0\n a -${g},-${g} 0 0 1 ${g},${g}\n L ${J} ${t}`, + fill: "none", + }), + c.createElement( + "circle", + gt({ "data-testid": "c488bfac-1dfc-49ae-b3c8-fa1933114c23" }, ye), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#curvedPathMirror" })) + ), + c.createElement( + "circle", + gt({ "data-testid": "ba7fb58a-0b65-4f1c-ac4b-ba2e8fb7e571" }, be), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#curvedPathMirror" })) + ) + ), + c.createElement( + "g", + { id: "horizontalArrow", strokeWidth: w }, + c.createElement("path", { id: "horizontalPath", d: `M 0 ${X}\n L ${e} ${X}`, fill: "none" }), + c.createElement( + "circle", + gt({ "data-testid": "9ebc49f0-40e3-43f4-9f52-a0e5adcfe894" }, ye), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#horizontalPath" })) + ), + c.createElement( + "circle", + gt({ "data-testid": "3300d987-ec99-4ea1-ada6-bde6ec36dfa7" }, be), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#horizontalPath" })) + ) + ), + c.createElement( + "g", + { id: "verticalArrow", strokeWidth: w }, + c.createElement("path", { id: "verticalPath", d: `M ${J} 0\n l 0 ${t}`, fill: "none" }), + c.createElement( + "circle", + gt({ "data-testid": "c4ec1b16-3575-4b16-b872-60500079629b" }, ye), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#verticalPath" })) + ), + c.createElement( + "circle", + gt({ "data-testid": "c4a076c4-5485-4fc2-86b3-ad8ee26be9c6" }, be), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#verticalPath" })) + ) + ), + c.createElement( + "g", + { id: "halfVerticalArrow", strokeWidth: w }, + c.createElement("path", { id: "halfVerticalPath", d: `M ${J} ${X}\n l 0 ${t}`, fill: "none" }), + c.createElement( + "circle", + gt({ "data-testid": "0ccc289b-a06d-4325-8b3e-6efb792b404b" }, ye), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#halfVerticalPath" })) + ), + c.createElement( + "circle", + gt({ "data-testid": "e337a015-54b6-4cd4-87dd-83c3c8c30314" }, be), + c.createElement("animateMotion", { dur: o + "ms", repeatCount: "indefinite" }, c.createElement("mpath", { xlinkHref: "#halfVerticalPath" })) + ) + ) + ), + _e, + se, + ue, + le, + me, + ce, + de, + Se, + Re, + pe + ), + Ee + ), + Ae, + !G && c.createElement(ot, { intl: this.props.intl, active: u, gridServicesActive: H }), + this._getSitemasterControl() + ), + this._getIslanded(B, e, t, w, s, _, n, v, f) + ) + ); + } + _getPowerFlowGridClassName(e, t, i, n) { + let r = "power-flow-grid"; + return e && (r += " complete"), this.props.compact && (r += " compact"), i && (r += " sitemaster"), t && ((r += " active"), n && !this.props.compact && (r += " services")), r; + } + _getActiveGlowIcons(e, t, i, n, r, a, o, s, _, l) { + let d = [], + u = n / 2, + m = i / 2, + p = o + s; + return ( + e + .filter((e) => { + switch (e) { + case et.h.USAGE: + return !1; + case et.h.SOLAR: + return !l || this.props.solarPower > 0; + case et.h.BATTERY: + return !l || this.props.batteryPower > 0; + case et.h.GRID: + return !l || this.props.gridPower > 0; + default: + return !1; + } + }) + .forEach((e, o) => { + let s = {}, + l = { width: n + 2 * r, height: n + 2 * r, borderRadius: u + a, borderWidth: a }; + switch (e) { + case et.h.SOLAR: + (s.top = p), (s.borderColor = et.f), (s.left = 0), (s.right = 0); + break; + case et.h.GRID: + (s.top = u + m + r + p), (s.right = t + 2 * u + 2 * r), (s.borderColor = et.d), (s.left = 0); + break; + case et.h.BATTERY: + (s.top = n + i + 2 * r + p), (s.borderColor = et.c), (s.left = 0), (s.right = 0); + } + (_ && ![et.h.SOLAR, et.h.GRID].includes(e)) || d.push(c.createElement("div", { "data-testid": "ff98e7cc-920d-4090-9053-b554d054b987", key: o, className: "glow-container", style: vt(vt({}, l), s) })); + }), + d + ); + } + _getPowerLabels(e, t, n, r, a, o, s, _, l, d, u, m, p, g, w, v, f, h, E, b, y, S, R) { + if (!n) return []; + const T = d + u; + return ht.map((n, u) => { + let b = null, + A = null, + C = p && p[n] ? p[n] : null, + I = { width: m }; + switch (n) { + case et.h.SOLAR: + (b = this.props.solarPower && h), (I.top = 0), (I.left = 0), (I.right = 0), (I.color = et.f); + break; + case et.h.GRID: + (b = this.props.gridPower && f), (I.top = g ? 0.5 * s + 0.5 * o + 2 * _ : 1.5 * s + 0.5 * o + 3 * _ + T + l + d), (I.left = 0), (I.right = a + s + 2 * _), (I.color = et.d); + break; + case et.h.BATTERY: + (b = this.props.batteryPower && E), g ? (I.top = o + T + s + 2 * _ + (w ? 108.5 : 19.5)) : ((I.top = o + T + 2 * s + 4 * _ + d + l), (I.color = et.c)), (I.left = 0), (I.right = 0); + break; + case et.h.USAGE: + (b = this.props.loadPower && v), (I.top = g ? 0.5 * s + 0.5 * o + 2 * _ : 1.5 * s + 0.5 * o + 3 * _ + T + l + d), (I.left = a + s + 2 * _), (I.right = 0), (I.color = et.g); + } + const O = !t.includes(n), + N = !e.includes(n); + let k = null; + O + ? (k = c.createElement( + "span", + { + "data-testid": "dd3afd47-058d-409f-a862-ca980813739a", + id: "missing-meter-label", + className: "delete-icon", + onClick: () => { + S && S(et.n[n], !0); + }, + }, + "×" + )) + : N && + (k = c.createElement("img", { + "data-testid": "ef571495-5054-451e-909f-0eb988f9552e", + id: "inactive-image-label", + className: "info sm hand label-image", + src: n === et.h.BATTERY ? i(576) : i(298), + onClick: () => { + S && S(et.n[n]); + }, + alt: "Label Inactive", + })); + const P = n === et.h.SOLAR, + D = P && y === lt.PowerUnits.WATTS ? -20 : 0, + L = + (P || n === et.h.USAGE) && null != b && b < D + ? c.createElement("img", { + "data-testid": "9f44e874-0b91-4867-920c-5b3fce1648f3", + id: "negative-image-label", + className: "caution sm hand label-image", + src: i(581), + onClick: () => { + R && R(et.n[n]); + }, + alt: "Label Negative", + }) + : null; + return ( + null != b && (r || (!r && 0 !== b)) && (A = c.createElement("p", { "data-testid": "4c6aadb3-7661-4d7f-b1ff-d5a0571fac60" }, L, k, `${null == k ? b + " " : ""}${O ? "" : y}`)), + c.createElement("div", { "data-testid": "ec7d6a6d-b6d2-411c-a535-c052c00baf62", key: u, className: "label-container " + (N && !O ? "label-inactive" : ""), style: I }, C, A) + ); + }); + } + _getPowerwall(e, t, n, r, a, o, s, _) { + let l = null, + d = null, + u = null; + if (null != a && (0 !== a || !s)) { + const i = 22, + n = 2, + r = e ? 191 : 172, + s = e ? 267 : 94, + _ = e ? 212 : 94, + l = e ? 172 : 157; + (d = c.createElement( + "svg", + { className: "powerwall-soe", width: r, height: s, viewBox: `0 0 ${r} ${s}` }, + c.createElement("rect", { x: l, y: n, width: "5", height: _, style: { strokeWidth: "1px", stroke: "gray", fill: "none" } }), + c.createElement("rect", { x: l, y: n + (_ * (100 - a)) / 100, width: "5", height: (_ * a) / 100, style: { fill: et.c } }) + )), + (u = c.createElement( + "div", + { + "data-testid": "234320a0-eab5-4528-bc42-aab6c7282f13", + className: "label-container soe-label", + style: { top: Math.max(0, n + (_ * (100 - a)) / 100 - i / 2), left: e ? 0.5 * this.props.gridWidth - t + 191 : r + (0.5 * this.props.gridWidth - t) + 12, color: o ? "white" : "black" }, + }, + Object(_t.a)(a, 0), + "%" + )); + } + return ( + (l = e + ? c.createElement("img", { "data-testid": "edc861a1-c692-487b-970c-16ca01bb74db", src: i(_ ? 584 : 796), style: { height: "267px", width: "191px" } }) + : c.createElement("img", { "data-testid": "b3372156-8a9e-4d17-9721-fcc5891d1074", src: i(797), style: { height: "94px", width: "172px" } })), + c.createElement("div", { "data-testid": "03852a2e-1a99-4ed3-98e7-a98e292646eb", className: "center-align position-relative" }, u, d, l) + ); + } + _getIslanded(e, t, i, n, r, a, o, s, _) { + if (e !== ct.e.ISLANDED && e !== ct.e.TRANSITION_TO_GRID) return null; + const l = r + 2 * a; + return c.createElement( + "div", + { "data-testid": "4ad39542-2910-4a3b-b987-2c25190ea97e", className: "islanded-container", style: { top: 0.5 * r + 0.5 * i + a + o + s + _, left: 0, right: t + r + 2 * a, width: l, height: l } }, + c.createElement( + "svg", + { width: l, height: l }, + c.createElement("g", null, c.createElement("line", { x1: "0", y1: "0", x2: l, y2: l, stroke: et.b, strokeWidth: n }), c.createElement("line", { x1: l, y1: "0", x2: "0", y2: l, stroke: et.b, strokeWidth: n })) + ) + ); + } + _getSitemasterControl() { + const { isResi: e, gridStatus: t, sitemasterRunning: i, authenticated: n, compact: r } = this.props; + if (!n) return null; + let a, + o = !i || !t, + s = null, + _ = !1; + if (e) + switch (t) { + case ct.e.CONNECTED: + case null: + case void 0: + (_ = !0), (s = c.createElement(u.FormattedMessage, { id: "power_flow_view_go_off_grid", defaultMessage: "GO OFF GRID" })); + break; + case ct.e.ISLANDED: + (_ = !1), (s = c.createElement(u.FormattedMessage, { id: "power_flow_view_go_on_grid", defaultMessage: "GO ON GRID" })); + break; + case ct.e.TRANSITION_TO_GRID: + case ct.e.ISLAND_READY: + default: + s = c.createElement("img", { className: "spinner", src: ut.a, height: 20, alt: Et.gridButtonSpinnerAltLabel }); + } + return ( + (a = i + ? c.createElement( + "button", + { type: "button", className: "btn btn-action btn-sitemaster center-block btn-stop", onClick: this._handleSitemanagerStartStopClick }, + c.createElement(u.FormattedMessage, { id: "power_flow_view_stop_system", defaultMessage: "STOP SYSTEM" }) + ) + : c.createElement( + "button", + { type: "button", className: "btn btn-action btn-sitemaster center-block btn-start", onClick: this._handleSitemanagerStartStopClick }, + c.createElement(u.FormattedMessage, { id: "power_flow_view_start_system", defaultMessage: "START SYSTEM" }) + )), + this.props.criticalInstallationProblems.length > 0 + ? c.createElement( + "div", + null, + this.props.criticalInstallationProblems.map((e) => c.createElement(pt.a, { problem: e })), + i && a + ) + : c.createElement( + "div", + { className: r ? "compact-btn-row" : "" }, + a, + e && + c.createElement( + "div", + null, + c.createElement("button", { type: "button", className: "btn btn-action btn-sitemaster center-block " + (_ ? "btn-stop" : "btn-start"), onClick: this._handleIslandingClick, disabled: o }, s), + o && + !i && + !r && + c.createElement( + "small", + { className: "text-muted disabled-explanation" }, + c.createElement(u.FormattedMessage, { id: "power_flow_view_grid_button_disabled_reason", defaultMessage: "System must be started in order to go off grid." }) + ) + ) + ) + ); + } + _handleSitemanagerStartStopClick(e) { + e.preventDefault(), this.props.handleStartStopSitemanager && this.props.handleStartStopSitemanager(); + } + _handleIslandingClick(e) { + e.preventDefault(); + const { gridStatus: t } = this.props; + t === ct.e.CONNECTED ? this.props.handleGoOffGrid && this.props.handleGoOffGrid() : t === ct.e.ISLANDED && this.props.handleReconnectToGrid && this.props.handleReconnectToGrid(); + } + } + ft(bt, "updatablePropTypes", { + activeTypes: l.a.arrayOf(l.a.oneOf(ht)).isRequired, + availableTypes: l.a.arrayOf(l.a.oneOf(ht)).isRequired, + loadPower: l.a.number, + solarPower: l.a.number.isRequired, + batteryPower: l.a.number.isRequired, + gridPower: l.a.number.isRequired, + gridStatus: l.a.string, + gridServicesActive: l.a.bool.isRequired, + soe: l.a.number, + }), + ft( + bt, + "propTypes", + vt( + vt({}, bt.updatablePropTypes), + {}, + { + intl: u.intlShape, + gridWidth: l.a.number.isRequired, + gridHeight: l.a.number.isRequired, + activeGlowRadius: l.a.number.isRequired, + lineSpacing: l.a.number.isRequired, + lineRadius: l.a.number.isRequired, + lineWidth: l.a.number.isRequired, + indicatorAnimationTimer: l.a.number.isRequired, + indicatorRadius: l.a.number.isRequired, + indicatorGlowRadius: l.a.number.isRequired, + showPowerwall: l.a.bool.isRequired, + showCompletePowerwall: l.a.bool.isRequired, + sitemasterRunning: l.a.bool.isRequired, + authenticated: l.a.bool.isRequired, + handleStartStopSitemanager: l.a.func, + handleGoOffGrid: l.a.func, + handleReconnectToGrid: l.a.func, + handleInactiveLabelClick: l.a.func, + handleNegativeLabelClick: l.a.func, + energyIconDiameter: l.a.number.isRequired, + energyIconBorderWidth: l.a.number.isRequired, + showLabels: l.a.bool.isRequired, + showNegative: l.a.bool.isRequired, + correctNegative: l.a.bool.isRequired, + correctLoadPower: l.a.bool.isRequired, + showZero: l.a.bool.isRequired, + showIcons: l.a.bool.isRequired, + inactiveColor: l.a.string, + units: l.a.oneOf(Object.values(lt.PowerUnits)).isRequired, + precision: l.a.number.isRequired, + labelMargin: l.a.number.isRequired, + labelHeight: l.a.number.isRequired, + labelWidth: l.a.number.isRequired, + customLabels: l.a.shape({ [et.h.SOLAR]: l.a.element, [et.h.GRID]: l.a.element, [et.h.BATTERY]: l.a.element, [et.h.USAGE]: l.a.element }), + customIcons: l.a.shape({ [et.h.SOLAR]: l.a.element, [et.h.GRID]: l.a.element, [et.h.BATTERY]: l.a.element, [et.h.USAGE]: l.a.element }), + iconStyle: l.a.object, + iconContainerStyle: l.a.object.isRequired, + containerStyle: l.a.object, + style: l.a.object, + criticalInstallationProblems: l.a.array, + } + ) + ), + ft(bt, "defaultProps", { + activeTypes: ht, + availableTypes: ht, + gridWidth: Math.min(screen.width / 2, 250), + gridHeight: 100, + activeGlowRadius: 5, + lineSpacing: 3, + lineRadius: 5, + lineWidth: 1, + indicatorAnimationTimer: 1e3, + indicatorRadius: 1.5, + indicatorGlowRadius: 7, + showPowerwall: !0, + showCompletePowerwall: !1, + energyIconDiameter: 50, + energyIconBorderWidth: 1, + showLabels: !0, + showNegative: !0, + correctNegative: !1, + correctLoadPower: !0, + showZero: !0, + showIcons: !0, + units: lt.PowerUnits.KILOWATTS, + precision: 1, + labelMargin: 15, + labelHeight: 15, + labelWidth: 80, + iconContainerStyle: { borderStyle: "dotted" }, + }), + ft(bt, "DISCHARGE_THRESHOLD", 200); + i(798); + function yt(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function St(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? yt(Object(i), !0).forEach(function (t) { + Rt(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : yt(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function Rt(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + function Tt(e) {} + function At() { + fetch(Y.a.api.uri + "/autoconfig/cancel", { method: "POST", credentials: Y.a.credentials, body: "" }) + .then(Q.checkStatus) + .catch(Tt); + } + const Ct = "not_applicable", + It = "starting", + Ot = "no_powerwall", + Nt = "no_islanding_controller", + kt = "pending", + Pt = "no_internet", + Dt = "automatic_retry", + Lt = "mandatory_update", + Mt = "missing_installation_info", + zt = "incomplete", + Ut = "complete", + Vt = "cancelled", + Gt = "determining_on_grid", + jt = "timeout", + Wt = "disabled"; + const Ft = "", + qt = "available", + xt = { status: It, running: !1, retry_possible: !1, have_registered: !1, have_gridcode: !1, have_timezone: !1, grid_availability: Ft }; + function Bt(e) { + let [t, i] = Object(c.useState)(xt); + Object(c.useEffect)(() => { + let e, + n = !0; + if ( + !(function (e) { + switch (e) { + case Ct: + case Ut: + case Vt: + return !0; + default: + return !1; + } + })(t.status) + ) + return ( + (function r() { + fetch(Y.a.api.uri + "/autoconfig/status", { method: "GET", credentials: Y.a.credentials }) + .then(Q.checkStatus) + .then((e) => e.json()) + .then((a) => { + t.status === Lt && a.status !== Lt && window.location.reload(), i(a), n && (e = setTimeout(r, 1e3)); + }) + .catch((i) => { + t.status === Lt && i && i.response && 403 === i.response.status && window.location.reload(), n && (e = setTimeout(r, 2e3)); + }); + })(), + () => { + clearTimeout(e), (n = !1); + } + ); + }, [t.status]); + let n = t.status; + if (Wt === n) return null; + let r = d.a.createElement("button", { onClick: () => e.handleRunWizard() }, d.a.createElement(u.FormattedMessage, { id: "auto_config_run_wizard_button_text", defaultMessage: "Run the Wizard" })), + a = d.a.createElement( + "button", + { + onClick: () => { + fetch(Y.a.api.uri + "/autoconfig/retry", { method: "POST", credentials: Y.a.credentials, body: "" }) + .then(Q.checkStatus) + .catch(Tt); + }, + }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_retry_button_label", defaultMessage: "Retry" }) + ); + const o = () => { + e.sitemasterRunning + ? e.showModal("SITEMASTER_MODAL", { + modalClass: "modal-error modal-sitemaster", + size: "lg", + centered: !0, + showCancel: !1, + showErrors: !1, + fadeIn: !1, + headerView: d.a.createElement( + "h2", + { "data-testid": "3cb8e199-a3c5-47fe-a3cd-5b7f8a6d4d87", className: "modal-title" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_stop_system_modal_title", defaultMessage: "Cannot start automatic setup" }) + ), + contentView: d.a.createElement(u.FormattedMessage, { id: "auto_config_stop_system_modal_message", defaultMessage: "Automatic setup process cannot run while the system is running. Stop the system and try again." }), + footerView: d.a.createElement( + "button", + { "data-testid": "0d17fb7b-9813-4837-8d29-5fcc9849f5fc", className: "btn btn-link btn-close center-block", "data-dismiss": "modal" }, + d.a.createElement(u.FormattedMessage, te.buttons.CLOSE) + ), + }) + : fetch(Y.a.api.uri + "/autoconfig/run", { method: "POST", credentials: Y.a.credentials, body: "" }) + .then(Q.checkStatus) + .catch(Tt) + .then(() => { + i(St(St({}, t), {}, { status: It })); + }); + }; + let s = d.a.createElement("button", { onClick: () => o() }, d.a.createElement(u.FormattedMessage, { id: "auto_config_run_button_label", defaultMessage: "Set Up Powerwall Automatically" })); + function _() { + i(St(St({}, t), {}, { status: Ct })), At(); + } + return d.a.createElement( + "div", + { className: "auto-config" }, + d.a.createElement("div", { className: "auto-config-title" }, d.a.createElement(u.FormattedMessage, { id: "auto_config_section_title", defaultMessage: "Automatic Powerwall Setup" })), + d.a.createElement( + "div", + { className: "auto-config-state" }, + (function (e) { + switch (e) { + case It: + case kt: + return d.a.createElement(Ht, null); + case Ut: + return d.a.createElement(Kt, { dismiss: _ }); + case Pt: + return d.a.createElement(Yt, { wizardButton: r, retryButton: a }); + case Dt: + return d.a.createElement(Qt, { wizardButton: r }); + case Lt: + return d.a.createElement(Zt, null); + case Mt: + return d.a.createElement(Jt, { wizardButton: r, retryButton: a }); + case zt: + return t.have_registered && t.have_gridcode && t.have_timezone + ? t.grid_availability === Ft + ? d.a.createElement(ii, null) + : d.a.createElement(ti, null) + : d.a.createElement(Xt, { progress: t, wizardButton: r }); + case Ot: + return d.a.createElement(ni, null); + case Nt: + return d.a.createElement($t, null); + case Gt: + return d.a.createElement(ei, null); + case jt: + return d.a.createElement(ai, { runButton: s }); + case Vt: + return d.a.createElement(oi, { runButton: s }); + case Ct: + return d.a.createElement(si, { runButton: s }); + default: + return null; + } + })(n) + ) + ); + } + function Ht() { + return d.a.createElement( + "div", + { className: "auto-config-pending" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_in_progress", defaultMessage: "In progress" }), + d.a.createElement("span", { className: "auto-config-throbber" }, ".....") + ); + } + function Kt({ dismiss: e }) { + return d.a.createElement( + "div", + { className: "auto-config-complete" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_complete", defaultMessage: "Successfully completed" }), + d.a.createElement("div", { className: "auto-config-action" }, d.a.createElement(u.FormattedMessage, { id: "auto_config_check_system_and_summary", defaultMessage: "Check the System and Summary pages." })), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement("button", { onClick: () => e(), className: "auto-config-done-button" }, d.a.createElement(u.FormattedMessage, { id: "auto_config_done_button_text", defaultMessage: "Done" })) + ) + ); + } + function Yt(e) { + const t = d.a.createElement(p.Link, { to: "network" }, d.a.createElement("button", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_network_button_text", defaultMessage: "Setup the Network" }))); + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_no_network", defaultMessage: "Not Connected to Tesla" }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { + id: "auto_config_instructions_no_network_retry", + defaultMessage: "{networkLink} to enable automatic Powerwall setup and then {retryButton}", + values: { networkLink: t, retryButton: e.retryButton }, + }) + ), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_no_network_wizard", defaultMessage: "Or {wizardButton} for manual Powerwall setup.", values: { wizardButton: e.wizardButton } }) + ) + ); + } + function Qt(e) { + const t = d.a.createElement(p.Link, { to: "network" }, d.a.createElement("button", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_check_network_button", defaultMessage: "Check the network and enable wifi" }))); + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_retrying", defaultMessage: "Retrying failed network request" }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_retry", defaultMessage: "{networkLink} if the problem persists", values: { networkLink: t } }) + ), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_retry_wizard", defaultMessage: "Or {wizardButton} for manual Powerwall setup.", values: { wizardButton: e.wizardButton } }) + ) + ); + } + function Zt() { + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_updating", defaultMessage: "Software update required" }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { + id: "auto_config_instructions_updating", + defaultMessage: "A software update is required before automatic Powerwall setup can begin. The update will be downloaded and applied automatically. You may need to re-connect to Powerwall's WiFi network afterward.", + }) + ) + ); + } + function Jt(e) { + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_lookup_failed", defaultMessage: "Serial Number Lookup Failed" }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { + id: "auto_config_instructions_lookup_failed_retry", + defaultMessage: "Scan the serial number sticker into Bolt to enable automatic Powerwall setup, and then {retryButton}", + values: { retryButton: e.retryButton }, + }) + ), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_lookup_failed_wizard", defaultMessage: "Or {wizardButton} for manual Powerwall setup.", values: { wizardButton: e.wizardButton } }) + ) + ); + } + function Xt(e) { + let { progress: t, wizardButton: i } = e, + n = d.a.createElement( + p.Link, + { to: "legal" }, + d.a.createElement("button", { onClick: () => At() }, d.a.createElement(u.FormattedMessage, { id: "auto_config_registration_button_text", defaultMessage: "Enter Customer Information" })) + ); + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_missing_information", defaultMessage: "Missing Information" }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_missing_info_1", defaultMessage: "Automatic Powerwall setup failed because the following information was missing:" }), + d.a.createElement( + "ol", + null, + !t.have_registered && d.a.createElement("li", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_missing_registration", defaultMessage: "Customer information for product registration" })), + !t.have_gridcode && d.a.createElement("li", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_missing_gridcode", defaultMessage: "Grid code for the customer site" })), + !t.have_timezone && d.a.createElement("li", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_missing_timezone", defaultMessage: "Timezone at the customer site" })), + t.grid_availability !== qt && d.a.createElement("li", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_missing_grid", defaultMessage: "Grid for the customer site" })) + ) + ), + d.a.createElement( + "div", + { className: "auto-config-action" }, + t.have_gridcode && t.have_timezone + ? d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_missing_info_3", defaultMessage: "{registrationButton} manually.", values: { registrationButton: n } }) + : d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_missing_info_2", defaultMessage: "{wizardButton} to enter it manually.", values: { wizardButton: e.wizardButton } }) + ) + ); + } + function $t() { + return d.a.createElement( + "div", + null, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_finding_contactor_controller", defaultMessage: "Finding Contactor Controller..." }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { + id: "auto_config_instructions_finding_contactor_controller", + defaultMessage: "If this message persists for more than 3 minutes, check the wiring to the Backup Switch or Gateway.", + }) + ) + ); + } + function ei() { + return d.a.createElement( + "div", + null, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_determining_on_grid", defaultMessage: "Determining grid connection..." }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_determining_on_grid", defaultMessage: "If this message persists for more than 3 minutes, check the wiring to the Backup Switch or Gateway." }) + ) + ); + } + function ti() { + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_no_grid_detected", defaultMessage: "No grid detected." }), + d.a.createElement("div", { className: "auto-config-action" }, d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_no_grid_detected", defaultMessage: "Check wiring and breakers before starting system." })) + ); + } + function ii() { + return d.a.createElement( + "div", + { className: "auto-config-error-state" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_cannot_determine_grid_connection", defaultMessage: "Could not determine grid connection." }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_cannot_determine_grid_connection", defaultMessage: "Check wiring to the Backup Switch or Gateway before starting system." }) + ) + ); + } + function ni() { + return d.a.createElement( + "div", + null, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_finding_powerwalls", defaultMessage: "Finding Powerwalls..." }), + d.a.createElement( + "div", + { className: "auto-config-action" }, + d.a.createElement(u.FormattedMessage, { id: "auto_config_instructions_finding_powerwalls", defaultMessage: "If this message persists for more than 3 minutes, verify Powerwall wiring." }) + ) + ); + } + function ri({ runButton: e }) { + return d.a.createElement("div", { className: "auto-config-action" }, e); + } + function ai({ runButton: e }) { + return d.a.createElement("div", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_status_timeout", defaultMessage: "Automatic setup has timed out. You can try again:" }), d.a.createElement(ri, { runButton: e })); + } + function oi({ runButton: e }) { + return d.a.createElement("div", null, d.a.createElement(u.FormattedMessage, { id: "auto_config_status_cancelled", defaultMessage: "Automatic setup was cancelled. You can try again:" }), d.a.createElement(ri, { runButton: e })); + } + function si({ runButton: e }) { + return d.a.createElement( + "div", + null, + d.a.createElement(u.FormattedMessage, { id: "auto_config_status_not_applicable", defaultMessage: "Automatic setup is not needed or has already been run. You can run it again:" }), + d.a.createElement(ri, { runButton: e }) + ); + } + function _i({ leader: e }) { + return d.a.createElement( + "div", + { className: "auto-config" }, + d.a.createElement("div", { className: "auto-config-title" }, d.a.createElement(u.FormattedMessage, { id: "follower_powerwall_title", defaultMessage: "Follower Powerwall" })), + d.a.createElement("div", { className: "auto-config-state" }, d.a.createElement(u.FormattedMessage, { id: "follower_powerwall_message", defaultMessage: "This Powerwall is controlled by {leader}", values: { leader: e } })) + ); + } + var li = i(42), + ci = i(44), + di = i(212), + ui = i(192), + mi = i(67); + i(800); + function pi() { + return (pi = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function gi(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function wi(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const vi = [ + { title: "networkTitle", id: "network-menu-item", link: "/network" }, + { title: "modbusTitle", id: "modbus-menu-item", link: "/modbus", resi: !1 }, + { title: "registrationTitle", id: "registration-menu-item", link: "/legal", resi: !0 }, + { title: "summaryTitle", id: "summary-menu-item", link: "/summary", resi: !0 }, + { title: "meterValidationTitle", id: "meter-validation-menu-item", link: "/open-loop-meter-validation", resi: !1 }, + { title: "updateTitle", id: "update-menu-item", link: "/update", onlyVisibleTo: y.d }, + { title: "clientProtocolsTitle", id: "client_protocols_menu_title", link: "/client-protocols", resi: !1 }, + { title: "networkSwitchTitle", id: "network-switch-menu-item", link: "/network-switch", resi: !1 }, + { title: "passwordGenerateTitle", id: "password-generate-menu-item", link: "/password-generate", resi: !1 }, + { title: "componentsTitle", id: "component-menu-item", link: "/components", resi: !1 }, + ], + fi = { KIOSK: { mode: y.c.KIOSK }, INSTALLER: { mode: y.c.INSTALLER } }; + function hi() { + let e = window.location; + e.assign(`${e.protocol}//${e.hostname}/monitor`); + } + const Ei = Object(u.defineMessages)({ + complete: { id: "overview_menu_registration_complete", defaultMessage: "Complete" }, + connected: { id: "overview_menu_network_connected", defaultMessage: "Connected" }, + controlTitle: { id: "overview_menu_control_title", defaultMessage: "Control" }, + diagnosticsTitle: { id: "overview_menu_diagnostics_title", defaultMessage: "Diagnostics" }, + event: { id: "overview_menu_view_alerts_event", defaultMessage: "Event" }, + events: { id: "overview_menu_view_alerts_events", defaultMessage: "Events" }, + incomplete: { id: "overview_menu_registration_incomplete", defaultMessage: "Incomplete" }, + inverterTitle: { id: "overview_menu_view_inverter_title", defaultMessage: "Inverter test" }, + networkTitle: { id: "overview_menu_view_network_title", defaultMessage: "Network" }, + noConnection: { id: "overview_menu_network_no_connection", defaultMessage: "No Connection" }, + pending: { id: "overview_menu_registration_pending", defaultMessage: "Pending internet connection" }, + registrationTitle: { id: "overview_menu_view_registration_title", defaultMessage: "Registration" }, + securityTitle: { id: "overview_menu_security_title", defaultMessage: "Change or reset password" }, + settingsTitle: { id: "overview_menu_settings_title", defaultMessage: "Settings" }, + summaryTitle: { id: "overview_menu_summary_title", defaultMessage: "Summary" }, + systemTitle: { id: "overview_menu_system_title", defaultMessage: "System" }, + testTitle: { id: "overview_menu_view_test_title", defaultMessage: "Self test" }, + meterValidationTitle: { id: "overview_meter_validation_title", defaultMessage: "Meter Validation" }, + modbusTitle: { id: "overview_menu_modbus_title", defaultMessage: "Modbus" }, + updateTitle: { id: "overview_menu_update_title", defaultMessage: "Software Update" }, + clientProtocolsTitle: { id: "client_protocols_menu_title", defaultMessage: "Client Protocols" }, + networkSwitchTitle: { id: "network-switch-menu-item", defaultMessage: "Network Switches" }, + passwordGenerateTitle: { id: "password_generate_menu_title", defaultMessage: "Change Password" }, + componentsTitle: { id: "component-menu-title", defaultMessage: "Components" }, + }); + class bi extends c.Component { + _isInstaller() { + const { authentication: e, errors: t } = this.props; + return Object(Ve.isInstaller)(e, t) || Object(Ve.isEngineer)(e); + } + _isAuthenticated() { + const { authentication: e, errors: t } = this.props; + return Object(Ve.isAuthenticated)(e, t); + } + render() { + return c.createElement("ul", { className: "overview-menu menu-items" }, this._renderSystemMenuItem(), this._renderKioskMenuItems(), this._renderInstallerMenuItems(), this._renderCustomerMenuItems()); + } + _renderSystemMenuItem() { + let { installationProblems: e, isResi: t, canReboot: i } = this.props; + if (!t || !this._isInstaller()) return null; + const n = c.createElement(u.FormattedMessage, Ei.systemTitle, (e) => c.createElement("h4", { className: "title" }, e)); + let r = null, + a = []; + return ( + Array.isArray(e) && + (a = e + .map((e) => ne.installationProblemTitles[e]) + .filter((e) => !!e) + .map((e) => c.createElement("div", { key: e.id }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, e)))), + i === li.a.blockUpdate && a.push(c.createElement("div", { key: i }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, Ti.updating))), + a.length > 0 && (r = c.createElement("p", { className: "subtitle" }, a)), + c.createElement(mi.a, { title: n, subtitle: r, clickElementProps: this._getMenuItemLinkProps("/system") }) + ); + } + _getMenuItemLinkProps(e, t = {}, i = {}) { + return (function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? gi(Object(i), !0).forEach(function (t) { + wi(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : gi(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + })({ to: { pathname: e, query: t } }, i); + } + _getSubtitle(e) { + const { intl: t, network: i, registration: n, isUpdateRequired: r, hasNetworkConnection: a } = this.props; + switch (e) { + case "networkTitle": + return this._isAuthenticated() + ? a + ? c.createElement(u.FormattedMessage, Ei.connected) + : c.createElement("span", null, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, Ei.noConnection)) + : null; + case "registrationTitle": + return this._getRegistrationConfiguration(n); + case "updateTitle": + return r ? t.formatMessage(ci.c[ci.b.REQUIRED]) : null; + default: + return null; + } + } + _renderKioskMenuItems() { + const { kioskMode: e, menuItems: t } = this.props; + return t + ? c.createElement( + c.Fragment, + null, + t.map(({ title: t, id: i, link: n }) => { + const r = this._getSubtitle(t); + return c.createElement(mi.a, { + key: i, + title: c.createElement("h4", { "data-testid": "546b4fb6-9436-4a32-a226-ee9648b3b6b3", className: "title" }, this.props.intl.formatMessage(Ei[t])), + subtitle: c.createElement("p", { "data-testid": "9b617380-260c-40b7-9b0d-b98d77cba834", className: "subtitle" }, r), + clickElementProps: this._getMenuItemLinkProps(n, e ? fi.KIOSK : void 0, { id: i }), + }); + }) + ) + : null; + } + _renderCustomerMenuItems() { + if (!this._isAuthenticated() || !this.props.isResi) return null; + const { kioskMode: e } = this.props; + let t = {}; + return ( + (t = e ? (e && this._isInstaller() ? fi.INSTALLER : fi.KIOSK) : void 0), + c.createElement( + c.Fragment, + null, + c.createElement(mi.a, { + title: c.createElement("h4", { "data-testid": "1e573050-9a78-43cc-bbe0-8a0bf847244e", className: "title" }, this.props.intl.formatMessage(Ei.securityTitle)), + clickElementProps: this._getMenuItemLinkProps("/password", t, { id: "password-menu-item" }), + }) + ) + ); + } + _renderInstallerMenuItems() { + if (!this._isInstaller()) return null; + const { alerts: e, grid: t, kioskMode: i, isResi: n } = this.props; + return c.createElement( + c.Fragment, + null, + this._getAlerts(e, t, i), + this._getInverterSelfTest(t, i), + !n && + c.createElement(mi.a, { + title: c.createElement("h4", { className: "title" }, c.createElement(u.FormattedMessage, pi({ tagName: "div" }, Ei.settingsTitle))), + clickElementProps: this._getMenuItemLinkProps("/settings", i ? fi.KIOSK : void 0, { id: "settings-menu-item" }), + }), + !n && + c.createElement(mi.a, { + id: "control-menu-item", + title: c.createElement("h4", { "data-testid": "9ad0ff83-1794-45ed-b1ab-820cf8dfd0f3", className: "title" }, this.props.intl.formatMessage(Ei.controlTitle)), + onClick: hi, + }), + c.createElement(mi.a, { + title: c.createElement("h4", { "data-testid": "53c5d702-1b35-4825-83c2-83915a33a8e3", className: "title" }, this.props.intl.formatMessage(Ei.diagnosticsTitle)), + clickElementProps: this._getMenuItemLinkProps("/diagnostics", i ? fi.KIOSK : void 0, { id: "diagnostics-menu-item" }), + }) + ); + } + _getInverterSelfTest(e, t) { + return Object(di.c)(e.config.country, e.config.grid_code) + ? c.createElement(mi.a, { + title: c.createElement("h4", { "data-testid": "f9bcd285-cc16-420c-88a9-4f23886fea95", className: "title" }, this.props.intl.formatMessage(Ei.inverterTitle)), + clickElementProps: this._getMenuItemLinkProps("/test/inverter", t ? fi.KIOSK : void 0, { id: "inverter-self-test-menu-item" }), + }) + : null; + } + _getAlerts(e, t, i) { + if (!Object(di.b)(t.config.country, t.config.grid_code)) return null; + let n = this.props.intl.formatMessage(1 === e.length ? Ei.event : Ei.events); + return c.createElement(mi.a, { + title: c.createElement("h4", { "data-testid": "b88f5980-3a17-4b07-8f32-94492079a6b4", className: "title" }, c.createElement(u.FormattedMessage, te.titles.alerts)), + subtitle: c.createElement("p", { "data-testid": "5d72bdb5-4515-4038-beb5-fed6ec51d901", className: "subtitle" }, `${e.length} ${n}`), + clickElementProps: this._getMenuItemLinkProps("/alert", i ? fi.KIOSK : void 0, { id: "alerts-menu-item" }), + }); + } + _getRegistration(e, t) { + return Object(ui.a)(e) + ? null + : c.createElement(mi.a, { + title: c.createElement("h4", { "data-testid": "343ca1b8-377e-4c1f-b807-7c2c5f409999", className: "title" }, this.props.intl.formatMessage(Ei.registrationTitle)), + subtitle: c.createElement("p", { "data-testid": "097d8494-86b7-4764-8819-08d97a9dd064", className: "subtitle" }, this._getRegistrationConfiguration(e)), + clickElementProps: this._getMenuItemLinkProps("/legal", t ? fi.KIOSK : void 0, { id: "registration-menu-item" }), + }); + } + _getRegistrationConfiguration(e) { + return e.timedOut ? this.props.intl.formatMessage(Ei.pending) : this.props.intl.formatMessage(Ei.incomplete); + } + } + wi(bi, "propTypes", { + alerts: l.a.arrayOf(l.a.object).isRequired, + authentication: l.a.object.isRequired, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + grid: l.a.object.isRequired, + intl: u.intlShape.isRequired, + isResi: l.a.bool.isRequired, + kioskMode: l.a.bool.isRequired, + menuItems: l.a.arrayOf(l.a.object).isRequired, + network: l.a.object.isRequired, + registration: l.a.shape({ timedOut: l.a.bool.isRequired, registered: l.a.bool.isRequired }).isRequired, + sitemasterRunning: l.a.bool.isRequired, + isUpdateRequired: l.a.bool.isRequired, + hasNetworkConnection: l.a.bool.isRequired, + installationProblems: l.a.array.isRequired, + canReboot: l.a.string.isRequired, + }), + wi(bi, "defaultProps", { kioskMode: !1 }); + i(590); + function yi(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const Si = new Date(0).getTime(), + Ri = l.a.shape({ instant_power: l.a.number.isRequired, last_communication_time: l.a.string }).isRequired, + Ti = Object(u.defineMessages)({ + connected: { id: "system_overview_connected", defaultMessage: "Connected To Tesla" }, + disconnected: { id: "system_overview_disconnected", defaultMessage: "Not Connected To Tesla" }, + scanning: { id: "system_overview_scanning", defaultMessage: "Scanning for devices..." }, + updating: { id: "system_overview_updating", defaultMessage: "Updating devices..." }, + siteController: { id: "system_overview_site_controller", defaultMessage: "Site Controller" }, + followerPowerwall: { id: "system_overview_follower", defaultMessage: "Follower Powerwall" }, + }); + class Ai extends c.Component { + constructor(...e) { + super(...e), yi(this, "_handleInactiveLabelClick", this._handleInactiveLabelClick.bind(this)); + } + render() { + const { + siteName: e, + gridStatus: t, + gridServicesActive: i, + soe: n, + handleStartStopSitemanager: r, + handleGoOffGrid: o, + handleReconnectToGrid: s, + handleNegativeLabelClick: _, + sitemasterRunning: l, + authenticated: d, + meter: m, + showCompletePowerwall: p, + connectedToTesla: g, + canReboot: w, + isResi: v, + isTeslaUser: f, + leader: h, + criticalInstallationProblems: E, + } = this.props; + let b = "power-flow-header"; + l || (b += " inactive"); + const y = []; + return ( + Xe.a.each(m.aggregates, (e, t) => { + null != e.last_communication_time && y.push(et.m[t]); + }), + c.createElement( + "div", + { className: "system" }, + c.createElement( + "div", + { className: b }, + d + ? c.createElement("span", null, this._getSiteName(e), c.createElement(Ci, { isResi: v, connectedToTesla: g, canReboot: w })) + : c.createElement("p", { className: "name" }, c.createElement(u.FormattedMessage, { id: "system_overview_login_required", defaultMessage: "Login Required To View System Operation" })) + ), + c.createElement(bt, { + intl: this.props.intl, + activeTypes: l ? this._getActiveMeterTypes(m) : [], + availableTypes: l ? y : void 0, + showCompletePowerwall: p, + sitemasterRunning: l, + authenticated: d, + handleStartStopSitemanager: r, + handleGoOffGrid: o, + handleReconnectToGrid: s, + handleInactiveLabelClick: this._handleInactiveLabelClick, + handleNegativeLabelClick: _, + showLabels: l, + labelHeight: 14, + labelWidth: 120, + loadPower: a()(m, (e) => e.aggregates.load.instant_power) || 0, + solarPower: a()(m, (e) => e.aggregates.solar.instant_power) || 0, + batteryPower: a()(m, (e) => e.aggregates.battery.instant_power) || 0, + gridPower: a()(m, (e) => e.aggregates.site.instant_power) || 0, + correctLoadPower: !1, + gridStatus: t, + gridServicesActive: i, + soe: n, + isResi: v, + compact: v, + criticalInstallationProblems: E, + }), + !v && this.props.additionalView, + v && !h && f && 0 === E.length && c.createElement(Bt, { showModal: this.props.showModal, handleRunWizard: this.props.handleRunWizard, sitemasterRunning: l }), + v && h && c.createElement(_i, { leader: h }), + c.createElement(bi, this.props), + v && this.props.additionalView + ) + ); + } + _getSiteName(e) { + if (null == e) return null; + let t; + return (t = this.props.isResi ? (this.props.leader ? this.props.intl.formatMessage(Ti.followerPowerwall) : e) : this.props.intl.formatMessage(Ti.siteController)), c.createElement("p", { className: "name" }, t); + } + _getActiveMeterTypes(e) { + const t = []; + return ( + null != e.lastUpdatedAt && + null != e.lastMeterReadingAt && + e.lastMeterReadingAt > Si && + Date.now() - e.lastUpdatedAt < 6e4 && + Xe.a.each(e.aggregates, (i, n) => { + e.lastMeterReadingAt - (null != i.last_communication_time ? Date.parse(i.last_communication_time) : 0) >= 6e4 || t.push(et.m[n]); + }), + t + ); + } + _handleInactiveLabelClick(e, t = !1) { + if (!this.props.handleInactiveLabelClick) return; + let i = null; + const n = a()(this.props, (t) => t.meter.aggregates[e].last_communication_time); + null != n && Date.parse(n) > Si && (i = new Date(n)), this.props.handleInactiveLabelClick(e, null != i ? i.toLocaleTimeString() + ", " + i.toLocaleDateString() : "", t); + } + } + function Ci(e) { + const { isResi: t, connectedToTesla: i, canReboot: n } = e; + return t + ? n === li.a.blockUpdate || n === li.a.updating + ? c.createElement("p", { className: "name updating" }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, Ti.updating)) + : n === li.a.enumeration + ? c.createElement("p", { className: "name scanning" }, c.createElement(ie.StatusWarningIcon, { inline: !0 }), c.createElement(u.FormattedMessage, Ti.scanning)) + : i + ? c.createElement("p", { className: "name connected" }, c.createElement(u.FormattedMessage, Ti.connected)) + : c.createElement("p", { className: "name not-connected" }, c.createElement(u.FormattedMessage, Ti.disconnected)) + : null; + } + yi(Ai, "propTypes", { + intl: u.intlShape.isRequired, + siteName: l.a.string, + gridStatus: l.a.string, + gridServicesActive: l.a.bool.isRequired, + soe: l.a.number, + sitemasterRunning: l.a.bool.isRequired, + authenticated: l.a.bool.isRequired, + connectedToTesla: l.a.bool, + meter: l.a.shape({ isFetching: l.a.bool.isRequired, lastUpdatedAt: l.a.number, lastMeterReadingAt: l.a.number, aggregates: l.a.shape({ site: Ri, solar: Ri, battery: Ri, load: Ri }).isRequired }).isRequired, + handleStartStopSitemanager: l.a.func, + handleGoOffGrid: l.a.func, + handleReconnectToGrid: l.a.func, + handleInactiveLabelClick: l.a.func, + handleNegativeLabelClick: l.a.func, + handleRunWizard: l.a.func, + showModal: l.a.func, + showCompletePowerwall: l.a.bool.isRequired, + additionalView: l.a.element, + isResi: l.a.bool.isRequired, + isTeslaUser: l.a.bool.isRequired, + leader: l.a.string, + isUpdateRequired: l.a.bool.isRequired, + criticalInstallationProblems: l.a.array.isRequired, + }), + yi(Ai, "defaultProps", { sitemasterRunning: !0, showCompletePowerwall: !1, connectedToTesla: !1, authenticated: !1 }); + i(801); + var Ii = i(456), + Oi = i.n(Ii); + function Ni() { + return (Ni = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function ki(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function Pi(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? ki(Object(i), !0).forEach(function (t) { + Di(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : ki(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function Di(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const Li = Object(u.defineMessages)({ + wizard: { id: "home_view_run_wizard", defaultMessage: "RUN WIZARD" }, + login: { id: "home_view_login", defaultMessage: "LOGIN" }, + logout: { id: "home_view_logout", defaultMessage: "LOGOUT" }, + downloadLogs: { id: "home_view_download_logs", defaultMessage: "DOWNLOAD LOGS" }, + }); + class Mi extends c.Component { + constructor(...e) { + super(...e), Di(this, "_handleClick", this._handleClick.bind(this)), Di(this, "_handleLogin", this._handleLogin.bind(this)), Di(this, "_handleLogout", this._handleLogout.bind(this)); + } + render() { + const { + sitemaster: e, + settings: t, + grid: i, + powerwall: n, + authentication: r, + errors: a, + version: o, + showInactiveMeterModal: s, + showNegativeMeterModal: _, + handleStartStopSitemanager: l, + handleGoOffGrid: d, + handleReconnectToGrid: m, + handleRunWizard: g, + isResi: w, + } = this.props, + v = Object(Ve.isAuthenticated)(r, a), + f = Pi( + Pi({}, this.props), + {}, + { + showCompletePowerwall: !w, + kioskMode: !0, + siteName: t.siteName, + gridStatus: i.status, + gridServicesActive: i.servicesActive, + soe: n.soe, + connectedToTesla: e.connectedToTesla, + canReboot: e.canReboot, + additionalView: this._getKioskLinkView(r, a), + sitemasterRunning: !!e.running || !!e.powerSupplyMode, + authenticated: v, + isResi: w, + isTeslaUser: Object(Ve.isTeslaUser)(r), + } + ); + return c.createElement( + "div", + { "data-testid": "10bb1320-6523-4802-8d64-c2150467d3fe", className: "home" }, + c.createElement(Ai, Ni({ handleStartStopSitemanager: l, handleGoOffGrid: d, handleReconnectToGrid: m, handleInactiveLabelClick: s, handleNegativeLabelClick: _, handleRunWizard: g }, f)), + c.createElement( + "div", + { className: "row compliance-row" }, + c.createElement(p.Link, { id: "compliance", to: "/compliance", className: "btn btn-link col-xs-6" }, c.createElement(u.FormattedMessage, { id: "home_view_compliance", defaultMessage: "COMPLIANCE" })) + ), + w && + v && + Object(Ve.isInstaller)(r, a) && + c.createElement( + "button", + { "data-testid": "6bddfb5b-37e0-475a-8662-14b95e5417c6", type: "button", className: "btn-link download-logo-button", onClick: this.props.handleDownloadLogs }, + c.createElement("img", { "data-testid": "57bbe4d7-c7f4-44c6-9873-47c74ff50792", className: "align-image-right", src: Oi.a, alt: "Download Button" }), + this.props.intl.formatMessage(Li.downloadLogs) + ), + c.createElement(Re, { cancel: { buttonClass: "btn-text text-center", text: o } }) + ); + } + _getKioskLinkView(e, t) { + return Object(Ve.isInstaller)(e, t) || Object(Ve.isEngineer)(e) + ? c.createElement( + "div", + { className: "row navigation-row" }, + 0 === this.props.criticalInstallationProblems.length && + c.createElement("a", { id: "run-wizard", className: "btn btn-link col-xs-6", onClick: this._handleClick, title: "Run Wizard" }, this.props.intl.formatMessage(Li.wizard)), + !Object(Ve.isEngineer)(e) && c.createElement("a", { id: "logout", className: "btn btn-link col-xs-6", onClick: this._handleLogout, title: "Logout" }, this.props.intl.formatMessage(Li.logout)) + ) + : Object(Ve.isCustomer)(e, t) + ? c.createElement( + "a", + { "data-testid": "c8439a4e-a6e2-4e1f-b8ba-b3149bc3474e", id: "logout", className: "btn btn-link center-block", onClick: this._handleLogout, title: "Logout" }, + this.props.intl.formatMessage(Li.logout) + ) + : c.createElement("a", { "data-testid": "5ef23ffb-009d-47f0-ae67-2b7b232b7826", id: "login", className: "btn btn-link center-block", onClick: this._handleLogin, title: "Login" }, this.props.intl.formatMessage(Li.login)); + } + _handleClick(e) { + e.preventDefault(), e.stopPropagation(), this.props.handleRunWizard && this.props.handleRunWizard(e); + } + _handleLogin(e) { + e.preventDefault(), e.stopPropagation(), this.props.handleLogin && this.props.handleLogin(e); + } + _handleLogout(e) { + e.preventDefault(), e.stopPropagation(), this.props.handleLogout && this.props.handleLogout(e); + } + } + Di(Mi, "propTypes", { + intl: u.intlShape.isRequired, + handleRunWizard: l.a.func, + handleLogin: l.a.func, + handleLogout: l.a.func, + handleSitemaster: l.a.func, + handleGoOffGrid: l.a.func, + handleReconnectToGrid: l.a.func, + handleDownloadLogs: l.a.func.isRequired, + showInactiveMeterModal: l.a.func, + showNegativeMeterModal: l.a.func, + authentication: l.a.object.isRequired, + errors: l.a.arrayOf(l.a.instanceOf(h.default)).isRequired, + settings: l.a.shape({ siteName: l.a.string }).isRequired, + sitemaster: l.a.shape({ running: l.a.bool, connectedToTesla: l.a.bool, powerSupplyMode: l.a.bool }).isRequired, + grid: l.a.shape({ codes: l.a.object.isRequired, status: l.a.string, servicesActive: l.a.bool.isRequired }).isRequired, + powerwall: l.a.shape({ soe: l.a.number }).isRequired, + version: l.a.string.isRequired, + isResi: l.a.bool.isRequired, + isUpdateRequired: l.a.bool.isRequired, + criticalInstallationProblems: l.a.array.isRequired, + }); + var zi = i(558), + Ui = i(561), + Vi = i.n(Ui), + Gi = i(562), + ji = i.n(Gi), + Wi = i(563), + Fi = i.n(Wi), + qi = i(564), + xi = i.n(qi), + Bi = i(565), + Hi = i.n(Bi); + i(820); + var Ki = () => { + const [e, t] = c.useState(0); + return c.createElement( + "div", + { className: "soft-blocker-container" }, + c.createElement( + "div", + { className: "carousel-display-container" }, + c.createElement("div", { + className: "carousel-toggle-left", + onClick: () => { + t(e > 0 ? e - 1 : 2); + }, + }), + c.createElement("div", { + className: "carousel-toggle-right", + onClick: () => { + t(e < 2 ? e + 1 : 0); + }, + }), + c.createElement("img", { src: Vi.a, hidden: 0 !== e }), + c.createElement("img", { src: ji.a, hidden: 1 !== e }), + c.createElement("img", { src: Fi.a, hidden: 2 !== e }) + ), + c.createElement( + "div", + { className: "carousel-menu-container" }, + c.createElement( + "div", + { className: "menu-carousel-tabs" }, + [0, 1, 2].map((i) => c.createElement("img", { src: e === i ? xi.a : Hi.a, onClick: () => t(i) })) + ), + c.createElement(u.FormattedMessage, { tagName: "h3", id: "menu-switch-to-tesla-pros-title", defaultMessage: "Switch to Tesla Pros for a better commissioning experience" }), + c.createElement(u.FormattedMessage, { tagName: "p", id: "menu-switch-tesla-pros-reason", defaultMessage: "The current experience is no longer supported" }), + c.createElement("button", { className: "button-continue", onClick: () => p.browserHistory.push("/upgrade") }, c.createElement(u.FormattedMessage, zi.buttons.CONTINUE)) + ) + ); + }, + Yi = i(458), + Qi = i(272), + Zi = i(276), + Ji = i(208), + Xi = i(152), + $i = i(284), + en = i(279), + tn = i(277), + nn = i(285), + rn = i(522); + i(821); + class an extends c.Component { + constructor(...e) { + super(...e), + (function (e, t, i) { + t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i); + })(this, "state", { isChecked: !1 }); + } + render() { + const { isSystemRunning: e, requiresConfirmation: t, onClick: i } = this.props; + let n = !0; + return ( + e && t && !this.state.isChecked && (n = !1), + c.createElement( + "div", + null, + t && + e && + c.createElement( + "div", + { className: "row" }, + c.createElement( + "div", + { className: "col-xs-12 confirm-checkbox" }, + c.createElement( + "label", + { className: "checkbox-inline" }, + c.createElement("input", { + className: "confirm-checkbox-input", + type: "checkbox", + checked: this.state.isChecked, + onChange: (e) => { + this.setState({ isChecked: e.target.checked }); + }, + }), + c.createElement(u.FormattedMessage, oe.inputMessages.confirm) + ) + ) + ), + c.createElement( + "div", + { className: "row" }, + c.createElement("div", { className: "col-xs-6" }, c.createElement("button", { className: "btn btn-link btn-close", "data-dismiss": "modal" }, c.createElement(u.FormattedMessage, te.buttons.CANCEL))), + c.createElement( + "div", + { className: "col-xs-6" }, + c.createElement( + "button", + { disabled: !n, className: "btn btn-link btn-error", onClick: () => i() }, + e ? c.createElement(u.FormattedMessage, En.stopSystemButton) : c.createElement(u.FormattedMessage, En.startSystemButton) + ) + ) + ) + ) + ); + } + } + var on = i(207), + sn = i(274), + _n = i.n(sn), + ln = i(278), + cn = i(199), + dn = i(566); + const un = Object(on.a)(ln.isResiSelector, dn.registrationSelector, cn.loginTypeSelector, (e, t, i) => + _n()(vi, (n, r) => ((Object(ui.a)(t) && "registrationTitle" === r.title) || (Array.isArray(r.onlyVisibleTo) && !r.onlyVisibleTo.includes(i)) || (void 0 !== r.resi && e !== r.resi) || n.push(r), n), []) + ); + var mn = Object(on.b)({ menuItems: un }), + pn = i(210), + gn = i(567); + function wn(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function vn(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? wn(Object(i), !0).forEach(function (t) { + hn(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : wn(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function fn() { + return (fn = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var i = arguments[t]; + for (var n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); + } + return e; + }).apply(this, arguments); + } + function hn(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + const En = Object(u.defineMessages)({ + startPowerwall: { id: "home_container_start_powerwall", defaultMessage: "Start System" }, + stopPowerwall: { id: "home_container_stop_powerwall", defaultMessage: "Stop System" }, + stopSystemButton: { id: "home_container_stop_system_button", defaultMessage: "STOP SYSTEM" }, + startSystemButton: { id: "home_container_start_system_button", defaultMessage: "START SYSTEM" }, + errorPowerwall: { id: "home_container_powerwall_error", defaultMessage: "Powerwall System Error" }, + siteControllerError: { id: "home_container_site_controller_error", defaultMessage: "Site Controller System Error" }, + login: { id: "home_container_login_required", defaultMessage: "Login Required" }, + inactiveMeter: { id: "home_container_inactive_meter", defaultMessage: "Stale Meter Data" }, + positivePowerMeter: { id: "home_container_positive_meter", defaultMessage: "Warning: {type} meter may be configured incorrectly" }, + missingMeter: { id: "home_container_missing_meter", defaultMessage: "Meter is Missing" }, + downloadAllLogs: { id: "home_view_download_all_logs", defaultMessage: "Download All Logs" }, + caution: { id: "home_container_caution", defaultMessage: "⚠️ Caution" }, + }); + class bn extends c.Component { + constructor(...e) { + super(...e), + hn(this, "state", { + togglingSitemaster: !1, + showSoftBlocker: this.props.isResi && this.props.deviceType !== qe.DEVICE_TYPE.GW1 && !this.props.skipSoftBlocker && "unblocked" !== p.browserHistory.getCurrentLocation().state, + }), + hn(this, "_loginViewJsx", null), + hn(this, "_handleReset", this._handleReset.bind(this)), + hn(this, "_handleRunWizard", this._handleRunWizard.bind(this)), + hn(this, "_handleLogin", this._handleLogin.bind(this)), + hn(this, "_handleChangeUsername", this._handleChangeUsername.bind(this)), + hn(this, "_handleLogout", this._handleLogout.bind(this)), + hn(this, "_showLoginModal", this._showLoginModal.bind(this)), + hn(this, "_showInactiveMeterModal", this._showInactiveMeterModal.bind(this)), + hn(this, "_showNegativeMeterModal", this._showNegativeMeterModal.bind(this)), + hn(this, "_handleStartStopSitemanager", this._handleStartStopSitemanager.bind(this)), + hn(this, "_handleGoOffGrid", this._handleGoOffGrid.bind(this)), + hn(this, "_handleReconnectToGrid", this._handleReconnectToGrid.bind(this)), + hn(this, "_handleStartOrStopSitemaster", this._handleStartOrStopSitemaster.bind(this)), + hn(this, "_handleDownloadLogs", this._handleDownloadLogs.bind(this)), + hn(this, "_handleTriggerDownloadLogs", this._handleTriggerDownloadLogs.bind(this)), + hn(this, "_startToggleAuth", this._startToggleAuth.bind(this)), + hn(this, "_queryTimeoutId", null); + } + startQuerying() { + const e = () => { + try { + this.props.fetchSitemasterSettings && this.props.fetchSitemasterSettings(), + this.props.getMeterAggregates && this.props.getMeterAggregates(), + this.props.getSOE && this.props.getSOE(), + this.props.getGridStatus && this.props.getGridStatus(), + this.props.fetchPowerwalls && this.props.fetchPowerwalls(!0); + } catch (e) {} + this._queryTimeoutId = setTimeout(e, 2500); + }; + (() => { + try { + this.props.testAndCheckFirmwareUpdateUrgency && this.props.testAndCheckFirmwareUpdateUrgency(), + this.props.getSiteName && this.props.getSiteName(), + this.props.getRegistration && this.props.getRegistration(), + this.props.fetchAlerts && this.props.fetchAlerts(), + this.props.fetchNetworks && this.props.fetchNetworks(), + !this.props.fetchSiteInfo || (this.props.grid && this.props.grid.config && this.props.grid.config.grid_code) || this.props.fetchSiteInfo(); + } catch (e) {} + })(), + (this._queryTimeoutId = setTimeout(e, 0)); + } + stopQuerying() { + this.isQuerying() && (clearTimeout(this._queryTimeoutId), (this._queryTimeoutId = null)); + } + isQuerying() { + return null !== this._queryTimeoutId; + } + componentWillMount() { + this.props.initializeConfig(); + } + componentDidMount() { + Object(Ve.isAuthenticated)(this.props.authentication, this.props.errors) ? (this.startQuerying(), this.state.showSoftBlocker && this.setState({ showSoftBlocker: !1 })) : this._showLoginModal(); + } + componentDidUpdate(e) { + Object(Ve.isAuthenticated)(this.props.authentication, this.props.errors) + ? (this.isQuerying() || this.startQuerying(), this.state.showSoftBlocker && this.setState({ showSoftBlocker: !1 })) + : (this.stopQuerying(), this._showLoginModal()); + } + componentWillReceiveProps(e) { + let t = {}; + this.props.sitemaster.running !== e.sitemaster.running + ? (e.destroyModal("SITEMASTER_MODAL"), (t.togglingSitemaster = !1)) + : this.state.togglingSitemaster && !this.props.sitemaster.didInvalidate && e.sitemaster.didInvalidate && (this._showError(e), (t.togglingSitemaster = !1)), + this.props.configuration.isFetching && !e.configuration.isFetching && (e.configuration.isNew ? Object(Ge.c)("Wizard", "0") : Object(Ge.a)("Wizard")), + !this._loginViewJsx || + (this.props.authentication.selectedLoginType === e.authentication.selectedLoginType && this.props.authentication.waitForToggle === e.authentication.waitForToggle) || + this.props.updateModal(y.b, { contentView: c.cloneElement(this._loginViewJsx, { selectedLoginType: e.authentication.selectedLoginType, waitForToggle: e.authentication.waitForToggle }) }), + !0 !== e.configuration.isNew || e.isResi || e.isTeslaUser ? Object(Je.isEmpty)(t) || this.setState(t) : this.props.replaceLocation(this._getNextRoute()); + } + render() { + return this.state.showSoftBlocker + ? c.createElement(Ki, null) + : c.createElement( + Mi, + fn( + { + handleRunWizard: this._handleRunWizard, + handleLogin: this._showLoginModal, + handleLogout: this._handleLogout, + handleStartStopSitemanager: this._handleStartStopSitemanager, + handleGoOffGrid: this._handleGoOffGrid, + handleReconnectToGrid: this._handleReconnectToGrid, + handleDownloadLogs: this._handleDownloadLogs, + showInactiveMeterModal: this._showInactiveMeterModal, + showNegativeMeterModal: this._showNegativeMeterModal, + version: this.props.configuration.version, + criticalInstallationProblems: this.props.installationProblems.filter(ne.isCriticalProblem), + }, + this.props + ) + ); + } + componentWillUnmount() { + this.stopQuerying(), (this._loginViewJsx = null); + } + async _startToggleAuth() { + try { + await this.props.startToggleAuth(), this.props.handleCheckForToggle(); + } catch (e) {} + } + _getNextRoute(e = !1) { + return e && (Object(Ve.isInstaller)(this.props.authentication, this.props.errors) || Object(Ve.isEngineer)(this.props.authentication)) ? "/network" : "/wizard"; + } + _handleReset() { + this.props.resetAll(); + } + _handleRunWizard(e) { + if (!this.props.sitemaster.running) return Object(Ge.c)("Wizard", "true"), At(), void this.props.changeLocation(this._getNextRoute(!0)); + let t = this.props.sitemaster && this.props.sitemaster.canReboot !== li.a.yes; + this.props.showModal("SITEMASTER_MODAL", { + modalClass: "modal-error", + size: this.props.isResi ? "lg" : "md", + centered: !0, + showCancel: !1, + showErrors: !1, + headerView: c.createElement( + "div", + { "data-testid": "ee013d3c-5f64-4a08-9ee1-8cfef8d373c8", className: "sitemaster-modal-title" }, + c.createElement("h2", { "data-testid": "65ffbbc0-6fc0-4d77-aab5-3247ee8c870f", className: "modal-title" }, this.props.intl.formatMessage(En.stopPowerwall)), + c.createElement( + "div", + { "data-testid": "85e994c6-8a69-401a-b0b6-7a7bd451f6ad", className: "login-warning" }, + this.props.hasSolarPowerwall && c.createElement(Sn, null), + t && + c.createElement(u.FormattedMessage, { + tagName: "p", + id: "home_container_sitemaster_header_warning_wizard", + defaultMessage: '{warning} This system is in a state where Tesla does not recommend stopping it. Reason: "{reason}"', + values: { + warning: c.createElement("span", { "data-testid": "8312d88c-6f91-44ce-9ad9-4ec7f8265f70", className: "bold" }, this.props.intl.formatMessage(oe.warnings.caution), ":"), + reason: c.createElement(pn.a, { messages: oe.canRebootMessages, id: this.props.sitemaster.canReboot }), + }, + }), + c.createElement(u.FormattedMessage, { tagName: "p", id: "home_container_sitemaster_confirm_wizard", defaultMessage: "Run Wizard requires the system to be stopped. Proceed and stop the system?" }) + ) + ), + footerView: c.createElement(an, { + isSystemRunning: this.props.sitemaster && this.props.sitemaster.running, + requiresConfirmation: t, + onClick: (e) => { + this.props.sitemaster.running && this._handleStartOrStopSitemaster(e), Object(Ge.c)("Wizard", "true"), At(), this.props.changeLocation(this._getNextRoute(!0)); + }, + }), + }); + } + _showLoginModal() { + const { showModal: e, authentication: t, intl: i, getLoginHeaderView: n, isResi: r, deviceType: a, tegType: o } = this.props, + { selectedLoginType: s } = t; + "pvinverter" !== o + ? ((this._loginViewJsx = c.createElement(ze.a, { + intl: i, + loginType: t.loginType, + selectedLoginType: t.selectedLoginType, + toggleAuthSupported: t.toggleAuthSupported, + username: t.username, + changeUsername: this._handleChangeUsername, + changeLogin: this.props.handleChangeLoginModal, + handleSubmit: this._handleLogin, + isFetching: t.isFetching, + showSubmit: !0, + useShowPasswordIcon: !0, + isResi: r, + startToggleAuth: this._startToggleAuth, + cancelPendingToggleAuth: this.props.cancelPendingToggleAuth, + waitForToggle: t.waitForToggle, + })), + e(y.b, { + modalClass: "modal-login", + centered: !0, + showCancel: !1, + fadeIn: !1, + bannerView: a !== qe.DEVICE_TYPE.GW1 && c.createElement(Fe.UpgradeBannerView, null), + headerView: n(s), + contentView: this._loginViewJsx, + onUnmount: this.props.cancelPendingToggleAuth, + })) + : p.browserHistory.push("/upgrade"); + } + _showInactiveMeterModal(e, t, i) { + this.props.showModal("INACTIVE_METER_MODAL", { + modalClass: i ? "modal-error" : "modal-info", + size: "lg", + centered: !0, + showCancel: !0, + showErrors: !1, + headerView: c.createElement("h2", { "data-testid": "5ecb34ba-a8e1-4b44-be93-3e4bee5f1f4e", className: "modal-title" }, this.props.intl.formatMessage(i ? En.missingMeter : En.inactiveMeter)), + contentView: c.createElement( + c.Fragment, + null, + c.createElement(u.FormattedMessage, { + tagName: "p", + id: "home_container_inactive_meter_description", + defaultMessage: "Check {type} meter connection.", + values: { type: Object($e.localizeWithFallback)(oe.meterAggregateTypeMessages[e], this.props.intl, e) }, + }), + "" !== t ? c.createElement(u.FormattedMessage, { tagName: "p", id: "home_container_inactive_meter_timestamp", defaultMessage: "Last meter reading at {timestamp}", values: { timestamp: t } }) : null + ), + footerView: c.createElement( + "button", + { "data-testid": "4a908f7c-be8b-4d6e-8cd1-b69423886cec", className: "btn btn-link btn-close center-block", "data-dismiss": "modal" }, + c.createElement(u.FormattedMessage, te.buttons.CLOSE) + ), + }); + } + _showNegativeMeterModal(e) { + const t = c.createElement( + "button", + { "data-testid": "926975e4-cf3c-4ad8-8067-e01733981bb6", className: "btn btn-link btn-close center-block", "data-dismiss": "modal" }, + c.createElement(u.FormattedMessage, te.buttons.CLOSE) + ); + this.props.showModal("NEGATIVE_METER_MODAL", { + modalClass: "modal-error", + size: "lg", + centered: !0, + showCancel: !0, + showErrors: !1, + headerView: c.createElement( + "h2", + { "data-testid": "e25e5e87-b826-42da-abfb-69c31013937b", className: "modal-title" }, + this.props.intl.formatMessage(En.positivePowerMeter, { type: Object($e.localizeWithFallback)(oe.meterAggregateTypeMessages[e], this.props.intl, e) }) + ), + contentView: c.createElement(u.FormattedMessage, { + tagName: "p", + id: "home_container_positive_meter_description", + defaultMessage: "{type} meter requires both positive power and amperage to be configured correctly.", + values: { type: Object($e.localizeWithFallback)(oe.meterAggregateTypeMessages[e], this.props.intl, e) }, + }), + footerView: + Object(Ve.isInstaller)(this.props.authentication, this.props.errors) || Object(Ve.isEngineer)(this.props.authentication) + ? c.createElement( + "div", + { "data-testid": "aa38075c-0229-4c75-a594-3d861c4647ae", className: "row" }, + c.createElement("div", { "data-testid": "98becf9a-50b2-4a2f-b310-0deabfc03860", className: "col-xs-6" }, t), + c.createElement( + "div", + { "data-testid": "73d97d52-ea03-4305-b580-3bae76a3ee13", className: "col-xs-6" }, + c.createElement( + "button", + { + "data-testid": "60616b44-f120-42bd-b974-96999b29010f", + className: "btn btn-link btn-error center-block", + onClick: () => { + this.props.changeLocation("/cts"); + }, + }, + this.props.intl.formatMessage(oe.modalMessages.reconfigure) + ) + ) + ) + : t, + }); + } + _handleChangeUsername(e) { + this.props.changeUsername(e), null != this._loginViewJsx && this.props.updateModal(y.b, { contentView: c.cloneElement(this._loginViewJsx, { username: e }) }); + } + async _handleLogin(e, t, i) { + try { + null != this._loginViewJsx && this.props.updateModal(y.b, { contentView: c.cloneElement(this._loginViewJsx, { username: e, isFetching: !0 }) }), + await this.props.login(e, t, i, this.props.isResi), + this.props.clearErrors(), + this.props.destroyModal(y.b), + this.props.fetchNetworks(), + (this._loginViewJsx = null); + } catch (t) { + null != this._loginViewJsx && this.props.updateModal(y.b, { contentView: c.cloneElement(this._loginViewJsx, { username: e, isFetching: !1 }) }); + } + } + _handleLogout() { + this.props.logout(); + } + _showError(e) { + const { intl: t, showModal: i, isResi: n, sitemaster: r } = e; + let a = null; + r.smStartError && (a = c.createElement(u.FormattedMessage, { tagName: "p", id: "home_container_powerwall_start_error", defaultMessage: "Unable to start system: {reason}", values: { reason: r.smStartError } })), + i("SITEMASTER_MODAL", { + modalClass: "modal-error modal-sitemaster", + size: "lg", + centered: !0, + showCancel: !1, + showErrors: !1, + fadeIn: !1, + headerView: c.createElement("h2", { "data-testid": "3cb8e199-a3c5-47fe-a3cd-5b7f8a6d4d87", className: "modal-title" }, t.formatMessage(n ? En.errorPowerwall : En.siteControllerError)), + contentView: a, + footerView: c.createElement( + "button", + { "data-testid": "0d17fb7b-9813-4837-8d29-5fcc9849f5fc", className: "btn btn-link btn-close center-block", "data-dismiss": "modal" }, + c.createElement(u.FormattedMessage, te.buttons.CLOSE) + ), + }); + } + _updateModalFooter(e) { + this.props.updateModal(e, { + footerView: c.createElement( + "div", + { "data-testid": "c8f5e267-65f1-4cab-8cad-6a60216c7bad", className: "row" }, + c.createElement( + "div", + { "data-testid": "419df8a0-0a3b-45b6-a76d-c17587204911", className: "col-xs-6" }, + c.createElement("button", { "data-testid": "2ceb55e2-f410-44e7-b2db-695d3b2185a6", className: "btn btn-link btn-close", "data-dismiss": "modal" }, c.createElement(u.FormattedMessage, te.buttons.CANCEL)) + ), + c.createElement( + "div", + { "data-testid": "497a8bdf-e2ad-461f-b00f-36cd266f9f4a", className: "col-xs-6" }, + c.createElement("img", { "data-testid": "c5e770bd-5d07-4e23-8a46-f66d9dfcfd6b", className: "spinner", src: i(271), alt: "Loading" }) + ) + ), + }); + } + _handleStartStopSitemanager() { + const e = this.props.sitemaster.running || this.props.sitemaster.powerSupplyMode; + let t = this.props.intl.formatMessage(e ? En.stopPowerwall : En.startPowerwall) + "?", + i = null, + n = this.props.sitemaster && this.props.sitemaster.canReboot !== li.a.yes; + e && + (i = c.createElement( + "div", + { className: "login-warning" }, + this.props.sitemaster.running && this.props.hasSolarPowerwall && c.createElement(yn, null), + n && + c.createElement(u.FormattedMessage, { + tagName: "p", + id: "home_container_sitemaster_header_warning_industrial", + defaultMessage: '{warning} This system is in a state where Tesla does not recommend stopping it. Reason: "{reason}"', + values: { + warning: c.createElement("span", { className: "bold" }, this.props.intl.formatMessage(oe.warnings.caution), ":"), + reason: c.createElement(pn.a, { messages: oe.canRebootMessages, id: this.props.sitemaster.canReboot }), + }, + }), + c.createElement(u.FormattedMessage, { tagName: "p", id: "home_container_sitemaster_confirm_industrial", defaultMessage: "Are you sure you want to stop the system?" }) + )), + this.props.showModal("SITEMASTER_MODAL", { + modalClass: "modal-error", + size: this.props.isResi ? "lg" : "md", + centered: !0, + showCancel: !1, + showErrors: !1, + headerView: c.createElement("div", { className: "sitemaster-modal-title" }, c.createElement("h2", { className: "modal-title" }, t), i), + footerView: c.createElement(an, { isSystemRunning: this.props.sitemaster && this.props.sitemaster.running, requiresConfirmation: n, onClick: this._handleStartOrStopSitemaster }), + }); + } + _handleDownloadLogs() { + let e = this.props.intl.formatMessage(En.downloadAllLogs) + "?"; + this.props.showModal("DOWNLOAD_LOGS_MODAL", { + modalClass: "modal-error", + size: "md", + centered: !0, + showCancel: !1, + showErrors: !1, + headerView: c.createElement( + "div", + { "data-testid": "0a225d17-9dc8-4e45-9526-0fc41ddd3eab", className: "sitemaster-modal-title" }, + c.createElement("h2", { "data-testid": "bf6e19d0-6ca5-481d-a938-dea0dae8538e", className: "modal-title" }, e), + c.createElement( + "ul", + { "data-testid": "8c65331b-9e1b-40aa-8204-3f19bde8a4ae", className: "bullet-point" }, + c.createElement( + "li", + { "data-testid": "9f3f748a-bf4a-420f-899c-fb7973b7df99", className: "pb-1" }, + c.createElement(u.FormattedMessage, { + id: "home_view_download_logs_description_one", + defaultMessage: "This downloads a compressed set of system logs that can be helpful to diagnose operating system, software, and networking issues.", + }) + ), + c.createElement( + "li", + { "data-testid": "1bc6bbdb-f1be-4cf6-8418-2c9a74c21b19", className: "pb-1" }, + c.createElement(u.FormattedMessage, { + id: "home_view_download_logs_description_two", + defaultMessage: "This is especially useful when the Gateway cannot be connected to the network, and advanced troubleshooting is needed.", + }) + ), + c.createElement( + "li", + { "data-testid": "28d0e870-5eae-48f2-aebc-f6252d952e4a", className: "pb-1" }, + c.createElement(u.FormattedMessage, { id: "home_view_download_logs_description_three", defaultMessage: "Logs are signed and encrypted and should be sent to Tesla Energy Service for investigation." }) + ) + ) + ), + footerView: c.createElement( + "div", + { "data-testid": "7cd324b9-1299-4609-8dd1-80e3bf04f141", className: "row" }, + c.createElement( + "div", + { "data-testid": "bfcec1a7-1b17-4bfb-bffc-7a886bd095a8", className: "col-xs-6" }, + c.createElement("button", { "data-testid": "de30eaba-fd87-480f-b791-e9f29e0560c9", className: "btn btn-link btn-close", "data-dismiss": "modal" }, c.createElement(u.FormattedMessage, te.buttons.CANCEL)) + ), + c.createElement( + "div", + { "data-testid": "9282c7ef-ced0-4b65-8b1f-cc112dc94e95", className: "col-xs-6" }, + c.createElement( + "button", + { "data-testid": "89dddf55-3c14-475b-8837-dbb414c217d8", className: "btn btn-link btn-error", onClick: this._handleTriggerDownloadLogs }, + this.props.intl.formatMessage(oe.modalMessages.yes) + ) + ) + ), + }); + } + _handleTriggerDownloadLogs() { + const e = document.createElement("a"); + (e.href = "/api/getlogs"), e.setAttribute("download", "tesla_config_logs.tgz"), e.click(), this.props.destroyModal("DOWNLOAD_LOGS_MODAL"); + } + _handleStartOrStopSitemaster() { + (null == this.props.sitemaster.running && !this.props.sitemaster.powerSupplyMode) || this.state.togglingSitemaster + ? this.props.destroyModal("SITEMASTER_MODAL") + : (this._updateModalFooter("SITEMASTER_MODAL"), + this.setState({ togglingSitemaster: !0 }, () => { + this.props.sitemaster.running || this.props.sitemaster.powerSupplyMode ? this.props.stopSitemaster(!this.props.isResi) : this.props.startSitemaster(); + })); + } + _handleGoOffGrid() { + fetch(Y.a.api.uri + "/v2/islanding/mode", { credentials: Y.a.credentials, method: "POST", body: JSON.stringify({ island_mode: "intentional_reconnect_failsafe" }) }); + } + _handleReconnectToGrid() { + fetch(Y.a.api.uri + "/v2/islanding/mode", { credentials: Y.a.credentials, method: "POST", body: JSON.stringify({ island_mode: "backup" }) }); + } + } + function yn() { + return c.createElement( + "div", + { style: { padding: 8 } }, + c.createElement("h3", null, c.createElement(u.FormattedMessage, En.caution)), + c.createElement("p", null, c.createElement(u.FormattedMessage, { id: "home_container_caution_deenergize", defaultMessage: "To safely de-energize the system turn all Powerwall switches OFF." })) + ); + } + function Sn() { + return c.createElement( + "div", + { style: { padding: 8 } }, + c.createElement("h3", null, c.createElement(u.FormattedMessage, En.caution)), + c.createElement("p", null, c.createElement(u.FormattedMessage, { id: "home_container_caution_energized", defaultMessage: "System may remain energized if solar strings are connected." })) + ); + } + hn( + bn, + "propTypes", + vn( + vn({}, Ue.a), + {}, + { + getLoginHeaderView: l.a.func.isRequired, + handleChangeLoginModal: l.a.func.isRequired, + replaceLocation: l.a.func.isRequired, + changeLocation: l.a.func.isRequired, + initializeConfig: l.a.func.isRequired, + getSiteName: l.a.func.isRequired, + showModal: l.a.func.isRequired, + destroyModal: l.a.func.isRequired, + clearErrors: l.a.func.isRequired, + fetchAlerts: l.a.func.isRequired, + fetchNetworks: l.a.func.isRequired, + fetchPowerwalls: l.a.func.isRequired, + fetchSiteInfo: l.a.func.isRequired, + startToggleAuth: l.a.func.isRequired, + cancelPendingToggleAuth: l.a.func.isRequired, + fetchSitemasterSettings: l.a.func.isRequired, + startSitemaster: l.a.func.isRequired, + stopSitemaster: l.a.func.isRequired, + getMeterAggregates: l.a.func.isRequired, + getRegistration: l.a.func.isRequired, + getSOE: l.a.func.isRequired, + getGridStatus: l.a.func.isRequired, + resetAll: l.a.func.isRequired, + login: l.a.func.isRequired, + logout: l.a.func.isRequired, + changeUsername: l.a.func.isRequired, + testAndCheckFirmwareUpdateUrgency: l.a.func.isRequired, + authentication: l.a.shape({ + loginType: l.a.oneOf(Object.values(y.c)).isRequired, + username: l.a.string.isRequired, + selectedLoginType: l.a.oneOf(Object.values(y.c)).isRequired, + toggleAuthSupported: l.a.bool.isRequired, + waitForToggle: l.a.bool, + }).isRequired, + errors: l.a.array.isRequired, + configuration: l.a.shape({ isFetching: l.a.bool.isRequired, isNew: l.a.bool, version: l.a.string.isRequired, hash: l.a.string.isRequired }).isRequired, + sitemaster: l.a.shape({ isFetching: l.a.bool.isRequired, didInvalidate: l.a.bool.isRequired, running: l.a.bool, powerSupplyMode: l.a.bool, smStartError: l.a.string }).isRequired, + network: l.a.object.isRequired, + meter: l.a.object.isRequired, + grid: l.a.shape({ config: l.a.object.isRequired }).isRequired, + powerwall: l.a.object.isRequired, + settings: l.a.object.isRequired, + registration: l.a.object.isRequired, + alerts: l.a.array.isRequired, + isResi: l.a.bool.isRequired, + hasSolarPowerwall: l.a.bool.isRequired, + isUpdateRequired: l.a.bool.isRequired, + cellularDisabled: l.a.bool.isRequired, + hasNetworkConnection: l.a.bool.isRequired, + installationProblems: l.a.array.isRequired, + deviceType: l.a.oneOf(Object.values(qe.DEVICE_TYPE)), + tegType: l.a.string, + } + ) + ); + var Rn = { + component: Object(m.connect)( + (e) => { + const { authentication: t, error: i, configuration: n, network: r, meter: a, grid: o, powerwall: s, settings: _, sitemaster: l, test: c, registration: d, update: u } = e, + { deviceType: m, tegType: p } = n, + g = Object(je.isResiGateway)(m), + w = Object(se.leaderSelector)(e), + v = Object(se.followersSelector)(e), + f = Object(nn.hasSolarPowerwallSelector)(e), + h = !!u && u.updateUrgency === ci.b.REQUIRED, + E = Object(se.cellularDisabledSelector)(e), + b = Object(gn.hasNetworkConnectionSelector)(e), + y = Object(_e.b)(e); + return vn( + { + authentication: t, + errors: i.items, + configuration: n, + network: r, + meter: a, + grid: o, + powerwall: s, + settings: _, + sitemaster: l, + registration: d, + alerts: c.alerts, + isResi: g, + isUpdateRequired: h, + leader: w, + followers: v, + hasSolarPowerwall: f, + cellularDisabled: E, + hasNetworkConnection: b, + installationProblems: y, + deviceType: m, + tegType: p, + }, + mn(e) + ); + }, + (e) => + vn( + vn({}, Object(g.b)({ testAndCheckFirmwareUpdateUrgency: rn.b }, e)), + {}, + { + replaceLocation: (t) => { + e(Object(Ze.replace)(t)); + }, + changeLocation: (t) => { + e(Object(Ze.push)(t)); + }, + initializeConfig: () => { + e(Object(x.initializeConfig)()); + }, + showModal: (t, i, n) => { + e(Object(w.showModal)(t, i, n)); + }, + updateModal: (t, i, n) => { + e(Object(w.updateModal)(t, i, n)); + }, + destroyModal: (t) => { + e(Object(w.destroyModal)(t)); + }, + getSiteName: () => { + e(Object(Ji.getSiteName)()); + }, + clearErrors: () => { + e(Object(V.clearErrors)()); + }, + changeUsername: (t) => { + e(Object(B.e)(t)); + }, + login: (t, i, n, r) => e(Object(B.h)(t, i, n, r)), + startToggleAuth: () => e(Object(B.l)()), + toggleAuthLogin: (t, i) => e(Object(B.m)(t, i)), + cancelPendingToggleAuth: () => { + e(Object(B.a)()); + }, + logout: () => { + e(Object(B.i)()); + }, + fetchSiteInfo: () => { + e(Object(Ji.fetchSiteInfo)()); + }, + fetchSitemasterSettings: () => e(Object(H.a)()), + changeSelectedLoginType: (t) => { + e(Object(B.d)(t)); + }, + startSitemaster: () => { + e(Object(H.c)()); + }, + stopSitemaster: (t) => { + e(Object(H.d)({ forceStop: t })); + }, + fetchAlerts: () => { + e(Object($i.fetchAlerts)()); + }, + getMeterAggregates: () => e(Object(Qi.getMeterAggregates)()), + getRegistration: () => { + e(Object(en.getRegistration)()); + }, + fetchNetworks: () => { + e(Object(tn.fetchNetworks)()); + }, + fetchPowerwalls: (t) => { + e(Object(Xi.fetchPowerwalls)(t)); + }, + getSOE: () => e(Object(Xi.getSOE)()), + getGridStatus: () => e(Object(Zi.getGridStatus)()), + resetAll: () => { + e(Object(Yi.resetAll)()); + }, + } + ) + )(Object(u.injectIntl)(Object(Ue.b)(bn))), + }, + Tn = i(11), + An = (e) => ({ + path: "network", + getComponent(t, n) { + Promise.all([i.e(0), i.e(24)]) + .then( + ((t) => { + const r = i(1256).default, + a = i(567).default; + Object(Tn.b)(e, { key: "network", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Cn = (e) => ({ + path: "network/ethernet", + getComponent(t, n) { + Promise.all([i.e(0), i.e(24)]) + .then( + ((t) => { + const r = i(1256).default, + a = i(567).default; + Object(Tn.b)(e, { key: "network", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + In = (e) => ({ + path: "network/wifi", + getComponent(t, n) { + Promise.all([i.e(0), i.e(24)]) + .then( + ((t) => { + const r = i(1256).default, + a = i(567).default; + Object(Tn.b)(e, { key: "network", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + On = (e) => ({ + path: "meter", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(21)]) + .then( + ((t) => { + const r = i(1261).default, + a = i(1154).default, + o = i(1089).default, + s = i(1090).default, + _ = i(533).default; + Object(Tn.c)(e, [ + { key: "meter", reducer: a }, + { key: "grid", reducer: o }, + { key: "battery", reducer: s }, + { key: "sitemaster", reducer: _ }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Nn = function (e) { + return { + path: "components", + getComponent(t, n) { + i.e(12) + .then( + ((t) => { + const r = i(1242).default, + a = i(1099).default, + o = i(1096).default; + Object(Tn.c)(e, [ + { key: "siteInfo", reducer: a }, + { key: "settings", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }; + }, + kn = (e) => ({ + path: "cts", + getComponent(t, n) { + Promise.all([i.e(1), i.e(14)]) + .then( + ((t) => { + const r = i(1259).default, + a = i(1119).default, + o = i(1154).default, + s = i(1096).default, + _ = i(1089).default, + l = i(1116).default, + c = i(1148).default, + d = i(533).default, + u = i(285).default, + m = i(60).default; + Object(Tn.c)(e, [ + { key: "test", reducer: a }, + { key: "meter", reducer: o }, + { key: "settings", reducer: s }, + { key: "grid", reducer: _ }, + { key: "solar", reducer: l }, + { key: "generator", reducer: c }, + { key: "sitemaster", reducer: d }, + { key: "powerwall", reducer: u }, + { key: "configuration", reducer: m }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Pn = (e) => ({ + path: "timezone", + getComponent(t, n) { + i.e(35) + .then( + ((t) => { + const r = i(1269).default, + a = i(1096).default; + Object(Tn.b)(e, { key: "settings", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Dn = (e) => ({ + path: "grid", + getComponent(t, n) { + Promise.all([i.e(1), i.e(17)]) + .then( + ((t) => { + const r = i(1243).default, + a = i(1089).default, + o = i(1154).default, + s = i(285).default; + Object(Tn.c)(e, [ + { key: "grid", reducer: a }, + { key: "meter", reducer: o }, + { key: "powerwall", reducer: s }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Ln = (e) => ({ + path: "batteries", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(3), i.e(5), i.e(28)]) + .then( + ((t) => { + const r = i(1262).default, + a = i(1090).default, + o = i(1154).default, + s = i(285).default, + _ = i(1197).default; + Object(Tn.c)(e, [ + { key: "battery", reducer: a }, + { key: "meter", reducer: o }, + { key: "powerwall", reducer: s }, + { key: "components", reducer: _ }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Mn = (e) => ({ + path: "batteries", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(3), i.e(5)]) + .then( + ((t) => { + const r = i(1262).default, + a = i(1090).default, + o = i(1154).default, + s = i(285).default; + Object(Tn.c)(e, [ + { key: "battery", reducer: a }, + { key: "meter", reducer: o }, + { key: "powerwall", reducer: s }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + zn = (e) => ({ + path: "generation", + getComponent(t, n) { + i.e(16) + .then( + ((t) => { + const r = i(1257).default, + a = i(1116).default, + o = i(1148).default; + Object(Tn.c)(e, [ + { key: "solar", reducer: a }, + { key: "generator", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Un = (e) => ({ + path: "settings", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(2), i.e(4), i.e(32)]) + .then( + ((t) => { + const r = i(1265).default, + a = i(1096).default, + o = i(1154).default, + s = i(285).default, + _ = i(1089).default, + l = i(1116).default, + c = i(1099).default, + d = i(1090).default; + Object(Tn.c)(e, [ + { key: "settings", reducer: a }, + { key: "meter", reducer: o }, + { key: "powerwall", reducer: s }, + { key: "grid", reducer: _ }, + { key: "solar", reducer: l }, + { key: "siteInfo", reducer: c }, + { key: "battery", reducer: d }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Vn = (e) => ({ + path: "test/inverter", + getComponent(t, n) { + i.e(19) + .then( + ((t) => { + const r = i(1263).default, + a = i(1119).default; + Object(Tn.c)(e, [{ key: "test", reducer: a }]), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Gn = (e) => ({ + path: "installation", + getComponent(t, n) { + i.e(18) + .then( + ((t) => { + const r = i(1270).default, + a = i(1132).default, + o = i(1089).default, + s = i(285).default; + Object(Tn.c)(e, [ + { key: "installation", reducer: a }, + { key: "grid", reducer: o }, + { key: "powerwall", reducer: s }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + jn = (e) => ({ + path: "legal", + getComponent(t, n) { + Promise.all([i.e(1), i.e(6), i.e(20)]) + .then( + ((t) => { + const r = i(1271).default, + a = i(566).default, + o = i(1154).default, + s = i(1089).default, + _ = i(285).default; + Object(Tn.c)(e, [ + { key: "registration", reducer: a }, + { key: "meter", reducer: o }, + { key: "grid", reducer: s }, + { key: "powerwall", reducer: _ }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Wn = i(568), + Fn = i.n(Wn), + qn = (e) => ({ + path: "registration", + getComponent(t, n) { + Promise.all([i.e(6), i.e(29)]) + .then( + ((t) => { + const r = i(1244).default, + a = i(566).default, + o = i(1089).default; + Object(Tn.c)(e, [ + { key: "registration", reducer: a }, + { key: "grid", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + xn = i(569), + Bn = i.n(xn), + Hn = (e) => ({ + path: "password", + getComponent(t, n) { + Promise.all([i.e(0), i.e(30)]) + .then( + ((t) => { + const r = i(1266).default, + a = i(285).default; + Object(Tn.c)(e, [{ key: "powerwall", reducer: a }]), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Kn = (e) => ({ + path: "summary", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(3), i.e(34)]) + .then( + ((t) => { + const r = i(1254).default, + a = i(567).default, + o = i(285).default, + s = i(1096).default, + _ = i(1089).default, + l = i(60).default, + c = i(1132).default, + d = i(1099).default, + u = i(1154).default, + m = i(1197).default, + p = i(1090).default; + Object(Tn.c)(e, [ + { key: "powerwall", reducer: o }, + { key: "settings", reducer: s }, + { key: "grid", reducer: _ }, + { key: "network", reducer: a }, + { key: "configuration", reducer: l }, + { key: "installation", reducer: c }, + { key: "siteInfo", reducer: d }, + { key: "meter", reducer: u }, + { key: "installation", reducer: c }, + { key: "components", reducer: m }, + { key: "battery", reducer: p }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Yn = i(264), + Qn = i.n(Yn), + Zn = (e) => ({ + path: "success", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(33)]) + .then( + ((t) => { + const r = i(1272).default, + a = i(566).default, + o = i(1116).default, + s = i(1148).default, + _ = i(1154).default, + l = i(285).default, + c = i(1096).default, + d = i(1132).default; + Object(Tn.c)(e, [ + { key: "registration", reducer: a }, + { key: "solar", reducer: o }, + { key: "generator", reducer: s }, + { key: "meter", reducer: _ }, + { key: "powerwall", reducer: l }, + { key: "settings", reducer: c }, + { key: "installation", reducer: d }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Jn = (e) => ({ + path: "alert", + getComponent(t, n) { + i.e(8) + .then( + ((t) => { + const r = i(1245).default, + a = i(1119).default; + Object(Tn.c)(e, [{ key: "test", reducer: a }]), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + Xn = (e) => ({ + path: "diagnostics", + getComponent(t, n) { + Promise.all([i.e(0), i.e(15)]) + .then( + ((t) => { + const r = i(1258).default, + a = i(1246).default, + o = i(566).default; + Object(Tn.c)(e, [ + { key: "diagnostic", reducer: a }, + { key: "registration", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + $n = (e) => ({ + path: "phase", + getComponent(t, n) { + Promise.all([i.e(0), i.e(1), i.e(27)]) + .then( + ((t) => { + const r = i(1264).default, + a = i(285).default, + o = i(1089).default, + s = i(1154).default; + Object(Tn.c)(e, [ + { key: "powerwall", reducer: a }, + { key: "grid", reducer: o }, + { key: "meter", reducer: s }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + er = (e) => ({ + path: "control", + getComponent(t, n) { + Promise.all([i.e(0), i.e(2), i.e(13)]) + .then( + ((t) => { + const r = i(1273).default, + a = i(1104).default; + Object(Tn.b)(e, { key: "control", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + tr = (e) => ({ + path: "advanced-settings", + getComponent(t, n) { + Promise.all([i.e(0), i.e(2), i.e(4), i.e(7)]) + .then( + ((t) => { + const r = i(1267).default, + a = i(1099).default, + o = i(1096).default; + Object(Tn.c)(e, [ + { key: "siteInfo", reducer: a }, + { key: "settings", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + ir = (e) => ({ + path: "meter-validation", + getComponent(t, n) { + Promise.all([i.e(0), i.e(2), i.e(22)]) + .then( + ((t) => { + const r = i(1253).default, + a = i(1104).default, + o = i(1229).default, + s = i(280).default; + Object(Tn.c)(e, [ + { key: "control", reducer: a }, + { key: "metrics", reducer: o }, + { key: "meterValidation", reducer: s }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + nr = (e) => ({ + path: "modbus", + getComponent(t, n) { + Promise.all([i.e(0), i.e(23)]) + .then( + ((t) => { + const r = i(1255).default, + a = i(278).default; + Object(Tn.b)(e, { key: "modbus", reducer: a }), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + rr = (e) => ({ + path: "client-protocols", + getComponent(t, n) { + i.e(10) + .then( + ((t) => { + const r = i(1274).default, + a = i(567).default, + o = i(60).default; + Object(Tn.c)(e, [ + { key: "network", reducer: a }, + { key: "configuration", reducer: o }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + ar = (e) => ({ + path: "open-loop-meter-validation", + getComponent(t, n) { + Promise.all([i.e(1), i.e(26)]) + .then( + ((t) => { + const r = i(1248).default, + a = i(1154).default, + o = i(60).default, + s = i(199).default, + _ = i(291).default; + Object(Tn.c)(e, [ + { key: "meter", reducer: a }, + { key: "configuration", reducer: o }, + { key: "authentication", reducer: s }, + { key: "error", reducer: _ }, + ]), + n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + or = (e) => ({ + path: "self-test-log-viewer", + getComponent(t, n) { + i.e(31) + .then( + ((t) => { + const r = i(1249).default, + a = i(60).default; + Object(Tn.c)(e, [{ key: "configuration", reducer: a }]), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + sr = (e) => ({ + path: "network-switch", + getComponent(t, n) { + Promise.all([i.e(0), i.e(25)]) + .then( + ((t) => { + const r = i(1250).default, + a = i(60).default; + Object(Tn.c)(e, [{ key: "configuration", reducer: a }]), n(null, r); + }).bind(null, i) + ) + .catch(i.oe); + }, + }), + _r = i(286), + lr = i.n(_r); + i.d(t, "createRoutes", function () { + return cr; + }); + const cr = (e) => ({ + path: "/", + component: Qe, + getIndexRoute(t, n) { + Promise.all([i.e(1), i.e(39)]) + .then( + ((t) => { + const r = i(567).default, + a = i(1154).default, + o = i(1089).default, + s = i(285).default, + _ = i(1116).default, + l = i(1096).default, + c = i(533).default, + d = i(1119).default, + u = i(566).default; + Object(Tn.c)(e, [ + { key: "network", reducer: r }, + { key: "meter", reducer: a }, + { key: "grid", reducer: o }, + { key: "powerwall", reducer: s }, + { key: "solar", reducer: _ }, + { key: "settings", reducer: l }, + { key: "sitemaster", reducer: c }, + { key: "test", reducer: d }, + { key: "registration", reducer: u }, + ]), + n(null, Rn); + }).bind(null, i) + ) + .catch(i.oe); + }, + getChildRoutes(t, n) { + Promise.resolve() + .then( + ((t) => { + n(null, [ + { + path: "wizard", + getComponent(e, t) { + i.e(38) + .then( + ((e) => { + const n = i(1268).default; + t(null, n); + }).bind(null, i) + ) + .catch(i.oe); + }, + }, + An(e), + Cn(e), + In(e), + { + path: "update", + getComponent(e, t) { + i.e(36) + .then( + ((e) => { + const n = i(1260).default; + t(null, n); + }).bind(null, i) + ) + .catch(i.oe); + }, + }, + On(e), + Nn(e), + kn(e), + Pn(e), + Dn(e), + { + path: "password-generate", + getComponent(e, t) { + t(null, Fn.a); + }, + }, + $n(e), + Ln(e), + { + path: "powerwall", + getComponent(e, t) { + Promise.all([i.e(0), i.e(1), i.e(3), i.e(5), i.e(28)]) + .then( + ((e) => { + const n = i(1247).default; + t(null, n); + }).bind(null, i) + ) + .catch(i.oe); + }, + }, + Mn(e), + zn(e), + Un(e), + Vn(e), + Xn(e), + Gn(e), + jn(e), + qn(e), + Hn(e), + Kn(e), + { + path: "system", + getComponent(e, t) { + t(null, Qn.a); + }, + }, + { + path: "service", + getComponent(e, t) { + t(null, Bn.a); + }, + }, + Zn(e), + Jn(e), + er(e), + tr(e), + ir(e), + nr(e), + rr(e), + ar(e), + or(e), + sr(e), + { + path: "compliance", + getComponent(e, t) { + i.e(11) + .then( + ((e) => { + const n = i(1251).default; + t(null, n); + }).bind(null, i) + ) + .catch(i.oe); + }, + }, + { + path: "upgrade", + getComponent(e, t) { + i.e(37) + .then( + ((e) => { + const n = i(1252).default; + t(null, n); + }).bind(null, i) + ) + .catch(i.oe); + }, + }, + { path: "*", component: lr.a }, + ]); + }).bind(null, i) + ) + .catch(i.oe); + }, + }); + t.default = cr; + }, + function (e, t, i) { + "use strict"; + i.r(t); + i(592), i(593); + var n = i(1), + r = i(20), + a = i.n(r), + o = i(17), + s = i(35), + _ = i(3), + l = i(529), + c = i(88), + d = i(49), + u = i(268), + m = i(531), + p = i.n(m), + g = i(2); + const w = ({ dispatch: e }) => (t) => + e( + (function (e = "/") { + return { type: g.LOCATION_CHANGE, payload: e }; + })(t) + ); + var v = i(532), + f = i.n(v); + function h(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + class E { + static GlobalInstance() { + return E._sharedInstance || new E(); + } + constructor(e) { + return null === E._sharedInstance && ((E._sharedInstance = this), (this.persist = e)), E.GlobalInstance(); + } + purge(e) { + this.persist && this.persist.purge(e); + } + rehydrate(e, t) { + this.persist && this.persist.rehydrate(e, t); + } + } + h(E, "_sharedInstance", null), h(E, "config", { whitelist: ["authentication"], storage: f.a }); + var b = i(11), + y = (i(14), i(45)), + S = i(534), + R = i.n(S), + T = i(535), + A = i.n(T), + C = i(536), + I = i.n(C), + O = i(537), + N = i.n(O), + k = i(538), + P = i.n(k), + D = i(539), + L = i.n(D), + M = i(540), + z = i.n(M), + U = i(541), + V = i(542), + G = i(543), + j = i(544), + W = i(545), + F = i(546), + q = i(547), + x = i(548), + B = i(549), + H = i(550), + K = i(551), + Y = i(552), + Q = i(553); + function Z(e, t) { + var i = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var n = Object.getOwnPropertySymbols(e); + t && + (n = n.filter(function (t) { + return Object.getOwnPropertyDescriptor(e, t).enumerable; + })), + i.push.apply(i, n); + } + return i; + } + function J(e) { + for (var t = 1; t < arguments.length; t++) { + var i = null != arguments[t] ? arguments[t] : {}; + t % 2 + ? Z(Object(i), !0).forEach(function (t) { + X(e, t, i[t]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(i)) + : Z(Object(i)).forEach(function (t) { + Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(i, t)); + }); + } + return e; + } + function X(e, t, i) { + return t in e ? Object.defineProperty(e, t, { value: i, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = i), e; + } + Object(_.addLocaleData)([...R.a, ...A.a, ...I.a, ...N.a, ...P.a, ...L.a, ...z.a]); + const $ = { en: q, de: J(J({}, U), x), it: J(J({}, V), B), es: J(J({}, G), H), nl: J(J({}, j), K), fr: J(J({}, W), Y), ja: J(J({}, F), Q) }; + const ee = window.__INITIAL_STATE__ || {}; + delete window.__INITIAL_STATE__; + const te = ((e = {}) => { + const t = [p.a, Object(c.routerMiddleware)(o.browserHistory)]; + let i = d.d; + const n = Object(d.e)(Object(b.a)(), e, i(Object(d.a)(...t), Object(u.a)())); + return (n.asyncReducers = {}), (n.unsubscribeHistory = o.browserHistory.listen(w(n))), new E(Object(u.b)(n, E.config)), n; + })(ee); + const ie = document.getElementById("root"); + var ne; + (ne = () => { + const e = i(1049).default(te), + t = n.createElement(s.Provider, { store: te }, n.createElement(l.TranslationsProvider, { translations: $, override: Object(y.b)("Locale") }, n.createElement(o.Router, { history: o.browserHistory, children: e }))); + a.a.render(t, ie); + }), + window.intl + ? ne() + : Promise.all([i.e(0), i.e(40)]) + .then( + ((e) => { + i(1075), i(1076), i(1077), i(1078), i(1079), i(1080), i(1081), i(1082), ne(); + }).bind(null, i) + ) + .catch(i.oe); + }, +]); diff --git a/proxy/web/b8d72cb0ef934ba1fe847c692d9dfed1.otf b/proxy/web/b8d72cb0ef934ba1fe847c692d9dfed1.otf new file mode 100644 index 0000000000000000000000000000000000000000..b83b104d4fffdc38e01f76e530813681a6625cb8 GIT binary patch literal 133680 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