!(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 = window.appPrefix + 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 = window.appPrefix),
        (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 + window.apiBaseUrl },
                static: { host: "http://10.33.155.246:3000", uri: "http://10.33.155.246:3000" },
                credentials: "include",
            };
        ((a.api.host = ""),
            (a.api.uri = window.apiBaseUrl),
            (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 = "#FADE2A", // Solar Power - old #F2CA00
            d = "#00D000", // Powerwall Energy
            u = "#5794F2", // Home - old #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,[encoded data, 4916 characters]";
    },
    ,
    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,[encoded data, 8432 characters]";
    },
    ,
    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":"<Field not filled out>","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":"<Feld nicht ausgefüllt>","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":"<Field not filled out>","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":"<Campo sin rellenar>","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":"<Champ non rempli>","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":"このメッセージが３分を超えても消えない場合、自立運転スイッチまたはGatewayに至る配線を確認します。","auto_config_instructions_finding_contactor_controller":"このメッセージが３分を超えても消えない場合、自立運転スイッチまたは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での単相３線のソーラーインバーターの測定","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の数は偶数（２か４）をお勧めします。","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,iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAAAXNSR0IArs4c6QAACMRJREFUeAHtm0mIHVUUhuOQwSFqoolGMxjFOKMiCk4kiAgOCxUUwQFE0ZUrQXEvuHYtigQcViJOiIKYRcCoiIkYBzTSMcEhDtEYxxj9v5f6w/Hyujs1va7qvgf+3HOHqjr3e/edulWvM2tWtkwgE8gEMoFMIBPIBDKBTCATyAQygUwgE8gEMoFMoCSBg0qOH/Vw4jtcmi/Nkw6VZkvYnkJ/qtwl/Sr9K3XSugb6MFE6QzpLOlNaJgGXOA8pyugfrDbrH/nbpU3SxkK7VXbCugAagOdIl0jnSXMl4jJAygg3+vSlH4DHA/5t6XVpg8Q3YMpsKkHP0awvla6WjpWIBUXAhka7Vza+4U4E2sdS/iA9K70okWpGbgQ9amPirN7rpKMlw3UZAeG7PgwufbHd411yTuQxO+U/Ib0g7ZVGZgQxSluqi90srZAM0CBcNySX9OMb1oH68XiOpe5zfSz/UekTaSRGAKOyi3Whu6QFEhNmh0CJAcFGG6KNMRFQ7Is+Y+I4z8vncZ+PWazxN0iklJHAdkC6XmvGJK+XrpHwMSaMeeKu05ZC8TGxfSI/9jG/eA36LHL+aon0xU2TD7U1axs027U7pPOLGRhonHycnNtpsx/BDWtjDh5jsK4zHn+iMcTGbmed1NqNkkDasoU68Z3SIsmADIJ69IGRynDYlu2UfpF+ln6S6OP8xxXiGn6gSc/jOtfET6/r2L5S333SVqlx4yJtGJO+VwIAk/Nkos+EMdqQAVAC9oNCn6lkTzyRccy50mXS5dISiTZfL/WHxcPYMekWiQ+1UWsDNAHfJp0qcX5PNvU9efdT8kTHA8ZWqY6t0sF8m66UOK+vRQyOg3YU2/DXS/dIk324GnLgRgBNGw8gPOnZCN6W+p7kFxrwlPSmRHqoa+wmOBc3uRXSSRLXMljmHevRZzw3yHVSY9Y0aG4sayQCxyj3Drx9vtvdx83naekliXTRtO3QCV+WPpdIKTzeGzalfeKyT3mB9I30kdSIxYnXPeEJOgFf12FfU64TJ4MP2LXSt9Io7BRd5DFppeRYgIpclzuos9UjddwofSjVtqZWNIHeJB1VREQ9musut6jzSamNVRyvG312K69K3DSXS8TiFIKfQmefTQp8Tqq9x24KNPtQ0oYDMlDq9uUO+r9UuVb6i4YRG6nqFelCaZnk1WwOrhMzYvfynbRJqmURQtUTzdaBd0tHSA4wljF4tk2PS79LU2nc7J6XVhZBOMZY0sU8uLFeJNWKmRPXtbN1Ap4AWb2p9qrNItBnpFoB6/gmjJ0NDye7pQg3XSD08V7kdqmW1QXNV46vIYC5eRgqdfwInrv/91JXjJ3IQxIMUkXg+PdLfHMrW13Qy3VlftMDKmbAhk6JxqRPpa4ZN8f3JBbMMMGH9qXSVVJlqwv6dF3ZcNPV7DrlW5UjbP/AR3SJdAXDJbZRv7VOKHVAz9GFT5YA6RRhuIavrsFK/hqno/a+4mJlw8KrOvoAx66VvH0dNJT5pw7oE3UhA3WKAHT096j+bpmApmgsDzJABmpkQp129tTc8K+QKlk8adkTRNDjrWi2c+xDu27sk7dJ8AAuYAFM3W20r5EqGSepajxyAxjzynYacQrZsq+7F/++pihTsBEyoFdXnUlV0BxHviJNkB5iuoh+n0DzxOiV7HRBGcUzA/XSVhX0kcWV4opOV/XfGsMbsL7YegXKIzpMECsYuU7JBmClVNo4uIqxmg2WFUyqcGmf/IzfF+Obye4ohWzgLldVmVBV0HN1MSAC28C5fqz/RkPPjFe2ThtOIzCygL2oypw4WRXjOEMd7/hd43V0uH27YuObmRpztfHyrLTVAT1eWuBTx/q4orcpblIIFuHGOq8cSltV0AQx7JOPAaSBxr6u+vyN9R+TBOeFNMmw/3dXBc2OYjKQ5PG+Ga9w0x8kUrDsTEpbk6BT8PNKRzP1B2xUCICMcFN/c5Uwq4Lm65WmjhQ0e86+2QYFvE1iZwFgS+7A+LXlncIvVVTd3pHLAMsN0aLuNkpAVz2/Dp0SY6f0sMSNnPSISCWUtD0o8XxQ2io9TuoqXPi05GoGTTPwWQ2sAALsk40p2DekhRJbORYVT40PSLxSrWTAqGprdOD84uAImSbXCXpzMWZGF3W+2jsKoGnqADJtlIulbCJQBzQ/tEbI9g0Z0OTpyr9K6NhpY1VzNADYBq0oSAAVGXKEzs6mDy//i6m0U9QBDUxel/rZn7rNwIHPI+uPUqWNvk/Y97IOaOYOUP/Skq5q6hglv7fxZmzGWl3QPLgcL5Hr4ypmNwNg2tBsiW1eF/5KSWGM3uqC9ipeoNANlzb/CMCMPIa/d+MvOv12jL4ZY3VBA4q/X1siGTRtwMUovdKpswMhX9M2o6wJ0MBklR4jRbBOG7Hkw+DmycqeUdYEaICxqgFNLsYAPp4Yw06EdwaMmRHWFGhgAdtPgjFdGLjf9tEHbB7fOcbtcqevNQmat1yIm55Bx7QBRaAaPHVg+zjq09aaBA0kVijnJDUAFNCY4cbSHwY5mx8JeCM4bVd306DFapB7gUd6iGBT3x8CJXFwDI/r3FjdJ3d6WBugIcONjq0c4LxyAT3Mdxsl8bC6eZLkIcgfjtx+W1uggcavFbwLicAMztAZh8V2fIzj+FbwBpAPjDpii4j5vPtqHf+3LdBMm3zL/yNkhQ5LI4as7v0rPfoRPu3+AOxn0JAoDDikEaCkf0ZGH7BjaV/NQ/votxiD3wtrc0VHAOxGuMkN240wzsANkdIr3jBjnbb4yM85Om2jAg0E3kfzBo+V7a99BKvm/avV7WlbrGfQ0BjHyNv8qkzpv2TyanYZV7CBu+S09jNoaExiPA0aODuKaAY5rGSc2zPoSG0CH2AAJ53wVAi4mFJU3Z+78RmP9RI0k+uSAZoV7n0zsTmlkG4MGZ/YfYOU223rGuiUFvFZ9MVVHev42TKBTCATyAQygUwgE8gEMoFMIBPIBDKBTCATyAQygelF4D841E51Be+GwQAAAABJRU5ErkJggg==";
    },
    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) {
        // blue house icon
        e.exports =
            "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAaCAYAAABGiCfwAAABb0lEQVR42t3WsUscQRTH8c8dq3dIEhFOEYRUCeGaFJYBMZUEwSBYSPAfSOEfoGCXNAYEiwSDIoi9RSqLdCkDduIFtEobG41gwChppliW2dzduofgg4F982bnu7+3b95uZf7juR5ZH67SE9VbbDb0n9gzTGUni8Km8RWvIrFRbOBnGbA3WEUdHzCbij0IoAaOszcmXYLeYjHzsO8DeA/reIoT/CkKq2AJCznxFcyhGfyj2KJOYAneYabNumbqulUEVscaJrtMd9fKHuITxgsU0Y/YZF41NrBTEPQLtU6VjWELjwuewWF8C9AWDrAdgz3BJkZKaFfDYRzG0vgcuyWB0naThb0IUh/1oCEvYhnVBIOYwJcQfI2BkkB/cYaX+J0EZzW1YLJE2H5QlVv6lRJT2N/unFV7BUs6hF2ELp5Exq1gsTR+Dh0lawP4XnYab3r1zmLKrgvCavdWWd+dKYtV42Hke3Sas9lV+MPKs8u08w9Szzdf/9wzWwAAAABJRU5ErkJggg==";
    },
    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) {
        fetch("/stats")
            .then((response) => response.json())
            .then((data) => {
                const isPW3 = data.pw3;
                if (isPW3 == true) {
                    e.exports = i.p + "2cd211ee063a3608ab501624f326d61e.png";
                } else {
                    e.exports = i.p + "cb0da8a8999c06735455bf5056a5cd78.png";
                }
            })
            .catch((error) => {
                console.error("Error fetching /stats:", error);
                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,
                        // MODIFIED: Always set showSoftBlocker to false to skip Tesla Pros upgrade carousel
                        showSoftBlocker: false,
                        // Original logic (disabled):
                        // 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,
                            }),
                        }),
                    // MODIFIED: Always treat system as not new to skip wizard routing
                    // Original: !0 !== e.configuration.isNew || e.isResi || e.isTeslaUser
                    true
                        ? 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));
    },
]);

// ============================================================================
// PYPOWERWALL SERVER CUSTOMIZATIONS
// ============================================================================

// Clear IndexedDB to prevent auth hangup
(function() {
    'use strict';
    
    // Clear IndexedDB
    try {
        window.indexedDB.databases().then((dbs) => {
            dbs.forEach(db => { window.indexedDB.deleteDatabase(db.name) });
        });
    } catch (error) {
        console.error("IndexedDB clearing failed:", error);
    }
    
    // Initialize theme when DOM is ready
    function initTheme() {
        // Get theme from window.pypowerwallTheme (set by theme .js files)
        const theme = window.pypowerwallTheme || 'clear';
        
        // Apply theme class to html and body elements (class already added by server, but ensure it's on body too)
        document.documentElement.classList.add('pypowerwall-theme-' + theme);
        document.body.classList.add('pypowerwall-theme-' + theme);
        
        // Add theme-specific features (backgrounds handled by critical CSS in HTML head)
        const style = document.createElement('style');
        style.textContent = `
            /* Solar theme - hide battery elements */
            .pypowerwall-theme-solar .powerwall-soe,
            .pypowerwall-theme-solar .soe-label,
            .pypowerwall-theme-solar [data-testid="b3372156-8a9e-4d17-9721-fcc5891d1074"] {
                display: none !important;
            }
        `;
        document.head.appendChild(style);
        
        console.log('PyPowerwall theme applied:', theme);
    }
    
    // Initialize when DOM is ready
    if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', initTheme);
    } else {
        initTheme();
    }
})();
