Created
June 10, 2014 13:56
-
-
Save timmc/79a5005f33daf14114e4 to your computer and use it in GitHub Desktop.
Unminified version of lastpass.js from version 3.1.1, presented for research purposes only.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var nsILastPass = Components.interfaces.nsILastPass, | |
nsISupports = Components.interfaces.nsISupports, | |
CLASS_ID = Components.ID("{89cfce0b-8110-11dd-ad8b-0800200c9a66}"), | |
CLASS_NAME = "LastPass Javascript XPCOM Component", | |
CONTRACT_ID = "@lastpass.com/lastpass;1", | |
LP = null, | |
LastPassFactory = { | |
createInstance: function(Zc, Yb) { | |
if (null != Zc) throw Components.results.NS_ERROR_NO_AGGREGATION; | |
null == LP && (LP = new LastPassContainer); | |
return LP.QueryInterface(Yb) | |
} | |
}, LastPassModule = { | |
registerSelf: function(Zc, Yb, Gh, gd) { | |
Zc = Zc.QueryInterface(Components.interfaces.nsIComponentRegistrar); | |
Zc.registerFactoryLocation(CLASS_ID, CLASS_NAME, CONTRACT_ID, Yb, Gh, gd) | |
}, | |
unregisterSelf: function(Zc, Yb) { | |
Zc = Zc.QueryInterface(Components.interfaces.nsIComponentRegistrar); | |
Zc.unregisterFactoryLocation(CLASS_ID, Yb) | |
}, | |
getClassObject: function(Zc, Yb, Gh) { | |
if (!Gh.equals(Components.interfaces.nsIFactory)) throw Components.results.NS_ERROR_NOT_IMPLEMENTED; | |
if (Yb.equals(CLASS_ID)) return LastPassFactory; | |
throw Components.results.NS_ERROR_NO_INTERFACE; | |
}, | |
canUnload: function() { | |
return !0 | |
} | |
}; | |
function NSGetModule() { | |
return LastPassModule | |
} | |
function NSGetFactory() { | |
return LastPassFactory | |
} | |
function LastPassContainer() { | |
function Zc() {} | |
function Yb() {} | |
function Gh() {} | |
function gd() {} | |
function Nd() {} | |
function zq() {} | |
function bj() {} | |
function Aq() {} | |
function dw() {} | |
function Bq() {} | |
function Cq() {} | |
function cj() {} | |
function Tm() {} | |
function qa() {} | |
function v() {} | |
function jb() {} | |
function Dq() {} | |
function Um(c, e, f) { | |
var d = e.getElementById("eventdata1") ? e.getElementById("eventdata1").value : "", | |
g = e.getElementById("eventdata2") ? e.getElementById("eventdata2").value : "", | |
h = e.getElementById("eventdata3") ? e.getElementById("eventdata3").value : | |
"", | |
l = e.getElementById("eventdata4") ? e.getElementById("eventdata4").value : "", | |
n = e.getElementById("eventdata5") ? e.getElementById("eventdata5").value : ""; | |
switch (c) { | |
case "login": | |
c = d.toLowerCase().replace(/\s*/g, ""); | |
f = g; | |
var p = l == Vm ? "" : n, | |
d = l == Vm ? n : ""; | |
if (Wm) { | |
g = Zb(f); | |
n = rb(ja ? ja : ""); | |
l = "" == d ? "" : LP.make_lp_key(c, d); | |
p = "" == d ? "" : LP.make_lp_hash(c, l, d); | |
d = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
d = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
if ("" == c || "" == f || "" == h || "" != l && l != f || "" != p && p != h) { | |
ga("ASOREGISTRY login : ERROR invalid params username=" + c + " wxhash=" + h + " wxhashhexcomputed=" + p + " keyhex=xxx keyhexcomputed=xxx password=xxx"); | |
break | |
} | |
Dk(c, null); | |
Xm(c, f); | |
if (P) { | |
Q == c && n == f || Sa(!1, "ff_diffuser"); | |
break | |
} | |
rc = !1; | |
Q = c; | |
ha = Fa(c); | |
Kc = h; | |
lf(); | |
vd(g, "lpwebsiteevent A"); | |
Ek(c, "", Eg); | |
break | |
} | |
if ("" == c && "" == f && "" == h) P || LP.lplogincheck("websitelogin"); | |
else if ("" != c && "" != f) { | |
Dk(c, null); | |
Xm(c, f); | |
var q = !1, | |
g = Zb(f), | |
n = rb(ja ? ja : ""); | |
if (!P || !(Q == c && n == f)) P && Q == c ? (vd(g, | |
"lpwebsiteevent B"), Hh()) : P && "" != Q ? (Sa(!1, "ff_websitediffuser"), q = !0) : P && "" == Q ? ga("login invalid state A") : q = !0; | |
q && (vd(g, "lpwebsiteevent C"), "" != p && (Sc = p), "" != h ? l == Vm ? ("" != d && Gc("login", { | |
data0: c, | |
data1: d | |
}), Oc ? (vd("", "lpwebsiteevent D"), Fg = (new Date).getTime(), LP.mostRecent().setTimeout(function() { | |
Gc("logincheck") | |
}, 2E3)) : Ym(Eq, null, c, h)) : LP.lplogincheck("websitelogin") : LP.lplogincheck("websitelogin")) | |
} else ga("login invalid params username=" + c + " wxhash=" + h + " keyhex=xxx"); | |
break; | |
case "logoff": | |
P && Sa(!1, | |
"ff_fromwebsite"); | |
break; | |
case "recheck": | |
LP.lpRecheckTabs(!0); | |
break; | |
case "refresh": | |
P && (h = e.getElementById("eventdata1"), l = e.getElementById("eventdata2"), h && "settings" == h.value ? Ym(l && "2" == l.value ? "websiterefreshrsa" : "websiterefresh") : LP.lpGetAccounts()); | |
break; | |
case "rsaencrypt": | |
c = e.getElementById("eventdata1").value; | |
d = e.getElementById("eventdata2").value; | |
h = e.getElementById("eventtype"); | |
f = e.getElementById("eventdata4"); | |
l = e.getElementById("eventdata5"); | |
!c || !d || !h || !f || !l ? h.value = "rsaerror" : ma() ? (c = Z.xCryptoRSAEncrypt(c, | |
d), "" == c || null == c ? h.value = "rsaerror" : (d = Gg("rsaencrypt"), d = Z.xCryptoRSASign(d, c), "" == d || null == d ? h.value = "rsaerror" : (f.value = c, l.value = d, h.value = "ok"))) : h.value = "rsaerror"; | |
break; | |
case "rsaencryptmultiple": | |
a: { | |
h = e.getElementById("eventtype"); | |
f = e.getElementById("eventdata1"); | |
l = mc.parse(f.value); | |
for (c = 0; c < l.length; ++c) { | |
if (!ma()) { | |
h.value = "rsaerror"; | |
break a | |
} | |
if ("undefined" == typeof l[c].valuehex || "undefined" == typeof l[c].publickeyhex || "" == l[c].publickeyhex) { | |
h.value = "rsaerror"; | |
break a | |
} | |
l[c].valuehexenc = Z.xCryptoRSAEncrypt(l[c].publickeyhex, | |
l[c].valuehex); | |
if ("" == l[c].valuehexenc || null == l[c].valuehexenc) { | |
h.value = "rsaerror"; | |
break a | |
} | |
} | |
f.value = mc.stringify(l); | |
h.value = "ok" | |
} | |
break; | |
case "rsadecrypt": | |
c = e.getElementById("eventdata1").value; | |
e.getElementById("eventdata2"); | |
l = e.getElementById("eventdata3").value; | |
h = e.getElementById("eventtype"); | |
f = e.getElementById("eventdata4"); | |
!c || !l || !h || !f ? h.value = "rsaerror" : ma() ? (c = Gg("rsadecrypt"), l = Z.xCryptoRSADecrypt(c, l), "" == l || null == l ? h.value = "rsaerror" : (f.value = l, h.value = "ok")) : h.value = "rsaerror"; | |
break; | |
case "keyweb2plug": | |
c = | |
g.toLowerCase().replace(/\s*/g, ""); | |
"" == c || "" == d ? ga("keyweb2plug invalid params cmd=" + h + " username=" + c + " localkey=xxx") : "2" == h && (Fq(), Fk(), vd(Zb(d), "keyweb2plug"), Hh()); | |
break; | |
case "recheckcurrenttab": | |
h = e.getElementById("eventdata1"); | |
h.value = "ok"; | |
LP.lpRecheckDoc(e, !0); | |
break; | |
case "getversion": | |
h = e.getElementById("eventdata1"); | |
l = e.getElementById("eventdata2"); | |
c = e.getElementById("eventdata3"); | |
d = e.getElementById("eventdata4"); | |
h.value = nc; | |
l.value = LP.lpbuilt; | |
c.value = ew; | |
d.value = "ff"; | |
break; | |
case "getdebuginfo": | |
h = | |
e.getElementById("eventdata1"); | |
f = []; | |
f.logfile = Gk.join("\n"); | |
h.value = mc.stringify(f); | |
break; | |
case "keyplug2web": | |
h = e.getElementById("eventdata1"); | |
l = e.getElementById("eventdata2"); | |
c = e.getElementById("eventdata3"); | |
d = e.getElementById("eventdata4"); | |
g = e.getElementById("eventdata5"); | |
if (h && l) { | |
if ("" == Q) break; | |
n = f.directory; | |
f = f.file; | |
n = n.replace(/^\/~[^/]*/, ""); | |
if ("" != n && "/" != n && "/sso/" != n && n != fw && "/sso/aso/" != n && n != gw) break; | |
f = f.replace(/#/, ""); | |
if ("" != f && "index.php" != f && "import.php" != f && "export.php" != f && "otp.php" != | |
f && "frameset.php" != f && "frame_login.php" != f && "gettopost.php" != f && f != hw && f != iw && "misc_challenge.php" != f && "enterprise_users.php" != f) break; | |
f = "none"; | |
if (h && "" == h.value) h.value = ic(Q), "" != ja && (f = rb(ja)); | |
else if (ic(h.value) != ic(Q)) { | |
if (P) { | |
Sa(!1, "ff_websitemismatch"); | |
break | |
} | |
} else "" != ja && (f = rb(ja)); | |
c && (c.value = nc); | |
d && (d.value = LP.GetIdentity()); | |
g && (g.value = Kc); | |
l.value = f | |
} | |
break; | |
case "formfillbuilder": | |
h = e.getElementById("eventdata1"); | |
f = h.value; | |
wd(LP.getBrowser(), LP.getBrowser().contentDocument, !0, !1, null, 1, null, null, | |
f); | |
h.value = "ok"; | |
break; | |
case "getuuid": | |
h = e.getElementById("eventdata1"); | |
h.value = LP.getuuid(); | |
break; | |
case "switchidentity": | |
h = e.getElementById("eventdata1"); | |
f = ""; | |
h && (f = h.value); | |
h = !1; | |
for (l = 0; l < Oa.length; l++) Oa[l].iid == f && (h = !0); | |
h || (f = ""); | |
f != LP.GetIdentity() && LP.lpIdentityHelper(f, !0); | |
break; | |
case "clearcache": | |
Gk = []; | |
Hg(".lps"); | |
Hg(".slps"); | |
Hg(".xml"); | |
Hg(".sxml"); | |
Hg(".key"); | |
break; | |
case "getimportdata": | |
n = f.directory; | |
f = f.file; | |
n = n.replace(/^\/~[^/]*/, ""); | |
if ("" != n && "/" != n && "/sso/" != n) break; | |
if ("import.php" != f) break; | |
e.getElementById("source").value = dj; | |
e.getElementById("t").value = Hk(Xa._utf8_encode(Ig)); | |
e.getElementById("b64").value = "1"; | |
e.getElementById("utf8").value = "1"; | |
e.getElementById("encryptandstore").click(); | |
dj = Ig = ""; | |
break; | |
case "recover": | |
n = f.directory; | |
f = f.file; | |
n = n.replace(/^\/~[^/]*/, ""); | |
if ("" != n && "/" != n && "/sso/" != n) break; | |
if ("recover.php" != f) break; | |
h = ""; | |
h = e.getElementById("eventdata1").value; | |
f = Fa(h) + "_ff.sotp"; | |
h = Fa(h) + "_ff.otp"; | |
!$b(f) && !$b(h) ? h = "nouser" : $b(f) ? (h = Ih(Jb(f), !0), h = rb(h)) : h = rb(Jb(h)); | |
e.getElementById("eventdata2").value = | |
h; | |
break; | |
case "gohome": | |
if (ie) break; | |
f = ""; | |
(h = e.getElementById("eventdata3")) && (f += "?cmd=" + encodeURIComponent(h.value)); | |
h = "" == LP.getcontrol("vaulturloverride") ? "chrome://lastpass/content/home2.xul" : LP.getcontrol("vaulturloverride"); | |
e.location.href = h + f; | |
h = e.getElementById("eventdata1"); | |
f = e.getElementById("eventdata2"); | |
h && f && (h = h.value, f = f.value, "" != h && "" != f && (Sa(!1, "ff_websitegohome"), Ik = f, LP.lpOpenLogin(null, h))); | |
break; | |
case "setupmultifactor": | |
g == Q ? (e.getElementById("eventdata3") && (e.getElementById("eventdata3").value = | |
"working"), f = "type=" + LP.en(d) + "&username=" + LP.en(g), LP.lpMakeRequest(LP.lp_base + "setupmultifactor.php", f, Gq, function() { | |
Zm(e.getElementById("eventdata3")) | |
}, { | |
resultinput: e.getElementById("eventdata3"), | |
password: "" | |
})) : e.getElementById("eventdata3") && (e.getElementById("eventdata3").value = "error"); | |
break; | |
case "setupsinglefactor": | |
var r = "1" == n; | |
f = LP.make_lp_key(g, h); | |
g == Q && f == ja || r ? (!r && e.getElementById("eventdata4") && (e.getElementById("eventdata4").value = "working"), f = "type=" + LP.en(d) + "&username=" + LP.en(g), | |
l = !0, "omnikey" == d && (c = "", ma() && "function" == typeof Z.omnikey_get_public_key && (c = Z.omnikey_get_public_key(ej())), "" == c ? l = !1 : f += "&secret=" + encodeURIComponent(c)), l ? LP.lpMakeRequest(LP.lp_base + "setupmultifactor.php", f, Gq, function() { | |
Zm(r ? null : e.getElementById("eventdata4")) | |
}, { | |
resultinput: r ? null : e.getElementById("eventdata4"), | |
password: h | |
}) : !r && e.getElementById("eventdata4") && (e.getElementById("eventdata4").value = "error")) : !r && e.getElementById("eventdata4") && (e.getElementById("eventdata4").value = "error"); | |
break; | |
case "checkmultifactorsupport": | |
e.getElementById("eventdata3") && (ma() && "function" == typeof Z.omnikey_supported && Z.omnikey_supported() ? (e.getElementById("eventdata4").value = "omnikey", e.getElementById("eventdata3").value = "done") : ma() && LP.lpis_win && "function" == typeof Z.winbio_supported && Z.winbio_supported() ? (e.getElementById("eventdata4").value = "winbio", e.getElementById("eventdata3").value = "done") : (hd || $m || LP.lpisp()) && ma() && LP.lpis_mac && "function" == typeof Z.lpvt_supported && Z.lpvt_supported() ? (e.getElementById("eventdata4").value = | |
"vtapi", e.getElementById("eventdata3").value = "done") : (ma() || (e.getElementById("eventdata4").value = "nobinary"), e.getElementById("eventdata3").value = "error")); | |
break; | |
case "verifymultifactor": | |
e.getElementById("eventdata1") && "winbio" == e.getElementById("eventdata1").value && e.getElementById("eventdata2") && (e.getElementById("eventdata2").value = "working", ma() && LP.lpis_win && "function" == typeof Z.winbio_verify_user && (h = Z.winbio_verify_user("", LP.lpgs("Swipe finger"), LP.lpgs("Swipe your finger on the fingerprint sensor"), | |
LP.lpgs("Cancel")), e.getElementById("eventdata3") && (e.getElementById("eventdata3").value = da(h), e.getElementById("eventdata2").value = "done"))); | |
break; | |
case "multifactorauth": | |
e.getElementById("eventdata3") && (e.getElementById("eventdata3").value = "working", h = "", "trueapi" == d ? (h = Fa(Fa(ic(g) + d)), 64 != h.length && ma() && LP.lpis_win && "function" == typeof Z.trueapi_get_hash && (h = Z.trueapi_get_hash(g)), h = "" != h ? Fa(h + l) : "") : "omnikey" == d && ma() && "function" == typeof Z.omnikey_decrypt && (h = Z.omnikey_decrypt(g, ej())), "" == h ? e.getElementById("eventdata3").value = | |
"error" : (e.getElementById("eventdata5").value = h, e.getElementById("eventdata3").value = "done")); | |
break; | |
case "multifactorreprompt": | |
e.getElementById("eventdata3") && (e.getElementById("eventdata3").value = "working", LP.securityPrompt() ? e.getElementById("eventdata3").value = "done" : e.getElementById("eventdata3").value = "error"); | |
break; | |
case "checkloggedin": | |
e.getElementById("eventdata1") && (e.getElementById("eventdata1").value = P ? "1" : "0"); | |
break; | |
case "lpgologin": | |
h = e.getElementById("eventdata1").value; | |
"function" == typeof ManGetKey && | |
("" == h ? ManGetKey() : (h = ManParse(h), "object" == typeof h && "undefined" != typeof h.url && (z = [], z[h.aid] = h, f = MN.mostRecent().getBrowser().getBrowserForTab(MN.mostRecent().getBrowser().selectedTab), "undefined" != typeof f && (f.loginAid = h.aid), LP.lpLaunchUrl(h.aid, 1, 0, LP.getBrowser(), null, !0)))); | |
break; | |
case "checkattach": | |
e.getElementById("eventdata2").value = "canopensaveattach"; | |
e.getElementById("eventdata1").value = "canattach"; | |
break; | |
case "getattach": | |
h = {}; | |
LP.siteinfo_addattach(null, LP.lpGetCurrentWindow(), h); | |
"undefined" != | |
typeof h.mimetype && (e.getElementById("eventdata2").value = h.mimetype, f = e.getElementById("eventdata1").value, e.getElementById("eventdata3").value = h.bytes, e.getElementById("eventdata4").value = an(h.bytes, La.hex2bin(f), f), e.getElementById("eventdata1").value = "gotattach"); | |
break; | |
case "openattach": | |
LP.siteinfo_openattach(null, LP.lpGetCurrentWindow(), null, e.getElementById("eventdata1").value, e.getElementById("eventdata2").value, e.getElementById("eventdata3").value); | |
break; | |
case "saveattach": | |
LP.lpExportAttachment(null, | |
null, null, LP.lpGetCurrentWindow(), e.getElementById("eventdata1").value, e.getElementById("eventdata2").value, e.getElementById("eventdata3").value); | |
break; | |
case "setboolpref": | |
LP.lpprefsSetBoolPref(d, "1" == g, "1" == h); | |
LP.flush_prefs(); | |
break; | |
case "checkduo": | |
if (LP.isFennec) try { | |
-1 != LP.fennecBrowser.selectedBrowser.currentURI.path.indexOf("/duo.php") && LP.fennecBrowser.closeTab(LP.fennecBrowser.selectedTab) | |
} catch (t) {} else Pc(!0, "duo.php"); | |
LP.outofband_makerequest("&otp=checkduo" + encodeURIComponent(d)) | |
} | |
} | |
function Gq(c, | |
e, f) { | |
if (4 == c.readyState) { | |
e = f.resultinput; | |
f = f.password; | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
var d = c.responseXML.documentElement.getElementsByTagName("ok"); | |
if (0 < d.length) | |
if (c = d[0].getAttribute("type"), d = d[0].getAttribute("hash"), "trueapi" == c) | |
if ("" != f) { | |
if (ma() && LP.lpis_win && "function" == typeof Z.trueapi_store_default_login && Z.trueapi_store_hash(Q, d)) { | |
var g = e ? Z.trueapi_get_hash(Q) : d; | |
if (g == d && Z.trueapi_store_default_login(Q, f, d)) { | |
LP.setsinglefactortype(c); | |
e && (e.value = | |
"done"); | |
return | |
} | |
} | |
} else { | |
if (ma() && LP.lpis_win && "function" == typeof Z.trueapi_store_hash && Z.trueapi_store_hash(Q, d) && (g = e ? Z.trueapi_get_hash(Q) : d, g == d)) { | |
e && (e.value = "done"); | |
return | |
} | |
} else if ("vtapi" == c) { | |
if (ma() && LP.lpis_mac && "function" == typeof Z.lpvt_store_data && Z.lpvt_store_data(encodeURIComponent(Q) + "|" + encodeURIComponent(f), LP.lpgs("Swipe finger"), LP.lpgs("Swipe your finger on the fingerprint sensor"), LP.lpgs("Cancel"), LP.lpgs("Swipe current user's finger"))) { | |
LP.setsinglefactortype(c); | |
e && (e.value = "done"); | |
return | |
} | |
} else if ("validity" == c) { | |
if (ma() && LP.lpis_win && "function" == typeof Z.validity_store_data && Z.validity_store_data(encodeURIComponent(Q) + "|" + encodeURIComponent(f), LP.lpgs("Swipe finger"), LP.lpgs("Swipe your finger on the fingerprint sensor"), LP.lpgs("Cancel"))) { | |
LP.setsinglefactortype(c); | |
e && (e.value = "done"); | |
return | |
} | |
} else if ("winbio" == c) { | |
if (ma() && LP.lpis_win && "function" == typeof Z.winbio_store_data) | |
if ("function" != typeof Z.winbio_has_fingerprints || Z.winbio_has_fingerprints()) { | |
if (Z.winbio_store_data(encodeURIComponent(Q) + | |
"|" + encodeURIComponent(f), LP.lpgs("Swipe finger"), LP.lpgs("Swipe your finger on the fingerprint sensor"), LP.lpgs("Cancel"))) { | |
LP.setsinglefactortype(c); | |
e && (e.value = "done"); | |
return | |
} | |
} else { | |
"function" == typeof Z.winbio_launch_enrollment && Z.winbio_launch_enrollment(); | |
e && (e.value = "notenrolled"); | |
return | |
} | |
} else if ("omnikey" == c) { | |
e && (e.value = "done"); | |
return | |
} | |
} | |
Zm(e) | |
} | |
} | |
function Zm(c) { | |
c && (c.value = "error") | |
} | |
function Hq(c) { | |
if (!c || "function" != typeof c.getElementsByTagName) return !1; | |
c = c.getElementsByTagName("meta"); | |
for (var e = | |
0; e < c.length; e++) | |
if (c[e].httpEquiv && "refresh" == c[e].httpEquiv && c[e].content && c[e].content.match(/^0;/)) return !0; | |
return !1 | |
} | |
function bn(c) { | |
var e = c.target; | |
"undefined" != typeof e.wrappedJSObject && (e = e.wrappedJSObject); | |
if ("IFRAME" == e.nodeName || "FRAME" == e.nodeName) e.addEventListener("load", function() { | |
Iq(e) | |
}, !1), e.addEventListener("unload", jw, !1); | |
else if ("SCRIPT" == e.nodeName && "pandora.com" == Ta(e.ownerDocument.location.href)) { | |
c = e.ownerDocument.getElementsByTagName("input"); | |
for (var f = 0; f < c.length; f++) "submit" == | |
c[f].type && "undefined" == typeof c[f].lpsubmitorig && (c[f].lpsubmitorig = !0, c[f].addEventListener("click", function() { | |
LP.lpsubmitafter({ | |
target: this.form, | |
docurl: Wa.URLToASCII(this.ownerDocument.location.href) | |
}) | |
}, !1)) | |
} | |
} | |
function jw(c) { | |
var e = c.target; | |
"undefined" != typeof e.wrappedJSObject && (e = e.wrappedJSObject); | |
if ("IFRAME" == e.nodeName || "FRAME" == e.nodeName) e.removeEventListener("load", function() { | |
Iq(e) | |
}, !1), e.removeEventListener("unload", lpNodeRemove, !1) | |
} | |
function Iq(c) { | |
var e = c.getAttribute("src"); | |
null === e && (e = | |
""); | |
"IFRAME" == c.nodeName && e.indexOf("lpblankiframe.local" > 0) || Jq(LP.getBrowser().contentDocument) | |
} | |
function fj(c, e) { | |
if (!LP.lp_url_is_lastpass(Wa.URLToASCII(c.contentWindow.location.href))) try { | |
for (var f = c.contentWindow; null != f.top && f.top != f;) f = f.top; | |
var d = f.document; | |
"undefined" == typeof d.LPlpinstalledclick ? (d.addEventListener("mouseup", kw, !1), d.LPlpinstalledclick = !0) : e == d && (d.LPlpnoinstalledclick = !0) | |
} catch (g) {} | |
} | |
function cn() { | |
var c = Jk(); | |
"" != c && $b(c) && eb(c) | |
} | |
function Jk() { | |
var c = ha; | |
return "" == c || null == c ? | |
"" : (c + "_retry5.lps").toUpperCase() | |
} | |
function Jq(c) { | |
var e = null; | |
try { | |
var f = cb(c); | |
if (!f && !LP.isFennecNative) return null; | |
e = Wa.URLToASCII(c.location.href); | |
if ("undefined" != typeof c.forms && 0 < c.forms.length) try { | |
var d = c.getElementsByTagName("HEAD"); | |
if (d && 0 < d.length) { | |
var g = c.createElement("SCRIPT"); | |
g.appendChild(c.createTextNode("try { for(var lastpass_iter=0; lastpass_iter < document.forms.length; lastpass_iter++){ var lastpass_f = document.forms[lastpass_iter]; if(typeof(lastpass_f.lpsubmitorig)==\"undefined\"){ if (typeof(lastpass_f.submit) == \"function\") { lastpass_f.lpsubmitorig = lastpass_f.submit; lastpass_f.submit = function(){ var form = this; try { if (document.documentElement && 'createEvent' in document) { var forms = document.getElementsByTagName('form'); for (var i=0 ; i<forms.length ; ++i) if (forms[i]==form) { var element = document.createElement('lpformsubmitdataelement'); element.setAttribute('formnum',i); element.setAttribute('from','submithook'); document.documentElement.appendChild(element); var evt = document.createEvent('Events'); evt.initEvent('lpformsubmit',true,false); element.dispatchEvent(evt); break; } } } catch (e) {} try { form.lpsubmitorig(); } catch (e) {} } } } }} catch (e) {}")); | |
d[0].appendChild(g) | |
} | |
} catch (h) { | |
ga("Failure with appending JS: " + h + " ln: " + h.lineNumber, null) | |
} | |
d = !1; | |
"function" == typeof Jg && Kk == f && (d = !0, Jg(), Jg = null); | |
Kq(c, d); | |
var l = xb(e); | |
nb(e, l); | |
var n = sc(l.host, e); | |
LP.compare_tlds(n, "netvibes.com") && fj(f, c); | |
var p = dn(f, e, null, "lploadpagedoc"); | |
if (!P && !p && (!LP.lp_url_is_lastpass(e, l) && gj(null, c)) && !en) | |
if (Lk) { | |
var q = LP.getBrowser().selectedTab.linkedBrowser.contentDocument; | |
q.LPlpUseLastPassLogin = !0; | |
fn(q) | |
} else vc("UseLastPassLogin", f, 0, "login", null) | |
} catch (r) { | |
ga("Failure with loading page: " + | |
r + " ln: " + r.lineNumber, e) | |
} finally {} | |
} | |
function dn(c, e, f, d, g) { | |
d = xb(e); | |
var h = sc(d.host, e), | |
l = !1; | |
if (!P) { | |
var n = Ab(), | |
p; | |
for (p in id) { | |
var q = id[p]; | |
null != q && n > q.timeSaved + 300 && (id[p] = null) | |
} | |
q = []; | |
for (p in id) id[p] && q.push(id[p]); | |
id = q; | |
for (p in Pa) q = Pa[p], null != q && n > q.timeSaved + 300 && (Pa[p] = null); | |
n = []; | |
for (p in Pa) Pa[p] && n.push(Pa[p]); | |
Pa = n | |
} | |
for (p in Pa) | |
if (!("undefined" != typeof g && p != g)) { | |
var r = Pa[p]; | |
if (!r || !r.ignorefromcheckadd) | |
if (r && (LP.compare_tlds(h, r.tld) || LP.compare_tlds(h, r.actiontld) || LP.compare_tlds(h, r.topdoctld) || | |
r.basic_auth)) { | |
n = null; | |
if (r.basic_auth) { | |
var t = r.postdata, | |
n = LP.compare_tlds(h, r.tld) || LP.compare_tlds(h, r.actiontld) ? LP.lpgetcurrenturl(c) : r.url, | |
t = t + ("&url=" + LP.en(ac(n))); | |
r.ai.url = n; | |
n = function() { | |
gn(t, r.ai, r.newvalues) | |
}; | |
Pa[p] = null | |
} else var A = p, | |
n = function() { | |
a: { | |
var d = A; | |
c || LP.getBrowser(); | |
if (null != Pa[d]) { | |
var e = Pa[d].url, | |
g = nb(e), | |
h = Ta(e); | |
if ("function" == typeof ManSubmitCallback) { | |
var l = []; | |
l.postdata = Pa[d].postdata; | |
l.tld = h; | |
ManSubmitCallback(l) | |
} else { | |
if (Pa[d].needsEncryption) { | |
var n = Pa, | |
p; | |
if (p = Pa[d], p.needsEncryption) | |
if (!P || | |
"string" != typeof ja || 0 == ja.length) p = null; | |
else { | |
for (var q = 0; q < p.encryptedStrings.length; q++) p.postdata += "&encryptedstring" + q + "=" + LP.en(da(p.encryptedStrings[q])); | |
p.encryptedPassword = da(p.encryptedPassword); | |
if ("undefined" != typeof p.fields) | |
for (q = 0; q < p.fields.length; q++) | |
if ("email" == p.fields[q].type || "tel" == p.fields[q].type || "url" == p.fields[q].type || "text" == p.fields[q].type || "password" == p.fields[q].type || "textarea" == p.fields[q].type || "hidden" == p.fields[q].type) p.fields[q].value = da(p.fields[q].value); | |
p.needsEncryption = !1 | |
} | |
n[d] = p; | |
if (null == Pa[d]) break a | |
} | |
if (!(n = Jh)) { | |
b: { | |
n = Pa[d].uname; | |
p = Pa[d].username; | |
var q = Pa[d].encryptedPassword, | |
r = "undefined" != typeof la[h] ? la[h] : [], | |
t; | |
for (t in r) | |
if (!("undefined" == typeof z[t] || z[t].genpw || z[t].isbookmark) && z[t].logins) | |
for (r = 0; r < z[t].logins.length; r++) { | |
var s = z[t].logins[r]; | |
if ((s.unencryptedUsername == p || "" == n && "" == p || 0 == p.indexOf("****")) && O(s.password, z[t], B) == Ya(q) || s.unencryptedUsername == p && "" == q) { | |
e = !0; | |
break b | |
} | |
if (z[t].save_all && nb(z[t].url) == nb(e) && 0 == s.urid && s.otherfields) | |
for (var ea = | |
"" == n && "" == p ? !0 : !1, ra = !1, Y = 0; Y < s.otherfields.length; Y++) | |
if (!ea && ("text" == s.otherfields[Y].type || "email" == s.otherfields[Y].type || "tel" == s.otherfields[Y].type || "url" == s.otherfields[Y].type) && p == O(s.otherfields[Y].value, z[t], B) ? ea = !0 : !ra && "password" == s.otherfields[Y].type && Ya(q) == O(s.otherfields[Y].value, z[t], B) && (ra = !0), ea && ra) { | |
e = !0; | |
break b | |
} | |
} | |
e = !1 | |
} | |
if (e = !e) { | |
0 < g.length && "/" == g.charAt(g.length - 1) && (g = g.substring(0, g.length - 1)); | |
if (g = !(0 < mf.length && !kb(g, mf) && !kb(h, mf) || kb(g, Tc) || kb(h, Tc))) b: { | |
g = Pa[d].username; | |
e = Pa[d].encryptedPassword; | |
t = Ab(); | |
var n = [], | |
C; | |
for (C in Pf) p = Pf[C], t > p.rejectedTime + 600 && (n[n.length] = C); | |
for (C = n.length - 1; 0 <= C; C--) Pf.splice(n[C], 1); | |
for (C in Pf) | |
if (p = Pf[C], p.username == g && Ya(p.encryptedPassword) == Ya(e) && LP.compare_tlds(p.tld, h)) { | |
g = !1; | |
break b | |
} | |
g = !0 | |
} | |
e = g | |
} | |
n = e | |
} | |
if (n) { | |
if (C = !1, "function" == typeof LP.getBrowser().getNotificationBox && (l = LP.getBrowser().getNotificationBox(c).currentNotification), l && "undefined" != typeof l.choices && "addconfirm" == l.choices && "undefined" != typeof l.extra && "undefined" != typeof l.extra.key && | |
l.extra.key == d && (C = !0), !C) { | |
l = c.contentDocument; | |
if (!f && l && (C = gj(null, l)) && nb(C.action) == nb(Pa[d].action)) | |
if (g = [], g.fields = Pa[d].fields, hj(C, g, null, !1) && !Jh) { | |
if ("function" == typeof LP.getBrowser().getNotificationBox) { | |
h = LP.getBrowser().getNotificationBox(c).allNotifications; | |
for (l = h.length - 1; 0 <= l; l--) "undefined" != typeof h[l].choices && "addconfirm" == h[l].choices && LP.getBrowser().getNotificationBox(c).removeNotification(h[l]) | |
} | |
Pa[d] = null; | |
break a | |
} | |
C = Ab(); | |
0 == Pa[d].show_count && (Pa[d].first_show_time = C); | |
if (5 < ++Pa[d].show_count || | |
30 <= C - Pa[d].first_show_time) { | |
if ("function" == typeof LP.getBrowser().getNotificationBox) { | |
h = LP.getBrowser().getNotificationBox(c).allNotifications; | |
for (l = h.length - 1; 0 <= l; l--) "undefined" != typeof h[l].choices && "addconfirm" == h[l].choices && LP.getBrowser().getNotificationBox(c).removeNotification(h[l]) | |
} | |
Pa[d] = null | |
} else Lq && (C = [], C.key = d, C.tld = h, LP.lpshowHelpDlg("addsite"), vc("AddAccountText", c, 0, "addconfirm", C), l && (l.LPlpaddaccountshown = !0)) | |
} | |
} else Pa[d] = null | |
} | |
} | |
} | |
}; | |
if ("undefined" != typeof SAVEALLFORMSUBMITS) { | |
n(); | |
break | |
} | |
if (!P && !LP.lp_url_is_lastpass(e, d)) en || (vc("UseLastPassCapture", c, 0, "login", n), l = !0); | |
else { | |
LP.lpGetCurrentWindow().setTimeout(n, 100); | |
break | |
} | |
} | |
} | |
return l | |
} | |
function Kq(c, e, f) { | |
var d = cb(c); | |
if (!d && !LP.isFennecNative) return null; | |
var g = null; | |
try { | |
var g = d ? LP.lpgetcurrenturl(d) : Wa.URLToASCII(c.location.href), | |
h = xb(g); | |
nb(g, h); | |
if (!f && d) { | |
var l, n = g, | |
p = !1, | |
q; | |
for (q in ij) q == d && null != ij[q] && (p = !0); | |
q = !1; | |
for (var r = c.getElementsByTagName("form"), t = 0; t < r.length; t++) | |
if (1 == Mk(r[t], !0).password) { | |
q = !0; | |
break | |
} | |
if (q) { | |
var A = d.sessionHistory; | |
A && 0 < A.count && 0 < A.index && LP.lp_url_is_lastpass(A.getEntryAtIndex(A.index - 1, !1).URI.spec, null, A.getEntryAtIndex(A.index - 1, !1).URI.asciiHost) && -1 != A.getEntryAtIndex(A.index - 1, !1).URI.path.indexOf("launch") && !LP.lp_url_is_lastpass(n, h) && null != gj(null, c) && ga("autologin failed web", n); | |
l = p ? !0 : !1 | |
} else l = !1; if (jj(d, null, null, null, null, c, d.contentWindow, -1)) return; | |
hn(c) | |
} | |
if (!LP.lp_url_is_lastpass(g, h)) { | |
h = !1; | |
if (h = nf(d, c, l)) c.LPlpshowednote = 1, f && (Qf[d] = !0); | |
if (!h && !e && (f || !Nk[d])) Lk ? fn(c) : Mq(d, c, f) | |
} | |
} catch (y) { | |
ga("lpcheckpage: caught: " + | |
y + " ln: " + y.lineNumber, g) | |
} | |
} | |
function Mq(c, e, f) { | |
if (Lg(c, e)) f && (Nk[c] = currenturl, Qf[c] = !0); | |
else if ((f || !Ok[c]) && wd(c, e) && f) Ok[c] = currenturl, Qf[c] = !0 | |
} | |
function nf(c, e, f, d, g) { | |
if (!c && !LP.isFennecNative || !e || "undefined" == typeof e) return !1; | |
var h = null, | |
l = c ? c.contentWindow : e.defaultView; | |
try { | |
var n = c ? LP.lpgetcurrenturl(c) : Wa.URLToASCII(e.location.href), | |
p = xb(n), | |
q = nb(n, p), | |
r, t = sc(p.host, n); | |
if (r = 0 < of.length && !kb(q, of) && !kb(t, of) ? !0 : kb(q, Od) || kb(t, Od) ? !0 : !1) return; | |
var h = Wa.URLToASCII(e.location.href), | |
A = xb(h), | |
y = "string" == | |
typeof A.path ? A.path.split("/") : [], | |
J = nb(h, A), | |
u = sc(A.host, h); | |
"" == u && (u = 0 == h.indexOf("file") ? "file" : 0 == h.indexOf("javascript") ? "JAVASCRIPT" : "UNKNOWN"); | |
n = []; | |
Pk(n, l, e); | |
q = l = J; | |
r = p = !1; | |
if (!kb(J, Dc)) { | |
var t = 0, | |
ib = "", | |
s = 0, | |
ia = 0, | |
B = "undefined" != typeof la[u] ? la[u] : [], | |
F; | |
for (F in B) | |
if (!("undefined" == typeof z[F] || z[F].genpw || z[F].isbookmark) && z[F].logins) { | |
for (var C = 0; C < z[F].logins.length; C++) { | |
var Kg = xb(z[F].logins[C].url); | |
if (z[F].save_all) { | |
LP.compare_urls(nb(z[F].logins[C].url, Kg), J, !0) && (p = !1, l = J, r = !0); | |
break | |
} | |
if (LP.compare_tlds(z[F].logins[C].tld, | |
u)) { | |
var K = z[F].logins[C].password, | |
ea = z[F].logins[C].openid_url, | |
ra = C < z[F].logins.length - 1 ? !0 : !1, | |
Y = z[F].logins[C].uname, | |
v = z[F].logins[C].pname, | |
D = je(n, z[F].logins[C].tld, K, ea, ra, v, Y), | |
E = nb(z[F].logins[C].url, Kg); | |
if (D && hj(D, z[F].logins[C], null, !1)) { | |
p = !1; | |
l = E; | |
r = !0; | |
break | |
} | |
p = !0; | |
ib != E && (t++, l = ib = nb(z[F].logins[C].url, Kg)); | |
Kg.host == A.host && ia != E && (s++, q = ia = E); | |
break | |
} | |
} | |
if (1 < t && 1 < s || r) break | |
} | |
1 == s && !r ? l = q : 1 != t && !r && (l = J, p = !0) | |
} | |
var H = Nq(e), | |
Kg = !1, | |
E = !0, | |
q = [], | |
O = Ta(l); | |
r = []; | |
for (t = 0; 2 > t; t++) | |
for (F in B = "undefined" != typeof la[u] ? | |
la[u] : [], B) | |
if (!("undefined" == typeof z[F] || z[F].genpw || z[F].isbookmark) && z[F].logins) { | |
s = ib = !1; | |
for (C = 0; C < z[F].logins.length; C++) { | |
var M = Ta(z[F].url); | |
if (0 == t && LP.compare_urls(nb(z[F].logins[C].url), l, z[F].save_all) || 1 == t && !z[F].save_all && LP.compare_tlds(O, M)) { | |
if ("" != z[F].logins[C].custom_js) { | |
var G = Qk(z[F].logins[C].custom_js, fb(z[F], 0), fb(z[F], 1), "1", !1, e); | |
try { | |
if (e.body) { | |
var da = e.createElement("script"), | |
Ma = e.createTextNode(G); | |
da.appendChild(Ma); | |
if ("" != e.body.textContent.substring(0, 500 > e.body.textContent.length ? | |
e.body.textContent : 500).replace(/^\s\s*/, "").replace(/\s\s*$/, ""))("facebook.com" != u || 0 != e.getElementsByTagName("form").length) && e.body.appendChild(da) | |
} | |
} catch (w) { | |
ga("Error running custom JS 1: " + w + " ln: " + w.lineNumber, l) | |
} | |
} | |
var K = z[F].logins[C].password, | |
ea = z[F].logins[C].openid_url, | |
ra = C < z[F].logins.length - 1 ? !0 : !1, | |
Y = z[F].logins[C].uname, | |
v = z[F].logins[C].pname, | |
L = z[F].logins[C].oname, | |
V = z[F].logins[C].username, | |
Qa = z[F].logins[C].password, | |
D = null, | |
Q = !1, | |
Z = z[F].logins[C], | |
ia = -1; | |
if (0 < z[F].logins[C].fields.length || | |
"undefined" != typeof z[F].otherlogins && "undefined" != typeof z[F].otherlogins[C] && 0 < z[F].otherlogins[C].fields.length) { | |
if (!D && 0 == C) | |
for (var ca = z[F].otherlogins.length - 1; 0 <= ca; ca--) | |
if (0 < z[F].otherlogins[ca].fields.length || 0 < z[F].otherlogins[ca].otherfields.length) | |
if (D = je(n, z[F].logins[C].tld, K, ea, !1, z[F].otherlogins[ca].pname, z[F].otherlogins[ca].uname)) { | |
Z = z[F].otherlogins[ca]; | |
ia = ca; | |
break | |
} | |
D || (D = je(n, z[F].logins[C].tld, K, ea, ra, v, Y)); | |
D ? Q = !0 : (D = je(n, z[F].logins[C].tld, K, ea, ra), !D && "" != Y && "" == v && (D = je(n, z[F].logins[C].tld, | |
K, ea, !0, null, Y)), D && (ib = !0, ra && (D = null))) | |
} else D = je(n, z[F].logins[C].tld, K, ea, ra), ib = !0; | |
null != D && p && !hj(D, Z, null, !1) && (ib = !0, ra && (D = null)); | |
null != D && void 0 != typeof D.bHasInvisible && !0 == D.bHasInvisible && (g = !0, D.bHasInvisible = !1); | |
var ka = !1; | |
if (D && ib) { | |
var ja; | |
"undefined" != typeof r[D] ? ja = r[D] : (ja = Mk(D, !0), r[D] = ja); | |
2 <= ja.password ? D = null : Q || (Y = ja.uname, v = ja.pname, L = ja.oname, 0 == Z.fields.length && 0 == Z.otherfields.length && (ka = !0)) | |
} | |
var ba = 0 == t && z[F].save_all && !p ? !0 : !1; | |
D && !ba && (D = Oq(D, e)); | |
if (null != D || ba) { | |
if (ba) ib = !1; | |
else { | |
0 == Z.fields.length && (ib = !0); | |
var s = ib, | |
P; | |
if (P = "" != Z.captcha_id) a: { | |
var Q = D, | |
T = Z.captcha_id; | |
if (Q && Q.elements && Q.elements.length) | |
for (var W = 0; W < Q.elements.length; W++) | |
if (xa(Q.elements[W]) == T) { | |
P = !0; | |
break a | |
} | |
P = !1 | |
} | |
P && (ib = !0) | |
} if (!ba) | |
for (Q = 0; Q < D.elements.length; Q++) { | |
var ha; | |
if (!(ha = "" != v && xa(D.elements[Q]) == v && "" != Qa)) { | |
var U; | |
if (!(U = "" != L && xa(D.elements[Q]) == L)) { | |
var pa; | |
if (!(pa = "" != Y && xa(D.elements[Q]) == Y && "" != V)) { | |
var fa; | |
if (fa = "email" == D.elements[Q].type || "tel" == D.elements[Q].type || "text" == D.elements[Q].type || | |
"url" == D.elements[Q].type || "password" == D.elements[Q].type) { | |
var ma; | |
a: { | |
for (var aa = xa(D.elements[Q]), ab = Z.fields, W = 0; W < ab.length; W++) | |
if (ab[W].name == aa && "" != ab[W].value) { | |
ma = !0; | |
break a | |
} | |
ma = !1 | |
} | |
fa = ma || ka && ("" != V && D.elements[Q].name == Y || "" != Qa && D.elements[Q].name == v || D.elements[Q].oname == L) | |
} | |
pa = fa | |
} | |
U = pa | |
} | |
ha = U | |
} | |
ha && Mg(D.elements[Q]) | |
} | |
Pq(Z, ba, D && D.ownerDocument ? D.ownerDocument : e, D && D.ownerWindow ? D.ownerWindow : c ? c.contentWindow : e.defaultView); | |
ka = !1; | |
for (Q = 0; Q < q.length; Q++) | |
if (q[Q].id == z[F].id) { | |
ka = !0; | |
break | |
} | |
if (!ka) { | |
ib || | |
(E = !1); | |
var X = new bj; | |
X.realmmatch = !1; | |
X.id = z[F].id; | |
X.onlyfill = ib; | |
X.needsnewurid = s; | |
X.otherlogin = ia; | |
X.url = h; | |
var bb = xb(z[F].url); | |
X.usernamematch = "" != z[F].unencryptedUsername && z[F].unencryptedUsername == H; | |
X.urlmatch = nb(z[F].url, bb) == J ? !0 : !1; | |
X.servermatch = bb.host == A.host ? !0 : !1; | |
X.portmatch = kj(bb, A); | |
X.serverportmatch = X.servermatch && X.portmatch; | |
X.tldmatch = LP.compare_tlds(z[F].tld, u) ? !0 : !1; | |
ia = {}; | |
X.formmatch = ba ? !0 : hj(D, Z, null, !1, !0, ia); | |
X.needsnewurid |= ia.value && !ba; | |
X.methodok = ba ? !0 : "post" != Z.method || D.method.toLowerCase() == | |
Z.method ? !0 : !1; | |
X.protocolok = "https" != bb.protocol || "https" == A.protocol ? !0 : !1; | |
X.fieldmatchcount = ba ? Qq(e, Z) : 0; | |
var va = "string" == typeof bb.path ? bb.path.split("/") : [], | |
Aa; | |
for (Aa = 0; Aa < y.length && Aa < va.length && va[Aa] == y[Aa]; Aa++); | |
X.pathlevelmatch = Aa; | |
q[q.length] = X | |
} | |
} | |
} | |
} | |
} | |
var y = !1, | |
wa = Ab(); | |
q.sort(Ng); | |
q = Og(xd, q, u, "string" == typeof A.path ? A.path : "", A.host, z, Ge(A)); | |
for (F = 0; F < q.length; F++) "undefined" != typeof Uc[q[F].id] && null != Uc[q[F].id] && 300 <= wa - Uc[q[F].id] && (Uc[q[F].id] = null), !q[F].onlyfill && z[q[F].id] && 1 < z[q[F].id].logins.length && | |
(y = !0); | |
wa = !1; | |
Pg && Ab() - Qg < Pg && (wa = !0); | |
A = 0; | |
c && (c.lpfieldchanged = !1); | |
if (!f && !0 != d && !A && Rq && !Vc) | |
for (F = 0; F < q.length; F++) | |
if (1 != parseInt(z[q[F].id].never_autofill) && (!Vc && !z[q[F].id].pwprotect || wa)) { | |
if (q[F].tldmatch && q[F].formmatch && q[F].methodok && q[F].protocolok) { | |
var oa = "undefined" != typeof Uc[q[F].id]; | |
LP.lpLaunchUrl(q[F].id, 1, 0, c, !0, !1, q[F].otherlogin, !1, !0, e); | |
g && oa && (Uc[q[F].id] = null); | |
A = q[F].id; | |
e.m_filledAid = A | |
} | |
break | |
} | |
if (0 < q.length) { | |
var na = c ? c.contentDocument : e; | |
d = !1; | |
na && "undefined" != typeof na.LPlpaddaccountshown && | |
(d = !0); | |
f = !1; | |
if (0 < q.length) { | |
if ("undefined" != typeof na.aid) | |
for (oa = 0; oa < q.length; oa++) { | |
wa = !1; | |
for (J = 0; J < na.aid.length; J++) | |
if (na.aid[J].id == q[oa].id) { | |
wa = !0; | |
break | |
} | |
wa || (na.aid[na.aid.length] = q[oa], f = !0) | |
} else na.aid = q, na.aidindex = -1; | |
if (0 != A) | |
for (F = 0; F < q.length; F++) | |
if (q[F].id == A) { | |
na.aidindex = F; | |
break | |
} | |
} | |
LP.lpRebuildToolsMenu_all(); | |
if (!d && Rk && c && (F = E ? "UseLastPassFill" : "UseLastPass", A && (F = "AlreadyFilled"), !("undefined" != typeof e.LPlpinvisiblepw2 && e.LPlpinvisiblepw2) && !g)) { | |
if (1 < na.aid.length || 0 == A || y) { | |
if ("undefined" == | |
typeof c.lastautologintld || !LP.compare_tlds(c.lastautologintld, u)) c.lastautologintld = u, c.suppressautloginnotification = !1; | |
!Pd(c, "autologin") && ("undefined" == typeof c.suppressautloginnotification || !1 == c.suppressautloginnotification) ? vc(F, c, na.aid, "autologin", E, null, A, null, !1, !0) : f && vc(F, c, na.aid, "autologin", E, null, A, null, !0) | |
} | |
Kg = !0 | |
} | |
} | |
return Kg | |
} catch (sa) { | |
ga("Failure with checking for autologin: " + sa + " ln: " + sa.lineNumber, h) | |
} finally {} | |
return !1 | |
} | |
function Qq(c, e, f, d) { | |
try { | |
"undefined" == typeof d && (d = 1); | |
if (10 < d || | |
"undefined" == typeof c.getElementsByName) return null; | |
for (var g = 0, h = 0; h < e.otherfields.length; h++) { | |
var l = e.otherfields[h], | |
n = c.getElementsByName(l.name); | |
if (0 == n.length) { | |
var p = c.getElementById(l.name); | |
p && (n = Array(p)) | |
} | |
for (var q = 0; q < n.length; q++) p = n[q], xa(p.form) == l.formname && g++ | |
} | |
if ("undefined" == typeof f || null == f) { | |
var r = cb(c); | |
f = r ? r.contentWindow : null | |
} | |
if (f && f.frames) { | |
var t = f.frames.length; | |
10 < t && (t = 10); | |
for (c = 0; c < t; c++) f.frames[c].document && (g += Qq(f.frames[c].document, e, f.frames[c].window, d + 1)) | |
} | |
} catch (A) { | |
throw A; | |
} finally {} | |
return g | |
} | |
function Oq(c, e, f) { | |
if (c) { | |
if (!f && Sk && "off" == c.getAttribute("autocomplete")) return null; | |
if (Sq && (c.method && "string" == typeof c.method && "GET" == c.method.toUpperCase() || "string" == typeof c.action && 0 == c.action.indexOf("mailto:"))) | |
if (f) { | |
if (!LP.lpConfirmYesNo(LP.lpgs("InsecureFormSubmit"))) return null | |
} else if ("undefined" == typeof e.m_warnedUserThisPage) | |
if (LP.lpConfirmYesNo(LP.lpgs("InsecureForm"))) e.m_warnedUserThisPage = 1; | |
else return e.m_warnedUserThisPage = 2, null; | |
else if (2 == e.m_warnedUserThisPage) return null | |
} | |
return c | |
} | |
function Ng(c, e) { | |
return c.realmmatch != e.realmmatch ? c.realmmatch ? -1 : 1 : c.usernamematch != e.usernamematch ? c.usernamematch ? -1 : 1 : z[c.id].fav != z[e.id].fav ? 1 == parseInt(z[c.id].fav) ? -1 : 1 : c.urlmatch != e.urlmatch ? c.urlmatch ? -1 : 1 : c.serverportmatch && e.serverportmatch && c.pathlevelmatch != e.pathlevelmatch ? c.pathlevelmatch > e.pathlevelmatch ? -1 : 1 : c.serverportmatch != e.serverportmatch ? c.serverportmatch ? -1 : 1 : c.servermatch != e.servermatch ? c.servermatch ? -1 : 1 : c.fieldmatchcount != e.fieldmatchcount ? c.fieldmatchcount > e.fieldmatchcount ? -1 : 1 : z[c.id].last_touch != z[e.id].last_touch ? z[c.id].last_touch > z[e.id].last_touch ? -1 : 1 : z[c.id].name != z[e.id].name ? z[c.id].name < z[e.id].name ? -1 : 1 : z[c.id].logins[0].unencryptedUsername < z[e.id].logins[0].unencryptedUsername ? -1 : 1 | |
} | |
function lw(c, e) { | |
return c.getAttribute("name").toLowerCase() < e.getAttribute("name").toLowerCase() ? -1 : 1 | |
} | |
function jn(c, e) { | |
return c.name.toLowerCase() < e.name.toLowerCase() ? -1 : 1 | |
} | |
function kn() { | |
try { | |
var c = T["@mozilla.org/observer-service;1"].getService(ca.nsIObserverService); | |
Tq || (Tq = !0, c.addObserver(mw, "http-on-modify-request", !1)) | |
} catch (e) { | |
ga("Failure with XHR setup: " + e + " ln: " + e.lineNumber) | |
} | |
} | |
function Qk(c, e, f, d, g, h) { | |
if ("3" == d && h.body && "" != h.body.textContent.replace(/^\s\s*/, "").replace(/\s\s*$/, "")) { | |
if (-1 != c.indexOf("lpcurruser")) { | |
if (!h.getElementById("lpcurruserelt") && h.body) { | |
var l = h.createElement("input"); | |
l.setAttribute("style", "display: none;"); | |
l.setAttribute("type", "text"); | |
l.setAttribute("id", "lpcurruserelt"); | |
l.setAttribute("value", ""); | |
h.body.appendChild(l) | |
} | |
h.getElementById("lpcurruserelt") && | |
(h.getElementById("lpcurruserelt").value = e) | |
} - 1 != c.indexOf("lpcurrpass") && (!h.getElementById("lpcurrpasselt") && h.body && (e = h.createElement("input"), e.setAttribute("style", "display: none;"), e.setAttribute("type", "password"), e.setAttribute("id", "lpcurrpasselt"), e.setAttribute("value", ""), h.body.appendChild(e)), h.getElementById("lpcurrpasselt") && (h.getElementById("lpcurrpasselt").value = f)) | |
} | |
c = "if (typeof(lpcurruser) == 'undefined') lpcurruser = ''; if (document.getElementById('lpcurruserelt') && document.getElementById('lpcurruserelt').value != '') { lpcurruser = document.getElementById('lpcurruserelt').value; document.getElementById('lpcurruserelt').value = ''; } if (typeof(lpcurrpass) == 'undefined') lpcurrpass=''; if (document.getElementById('lpcurrpasselt') && document.getElementById('lpcurrpasselt').value != '') { lpcurrpass = document.getElementById('lpcurrpasselt').value; document.getElementById('lpcurrpasselt').value = ''; } var lploc=" + | |
ke(d) + ";" + (1 == g ? "var lponlyfill=1;" : "var lponlyfill=null;") + c + "lpcurruser = ''; lpcurrpass = '';"; | |
c = c.replace(/lpcurrpage\./g, ""); | |
c = c.replace(/lpframe1\./g, ""); | |
c = c.replace(/lpframe2\./g, ""); | |
return c.replace(/lpframe3\./g, "") | |
} | |
function Pq(c, e, f, d, g) { | |
"undefined" == typeof g && (g = 1); | |
if (10 < g || "undefined" == typeof f.getElementsByName) return null; | |
if (null != f.location && LP.compare_tlds(c.tld, Ta(Wa.URLToASCII(f.location.href)))) | |
for (var h = 0; h < c.otherfields.length; h++) { | |
var l = c.otherfields[h], | |
n = f.getElementsByName(l.name); | |
if (0 == n.length) { | |
var p = f.getElementById(l.name); | |
p && (n = Array(p)) | |
} | |
var q = !1; | |
if (0 == n.length) { | |
var q = !0, | |
r = l.name.match(/^(input|select|textarea)(\d+)$/); | |
r && (p = r[1], r = parseInt(r[2]), p = f.getElementsByTagName(p), p.length > r && (n = Array(p[r]))) | |
} | |
for (r = 0; r < n.length; r++) p = n[r], (q || xa(p.form) == l.formname) && "" != l.value && Mg(p) | |
} | |
if (e) { | |
if ("undefined" == typeof d || null == d) d = browser.contentWindow; | |
if (d && d.frames) { | |
f = d.frames.length; | |
10 < f && (f = 10); | |
for (h = 0; h < f; h++) d.frames[h].document && Pq(c, e, d.frames[h].document, d.frames[h].window, | |
g + 1) | |
} | |
} | |
} | |
function Mg(c, e) { | |
var f = !1; | |
if (!("text" != c.type && "password" != c.type && "email" != c.type && "tel" != c.type && "url" != c.type)) { | |
var d = !1; | |
"undefined" == typeof e && (d = !0, Mb ? (f = !0, d = e = !1) : (e = !0, f = !1)); | |
if (Uq) { | |
if (!Mb) { | |
var g = c.style.width.replace(/px/, ""); | |
if ("" == g) try { | |
var h = c.ownerDocument.defaultView.getComputedStyle(c, ""), | |
g = h.width.replace(/px/, "") | |
} catch (l) {} | |
if (0 < g && 30 > g) return; | |
var n = c.style.backgroundImage; | |
if ("" == n) try { | |
h = c.ownerDocument.defaultView.getComputedStyle(c, ""), n = h.backgroundImage | |
} catch (p) {} | |
"none" == | |
n && (n = ""); | |
"" == n ? c.style.backgroundImage = e ? "url(data:image/gif;base64,R0lGODlhEAAQAPZVADsBAkECBFEGCmQDBGoEB3UIDWcOEn0dHnZGRnhBQntbXIILEoIMEoENFI8QGI0UHJMQGKERGqURGq4QGIsaIZ4fJq8WI68YJrQXJLIZJbgZJ7gZKLwcK74dLa4gKq4iLLUgLaApMLwpNrwsOKUzOcAfL8EhMcUjM8YkNMgoOJw+QKY8QtA5Sdo/T6dARa5FS6tOUr9MUqRRVrRVWY9pa5BmaZBqbMRKVNlRYclud/14iLyIiKuoqNGbneyPmfOAkPeElNGvsNO3t+aorfGjq+y/w8zMzNXU1N3S0t7W1t3a2uLR0e3U1vLd4OLh4ejo6Png4/bx8ff09Pr5+f7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFYALAAAAAAQABAAAAfEgFaCVlCFhoWDgzk6QD+Oj0A6OYMyLSwdJR2amywtMoITKZgbFRsYIRqaKROCEpgZO1IkMFM7GJgSghGZKEVVQktVQyclJRG6JR8uM1NVVVEvKx7GyDHO11VUVTHUVgEECUlIR+RHSUoJBAGCAAMHKgpO8koIKgcDAIICCwwGRk89gjzhUYABAwGCGly4IIIIkxE3mvgAkeFCA0EPMBQ7gcNEio7FMDwQVAOCBQ6bNnGwAKHGIBoUHMicKZOCjUQ4cw4KBAA7)" : | |
"" : d = !1; | |
g = c.offsetWidth; | |
"" == n && (c.style.paddingRight = e ? "18px" : "0px", c.style.backgroundRepeat = "no-repeat", c.style.backgroundAttachment = "scroll", c.style.backgroundPosition = "center right"); | |
c.style.border = "1px solid #c01f2f"; | |
0 < g && (c.style.width = g + "px", c.style.width = 2 * g - c.offsetWidth + "px") | |
} | |
if (f && Mb && !ln(nb(c.ownerDocument.location.href), Ta(c.ownerDocument.location.href)) && (f = c.ownerDocument, !Vq(c) && !mn(f, c))) { | |
var h = "sites", | |
n = Ta(f.location.href), | |
q = LP.getMatchingSites(n, Tk).length, | |
n = []; | |
n[h] = 1 != q ? q : 0; | |
q = !1; | |
"password" == c.type && c == Uk(f, c.form) && (h = "sites", q = !0); | |
lj(f, c, h, n, q); | |
Ba(f, c); | |
if ((h = kd(f, c)) && h.dofloater) f.g_weaseled = !0 | |
} | |
d && 0 < g && 54 > g && (c.addEventListener("focus", function() { | |
Mg(c, !1) | |
}, !1), c.addEventListener("blur", function() { | |
Mg(c, !0) | |
}, !1)) | |
} | |
} | |
} | |
function nn(c, e, f) { | |
var d = 0; | |
if (!d && "" != f) { | |
var g = c.getElementById(f); | |
if (!g) { | |
var h = c.getElementsByName(f); | |
h && 0 < h.length && (g = h[0]) | |
} | |
if (!g && (h = c.getElementsByTagName("INPUT"))) | |
for (var l = 0; l < h.length; l++) h[l].value == f && (g = h[l]); | |
if (!g && (h = c.getElementsByTagName("A"))) | |
for (l = | |
0; l < h.length; l++) h[l].href == f && (g = h[l]); | |
g && (h = g.ownerDocument.createEvent("MouseEvents"), h.initMouseEvent("click", !0, !0, g.ownerDocument.defaultView, 1, 0, 0, 0, 0, !1, !1, !1, !1, 0, null), g.dispatchEvent(h), d = 1) | |
} | |
d || (d = on(c, e, "submit")); | |
d || (d = on(c, e, "image")); | |
d || (d = on(c, e, "button")); | |
if (!d) { | |
g = ""; | |
try { | |
g = Ta(Wa.URLToASCII(c.location.href)) | |
} catch (n) {} | |
var d = f = null, | |
p = 0; | |
if (h = c.getElementsByTagName("INPUT")) | |
for (l = 0; l < h.length; l++) "password" == h[l].type ? f = h[l] : "text" == h[l].type && (d = h[l], p++); | |
f ? (Wq(13, f, c), Kh(f)) : 1 == p && | |
(Wq(13, d, c), Kh(d)); | |
"bankofamerica.com" != g && e && e.method && ("string" == typeof e.method && "POST" == e.method.toUpperCase()) && LP.lpGetCurrentWindow().setTimeout(function() { | |
Qd(c, e); | |
var d = c.createEvent("HTMLEvents"); | |
d.initEvent("submit", !0, !0); | |
e.dispatchEvent(d) | |
}, 250) | |
} | |
} | |
function Wq(c, e, f) { | |
e.focus(); | |
var d = f.createEvent("KeyboardEvent"); | |
d.initKeyEvent("keydown", !0, !0, null, !1, !1, !1, !1, c, 0); | |
e.dispatchEvent(d); | |
d = f.createEvent("KeyboardEvent"); | |
d.initKeyEvent("keypress", !0, !0, null, !1, !1, !1, !1, c, 0); | |
e.dispatchEvent(d); | |
f = f.createEvent("KeyboardEvent"); | |
f.initKeyEvent("keyup", !0, !0, null, !1, !1, !1, !1, c, 0); | |
e.dispatchEvent(f) | |
} | |
function hj(c, e, f, d, g, h) { | |
f = !0; | |
var l = d = 0, | |
n = [], | |
p = []; | |
if (("undefined" == typeof e.fields || 0 == e.fields.length) && "undefined" != typeof e.login) e = e.login; | |
if ("undefined" != typeof e.fields) | |
if (0 < e.fields.length) | |
for (var q = 0; q < e.fields.length; q++) { | |
if (("text" == e.fields[q].type || "email" == e.fields[q].type || "tel" == e.fields[q].type) && d++, "password" == e.fields[q].type && l++, "email" == e.fields[q].type || "tel" == e.fields[q].type || | |
"text" == e.fields[q].type || "password" == e.fields[q].type || "select-one" == e.fields[q].type) n[e.fields[q].name] = e.fields[q].value, p[e.fields[q].name] = e.fields[q].type | |
} else | |
for (q in e.fields) "undefined" != typeof e.fields[q] && (n[q] = e.fields[q], p[q] = "unknown"); | |
e.uname && (n[e.uname] = e.uname); | |
e.pname && (n[e.pname] = e.pname); | |
e.oname && (n[e.oname] = e.oname); | |
var r = e = !1, | |
t = !1, | |
A = !1, | |
y = 0, | |
J = 0; | |
c = c.elements; | |
for (q = 0; q < c.length; q++) | |
if (e = !0, "undefined" != typeof c[q].type) { | |
if (!h && y + J > d + l) { | |
r = !0; | |
break | |
}("text" == c[q].type || "email" == | |
c[q].type || "tel" == c[q].type || "url" == c[q].type) && y++; | |
"password" == c[q].type && J++; | |
if ("email" == c[q].type || "tel" == c[q].type || "text" == c[q].type || "password" == c[q].type || "select-one" == c[q].type) { | |
var u = xa(c[q]); | |
if ("undefined" != typeof n[u]) t = !0, n[u] = null; | |
else if ("" != u && !("hidden" == c[q].type || "select-one" == c[q].type)) r = !0 | |
} | |
} | |
for (q in n) t = !0, null != n[q] && "" != q && "select-one" != p[q] && (A = !0); | |
h && (h.value = y == d && J == l && (r || A)); | |
if (!e || !t) f = !1; | |
else if (g) r && A && (f = !1); | |
else if (r || A) f = !1; | |
return f | |
} | |
function gj(c, e) { | |
var f = []; | |
Pk(f, | |
c, e); | |
for (var d = 0; d < f.length; d++) | |
if (0 < f[d].pwnames.length) return f[d].form; | |
return null | |
} | |
function Xq(c, e, f) { | |
"undefined" == typeof f && (f = 1); | |
if (10 < f || !c) return e; | |
var d = c.frames; | |
e.push(c.document); | |
for (c = 0; c < d.length; c++) Xq(d[c], e, f + 1); | |
return e | |
} | |
function cb(c) { | |
for (var e = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); e.hasMoreElements();) { | |
var f = e.getNext(); | |
if ("function" == typeof f.getBrowser) { | |
var d = f.getBrowser(); | |
if (null != d) { | |
f = d.browsers; | |
"undefined" == typeof f && | |
LP.isFennec && (f = Array(d)); | |
for (d = 0; | |
"undefined" != typeof f && d < f.length; d++) | |
if ("undefined" != typeof f[d] && c == f[d].contentDocument) return f[d]; | |
for (var g = 0; | |
"undefined" != typeof f && g < f.length; g++) | |
if ("undefined" != typeof f[g]) | |
for (var d = Xq(f[g].contentWindow, []), h = 0; h < d.length; h++) | |
if (c == d[h]) return f[g] | |
} | |
} | |
} | |
return null | |
} | |
function kw(c) { | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
nw(c) | |
}, 900) | |
} | |
function nw(c) { | |
try { | |
var e = cb((c ? c.target : this).ownerDocument); | |
if (null != e && !("undefined" != typeof e.contentDocument.m_filledAid && | |
e.contentDocument.m_filledAid)) { | |
for (var f = e.contentWindow; null != f.top && f.top != f;) f = f.top; | |
var d = f.document; | |
if (!("undefined" == typeof d || "undefined" == typeof d.forms) && !("undefined" != typeof d.LPlpshowednote && 1 < d.LPlpshowednote)) { | |
var g = d.forms.length; | |
100 < g && (g = 100); | |
for (c = 0; c < g; c++) { | |
for (var h = d.forms[c].elements, f = !0, l = 0; l < h.length && 100 > l; l++) | |
if ("undefined" != typeof h[l].type && "password" == h[l].type && !oc(h[l])) { | |
f = !1; | |
break | |
} | |
if (!0 == f) { | |
if ("undefined" == typeof d.LPlpclickfilled) d.LPlpclickfilled = [], d.LPlpclickfilled[d.LPlpclickfilled.length] = | |
c; | |
else { | |
f = !1; | |
for (l = 0; l < d.LPlpclickfilled.length; l++) | |
if (d.LPlpclickfilled[l] == c) { | |
f = !0; | |
break | |
} | |
if (f) continue; | |
else d.LPlpclickfilled[d.LPlpclickfilled.length] = c | |
} | |
var n = cb(d); | |
if ("function" == typeof LP.getBrowser().getNotificationBox) { | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
0 == LP.getBrowser().getNotificationBox(e).allNotifications.length && nf(n, n.contentDocument, null, !1 == pn) | |
}, 500); | |
Mb && (LP.checkShouldRecheck(e), n && n != e && LP.checkShouldRecheck(n)); | |
break | |
} | |
} | |
} | |
} | |
} | |
} catch (p) { | |
ga("Error in click handler: " + p + " ln: " + | |
p.lineNumber, null) | |
} | |
} | |
function Lh(c, e, f) { | |
try { | |
if (null != c) | |
if (null == e) yd && c.lpcurrenturl && LP.compare_tlds(yd.tld, Ta(c.lpcurrenturl)) && !LP.compare_tlds(yd.tld, Ta(f)) && LP.lp_hide_alert(), c.lpcurrenturl = f; | |
else { | |
var d = e.ownerDocument; | |
c.lpcurrenturl = LP.compare_tlds(Ta(Wa.URLToASCII(d.location.href)), Ta(f)) ? f : Wa.URLToASCII(d.location.href) | |
} | |
} catch (g) { | |
c.lpcurrenturl = f | |
} | |
} | |
function qn(c, e) { | |
var f = null, | |
d = "undefined" != typeof la[c] ? la[c] : [], | |
g; | |
for (g in d) | |
if (!("undefined" == typeof z[g] || z[g].genpw || z[g].isbookmark || e && z[g].id == | |
e) && z[g].logins) | |
for (d = 0; d < z[g].logins.length; d++) | |
if (LP.compare_tlds(z[g].logins[d].tld, c)) { | |
var h = yb(B, z[g].group); | |
Tb(h, !0) && (null == f && (f = []), f[g] = z[g].logins[d].unencryptedUsername) | |
} | |
return f | |
} | |
function Vk(c) { | |
c = c || event; | |
c.preventDefault ? c.preventDefault() : c.returnValue = !1 | |
} | |
function Qb(c, e) { | |
return LP.setTimeout(c, e) | |
} | |
function Sa(c, e) { | |
var f = LP.lpprefsHasUserValue("clearfilledfieldsonlogoff") && LP.lpprefsGetBoolPref("clearfilledfieldsonlogoff"); | |
Fg = null; | |
P && Gc("logout"); | |
Wc = {}; | |
le = {}; | |
Hc = {}; | |
$c = {}; | |
Rd = {}; | |
Eb = {}; | |
jc = {}; | |
rn = !1; | |
He = null; | |
LP.lpCloseNotifications(); | |
LP.deleteallattachments(!0); | |
LP.lplogoff_win(); | |
LP.lpCloseClickables(); | |
try { | |
LP.lpprefsHasUserValue("donotclearbasicauth") || T["@mozilla.org/network/http-auth-manager;1"].getService().QueryInterface(ca.nsIHttpAuthManager).clearAll() | |
} catch (d) {} | |
Oc ? Pc(!0) : LP.lpMakeRequest(LP.lp_base + "logout.php?ff_plugin=1&from=" + LP.en(e), "", null == c || !0 == c ? ow : null); | |
Kc = ha = Q = ""; | |
Qg = 0; | |
ld = ""; | |
Wk = null; | |
lpsendchallengescore = sn = !1; | |
lf(); | |
LP.lphelpstats = null; | |
Xk = Yk = 0; | |
Zk = !1; | |
Sf = -1; | |
yd = null; | |
"undefined" != | |
typeof this.xssargs && (this.xssargs = {}); | |
Sc = ""; | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lp_remove_cookie("." + LP.lp_basehost, "PHPSESSID") | |
}, 30); | |
LP.lpDisplayAccounts_all(!0); | |
"undefined" != typeof g_oldpbkdf2 && (g_oldpbkdf2 = 0); | |
if (f) | |
for (f = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); f.hasMoreElements();) { | |
var g = f.getNext(); | |
if ("function" == typeof g.getBrowser && (g = g.getBrowser(), null != g && (g = g.browsers))) | |
for (var h = 0; h < g.length; h++) Yq(g[h].contentDocument, | |
g[h].contentWindow) | |
} | |
} | |
function ow(c) { | |
c && 4 == c.readyState && (!0 == LP.getcontrol("hideformfilltitle") ? Pc(!0) : Pc()) | |
} | |
function Hh() { | |
var c = rb(ja); | |
if ("undefined" != typeof pf && null != pf && "" != pf && "undefined" != typeof Q && null != Q && "" != Q && "undefined" != typeof ha && null != ha && "" != ha) { | |
var c = Xa.Encrypt({ | |
pass: pf, | |
data: c, | |
b64: !0, | |
mode: "ecb", | |
bits: 256 | |
}), | |
e = Xa.Encrypt({ | |
pass: ja, | |
data: "lastpass rocks", | |
b64: !0, | |
mode: "ecb", | |
bits: 256 | |
}), | |
c = Tf(c + "\n" + e, !0); | |
Rb(ha + "_lpall.slps", c); | |
eb(ha + "_lp.act.key") | |
} | |
} | |
function pw(c, e, f) { | |
c && 200 == c.status && 4 == c.readyState && | |
(Rb(f, c.responseText), "ff.dat" == f ? (Rg = [], tn = [], zd = [], Uf = []) : "sites.dat" == f && Zq()) | |
} | |
function Zq() { | |
Mh = []; | |
var c = Jb("sites.dat"); | |
if (null != c && "" != c) | |
for (var c = c.split("\n"), e = 0; e < c.length; e++) - 1 != c[e].indexOf(".") && (Mh[c[e]] = "") | |
} | |
function me(c, e) { | |
var f = c.getElementById("lpt_lastpass-compact-btn"); | |
e && f && "BrowserToolbarPalette" == f.parentNode.id && (f = null); | |
if (!f && "undefined" != typeof c.defaultView.CustomizableUI && c.defaultView.CustomizableUI.getPlacementOfWidget("lpt_lastpass-compact-btn")) { | |
var d = f = c.defaultView.CustomizableUI.getWidget("lpt_lastpass-compact-btn"); | |
if (d && (d = d.forWindow(c.defaultView))) f = d.node | |
} | |
return f | |
} | |
function Sd(c, e, f, d, g, h, l, n, p, q, r, t, A, y, J) { | |
md(1, 1E4); | |
var u = !1; | |
e && (q = u = !0); | |
var ib = !1; | |
6 == f && (ib = !0); | |
var s = null; | |
h && (s = z[h]); | |
"undefined" == typeof A && (A = 1); | |
if (10 < A) return ""; | |
1 == A && (Sg = []); | |
if ("undefined" == typeof r || null == r) r = d ? d.contentDocument : LP.getBrowser().contentDocument; | |
if ("undefined" != typeof g) { | |
if ("undefined" != typeof g.LPlpforminfosaved && !p) { | |
var ia = !1; | |
if ("undefined" != typeof g && g != g.LPlpforminfosavedform) { | |
var C = LP.getWindowFromDocument(g.ownerDocument); | |
if ("undefined" == typeof C || C.top != C.self) ia = !0 | |
} | |
if (!ia) return | |
} | |
g.LPlpforminfosaved = !0; | |
g.LPlpforminfosavedform = g; | |
if (1 == f || 3 == f || 4 == f) { | |
if ("undefined" != typeof g.LPlpforminfouploaded) return; | |
g.LPlpforminfouploaded = !0 | |
} | |
} | |
var F; | |
F = d && "undefined" != typeof d.lpcurrenturl ? d.lpcurrenturl : "undefined" != typeof r.location ? Wa.URLToASCII(r.location.href) : d ? LP.lpgetcurrenturl(d) : LP.lpgetcurrenturl(LP.getBrowser()); | |
var D = Ta(F), | |
v = r.getElementsByTagName("form"), | |
K = v.length, | |
ea = ""; | |
q && 1 == A && y && (y.siteinfo_save_all_fields_numfields = | |
0); | |
for (var ia = [], ra = "", Y = "", E = "", H = "", Rf = "", C = "", G = !1, Q = !1, M = "", L = "", Z = "", Ma = "", w = !P, ca = [], V = "", Qa = "", ka = "", ba = "", ja = [""], W = "undefined" != typeof g && 0 != g ? 0 : 1; W < K + (q || ib ? 2 : 1) && !(1 == W && G); W++) { | |
var ha = "", | |
T = 0, | |
U = 0, | |
pa = 0, | |
na, ma, oa, sa; | |
if (W == K + 1) { | |
na = null; | |
ra = ""; | |
ma = []; | |
oa = []; | |
Y = ["input", "select", "textarea"]; | |
for (E = 0; E < Y.length; E++) | |
for (var fa = r.getElementsByTagName(Y[E]), la = 0; la < fa.length; la++) | |
if (null == fa[la].form || kb(xa(fa[la]), ja)) ma[ma.length] = fa[la], oa[oa.length] = Y[E] + la; | |
sa = ma.length; | |
E = Y = "" | |
} else na = 1 <= W ? v[W - 1] : | |
g, ra = 1 <= W ? xa(v[W - 1]) : xa(g), ma = 1 <= W ? v[W - 1].elements : g.elements, sa = ma.length, Y = 1 <= W ? v[W - 1].action : g.action, E = 1 <= W ? v[W - 1].method : g.method; | |
for (var aa = [], ab = [], X = [], bb = [], la = 0; la < sa; la++) "undefined" != typeof aa[ma[la].name] && (X[ma[la].name] = !0), aa[ma[la].name] = !0, "undefined" != typeof ab[ma[la].id] && (bb[ma[la].id] = !0), ab[ma[la].id] = !0; | |
for (la = 0; la < sa; la++) { | |
aa = ma[la]; | |
ab = aa.value; | |
"image" == aa.type && (ab = aa.src); | |
if (q && "" == ab && aa.name && "" != aa.name) { | |
for (var fa = r.getElementsByName(aa.name), va = xa(aa), Aa = !1, qa = 0; qa < | |
fa.length; qa++) | |
if (xa(fa[qa].form) == ra && xa(fa[qa]) == va && fa[qa].type == aa.type && "" != fa[qa].value) { | |
Aa = !0; | |
break | |
} | |
if (Aa) continue | |
} | |
va = q && "" == ra ? xa(aa, !0) : xa(aa); | |
if (("" == va || "undefined" != typeof X[va] && "undefined" != typeof bb[va]) && (q || ib)) | |
if (W == K + 1) va = oa[la]; | |
else { | |
ja[ja.length] = va; | |
continue | |
} | |
if ((!q && !ib || "" != ra) && "undefined" != typeof X[va]) va = xa(aa, !0); | |
if ((!q || u) && Nh == na) | |
for (Aa = 0; Aa < Ea.length; Aa++) | |
if (Ea[Aa].name == xa(aa)) { | |
if (Ea[Aa].value != ab) | |
if ("" == ab || ab.match(/^\*+$/)) ab = Ea[Aa].value; | |
else if (ab.length == Ea[Aa].value.length) { | |
fa = !0; | |
for (qa = 0; qa < ab.length; qa++) | |
if (ab.charAt(qa) != Ea[Aa].value.charAt(qa) && "*" != ab.charAt(qa)) { | |
fa = !1; | |
break | |
} | |
fa && (ab = Ea[Aa].value) | |
} | |
break | |
} | |
if ("password" == aa.type && "object" == typeof r.LPlpsharedpasswordfills) | |
for (Aa = 0; Aa < r.LPlpsharedpasswordfills.length; Aa++) | |
if (r.LPlpsharedpasswordfills[Aa] == aa) { | |
ab = ""; | |
break | |
} | |
LP.compare_tlds(D, "live.com") && "hidden" == aa.type && "login" == xa(aa) && (aa.type = "text"); | |
"checkbox" == aa.type && (ab = aa.checked ? ab + "-1" : ab + "-0"); | |
"radio" == aa.type && (ab = aa.checked ? ab + "-1" : ab + "-0"); | |
if ("select-one" == | |
aa.type || "dropdown" == aa.type || "select-multiple" == aa.type) { | |
if ("select-multiple" == aa.type) { | |
fa = ab = ""; | |
for (Aa = 0; Aa < aa.options.length; Aa++) aa.options[Aa].selected && (ab += fa + LP.en(aa.options[Aa].value), fa = "|") | |
} else ab = 0 > aa.selectedIndex || aa.selectedIndex >= aa.options.length || "undefined" == typeof aa.options[aa.selectedIndex] ? "" : aa.options[aa.selectedIndex].value; | |
for (Aa = 0; Aa < aa.options.length; Aa++) ha += (q || ib ? ra : W) + "\t" + LP.en(va) + "\t" + LP.en(Tg(aa.options[Aa].value)) + "\tselect-option\n", ha += (q || ib ? ra : W) + "\t" + LP.en(va) + | |
"\t" + LP.en(Tg(aa.options[Aa].text)) + "\tselect-option-text\n" | |
} | |
if (("email" == aa.type || "tel" == aa.type || "text" == aa.type || "url" == aa.type) && "openid_url" != xa(aa) && !aa.readOnly && ("" != ab || n)) { | |
if (!U && "" == L && "" == Ma || !T && "" == M && "" == Z) M = xa(aa), Z = ab; | |
T = 1; | |
Q = !0; | |
1 != U && "undefined" != typeof Mh[nb(F)] && (U = 1, e = !1) | |
} | |
if ("password" == aa.type && ("" != ab || n)) { | |
if ("" != ab && (U && "" != L && !T && (M = L, Z = Ma, T = 1, Q = !0), "" == L && "" == Ma || oc(aa))) L = xa(aa), Ma = ab; | |
U = 1 | |
} | |
if ("openid_url" == xa(aa) && ("" != ab || n)) pa = 1; | |
Aa = ab = Tg(ab); | |
if (("email" == aa.type || "tel" == | |
aa.type || "url" == aa.type || "text" == aa.type || "password" == aa.type || "textarea" == aa.type || "hidden" == aa.type) && 6 != f) w ? (fa = ca.length, ca[fa] = ab, ab = "__LPENCRYPTEDSTRING" + fa + "__") : (Sg.push(ab), ab = s ? "undefined" != typeof s.username && "" != s.username && ab == O(s.username, s, B) ? s.username : "undefined" != typeof s.password && "" != s.password && ab == O(s.password, s, B) ? s.password : wa(ab, s, B) : da(ab)); | |
ha += (q || ib ? ra : W) + "\t" + LP.en(va) + "\t" + LP.en(ab) + "\t" + LP.en(aa.type) + "\n"; | |
if (q && (fa = !1, "email" == aa.type || "tel" == aa.type || "url" == aa.type || | |
"text" == aa.type || "password" == aa.type || "textarea" == aa.type || "select-one" == aa.type || "select-multiple" == aa.type ? (y && y.siteinfo_save_all_fields_numfields++, fa = !0) : "checkbox" == aa.type ? (y && y.siteinfo_save_all_fields_numfields++, fa = !0) : "radio" == aa.type && aa.checked && (y && y.siteinfo_save_all_fields_numfields++, fa = !0), fa)) { | |
fa = new Nd; | |
fa.name = va; | |
fa.type = aa.type; | |
fa.value = ab; | |
fa.formname = ra; | |
if ("checkbox" == aa.type || "radio" == aa.type) fa.checked = aa.checked, fa.value = "string" == typeof fa.value && 2 <= fa.value.length ? fa.value.substring(0, | |
fa.value.length - 2) : ""; | |
y && (null == y.siteinfo_save_all_fields_fields && (y.siteinfo_save_all_fields_fields = []), y.siteinfo_save_all_fields_fields[y.siteinfo_save_all_fields_fields.length] = fa) | |
} | |
va = new Nd; | |
va.name = xa(aa); | |
va.type = aa.type; | |
va.value = w ? Aa : ab; | |
if ("checkbox" == aa.type || "radio" == aa.type) va.checked = aa.checked, va.value = va.value.substring(0, va.value.length - 2); | |
q && (va.formname = ra); | |
if ("radio" != aa.type || aa.checked) ia[ia.length] = va; | |
if (l && "" == V && ("email" == aa.type || "tel" == aa.type || "url" == aa.type || "text" == aa.type) && | |
"" != xa(aa) && "" != aa.value) ab = RegExp(LP.lpgs("ff_username_regexp"), "i"), ab.exec(xa(aa)) ? (V = xa(aa), Qa = Aa) : (va = Oh(aa), "" != va && ab.exec(va) && (V = xa(aa), Qa = Aa)); | |
if (l && "" == ka && ("email" == aa.type || "tel" == aa.type || "url" == aa.type || "text" == aa.type) && "" != xa(aa) && "" != aa.value) ab = RegExp(LP.lpgs("ff_email_regexp"), "i"), ab.exec(xa(aa)) ? (ka = xa(aa), ba = Aa) : (va = Oh(aa), "" != va && ab.exec(va) && (ka = xa(aa), ba = Aa)) | |
} | |
if (U || pa) { | |
H = ra; | |
Rf = Y; | |
C = E; | |
na = r.getElementsByTagName("input"); | |
for (la = 0; la < na.length; la++) | |
if (aa = na[la], va = xa(aa), "image" == | |
aa.type && (1 <= W && W <= K && aa.form == r.forms[W - 1] || 1 > W && aa.form == g)) ha += (q || ib ? ra : W) + "\t" + LP.en(va) + "\t" + LP.en(Tg(aa.src)) + "\t" + LP.en(aa.type) + "\n" | |
} | |
if (U || pa || e && T && (0 < f || 1 > W || W > K || v[W - 1] == g) || q) ea += ha, q || (ea += (ib ? ra : W) + "\taction\t" + LP.en(Tg(Y)) + "\taction\n", ea += (ib ? ra : W) + "\tmethod\t" + LP.en(Tg(E)) + "\tmethod\n"), G = !0 | |
} | |
if (!q && G) | |
for (Aa = 0; Aa < Ea.length; Aa++) | |
if ("" != Ea[Aa].value && Ea[Aa].formname && "" != Ea[Aa].formname && Ea[Aa].formname != H) { | |
aa = Ea[Aa]; | |
ab = Tg(aa.value); | |
if (("email" == aa.type || "tel" == aa.type || "url" == aa.type || | |
"text" == aa.type || "password" == aa.type || "textarea" == aa.type || "hidden" == aa.type) && 6 != f) w ? (fa = ca.length, ca[fa] = ab, ab = "__LPENCRYPTEDSTRING" + fa + "__") : (Sg.push(ab), ab = s ? "undefined" != typeof s.username && "" != s.username && ab == O(s.username, s, B) ? s.username : "undefined" != typeof s.password && "" != s.password && ab == O(s.password, s, B) ? s.password : wa(ab, s, B) : da(ab)); | |
ea += aa.formname + "\t" + LP.en(xa(aa)) + "\t" + LP.en(ab) + "\t" + LP.en(aa.type) + "\n" | |
} | |
if (q) { | |
if ("undefined" == typeof t || null == t) t = d ? d.contentWindow : LP.getBrowser().contentWindow; | |
if (t && t.frames) { | |
u = t.frames.length; | |
10 < u && (u = 10); | |
for (Aa = 0; Aa < u; Aa++) t.frames[Aa].document && (ea += Sd(c, e, f, d, g, h, l, n, p, q, t.frames[Aa].document, t.frames[Aa].window, A + 1, y, J)) | |
} | |
if (1 < A) return ea | |
} | |
if (6 == f) return ea; | |
"" == H && (H = ra); | |
"" == Rf && (Rf = Y); | |
"" == C && (C = E); | |
if ("" != ea || q) { | |
g = "undefined" != typeof r.characterSet ? r.characterSet : r.charset; | |
var ua; | |
a: { | |
r = r.location.toString(); | |
try { | |
if (!LP.compare_tlds(Ta(F), Ta(r))) { | |
ua = F; | |
break a | |
} | |
} catch (Ia) {} | |
ua = r | |
} | |
c = ea; | |
r = "data=" + rb(ea) + "&ref=" + LP.en(ac(ua)) + "&charset=" + g; | |
ea = "&ref=" + LP.en(ac(ua)) + | |
"&charset=" + g; | |
"" == V && (V = ka, Qa = ba); | |
l && (r += "&createacct=1&username_field=" + LP.en(V), ea += "&createacct=1&username_field=" + LP.en(V), "" != Qa && (Z = Qa)); | |
r += LP.GetIdentityParam(); | |
ea += LP.GetIdentityParam(); | |
V = xb(F); | |
if (1 == f) w ? ga("Was going to potentially upload unencrypted data. upload=1,multi=" + e + ",createacct=" + l + ",allowblank=" + n, null) : (f = 0 != h ? z[h] : {}, f.postdata = r, f.posturl = LP.lp_base + "gm_deliver.php", f.newvalues = Sg, LP.lpMakeRequest(f.posturl, f.postdata, null, null, f)); | |
else { | |
if (2 == f) return [r, ea, c]; | |
if (3 == f) w ? ga("Was going to potentially upload unencrypted data. upload=3,multi=" + | |
e + ",createacct=" + l + ",allowblank=" + n, null) : (f = z[h], e = yb(B, f.group), r += !1 == e ? "" : "&sharedfolderid=" + LP.en(e.id), f.postdata = r + "&updatefields=1&aid=" + LP.en(h), f.posturl = LP.lp_base + "gm_deliver.php", f.newvalues = Sg, $q(f, ia), f.logins[0].fields = ia, LP.lpMakeRequest(f.posturl, f.postdata, Ug, null, f)); | |
else if (4 == f) w ? ga("Was going to potentially upload unencrypted data. upload=4,multi=" + e + ",createacct=" + l + ",allowblank=" + n, null) : (f = z[h], e = yb(B, f.group), r += !1 == e ? "" : "&sharedfolderid=" + LP.en(e.id), f.postdata = r + "&addurid=1&aid=" + | |
LP.en(h), f.posturl = LP.lp_base + "gm_deliver.php", f.newvalues = Sg, 10 > f.otherlogins.length && ($q(f, ia), e = new gd, e.urid = 0, e.url = ua, ua = xb(e.url), e.server = ua.host, e.tld = sc(ua.host, e.url), nb(e.url, ua), e.submit_id = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].submit_id : "", e.captcha_id = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].captcha_id : "", e.custom_js = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].custom_js : "", e.username = f.username, e.password = f.password, e.openid_url = | |
"", e.method = "", e.action = "", e.unencryptedUsername = O(e.username, f, B), e.uname = "", e.pname = "", e.oname = "", e.fields = ia, e.otherfields = [], f.otherlogins[f.otherlogins.length] = e), LP.lpMakeRequest(f.posturl, f.postdata, Ug, null, f)); | |
else { | |
fa = new zq; | |
fa.newvalues = Sg; | |
fa.upload = f; | |
fa.postdata = r; | |
fa.postdataFormData = c; | |
fa.postdataWithoutData = ea; | |
fa.url = F; | |
fa.server = V.host; | |
fa.hastext = Q; | |
fa.tld = sc(V.host, F); | |
ua = xb(Rf); | |
fa.actiontld = sc(ua.host, Rf); | |
if (ua = d ? LP.lpgetcurrenturl(d) : LP.lpgetcurrenturl(LP.getBrowser())) fa.topdoctld = Ta(ua); | |
fa.basic_auth = !1; | |
fa.uname = M; | |
fa.username = Z; | |
fa.pname = L; | |
fa.encryptedPassword = w ? Ma : da(Ma); | |
fa.needsEncryption = w; | |
fa.encryptedStrings = ca; | |
fa.show_count = 0; | |
fa.action = Rf; | |
fa.method = C; | |
fa.fields = ia; | |
fa.timeSaved = Ab(); | |
fa.ignorefromcheckadd = "undefined" != typeof J && null != J ? !0 : !1; | |
if (e) { | |
ia = !1; | |
if (5 != f && 0 < Ea.length) { | |
ab = RegExp(LP.lpgs("ff_search_regexp"), "i"); | |
for (Aa = 0; Aa < Ea.length; Aa++) | |
if ("" != Ea[Aa].name && "text" == Ea[Aa].type && !ab.exec(Ea[Aa].name)) { | |
ia = !0; | |
break | |
} | |
} | |
if (ia || 5 == f) 5 < id.length && id.splice(0, id.length - 5), id.push(fa) | |
} else Pa["undefined" != | |
typeof J && null != J ? J : Rf] = fa, !fa.ignorefromcheckadd && d && LP.setTimeout(function() { | |
LP.checkAddTimer(d, Rf) | |
}, 1E4) | |
} | |
} | |
} | |
} | |
function $q(c, e) { | |
for (var f = 0, d = "", g = 0; g < e.length && !("text" == e[g].type && (d = e[g].value, 2 <= ++f)); g++); | |
if (1 == f && "" != d) { | |
for (g = f = 0; g < c.logins.length; g++) | |
for (var h = 0; h < c.logins[g].fields.length; h++) | |
if ("text" == c.logins[g].fields[h].type || "email" == c.logins[g].fields[h].type || "tel" == c.logins[g].fields[h].type || "url" == c.logins[g].fields[h].type) { | |
f++; | |
break | |
} | |
if (0 == f) | |
for (g = 0; g < c.otherlogins.length; g++) | |
for (h = | |
0; h < c.otherlogins[g].fields.length; h++) | |
if ("email" == c.otherlogins[g].fields[h].type || "tel" == c.otherlogins[g].fields[h].type || "text" == c.otherlogins[g].fields[h].type || "url" == c.otherlogins[g].fields[h].type) { | |
f++; | |
break | |
} | |
if (0 == f) { | |
c.username = d; | |
c.unencryptedUsername = O(c.username, c, B); | |
for (g = 0; g < c.logins.length; g++) c.logins[g].username = c.username, c.logins[g].unencryptedUsername = c.unencryptedUsername; | |
for (g = 0; g < c.otherlogins.length; g++) c.otherlogins[g].username = c.username, c.otherlogins[g].unencryptedUsername = | |
c.unencryptedUsername | |
} | |
} | |
} | |
function mj(c, e) { | |
var f = lc(); | |
if (f) { | |
var d; | |
try { | |
"object" == typeof f && "undefined" != typeof f.accts_version ? (0 == e ? f.neverurls.neveraccounts.push(c) : 1 == e ? f.neverurls.nevergenerates.push(c) : 2 == e ? f.neverurls.neverformfills.push(c) : 3 == e ? f.neverurls.neverautologins.push(c) : 6 == e && f.neverurls.nevershowicons.push(c), d = !0) : d = !1 | |
} catch (g) { | |
d = !1 | |
} | |
d && Vg(f) && wc(f, null, "add_never_to_local_file") && Fb() | |
} | |
} | |
function ar(c, e) { | |
var f = Pa[c].url, | |
d, f = e ? Ta(f) : nb(f); | |
d = "url=" + LP.en(ac(f)); | |
Tc[Tc.length] = f; | |
mj(f, 0); | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
Ph(d) | |
}, 100) | |
} | |
function br(c, e) { | |
var f, d = e ? Ta(c) : nb(c); | |
f = "url=" + LP.en(ac(d)) + "&type=3"; | |
Od[Od.length] = d; | |
mj(d, 3); | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
Ph(f) | |
}, 100) | |
} | |
function cr(c, e) { | |
var f, d = e ? Ta(c) : nb(c); | |
f = "url=" + LP.en(ac(d)) + "&type=6"; | |
Td[Td.length] = d; | |
mj(d, 6); | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
Ph(f) | |
}, 100) | |
} | |
function gn(c, e, f) { | |
c += LP.GetIdentityParam(); | |
try { | |
for (var d in z) | |
if (z[d].genpw && z[d].tld == Ta(e.url) && O(z[d].password, z[d], B) == O(e.password, | |
e, B)) { | |
c += "&delgenpwaid=" + LP.en(d); | |
break | |
} | |
} catch (g) {} | |
d = yb(B, e.group); | |
c += !1 == d ? "" : "&sharedfolderid=" + LP.en(d.id); | |
e.postdata = c; | |
e.posturl = LP.lp_base + "deliver_and_add.php"; | |
e.newvalues = "undefined" != typeof f && 0 < f.length ? f : []; | |
LP.lpMakeRequest(e.posturl, e.postdata, Ug, null, e) | |
} | |
function dr(c, e) { | |
return 0 < qf.length && !kb(c, qf) && !kb(e, qf) ? !0 : kb(c, Ud) || kb(e, Ud) ? !0 : !1 | |
} | |
function er(c, e) { | |
return 0 < rf.length && !kb(c, rf) && !kb(e, rf) ? !0 : kb(c, Vd) || kb(e, Vd) ? !0 : !1 | |
} | |
function ln(c, e) { | |
return 0 < sf.length && !kb(c, sf) && !kb(e, sf) ? !0 : kb(c, | |
Td) || kb(e, Td) ? !0 : !1 | |
} | |
function Ph(c) { | |
LP.lpMakeRequest(LP.lp_base + "add_never.php", c, null) | |
} | |
function $k() { | |
var c = ha; | |
if ("" == c || null == c) return ""; | |
var e = c + "_icons3.lps"; | |
ma() || (e = c + "_icons3b64.lps"); | |
return e.toUpperCase() | |
} | |
function fr(c) { | |
var e = ""; | |
if (!c) { | |
c = $k(); | |
if ("" == c) return e; | |
c = Jb(c); | |
if (!1 == c) return e | |
} | |
if ((c = /iconsversion=([^\n]+)\n/.exec(c)) && 2 == c.length) e = parseInt(c[1]), e = isNaN(e) ? "" : e.toString(); | |
return e | |
} | |
function gr(c) { | |
if (4 == c.readyState && 200 == c.status && c.responseText) { | |
var e = c.responseText; | |
if (!("latest" == | |
e || "nodata" == e)) | |
if (c = fr(e), "" != c) { | |
c = "iconsversion=" + c + "\n"; | |
var e = e.substring(c.length), | |
f = Hk("LastPassIcons<" + e + ">LastPassIcons"); | |
if (null == f) return !1; | |
e = null; | |
e = ma() ? da(f) : Hk(f); | |
if ("" == e || null == e) return ga("Failed to encrypt icons data", null), !1; | |
f = $k(); | |
"" != f && (ne = !0, Rb(f, c + e), xc(null), LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lpDisplayAccounts_all(!0) | |
}, 0), LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lpRebuildToolsMenu_all() | |
}, 0)) | |
} | |
} | |
} | |
function xc(c, e) { | |
function f() { | |
eb($k()); | |
versionff = "0"; | |
var c = | |
(new Date).getTime(); | |
if (1E4 > c - hr) return d; | |
hr = c; | |
LP.isFennecNative || LP.lpMakeRequest(LP.lp_base + "geticon.php", "versionff=" + LP.en(versionff), gr); | |
return d | |
} | |
var d = "data:image/gif;base64,R0lGODlhEAAQAIcAAAAAAExnf1BpgWR0iHZ6hHeBkX+GkYiOmpeaopucoaSlqqWmqrm9w7q+xL+/wry/xcXGyc3Oz9HS1NPU1tnZ2d/h4+Di5OLj5uPl5+Tk5OXm6O7u7+7v8O/w8e/w8vDw8fHx8vLy8/Pz8/Pz9PT09fX19fX29vb29vf39/f3+Pj4+Pj4+fn5+vr6+/v7/Pz8/P39/f7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAiQAAEIHEiw4MAFCBEmQCjBIIAFMiLK8CBjA4QIBiFu2Fgh4oYJDgpq5Chxw4KCCiqSlKigIAKVGyowYNDgAYGCB2BWsHABgwYDBQvA/CCiBAoVBQoOUNlBhAkVLV4MKCigIgenK1zAiCGgYICKIEhAhRExgFcZHEKcYEG27NkOI1K0aCvDLMEAePPqteuwr8CAADs="; | |
if ("sn" == c) return "data:image/gif;base64,R0lGODlhEAAQAPfBAFdCGCpgtyxity1kuS5kuS5luS9lujBlujBmujFmuzFnuzNpvIdhK4JmLjZvvzhxvzt2wTt2xKZoJjx4wT98xUB8xEKAxUKAxkWCxUWCxkeExkmFxEmIxkqIxkuIxWCFrUuJxUuJxkyJxr56Gk2LyE+Lx0+MyE+MyU+NyKqJQ8mFQWWU27yJTMKMSMeMSMWYSWWo0siZZLOfcNqYSduZS9CdRk+y99iaVFGy99mbUVW0+NOfZuChUdejY32y4tilWGG8+2K8/GK9/GO9+2C+/Ge9/GS+/GW++2i//W7C/duxhb+2ptW2etG3kNa5dprJ4+e+d+fAi8zGsMzGs+TJVcLLtpPU/8nNr5TV/+3KbefLd5XW//nHlPnJke3QeM3S2tDUvrjW9O7TebrW9fDTecjV4u7UffHUe9XWve7Vgc3W4fLWeu/SrPDStMHb+PbTrvXcXvXcX8Lc+MTd+fXfW/bdbPffY8Xf+ffhWsfg+sjg+ffiW8jg+8ng+/jiXcjh+8nh+8rh+sni+8vi+83j+83j/Onf0s7j+8/j/M/k/NDk+9Hk/PHjr9Xl/tPm/Nfm8tTm/NTm/fzgxPnjstPn/dXn/dbn/dbn/tfn/tbo/tfo/tjo/tzq9t7q9t7r9t/r9d/s9+Pt9+bw9+jx+Orx+Ory+uvy+Ozy9+zy+Ovz+uzz+e3z+O30+O30+e70+O/0+f/y4PD0+f32wv32xPH1+f/z5f33x/L2+vL3+/P3/PT3+/T4/PX5/Pf6/fj7/fj7//3+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAAAQABAAAAj+AP/9I2GioAkUJ0qAiCCw4YZTrlitmojq1CMfKxr+83ArDyBBfO64CfOryg8lNQSKoFXoEKFBeuSMYQSlTS02Lv6FoIVIUaJCgeZcSTMpyhtJO3TGcgSJ0iJCYMzMqpOlRwyBHV5hslQpEhoxtuLsWcPjg0AOrTZt0iRFiy04eM7QMJRBoAZVmTRNcSLLjh8yM8qUuiAQg6lLS5g0oULHSw41gHBREGhhVKMUsG6MeNHiS58/vSAIrCBKRwMuXVRIgIHDhg1eDgROCJUEAAMWMp5swWLliC4FAh98QlLkiBEjQoYAIRLE1wCBC0iB8tSJE6dUqUrl2gUsQMMDCRAMiD9goEABAgQECAwIADs="; | |
if (null == Wg || null == c) { | |
Wg = []; | |
var g = $k(); | |
if ("" == g) return d; | |
g = Jb(g); | |
if ("" == g || null == g) return f(); | |
var h = /(iconsversion=[^\n]+\n)/, | |
h = h.exec(g); | |
if (!h || 2 != h.length) return f(); | |
g = g.substring(h[1].length); | |
try { | |
h = null, h = ma() ? Ya(g) : Ie(g) | |
} catch (l) { | |
return f() | |
} | |
if ("" == h || null == h || 0 != h.length % 4 || 50 > h.length) return f(); | |
g = Ie(h); | |
if (null == g) return f(); | |
h = g.indexOf(">LastPassIcons"); | |
if (-1 == h || 28 >= g.length || 0 != g.indexOf("LastPassIcons<") || h != g.length - 14) return f(); | |
for (g = g.substring(14, h); !(10 > g.length);) { | |
h = /lp([^:]+):([^:]+):/; | |
h = h.exec(g); | |
if (!h || 3 != h.length) break; | |
var n = h[1], | |
p = h[2], | |
h = parseInt(p); | |
if (isNaN(h)) break; | |
for (var p = "lp" + n + ":" + p + ":", q = Wg, r = p.length, t = "", A = void 0, y = p.length + h - r, A = 0; A < y; ++A) t += g[A + r]; | |
q[n] = t; | |
g = g.substring(p.length + h) | |
} | |
} | |
if (null != c) { | |
if ("undefined" != typeof Wg[c + ".gif"]) d = "data:image/gif;base64," + Wg[c + ".gif"]; | |
else if ("undefined" != typeof Wg[c + ".ico"]) d = "data:image/ico;base64," + Wg[c + ".ico"]; | |
else if (e || "undefined" != typeof Ia[c]) d = "undefined" != typeof Ia[c] && ("undefined" != typeof Ia[c].notetype && "" != Ia[c].notetype ? | |
g = Ia[c].notetype : (g = Ia[c].extra, 512 < g.length && (g = g.substring(0, 512)), g = LP.getNoteValue("NoteType", O(g, Ia[c], B)), Ia[c].notetype = g), g && "undefined" != typeof al[g]) ? al[g] : null, null == d && (d = "data:image/gif;base64,R0lGODlhEAAQAPfBAFdCGCpgtyxity1kuS5kuS5luS9lujBlujBmujFmuzFnuzNpvIdhK4JmLjZvvzhxvzt2wTt2xKZoJjx4wT98xUB8xEKAxUKAxkWCxUWCxkeExkmFxEmIxkqIxkuIxWCFrUuJxUuJxkyJxr56Gk2LyE+Lx0+MyE+MyU+NyKqJQ8mFQWWU27yJTMKMSMeMSMWYSWWo0siZZLOfcNqYSduZS9CdRk+y99iaVFGy99mbUVW0+NOfZuChUdejY32y4tilWGG8+2K8/GK9/GO9+2C+/Ge9/GS+/GW++2i//W7C/duxhb+2ptW2etG3kNa5dprJ4+e+d+fAi8zGsMzGs+TJVcLLtpPU/8nNr5TV/+3KbefLd5XW//nHlPnJke3QeM3S2tDUvrjW9O7TebrW9fDTecjV4u7UffHUe9XWve7Vgc3W4fLWeu/SrPDStMHb+PbTrvXcXvXcX8Lc+MTd+fXfW/bdbPffY8Xf+ffhWsfg+sjg+ffiW8jg+8ng+/jiXcjh+8nh+8rh+sni+8vi+83j+83j/Onf0s7j+8/j/M/k/NDk+9Hk/PHjr9Xl/tPm/Nfm8tTm/NTm/fzgxPnjstPn/dXn/dbn/dbn/tfn/tbo/tfo/tjo/tzq9t7q9t7r9t/r9d/s9+Pt9+bw9+jx+Orx+Ory+uvy+Ozy9+zy+Ovz+uzz+e3z+O30+O30+e70+O/0+f/y4PD0+f32wv32xPH1+f/z5f33x/L2+vL3+/P3/PT3+/T4/PX5/Pf6/fj7/fj7//3+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAP8ALAAAAAAQABAAAAj+AP/9I2GioAkUJ0qAiCCw4YZTrlitmojq1CMfKxr+83ArDyBBfO64CfOryg8lNQSKoFXoEKFBeuSMYQSlTS02Lv6FoIVIUaJCgeZcSTMpyhtJO3TGcgSJ0iJCYMzMqpOlRwyBHV5hslQpEhoxtuLsWcPjg0AOrTZt0iRFiy04eM7QMJRBoAZVmTRNcSLLjh8yM8qUuiAQg6lLS5g0oULHSw41gHBREGhhVKMUsG6MeNHiS58/vSAIrCBKRwMuXVRIgIHDhg1eDgROCJUEAAMWMp5swWLliC4FAh98QlLkiBEjQoYAIRLE1wCBC0iB8tSJE6dUqUrl2gUsQMMDCRAMiD9goEABAgQECAwIADs="); | |
return d | |
} | |
} | |
function Ug(c, e, f) { | |
if ((!f || !un(c, { | |
url: f.posturl, | |
aid: f.id, | |
postdata: f.postdata, | |
handler: Ug, | |
param: f, | |
newvalues: f.newvalues | |
}, "lpAddResponse")) && 4 == c.readyState) | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
c = c.responseXML.documentElement; | |
e = c.getElementsByTagName("error"); | |
var d = c.getElementsByTagName("result"); | |
if (0 < e.length) e = e[0].getAttribute("msg"), "blacklisted" == e && Ua("ErrorUnsafeSiteMsg"); | |
else if (0 < d.length) | |
if (e = d[0].getAttribute("msg"), "accountupdated" == e || "accountadded" == | |
e || "accountreplaced" == e) { | |
c = parseInt(d[0].getAttribute("accts_version")); | |
var g = d[0].getAttribute("attacherror"); | |
g && "" != g && LP.alert(g); | |
if (Ga || c == vb + ("accountreplaced" == e ? 2 : 1)) { | |
var h = d[0].getAttribute("aid"), | |
l = d[0].getAttribute("urid"), | |
n = d[0].getAttribute("appaid"), | |
p = d[0].getAttribute("submit_id"), | |
q = d[0].getAttribute("captcha_id"), | |
d = d[0].getAttribute("custom_js"); | |
if ("undefined" != typeof f) { | |
if ("undefined" != typeof f.logins) | |
for (var r = 0; r < f.logins.length; r++) f.logins[r].submit_id = p, f.logins[r].captcha_id = | |
q, f.logins[r].custom_js = d; | |
if ("undefined" != typeof f.otherlogins) | |
for (r = 0; r < f.otherlogins.length; r++) f.otherlogins[r].submit_id = p, f.otherlogins[r].captcha_id = q, f.otherlogins[r].custom_js = d | |
} | |
d = null; | |
if ("accountadded" == e || "accountreplaced" == e) { | |
d = new Yb; | |
"undefined" != typeof f.sharefolderid && (d.sharefolderid = f.sharefolderid); | |
d.individualshare = "undefined" != typeof f.individualshare ? f.individualshare : !1; | |
d.pendingshare = !1; | |
d.url = f.url; | |
p = Ta(d.url); | |
d.tld = p; | |
d.name = f.name; | |
d.urid = l; | |
d.id = h; | |
d.manual = "0"; | |
d.is_http = "0"; | |
d.extra = f.extra; | |
d.fav = f.fav; | |
d.favico = "0"; | |
d.autologin = f.autologin; | |
d.basic_auth = f.basic_auth; | |
d.group = "" != f.group ? f.group : LP.get_null_group(); | |
d.fiid = h; | |
d.genpw = !1; | |
d.isbookmark = f.isbookmark; | |
d.never_autofill = f.never_autofill; | |
LP.SetLastTouch(d); | |
d.sn = "http://sn" == f.url ? !0 : !1; | |
d.username = f.username; | |
d.password = f.password; | |
d.unencryptedUsername = f.unencryptedUsername; | |
d.save_all = "undefined" != typeof f.save_all ? f.save_all : !1; | |
d.pwprotect = f.pwprotect; | |
d.attachkey = f.attachkey; | |
d.attachpresent = f.attachpresent; | |
d.realm = f.realm; | |
d.sharedfromaid = ""; | |
d.logins = []; | |
d.otherlogins = []; | |
d.fields = []; | |
p = new gd; | |
p.urid = l; | |
p.url = f.url; | |
l = xb(p.url); | |
p.server = l.host; | |
p.tld = sc(l.host, p.url); | |
l = nb(p.url, l); | |
p.submit_id = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].submit_id : ""; | |
p.captcha_id = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].captcha_id : ""; | |
p.custom_js = "undefined" != typeof f.logins && 0 < f.logins.length ? f.logins[0].custom_js : ""; | |
p.username = f.username; | |
p.password = f.password; | |
p.openid_url = ""; | |
p.method = ""; | |
p.action = ""; | |
p.unencryptedUsername = | |
f.unencryptedUsername; | |
p.uname = ""; | |
p.pname = ""; | |
p.oname = ""; | |
p.fields = []; | |
q = RegExp(LP.lpgs("ff_captcha_regexp"), "i"); | |
if ("undefined" != typeof f.logins && 0 < f.logins.length && "undefined" != typeof f.logins[0].fields) { | |
p.method = f.logins[0].method; | |
p.action = f.logins[0].action; | |
for (var t = !1, A = !1, y = 0; y < f.logins[0].fields.length; y++) { | |
var J = f.logins[0].fields[y]; | |
if (("email" == J.type || "tel" == J.type || "text" == J.type || "url" == J.type) && "openid_url" != J.name) | |
if ("" != p.username && J.value == p.username) p.uname = J.name, t = !0; | |
else if (!t && | |
("" == p.pname || "" == p.uname)) p.uname = J.name; | |
"password" == J.type && ("" != p.password && J.value == p.password ? (p.pname = J.name, A = !0) : A || (p.pname = J.name)); | |
if (("email" == J.type || "tel" == J.type || "url" != J.type || "text" == J.type) && "openid_url" == J.name) p.oname = J.name; | |
"" == p.captcha_id && "text" == J.type && q.exec(J.name) && (p.captcha_id = J.name); | |
p.fields[p.fields.length] = J | |
} | |
} | |
if (d.save_all && "undefined" != typeof f.logins && 0 < f.logins.length && "undefined" != typeof f.logins[0].otherfields) { | |
if (p.otherfields = f.logins[0].otherfields, "" == | |
p.captcha_id) | |
for (y = 0; y < p.otherfields.length; y++) | |
if ("text" == p.otherfields[y].type && q.exec(p.otherfields[y].name)) { | |
p.captcha_id = p.otherfields[y].name; | |
break | |
} | |
} else p.otherfields = []; | |
d.logins[0] = p; | |
d.sn ? Ia[h] = d : z[h] = d; | |
LP.addAidIdentity(h); | |
tf++; | |
Dc[Dc.length] = l | |
} | |
if ("accountadded" == e) { | |
p = d.tld; | |
"undefined" == typeof la[p] && (la[p] = []); | |
la[p][h] = !0; | |
for (r = 0; r < $a.length; r++) | |
if ($a[r].id == h) { | |
$a.splice(r, 1); | |
break | |
} | |
1 == parseInt(d.fav) && (l = new Zc, l.id = h, l.command = { | |
aid: h, | |
manual: d.manual, | |
is_http: d.is_http | |
}, $a[$a.length] = l); | |
if ("undefined" != | |
typeof gb[p] && (d = gb[p], "undefined" != typeof gb[d])) | |
for (p = 0; p < gb[d].length; p++) l = gb[d][p], "undefined" == typeof la[l] && (la[l] = []), la[l][h] = !0 | |
} | |
kc = vb = c; | |
nj = h; | |
d = !0; | |
p = lc(); | |
null == p && (d = !1); | |
if (n) { | |
if (("accountupdated" == e || "accountreplaced" == e) && d && !Qh(p, n, !1)) d = !1 | |
} else if (("accountupdated" == e || "accountreplaced" == e) && d && !nd(p, h, !1)) d = !1; | |
if (n) { | |
if (d && !oj(p, LP.get_application(n), "accountadded" == e ? !0 : !1)) d = !1 | |
} else if (d && !Ad(p, "undefined" != typeof z[h] ? z[h] : Ia[h], "accountadded" == e ? !0 : !1)) d = !1; | |
if ("accountadded" == e && | |
d && "undefined" != typeof z[h]) | |
for (r in z) z[r].genpw && z[r].tld == z[h].tld && O(z[r].password, z[r], B) == O(z[h].password, z[r], B) && (nd(p, z[r].id, !0) || (d = !1)); | |
if ("accountadded" == e && f && "undefined" != typeof f.attacharraychanges && (!g || "" == g)) { | |
if ("undefined" != typeof f.attacharraychanges.add) | |
for (r in f.attacharraychanges.add) f.attacharraychanges.add.hasOwnProperty(r) && (f.attacharraychanges.add[r].parent = f.id, f.attacharraychanges.add[r].id = f.id + "-" + f.attacharraychanges.add[r].id); | |
ir(f.attacharraychanges); | |
p.lp_attaches = | |
lb | |
} else if ("accountadded" != e && f && ("undefined" != typeof f.attacharraychanges && g && "" != g) && (r = f.attacharraychanges, "undefined" != typeof r.add)) | |
for (var u in r.add) | |
if (r.add.hasOwnProperty(u)) | |
for (e = 0; e < lb.length; e++) | |
if (lb[e].id == r.add[u].id) { | |
lb.splice(e, 1); | |
break | |
} | |
d && !Wd(p, c) && (d = !1); | |
d && !wc(p, null, "lpAddResponse") && (d = !1); | |
d ? Fb() : LP.lpGetAccounts() | |
} else LP.lpGetAccounts(); | |
Pc(); | |
if ("undefined" != typeof f.retrieveattach && 1 == f.retrieveattach && !LP.isFennec) { | |
if (null == bc || -1 == bc) try { | |
(bc = Je(ha + "_version.att", 25)) || (bc = | |
0) | |
} catch (ib) { | |
eb(ha + "_version.att"), bc = 0 | |
} | |
u = "version=" + LP.en(bc) + "&b64=1&chunked=1"; | |
LP.lpMakeRequest(LP.lp_base + "getattach.php", u, vn); | |
f.retrieveattach = null | |
} | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.saveGroupState(null, "lpAddResponse") | |
}, 500) | |
} else "not logged in" == e && (Sa(!1, "ff_addresponse"), Ua("ErrorSessionMsg", !1, !0)); | |
else u = c.getElementsByTagName("ok"), 0 < u.length ? (c = parseInt(u[0].getAttribute("accts_version")), Ga || c == vb + 1 ? (l = u[0].getAttribute("urid"), 0 < f.logins[0].fields.length && 0 == f.logins[0].urid ? | |
f.urid = f.logins[0].urid = l : 0 < f.otherlogins.length && 0 == f.otherlogins[f.otherlogins.length - 1].urid && (f.otherlogins[f.otherlogins.length - 1].urid = l), kc = vb = c, d = !0, p = lc(), null == p && (d = !1), d && !nd(p, f.id, !1) && (d = !1), d && !Ad(p, f, !1) && (d = !1), d && !Wd(p, c) && (d = !1), d && !wc(p, null, "lpAddResponse") && (d = !1), d ? Fb() : LP.lpGetAccounts()) : LP.lpGetAccounts()) : LP.lpGetAccounts(), Pc() | |
} else e = "Problem in lpAddResponse. status=" + c.status, ga(e, null), Ua("ErrorAddAcctMsg") | |
} | |
function jr(c, e, f) { | |
if (4 == c.readyState) | |
if (200 == c.status && null != | |
c.responseXML && null != c.responseXML.documentElement) { | |
var d = c.responseXML.documentElement.getElementsByTagName("result"); | |
if (0 < d.length && (c = d[0].getAttribute("msg"), "ffadded" == c || "ffupdated" == c || "ffdeleted" == c)) { | |
e = parseInt(d[0].getAttribute("accts_version")); | |
if (Ga || e == vb + 1) { | |
var g = d[0].getAttribute("ffid"), | |
h = d[0].getAttribute("cfids"); | |
if ("ffadded" == c) { | |
if ("ffupdated" == c || "ffdeleted" == c) | |
for (d = 0; d < ka.length; d++) | |
if (ka[d].ffid == g) { | |
ka.splice(d, 1); | |
break | |
} | |
if ("ffadded" == c || "ffupdated" == c) f.ffid = g, ka[ka.length] = | |
f, ka.sort(bl); | |
LP.addFfidIdentity(g) | |
} | |
if (("ffadded" == c || "ffupdated" == c) && "" != h) | |
for (var h = h.split(","), l = 0, d = 0; d < f.customfields.length && l < h.length; d++) 0 == f.customfields[d].cfid && (f.customfields[d].cfid = h[l++]); | |
kc = vb = e; | |
d = !0; | |
h = lc(); | |
null == h && (d = !1); | |
if ("ffupdated" == c || "ffdeleted" == c) d && !kr(h, g, "ffdeleted" == c) && (d = !1); | |
if ("ffadded" == c || "ffupdated" == c) d && !lr(h, f, "ffadded" == c) && (d = !1); | |
d && !Wd(h, e) && (d = !1); | |
d && !wc(h, null, "lpFormFillResponse") && (d = !1); | |
d ? Fb() : LP.lpGetAccounts() | |
} else LP.lpGetAccounts(); | |
Pc() | |
} | |
} else c = | |
"Problem in lpFormFillResponse. status=" + c.status, ga(c, null), Ua("ErrorSendingMsg") | |
} | |
function cl(c) { | |
if (!ie && !LP.isFennecNative) { | |
for (var e = "" == LP.getcontrol("vaulturloverride") ? "chrome://lastpass/content/home2.xul" : LP.getcontrol("vaulturloverride"), f = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""), d = 0; f.hasMoreElements() && !d;) { | |
var g = f.getNext(); | |
if ("function" == typeof g.getBrowser && (g = g.getBrowser(), null != g)) | |
for (var g = g.browsers, h = 0; g && h < g.length; h++) | |
if ("undefined" != | |
typeof g[h].currentURI.spec && 0 == g[h].currentURI.spec.indexOf(e)) { | |
d = 1; | |
break | |
} | |
} | |
d || dc(e + (c ? "?cmd=" + c : "")) | |
} | |
} | |
function Pc(c, e) { | |
var f = !1; | |
"undefined" != typeof c && c && (f = !0); | |
var d = (new Date).getTime(); | |
if (f || !(null != wn && d < wn + 2E3)) | |
if (!f && null != Fg && d < Fg + 1E4) Fg = null; | |
else { | |
wn = d; | |
for (d = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); d.hasMoreElements();) { | |
var g = d.getNext(); | |
if ("function" == typeof g.getBrowser && (g = g.getBrowser(), null != g)) | |
for (var h = g.browsers, l = h ? h.length : -1; 0 <= | |
l; l--) try { | |
if ("undefined" != typeof h[l] && LP.lp_url_is_lastpass(h[l].currentURI.spec, null, h[l].currentURI.asciiHost, !0, !0) && (f || -1 == h[l].currentURI.spec.indexOf("lpnorefresh=1") && -1 == h[l].currentURI.spec.indexOf("&l=1"))) { | |
var n = ca.nsIWebNavigation.LOAD_FLAGS_BYPASS_HISTORY | ca.nsIWebNavigation.LOAD_FLAGS_BYPASS_PROXY | ca.nsIWebNavigation.LOAD_FLAGS_BYPASS_CACHE, | |
p = h[l].webNavigation.sessionHistory.getEntryAtIndex(h[l].webNavigation.sessionHistory.index, !1).QueryInterface(ca.nsISHEntry).referrerURI, | |
q = h[l].webNavigation.currentURI.spec, | |
q = q.replace("&nk=1", ""); | |
e ? -1 != h[l].currentURI.path.indexOf("/" + e) && g.removeTab(g.tabs[l]) : h[l].webNavigation.loadURI(q, n, p, null, null) | |
} | |
} catch (r) { | |
ga("Error in lprefreshwindows:" + r + " ln: " + r.lineNumber, null) | |
} | |
} | |
} | |
} | |
function dc(c, e, f) { | |
"" != mr && (c += (0 <= c.indexOf("?") ? "&" : "?") + "partnername=" + encodeURIComponent(mr)); | |
var d = LP.lpGetPageOpenSetting(""), | |
g = LP.lpGetPageOpenSetting("same"); | |
e && (g = !1); | |
Rh && (g = !1); | |
d ? (g ? LP.mostRecent().getBrowser().selectedTab = LP.mostRecent().loadURI(c) : LP.isFennecNative ? LP.fennecBrowser.selectedTab = | |
LP.fennecBrowser.addTab(c) : LP.isFennec ? LP.mostRecent().getBrowser().selectedTab = LP.fennecBrowser.addTab(c) : LP.mostRecent().getBrowser().selectedTab = LP.mostRecent().getBrowser().addTab(c), f && (e = LP.mostRecent().getBrowser().getBrowserForTab(LP.mostRecent().getBrowser().selectedTab), "undefined" != typeof e && (e.loginAid = f))) : (qw++, LP.lpGetCurrentWindow().open(c).focus()) | |
} | |
function oe(c, e, f) { | |
var d = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile); | |
f && (d.append("fftmp"), (!d.exists() || !d.isDirectory()) && d.create(ca.nsIFile.DIRECTORY_TYPE, 511)); | |
try { | |
if (LP.lpis_win && !Vf() && !LP.isFennec) { | |
var g = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("LocalAppData", ca.nsIFile); | |
if (g.isDirectory() && g.exists()) { | |
var h = g.clone(); | |
h.path.indexOf("\\Local") == h.path.length - 6 ? (h = h.parent, h.append("LocalLow"), h.isDirectory() && h.exists() ? g = h.clone() : h = g.clone()) : h = g.clone(); | |
h.append("LastPass"); | |
(!h.exists() || !h.isDirectory()) && h.create(ca.nsIFile.DIRECTORY_TYPE, | |
511); | |
f && (h.append("fftmp"), (!h.exists() || !h.isDirectory()) && h.create(ca.nsIFile.DIRECTORY_TYPE, 511)); | |
g = h.clone(); | |
h.append(c); | |
if (!h.exists() && e) { | |
var l = d.clone(); | |
l.append(c); | |
l.exists() && l.moveTo(g, c) | |
} | |
return g | |
} | |
} else if ((LP.lpis_mac || LP.lpis_linux) && !Vf() && !LP.isFennec) { | |
var n = nr(); | |
if (null != n && n && "" != n) { | |
var p = T["@mozilla.org/file/local;1"].createInstance(ca.nsILocalFile); | |
p.initWithPath(n); | |
(!p.exists() || !p.isDirectory()) && p.create(ca.nsIFile.DIRECTORY_TYPE, 511); | |
if (p.isDirectory() && p.exists()) return h = p.clone(), | |
f && (h.append("fftmp"), (!h.exists() || !h.isDirectory()) && h.create(ca.nsIFile.DIRECTORY_TYPE, 511)), g = h.clone(), h.append(c), !h.exists() && e && (l = d.clone(), l.append(c), l.exists() && l.moveTo(g, c)), g | |
} | |
} | |
} catch (q) { | |
ga("Error in lpGetFileDir:" + q + " ln: " + q.lineNumber, null) | |
} | |
return d | |
} | |
function Rb(c, e, f, d) { | |
Ga && 0 != c.indexOf("LPIS") && ("rfdefaults" != c && "singlefactortype" != c) && (c = "local_" + c); | |
if (rn && ("undefined" == typeof f || !f)) | |
if (0 <= c.indexOf("_lpall.slps") || 0 <= c.indexOf("_lps.act.sxml") || 0 <= c.indexOf("_lp.act.xml") || 0 <= | |
c.indexOf("_ff.sotp")) return; | |
20 < e.length && e.substring(0, 20); | |
try { | |
var g = null; | |
null == f ? (g = oe(c, !1, d), g.append(c)) : g = f; | |
if (LP.lpis_mac && Ga && 3 <= c.length && ("lps" == c.substring(c.length - 3) || "xml" == c.substring(c.length - 3) || "cac" == c.substring(c.length - 3)) && ma() && "function" == typeof Z.write_file) Z.write_file(g.path, e); | |
else { | |
var h = T["@mozilla.org/network/safe-file-output-stream;1"].createInstance(ca.nsIFileOutputStream); | |
h.init(g, 42, 384, 0); | |
h.write(e, e.length); | |
h instanceof ca.nsISafeOutputStream ? h.finish() : h.close() | |
} | |
} catch (l) { | |
ga("lpWriteFile : " + | |
c + " " + l + " ln: " + l.lineNumber) | |
} | |
} | |
function Jb(c, e, f) { | |
try { | |
Ga && 0 != c.indexOf("LPIS") && ("rfdefaults" != c && "singlefactortype" != c) && (c = "local_" + c); | |
var d; | |
"undefined" == typeof e || !e ? (d = oe(c), d.append(c), d.exists() || (d = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile), d.append(c))) : (d = T["@mozilla.org/file/local;1"].createInstance(ca.nsILocalFile), d.initWithPath(c)); | |
if (!d.exists()) return !1; | |
if (LP.lpis_mac && Ga && 3 <= c.length && ("lps" == c.substring(c.length - 3) || "xml" == c.substring(c.length - | |
3) || "cac" == c.substring(c.length - 3)) && ma() && "function" == typeof Z.read_file) return Z.read_file(d.path); | |
var g = T["@mozilla.org/network/file-input-stream;1"].createInstance(ca.nsIFileInputStream); | |
g.init(d, -1, -1, !1); | |
var h = T["@mozilla.org/binaryinputstream;1"].createInstance(ca.nsIBinaryInputStream); | |
h.setInputStream(g); | |
var l = h.available(), | |
n = h.readBytes("number" == typeof f && f < l ? f : l); | |
g.close(); | |
return n | |
} catch (p) { | |
return ga("lpReadFile : " + c + " " + p + " ln: " + p.lineNumber), !1 | |
} | |
} | |
function or(c) { | |
try { | |
var e = oe(c); | |
e.append(c); | |
e.exists() || (e = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile), e.append(c)); | |
return !e.exists() ? !1 : e.lastModifiedTime | |
} catch (f) { | |
return ga("lpLastModifiedFile : " + c + " " + f + " ln: " + f.lineNumber), !1 | |
} | |
} | |
function eb(c) { | |
Ga && 0 != c.indexOf("LPIS") && ("rfdefaults" != c && "singlefactortype" != c) && (c = "local_" + c); | |
if (!Ga || !c.match(/(lps|xml|cac)$/)) try { | |
var e = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile); | |
e.append(c); | |
e.exists() && | |
e.remove(!1); | |
var f = oe(c, !1); | |
f.append(c); | |
f.exists() && f.remove(!1) | |
} catch (d) {} | |
} | |
function Hg(c, e) { | |
if (!Ga || !c.match(/(lps|xml)$/)) | |
for (var f = oe("", !1, e).directoryEntries; f.hasMoreElements();) { | |
var d = f.getNext(); | |
d.QueryInterface(ca.nsIFile); | |
if (d.isFile() && d.leafName.toLowerCase().indexOf(c.toLowerCase()) == d.leafName.length - c.length || "*" == c) try { | |
d.remove(!1) | |
} catch (g) {} | |
} | |
} | |
function $b(c) { | |
try { | |
var e = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile), | |
f = oe(c, !1); | |
e.append(c); | |
f.append(c); | |
return e.exists() || f.exists() | |
} catch (d) {} | |
return !1 | |
} | |
function Sh(c, e) { | |
try { | |
var f = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("ProfD", ca.nsIFile); | |
if (LP.lpis_win && !Vf() && !LP.isFennec) { | |
var d = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("LocalAppData", ca.nsIFile); | |
if (d.isDirectory() && d.exists()) { | |
var g = d.clone(); | |
g.path.indexOf("\\Local") == g.path.length - 6 ? (g = g.parent, g.append("LocalLow"), g.isDirectory() && g.exists() ? d = g.clone() : g = d.clone()) : | |
g = d.clone(); | |
g.append("LastPass"); | |
(!g.exists() || !g.isDirectory()) && g.create(ca.nsIFile.DIRECTORY_TYPE, 511); | |
d = g.clone(); | |
f = d.clone() | |
} | |
} else if ((LP.lpis_mac || LP.lpis_linux) && !Vf() && !LP.isFennec) { | |
var h = nr(); | |
if (null != h && h && "" != h) { | |
var l = T["@mozilla.org/file/local;1"].createInstance(ca.nsILocalFile); | |
l.initWithPath(h); | |
(!l.exists() || !l.isDirectory()) && l.create(ca.nsIFile.DIRECTORY_TYPE, 511); | |
l.isDirectory() && l.exists() && (f = l.clone()) | |
} | |
} | |
f.append(c); | |
f.exists() && f.moveTo(null, e) | |
} catch (n) {} | |
} | |
function xn(c) { | |
Zk ? c && (pr = | |
Ab()) : (Zk = !0, qr = Ab(), c ? LP.lplogincheck("frompipes") : LP.httptest()) | |
} | |
function rw(c) { | |
for (var e = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); e.hasMoreElements();) { | |
var f = e.getNext(); | |
if (f != this && f.document != c && "undefined" != typeof f.LP) return !0 | |
} | |
return !1 | |
} | |
function Fb(c) { | |
(new Date).getTime(); | |
try { | |
eb(Q + "_lp.act.xml"); | |
eb(Q + "_lps.act.xml"); | |
ma() && eb(ha + "_lp.act.xml"); | |
var e = lc(ha, !0, !1); | |
if (e) { | |
var f = T["@mozilla.org/xmlextras/domparser;1"].createInstance(ca.nsIDOMParser), | |
d, g; | |
if ("LPAV" == e.substring(0, 4)) d = null, g = parseInt(dl(e)); | |
else { | |
d = f.parseFromString(e, "text/xml"); | |
if (!d) { | |
LP.lpGetAccounts(); | |
return | |
} | |
var h = d.documentElement.getElementsByTagName("accounts"); | |
g = -1; | |
0 < h.length && (g = parseInt(h[0].getAttribute("accts_version"))) | |
} if (Ga || g == kc || -1 == kc) f = [], f.responseXML = d, f.responseText = e, f.readyState = 4, f.status = 0, "undefined" == typeof c && (c = !1), LP.lpPopulateAccounts(f, !0, !0, c); | |
!(Ga || vb == kc) && -1 != kc && LP.lpGetAccounts() | |
} else LP.lpGetAccounts() | |
} catch (l) { | |
ga("lpGetAccountsLocal : " + | |
l + " ln: " + l.lineNumber), LP.lpGetAccounts() | |
} | |
} | |
function yn(c, e) { | |
if (0 == c.getAttribute("id").indexOf("_favorites_menu")) return -1; | |
if (0 == e.getAttribute("id").indexOf("_favorites_menu")) return 1; | |
c = c.getAttribute("label").toLowerCase(); | |
e = e.getAttribute("label").toLowerCase(); | |
return c < e ? -1 : 1 | |
} | |
function rr(c) { | |
c && "undefined" != typeof c.getAttribute && (Vc = "1" == c.getAttribute("login_site_prompt") ? !0 : !1, pe = "1" == c.getAttribute("edit_site_prompt") ? !0 : !1, uf = "1" == c.getAttribute("edit_sn_prompt") ? !0 : !1, Ke = "1" == c.getAttribute("view_pw_prompt") ? !0 : !1, qe = "1" == c.getAttribute("view_ff_prompt") ? !0 : !1, pj = "1" == c.getAttribute("improve") ? !0 : !1, qj = "1" == c.getAttribute("switch_identity_prompt") ? !0 : !1, el = "1" == c.getAttribute("multifactor_reprompt") ? !0 : !1, zn = "1" == c.getAttribute("generatedpw") ? !0 : !1) | |
} | |
function bl(c, e) { | |
return c.profilename.toLowerCase() < e.profilename.toLowerCase() ? -1 : 1 | |
} | |
function sr(c, e) { | |
return c.iname.toLowerCase() < e.iname.toLowerCase() ? -1 : 1 | |
} | |
function tr(c, e) { | |
return parseInt(c.ordernum) < parseInt(e.ordernum) ? -1 : 1 | |
} | |
function An(c) { | |
if ("undefined" != | |
typeof z[c]) return Bn && 1 == parseInt(z[c].autologin) && Ab() - z[c].last_touch > ur ? (LP.SetLastTouch(z[c]), !0) : !1 | |
} | |
function vr(c) { | |
try { | |
if ("undefined" == typeof PrivateBrowsingUtils && Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm"), c && PrivateBrowsingUtils.isWindowPrivate(c)) return !0 | |
} catch (e) {} | |
return !1 | |
} | |
function Bd(c, e) { | |
if (!vr(e) && (!Xg || !Xg.privateBrowsingEnabled)) { | |
var f = z[c]; | |
f || (f = Ia[c]); | |
f || (f = LP.get_application(c)); | |
if (f) { | |
if (!(5 > Ab() - f.last_touch)) { | |
if (0 < ad) { | |
var d = "id=" + LP.en(c) + "&method=" + | |
LP.get_method(); | |
if (1 < ad && f) { | |
if (2 == (ad & 2) && "http://sn" != f.url) { | |
var g = f.url, | |
h = LP.getBrowser().selectedTab; | |
h && h.linkedBrowser && (g = h.linkedBrowser.contentDocument.location.href); | |
d += "&u=" + LP.en(ac(g)) | |
} | |
4 == (ad & 4) && (d += "&n=" + LP.en(ac(f.name))); | |
8 == (ad & 8) && "http://sn" != f.url && (d += "&un=" + LP.en(ac(fb(f, 0)))) | |
} | |
g = !0; | |
f && ((h = yb(B, f.group)) && (d += "&sharedfolderid=" + LP.en(h.id)), "http://sn" == f.url && 4 != (ad & 4) && (g = !1)); | |
g && LP.lpMakeRequest(LP.lp_base + "loglogin.php", d, null) | |
} | |
LP.SetLastTouch(f); | |
g = Jb(ha + "_lt.cac"); | |
d = ""; | |
if (!1 != | |
g) { | |
g = g.split("\n"); | |
for (h = 0; h < g.length; h++) 0 != g[h].indexOf(c + " ") && "" != g[h] && (d += g[h] + "\n") | |
} | |
d += c + " " + f.last_touch + "\n"; | |
Rb(ha + "_lt.cac", d) | |
} | |
} else 0 < ad && "export" == c && (d = "id=" + LP.en(c) + "&method=" + LP.get_method(), LP.lpMakeRequest(LP.lp_base + "loglogin.php", d, null)) | |
} | |
} | |
function Cn(c, e, f, d) { | |
if (!vr(d) && (!Xg || !Xg.privateBrowsingEnabled) && ad) { | |
d = "ffid=" + LP.en(c); | |
f && (d += f); | |
if (e) { | |
if ("" == f) return; | |
d += "&onlymisses=1" | |
} | |
for (e = 0; e < ka.length; e++) | |
if (f = ka[e], f.ffid == c) { | |
d += "&locale=" + LP.en(O(f.profilelanguage, f, B)); | |
(c = yb(B, | |
f.group)) && (d += "&sharedfolderid=" + LP.en(c.id)); | |
break | |
} | |
LP.lpMakeRequest(LP.lp_base + "logformfill.php", d, null) | |
} | |
} | |
function sw(c) { | |
if (c && 4 == c.readyState && 200 == c.status) | |
if (c.responseXML) { | |
if (c = c.responseXML.documentElement) | |
if (c = c.getElementsByTagName("login"), 0 != c.length) { | |
for (var e = c[0].getAttribute("url"), f = 0; f < c.length; f++) { | |
for (var d = c[f].getAttribute("aid"), g = c[f].getAttribute("url"), h = c[f].getAttribute("submit_id"), l = c[f].getAttribute("captcha_id"), n = c[f].getAttribute("custom_js"), p = c[f].getAttribute("u"), | |
q = c[f].getAttribute("p"), r = c[f].getAttribute("o"), t = 0; t < Va.length && g != Va[t].url; t++); | |
Va[t] = []; | |
Va[t].aid = d; | |
Va[t].multi = f < c.length - 1 ? !0 : !1; | |
Va[t].secondary = 0 < f ? !0 : !1; | |
Va[t].url = g; | |
Va[t].submit_id = h; | |
Va[t].captcha_id = l; | |
Va[t].custom_js = n; | |
Va[t].u = p; | |
Va[t].p = q; | |
Va[t].o = r; | |
Va[t].uname = ""; | |
Va[t].pname = ""; | |
Va[t].oname = ""; | |
Va[t].login = c[f]; | |
Va[t].create_time = Ab(); | |
Va[t].onlyfill = !1; | |
Va[t].fields = []; | |
d = c[f].getElementsByTagName("field"); | |
g = !1; | |
for (h = 0; h < d.length; h++) { | |
p = d[h].getAttribute("type"); | |
l = d[h].getAttribute("name"); | |
n = d[h].getAttribute("value"); | |
if (("text" == p || "email" == p || "tel" == p) && "openid_url" != l) | |
if ("" != Va[t].u && n == Va[t].u) Va[t].uname = l, g = !0; | |
else if (!g && ("" == Va[t].pname || "" == Va[t].uname)) Va[t].uname = l; | |
"password" == p && (Va[t].pname = l); | |
if (("text" == p || "email" == p || "tel" == p) && "openid_url" == l) Va[t].oname = l; | |
if ("radio" == p || "checkbox" == p) | |
if (p = d[h].getAttribute("checked"), !p || 1 != parseInt(p)) continue; | |
Va[t].fields[l] = n | |
} | |
} | |
dc(e) | |
} | |
} else ga("Invalid response from server=" + c.status + " text= " + c.responseText, null), Ua("ErrorServerMsg") | |
} | |
function rj(c) { | |
var e = !1; | |
"undefined" != typeof c.sn && (e = c.sn); | |
return xc(LP.is_application(c) ? "a" + c.fiid : c.id, e) | |
} | |
function tw(c) { | |
try { | |
for (var e = c.target.parentNode, f = e.childNodes.length, d = 0; d < f; d++) e.childNodes[d].setAttribute("style", "-moz-appearance:none !important;background-color: white !important;"); | |
c.target.setAttribute("style", "-moz-appearance:none !important;background-color: #FAFAD2 !important;") | |
} catch (g) {} | |
} | |
function vc(c, e, f, d, g, h, l, n, p, q) { | |
if ("undefined" == typeof HIDEALLNOTIFICATIONS) { | |
"change" != | |
d && (c = LP.lpgs(c)); | |
var r = !0; | |
"error" != d && !Rk && (r = !1); | |
try { | |
if ("function" != typeof LP.getBrowser || "function" != typeof LP.getBrowser().getNotificationBox) return | |
} catch (t) { | |
return | |
} | |
var A = e ? LP.getBrowser().getNotificationBox(e) : LP.getBrowser().getNotificationBox(), | |
y = LP.mostRecent().document; | |
d || (d = "autologin"); | |
var J = [], | |
u = []; | |
if ("login" == d) { | |
if (!r || !Rk || !wr || LP.NO_LOGIN_NOTIFICATION_UNTIL_LOGIN && !LP.lpprefsHasUserValue("ffhasloggedinsuccessfully", !1)) return; | |
J.push({ | |
label: LP.lpgs("Save Passwords With LastPass"), | |
accessKey: "", | |
popup: null, | |
callback: uw | |
}); | |
u[u.length] = LP.lpgs("TTLogin"); | |
J.push({ | |
label: LP.lpgs("NeverAskAgain"), | |
accessKey: "", | |
popup: null, | |
callback: vw | |
}); | |
u[u.length] = LP.lpgs("TTNeverAskAgain") | |
} else if ("change" == d) { | |
if (!xr) return; | |
J.push({ | |
label: LP.lpgs("Confirm"), | |
accessKey: "", | |
popup: null, | |
callback: ww | |
}); | |
u[u.length] = LP.lpgs("TTChange"); | |
"undefined" != typeof Pa[g.key] && null != Pa[g.key] && (J.push({ | |
label: LP.lpgs("Save New Site"), | |
accessKey: "", | |
popup: null, | |
callback: yr | |
}), u[u.length] = LP.lpgs("TTAdd")) | |
} else if ("captcha" == d) { | |
if (!r) return | |
} else if ("offline" == | |
d) { | |
if (Ga) return | |
} else if ("addconfirm" == d) J.push({ | |
label: LP.lpgs("SaveSite"), | |
accessKey: "", | |
popup: null, | |
callback: yr | |
}), u[u.length] = LP.lpgs("TTAdd"), r = fl(0, y, g), J.push({ | |
label: LP.lpgs("Never For This ..."), | |
accessKey: "", | |
popup: r, | |
callback: null | |
}), u[u.length] = LP.lpgs("TTNever"), J.push({ | |
label: LP.lpgs("NotThisLogin"), | |
accessKey: "", | |
popup: null, | |
callback: xw | |
}), u[u.length] = LP.lpgs("TTNotThisLogin"); | |
else if ("addformfill" == d) J.push({ | |
label: LP.lpgs("AddProfile"), | |
accessKey: "", | |
popup: null, | |
callback: yw | |
}), u[u.length] = LP.lpgs("TTAddFormFill"), | |
J.push({ | |
label: LP.lpgs("NeverAskAgain"), | |
accessKey: "", | |
popup: null, | |
callback: zw | |
}), u[u.length] = ""; | |
else if ("viewalert" == d) J.push({ | |
label: LP.lpgs("ViewAlert"), | |
accessKey: "", | |
popup: null, | |
callback: Aw | |
}), u[u.length] = l, J.push({ | |
label: LP.lpgs("Cancel"), | |
accessKey: "", | |
popup: null, | |
callback: Bw | |
}), u[u.length] = ""; | |
else if ("generate" == d) { | |
if (!r || !P) return; | |
if (l) { | |
e.contentDocument.ffidindex = -1; | |
var ib, s; | |
ib = LP.lpgs("FillForm") + " (" + ka.length + ")"; | |
Dn && zr() ? (r = null, s = function() { | |
LP.choose_profile_and_credit_card(); | |
return !0 | |
}) : (r = Ar(null, | |
y), s = null); | |
J.push({ | |
label: ib, | |
accessKey: "", | |
popup: r, | |
callback: s | |
}); | |
u[u.length] = LP.lpgs("TTFillForm") | |
} | |
if (n && 0 < f.length) { | |
ib = LP.lpgs("Fill Current"); | |
if (1 < f.length) { | |
ib += " (" + f.length + ")"; | |
r = {}; | |
s = {}; | |
var ia = Br(f, !1, r, s, y, !0), | |
r = ia[0]; | |
s = null | |
} else r = null, s = Cw; | |
J.push({ | |
label: ib, | |
accessKey: "", | |
popup: r, | |
callback: s | |
}); | |
u[u.length] = LP.lpgs("TTFillCurrent") | |
} | |
J.push({ | |
label: LP.lpgs("Generate"), | |
accessKey: "", | |
popup: null, | |
callback: Dw | |
}); | |
u[u.length] = LP.lpgs("TTGenerate"); | |
r = fl(1, y, g); | |
J.push({ | |
label: LP.lpgs("Never For This ..."), | |
accessKey: "", | |
popup: r, | |
callback: null | |
}); | |
u[u.length] = LP.lpgs("TTNeverForThisSite") | |
} else if ("error" == d) g.feedback ? (J.push({ | |
label: LP.lpgs("Feedback"), | |
accessKey: "", | |
popup: null, | |
callback: Ew | |
}), u[u.length] = LP.lpgs("TTFeedback")) : g.custombutton && g.customaction ? (J.push({ | |
label: g.custombutton, | |
accessKey: "", | |
popup: null, | |
callback: function() { | |
LP.lpopen(g.customaction) | |
} | |
}), u[u.length] = "") : g.login && (J.push({ | |
label: LP.lpgs("TryAgain"), | |
accessKey: "", | |
popup: null, | |
callback: Cr | |
}), u[u.length] = LP.lpgs("TTTryAgain")), g.createaccount && !gl && (J.push({ | |
label: LP.lpgs("Create Account"), | |
accessKey: "", | |
popup: null, | |
callback: LP.OpenCreateAccount | |
}), u[u.length] = LP.lpgs("TTCreateAccount")), g.multifactor_disable_url && (J.push({ | |
label: LP.lpgs("Disable Multifactor Authentication"), | |
accessKey: "", | |
popup: null, | |
callback: function() { | |
LP.lpbaseopen(g.multifactor_disable_url) | |
} | |
}), u[u.length] = LP.lpgs("TTDisableMultifactorAuthentication")); | |
else if ("formfill" == d) { | |
if (!r || !P) return; | |
e.contentDocument.ffidindex = -1; | |
ib = LP.lpgs("FillForm") + " (" + ka.length + ")"; | |
Dn && zr() ? (r = null, s = LP.choose_profile_and_credit_card) : (r = | |
Ar(null, y), s = null); | |
J.push({ | |
label: ib, | |
accessKey: "", | |
popup: r, | |
callback: s | |
}); | |
u[u.length] = LP.lpgs("TTFillForm"); | |
r = fl(2, y, g); | |
J.push({ | |
label: LP.lpgs("Never For This ..."), | |
accessKey: "", | |
popup: r, | |
callback: null | |
}); | |
u[u.length] = LP.lpgs("TTNeverForThisSite2") | |
} else { | |
if (!Dr) return; | |
if ("object" != typeof f || 1 == f.length || 1 < f.length) { | |
r = {}; | |
s = {}; | |
ia = 4 <= LP.lp_getFFVersionFloat() && 1 < f.length ? 1 : 0; | |
if ("undefined" != typeof ia && 0 < ia) { | |
var B = !g, | |
F = r, | |
C = s, | |
ia = [], | |
D = null, | |
K = null, | |
ea = null, | |
ra = null, | |
Y = null, | |
v = null, | |
E = null, | |
ra = ea = ra = E = ra = null, | |
ea = "", | |
v = y.getElementById("mainPopupSet"), | |
H = null, | |
O = null, | |
D = y.createElement("panel"), | |
H = Th("popup"); | |
ia[0] = H; | |
D.setAttribute("id", H); | |
v.appendChild(D); | |
D.sizeTo(500, 170); | |
ea = y.createElement("vbox"); | |
ea.setAttribute("id", "vbox" + H); | |
D.appendChild(ea); | |
Y = y.createElement("hbox"); | |
Y.setAttribute("id", "autofillsearchbox_hbox"); | |
ea.appendChild(Y); | |
ea = "autofillsearchbox" + H; | |
E = y.createElement("label"); | |
E.setAttribute("value", LP.lpgs("AutoFill") + " " + LP.lpgs("Filter")); | |
E.setAttribute("control", ea); | |
Y.appendChild(E); | |
E = y.createElement("textbox"); | |
E.setAttribute("id", ea); | |
E.setAttribute("type", "search"); | |
E.setAttribute("oncommand", "LP.lppopuptablefilter(document, '" + ea + "', '" + H + "');"); | |
Y.appendChild(E); | |
B && (K = y.createElement("panel"), O = Th("popup"), ia[1] = O, K.setAttribute("id", O), v.appendChild(K), K.sizeTo(500, 170), ra = y.createElement("vbox"), K.appendChild(ra), v = y.createElement("hbox"), v.setAttribute("id", "autologinsearchbox_hbox"), ra.setAttribute("id", "vbox" + O), ra.appendChild(v), ea = "autologinsearchbox" + O, ra = y.createElement("label"), ra.setAttribute("value", LP.lpgs("AutoLogin") + | |
" " + LP.lpgs("Filter")), ra.setAttribute("control", ea), v.appendChild(ra), ra = y.createElement("textbox"), ra.setAttribute("id", ea), ra.setAttribute("type", "search"), ra.setAttribute("oncommand", "LP.lppopuptablefilter(document, '" + ea + "', '" + O + "');"), v.appendChild(ra), Uh(f, !0, null, C, y, Vh, O, !0), Uh(f, !0, null, C, y, Wh, O, !0), (ra = Uh(f, !0, null, C, y, sj, O, !1)) || (ia[1] = null), C.value < Cd ? v.setAttribute("hidden", "true") : v.setAttribute("hidden", "false")); | |
Uh(f, !1, F, null, y, Vh, H, !0); | |
Uh(f, !1, F, null, y, Wh, H, !0); | |
(ea = Uh(f, !1, F, null, | |
y, sj, H, !1)) || (ia[0] = null); | |
!0 == B && null != ra && (B = null, B = y.getElementById(ra), C.value <= Cd ? (ra = 24 * (C.value + 1), B.setAttribute("rows", C.value), K.sizeTo(500, ra)) : B.setAttribute("rows", Cd)); | |
null != ea && (C = null, C = y.getElementById(ea), F.value <= Cd ? (ra = 24 * (F.value + 1), C.setAttribute("rows", F.value), D.sizeTo(500, ra)) : C.setAttribute("rows", Cd)); | |
F.value < Cd ? Y.setAttribute("hidden", "true") : Y.setAttribute("hidden", "false"); | |
F = []; | |
for (Y = 0; Y < f.length; Y++) C = [], B = z[f[Y].id], "undefined" != typeof B && (ea = ra = "", v = 0, B.logins && 0 < B.logins.length && | |
(ra = B.name, ea = B.logins[0].unencryptedUsername, v = B.last_touch, C.push(ra), C.push(ea)), C.push(hl(v)), C = C.join(" "), C = C.toLowerCase(), F[f[Y].id] = C); | |
for (ib in F) LP.lp_popup_search_array[ib] = F[ib]; | |
null != D && (D.setAttribute("onpopupshowing", "LP.lppopuptable_showing_handler(event, '" + H + "',document);"), D.setAttribute("popuphiding", "LP.lppopuptable_hiding_handler(event,'" + H + "',document);"), D.setAttribute("onmouseover", "LP.lppopuptable_mouseover_handler(event, '" + H + "',document);")); | |
null != K && (K.setAttribute("onpopupshowing", | |
"LP.lppopuptable_showing_handler(event, '" + O + "',document);"), K.setAttribute("popuphiding", "LP.lppopuptable_hiding_handler(event,'" + O + "',document);"), K.setAttribute("onmouseover", "LP.lppopuptable_mouseover_handler(event, '" + O + "',document);")) | |
} else ia = Br(f, !g, r, s, y); if (!g) { | |
D = null; | |
if (null != ia && null == ia[1]) | |
for (ib = 0; ib < f.length; ib++) { | |
if (!f[ib].onlyfill) var G = ib, | |
D = function(c) { | |
il(f[G], c) | |
} | |
} else 1 >= f.length && s.value && (D = function(c) { | |
il(f, c) | |
}); | |
s = 1 < s.value ? " (" + s.value + ")" : ""; | |
J.push({ | |
label: LP.lpgs("AutoLogin") + | |
s, | |
accessKey: "", | |
popup: null != ia ? ia[1] : null, | |
callback: D | |
}); | |
u[u.length] = LP.lpgs("TTAutoLogin") | |
} | |
if (!l || 1 < f.length) s = 1 < r.value ? " (" + r.value + ")" : "", J.push({ | |
label: LP.lpgs("AutoFill") + s, | |
accessKey: "", | |
popup: null != ia ? ia[0] : null, | |
callback: 1 < f.length ? null : function(c) { | |
il(f, c, !0) | |
} | |
}), u[u.length] = LP.lpgs("TTAutoFill"); | |
r = fl(3, y, g, l); | |
J.push({ | |
label: LP.lpgs("Never ..."), | |
accessKey: "", | |
popup: r, | |
callback: null | |
}); | |
u[u.length] = LP.lpgs("TTNever2") | |
} | |
} if (!A.getNotificationWithValue("lp_notificationAction" + d) || p || q) { | |
if ("captcha" != d && !p) | |
for (; A.currentNotification;) A.removeCurrentNotification(); | |
h = !h || 0 == h ? A.PRIORITY_WARNING_MEDIUM : A.PRIORITY_CRITICAL_LOW; | |
if (p) { | |
if ((c = A.currentNotification) && ("undefined" == typeof c.lock || !1 == c.lock)) { | |
c.lock = !0; | |
q = c.getElementsByTagName("button"); | |
for (r = q.length - 1; 0 <= r; r--) c.removeChild(q[r]); | |
for (ib = 0; ib < J.length; ib++) q = y.createElement("button"), q.setAttribute("label", J[ib].label), q.setAttribute("popup", J[ib].popup), q.tooltipText = u[ib], null != J[ib].callback && (0 == J[ib].label.indexOf(Za("AutoLogin")) ? q.addEventListener("command", function() { | |
LP.lp_noteAcceptPre(null) | |
}, !1) : 0 == J[ib].label.indexOf(Za("AutoFill")) ? q.addEventListener("command", function() { | |
LP.lp_noteAcceptPre(!0) | |
}, !1) : 0 == J[ib].label.indexOf(Za("NeverAutoFill")) && q.addEventListener("command", function() { | |
LP.lp_noteAcceptNeverPre() | |
}, !1)), c.appendChild(q); | |
c.lock = !1 | |
} | |
} else En && LP.patchNotificationBox(A, "bottom"), c = A.appendNotification(c, "lp_notificationAction" + d, "chrome://lastpass/skin/icon.gif", h, J); if ("addconfirm" == d || "change" == d || "addformfill" == d) c.persistence = 1; | |
LP.lpis_linux && (c.style.backgroundColor = "#FFFFE1"); | |
"error" == d ? c.style.color = "#fff" : h && 0 != h && (c.style.color = "#000"); | |
if (("addconfirm" == d || "addformfill" === d) && !LP.lpis_mac) c.style.backgroundColor = "#87d087"; | |
c.aid = f; | |
c.browser = e; | |
c.extra = g; | |
c.extra2 = l; | |
c.extra3 = n; | |
c.nb = A; | |
c.choices = d; | |
if (!p) | |
if (q = c.getElementsByTagName("button"), q.length == u.length) | |
for (ib = 0; ib < q.length; ib++) q.item(ib).tooltipText = u[ib]; | |
else ga("#Tooltips!=#Buttons: " + d + " " + q.length + " vs " + u.length); | |
c.addEventListener("command", Fw, !0) | |
} | |
} | |
} | |
function fl(c, e, f, d) { | |
var g = null, | |
h = e.getElementById("mainPopupSet"), | |
g = e.createElement("menupopup"), | |
l = Th("popup"); | |
g.setAttribute("id", l); | |
h.appendChild(g); | |
h = ""; | |
"object" == typeof f && "string" == typeof f.key && (h = f.key); | |
var n = ""; | |
"object" == typeof f && "string" == typeof f.tld && (n = f.tld); | |
var p = ""; | |
"object" == typeof f && "undefined" != typeof f.currenturl && (p = f.currenturl); | |
d && (f = e.createElement("menuitem"), f.setAttribute("label", LP.lpgs("NeverAutoFill")), f.addEventListener("command", function() { | |
LP.never_helper(null, null, null, null, null, LP.lpes(d)) | |
}), g.appendChild(f)); | |
f = e.createElement("menuitem"); | |
f.setAttribute("label", LP.lpgs("NeverForThisSite")); | |
f.setAttribute("oncommand", "LP.never_helper(" + c + ", false, '" + ke(h) + "', '" + ke(n) + "', '" + ke(p) + "');"); | |
g.appendChild(f); | |
e = e.createElement("menuitem"); | |
e.setAttribute("label", LP.lpgs("Never For This Domain")); | |
e.setAttribute("oncommand", "LP.never_helper(" + c + ", true, '" + ke(h) + "', '" + ke(n) + "', '" + ke(p) + "');"); | |
g.appendChild(e); | |
return l | |
} | |
function Br(c, e, f, d, g, h) { | |
var l = [], | |
n = null, | |
p = null, | |
q = g.getElementById("mainPopupSet"), | |
n = g.createElement("menupopup"); | |
l[0] = Th("popup"); | |
n.setAttribute("id", l[0]); | |
q.appendChild(n); | |
e && (p = g.createElement("menupopup"), l[1] = Th("popup"), p.setAttribute("id", l[1]), q.appendChild(p)); | |
for (var r = q = 0; r < c.length; r++) { | |
var t = z[c[r].id]; | |
if ("undefined" != typeof t) { | |
t = Yg(t); | |
if (e && !c[r].onlyfill) { | |
var A = g.createElement("menuitem"); | |
A.setAttribute("label", t); | |
A.setAttribute("oncommand", "LP.lp_noteAcceptHelper('" + c[r].id + "',null,false, true);"); | |
p.appendChild(A); | |
q++ | |
} | |
A = g.createElement("menuitem"); | |
A.setAttribute("label", t); | |
h ? function(c) { | |
A.addEventListener("command", | |
function() { | |
LP.fill_current(c) | |
}) | |
}(c[r].id) : function(c) { | |
A.addEventListener("command", function() { | |
LP.lp_noteAcceptHelper(c, null, !0, !0) | |
}) | |
}(c[r].id); | |
h || (0 == r && A.setAttribute("key", "lpt_key_lpPrevAutoFill"), r == c.length - 1 && A.setAttribute("key", "lpt_key_lpNextAutoFill")); | |
n.appendChild(A) | |
} | |
} | |
1 >= c.length && (l[0] = null); | |
1 >= q && (l[1] = null); | |
f.value = l[0] && n.hasChildNodes() ? n.childNodes.length : 0; | |
d.value = l[1] && p.hasChildNodes() ? p.childNodes.length : 0; | |
return l | |
} | |
function Uh(c, e, f, d, g, h, l, n) { | |
var p = null, | |
p = g.getElementById("vbox" + | |
l); | |
if (null == p || 1 >= c.length) return null; | |
for (var q = 0, r = [], t = 0; t < c.length; t++) { | |
var A = z[c[t].id]; | |
if ("undefined" != typeof A && 1 != A.basic_auth) { | |
if (!0 == e) | |
if (c[t].onlyfill) continue; | |
else q++; | |
var y = "", | |
J = "", | |
u = 0; | |
A.logins && 0 < A.logins.length && (y = A.name, J = A.logins[0].unencryptedUsername, u = A.last_touch); | |
r[t] = { | |
id: c[t].id | |
}; | |
h == Vh ? r[t].sortkey = y : h == Wh ? r[t].sortkey = J : h == sj && (r[t].sortkey = u) | |
} | |
} | |
if (1 >= q && !0 == e) return null; | |
h == Vh || h == Wh ? r.sort(Gw) : r.sort(Hw); | |
var A = t = A = A = A = t = q = null, | |
ib = 0, | |
q = g.createElement("listbox"); | |
p.appendChild(q); | |
t = g.createElement("listcols"); | |
q.appendChild(t); | |
A = g.createElement("listcol"); | |
A.setAttribute("flex", "5"); | |
A.setAttribute("minwidth", "150"); | |
t.appendChild(A); | |
A = g.createElement("listcol"); | |
A.setAttribute("minwidth", "100"); | |
A.setAttribute("flex", "4"); | |
t.appendChild(A); | |
A = g.createElement("listcol"); | |
A.setAttribute("flex", "1"); | |
A.setAttribute("minwidth", "110"); | |
t.appendChild(A); | |
t = g.createElement("listhead"); | |
q.appendChild(t); | |
A = g.createElement("listheader"); | |
A.setAttribute("id", "tablehdrsite" + h + "_" + l); | |
A.setAttribute("label", | |
LP.lpgs("Site")); | |
A.addEventListener("click", function() { | |
LP.lppopuptableshowAsort(document, Vh, l) | |
}); | |
t.appendChild(A); | |
A = g.createElement("listheader"); | |
A.setAttribute("id", "tablehdrusername" + h + "_" + l); | |
A.setAttribute("label", LP.lpgs("Username")); | |
A.addEventListener("click", function() { | |
LP.lppopuptableshowAsort(document, Wh, l) | |
}); | |
t.appendChild(A); | |
A = g.createElement("listheader"); | |
A.setAttribute("id", "tablehdrtouch" + h + "_" + l); | |
A.setAttribute("label", LP.lpgs("Last Touch")); | |
A.addEventListener("click", function() { | |
LP.lppopuptableshowAsort(document, | |
sj, l) | |
}); | |
t.appendChild(A); | |
q.setAttribute("flex", "1"); | |
q.setAttribute("seltype", "single"); | |
q.setAttribute("hidden", n ? "true" : "false"); | |
p = "popuptable" + h + "_" + l; | |
q.setAttribute("id", p); | |
q.setAttribute("disableKeyNavigation", "true"); | |
q.setAttribute("onselect", "LP.lp_popup_select_handler(document,'" + p + "','" + l + "'," + e + ", event);"); | |
for (t = 0; t < c.length; t++) | |
if ("undefined" != typeof r[t] && (A = z[r[t].id], "undefined" != typeof A && 1 != A.basic_auth)) { | |
J = y = ""; | |
u = 0; | |
if (A.logins && 0 < A.logins.length) { | |
y = A.name; | |
J = A.logins[0].unencryptedUsername; | |
if (!J || !J.length) J = fb(A, 0); | |
u = A.last_touch; | |
hl(A.last_touch) | |
} | |
ib++; | |
h = g.createElement("listitem"); | |
n = g.createElement("listcell"); | |
var u = g.createElement("listcell"), | |
s = g.createElement("listcell"); | |
n.setAttribute("label", y); | |
u.setAttribute("label", J); | |
s.setAttribute("label", hl(A.last_touch)); | |
h.setAttribute("rowid", r[t].id); | |
h.setAttribute("class", "highlight-row-listbox"); | |
q.appendChild(h); | |
h.appendChild(n); | |
h.appendChild(u); | |
h.appendChild(s) | |
} | |
0 < ib ? !0 == e ? null != d && (d.value = ib, d.value < Cd ? q.setAttribute("rows", d.value) : | |
q.setAttribute("rows", Cd)) : null != f && (f.value = ib, 5 > f.value ? q.setAttribute("rows", f.value) : q.setAttribute("rows", Cd)) : !0 == e ? null != d && (d.value = 0) : null != f && (f.value = 0); | |
return p | |
} | |
function Hw(c, e) { | |
return "undefined" != typeof c.sortkey && "undefined" != typeof e.sortkey ? e.sortkey - c.sortkey : 0 | |
} | |
function Gw(c, e) { | |
if ("undefined" != typeof c.sortkey && "undefined" != typeof e.sortkey) { | |
var f = c.sortkey, | |
d = e.sortkey; | |
return f > d ? 1 : f < d ? -1 : 0 | |
} | |
return 0 | |
} | |
function Fn(c) { | |
null != c && Zg & Gn && (c.suppressonselect = !0) | |
} | |
function Hn(c) { | |
null != c && Zg & | |
Gn && (c.suppressonselect = !1) | |
} | |
function $g(c) { | |
null != c && Zg & In && 0 <= c.selectedIndex && (c.selectedIndex = -1) | |
} | |
function Er(c, e) { | |
if (null != c && "false" == c.getAttribute("hidden") && Zg & Fr) { | |
var f = e.getAttribute("value"); | |
e.setAttribute("value", f + " "); | |
var f = e.getElementsByTagName("listcell"), | |
d; | |
for (d in f) | |
if (f.hasOwnProperty(d)) { | |
d = f[d]; | |
f = d.getAttribute("label"); | |
d.setAttribute("label", f + "."); | |
d.setAttribute("label", f); | |
break | |
} | |
c.ensureElementIsVisible(e) | |
} | |
} | |
function Gr(c, e, f) { | |
var d = c.getElementById(e); | |
if (null != d) { | |
if (Zg & Hr && "false" == | |
d.getAttribute("hidden") && f < Cd) { | |
for (var g = 0; g < 2 * Cd; g++) { | |
var h = c.createElement("listitem"); | |
h.setAttribute("id", "gross" + g); | |
h.setAttribute("value", " "); | |
d.appendChild(h) | |
} | |
1 < f && d.scrollToIndex(f); | |
for (g = 0; g < 2 * Cd; g++) h = c.getElementById("gross" + g), d.removeChild(h) | |
} | |
if (Zg & Ir && "false" == d.getAttribute("hidden") && f < Cd && (g = [], c = c.getElementById(e), null != c)) { | |
$g(c); | |
e = c.getElementsByTagName("listitem"); | |
for (var l in e) e.hasOwnProperty(l) && g.push(e[l]); | |
for (l in g) e.hasOwnProperty(l) && c.appendChild(g[l]) | |
} | |
1 < f && null != d && | |
d.scrollToIndex(d.getRowCount()) | |
} | |
} | |
function Ar(c, e) { | |
var f = LP.lpprefsHasUserValue("defaultffid") ? LP.lpprefsGetCharPref("defaultffid") : "0", | |
d = e.getElementById("mainPopupSet"), | |
g = e.createElement("menupopup"), | |
h = Th("popup"); | |
g.setAttribute("id", h); | |
d.appendChild(g); | |
for (var l = d = !1, n = 0; n < ka.length; n++) { | |
var p = ka[n]; | |
0 == p.profiletype && (d = !0); | |
"" != p.ccnum && (l = !0); | |
var q = e.createElement("menuitem"); | |
q.setAttribute("label", p.profilename); | |
c ? q.setAttribute("oncommand", "LP.lp_generatePasswordAndFillFormsHelper(" + p.ffid + | |
");") : (q.setAttribute("oncommand", "LP.lp_fillFormsHelper(" + p.ffid + ");"), p.ffid == f && q.setAttribute("key", "lpt_key_lpdefaultffid")); | |
0 == n && q.setAttribute("key", "lpt_key_lpPrevAutoFill"); | |
n == ka.length - 1 && q.setAttribute("key", "lpt_key_lpNextAutoFill"); | |
g.appendChild(q) | |
} | |
q = e.createElement("menuseparator"); | |
g.appendChild(q); | |
LP.isFennec || (q = e.createElement("menuitem"), q.setAttribute("label", LP.lpgs("AddProfile")), q.addEventListener("command", function() { | |
LP.lpEditFormFillProfile(0) | |
}, !1), g.appendChild(q), q = e.createElement("menuitem"), | |
q.setAttribute("label", LP.lpgs("Add Credit Card")), q.addEventListener("command", function() { | |
LP.lpEditFormFillProfile(0, !1, 1) | |
}, !1), g.appendChild(q)); | |
q = e.createElement("menuitem"); | |
q.setAttribute("label", LP.lpgs("Clear Forms")); | |
q.addEventListener("command", function() { | |
LP.lpClearFormsHelper() | |
}, !1); | |
g.appendChild(q); | |
d && l && (q = e.createElement("menuitem"), q.setAttribute("label", LP.lpgs("Choose Profile and Credit Card")), q.addEventListener("command", function() { | |
LP.choose_profile_and_credit_card() | |
}, !1), g.appendChild(q)); | |
return h | |
} | |
function Th(c) { | |
for (var e = c + md(1, 1E4); null != LP.mostRecent().document.getElementById(e);) e = c + md(1, 1E4); | |
return e | |
} | |
function vw() { | |
LP.lpprefsSetBoolPref("showLoginNotifications", !1, !1); | |
LP.flush_prefs() | |
} | |
function Ew() { | |
LP.lpOpenPrefs("Feedback") | |
} | |
function ww(c) { | |
"undefined" != typeof c.extra.matchingaccts ? LP.lpGetCurrentWindow().openDialog(zb + "content/changepw.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", c.extra.matchingaccts, c.extra.password, "0", c.extra.tld) : z[c.extra.id] && O(z[c.extra.id].password, | |
z[c.extra.id], B) == c.extra.password || jl(c.extra.username, c.extra.password, c.extra.id) | |
} | |
function Cw(c) { | |
LP.fill_current(c.aid[0].id); | |
return !0 | |
} | |
function Dw(c) { | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lpOpenGenPWWindow(c) | |
}, 0); | |
return c.extra2 || c.extra3 && 0 < c.aid.length | |
} | |
function yr(c) { | |
var e = c.extra; | |
if ("undefined" != typeof e.saveall && e.saveall) LP.lpOpenEditWindow(0, !1, !1, null, !0, e.postdata, e.fi); | |
else { | |
var f = e.key, | |
e = e.tld; | |
win = LP.lpGetCurrentWindow().openDialog(zb + "content/addconfirm.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", | |
e, LP.get_default_group(Pa[f].url), f, Pa[f].username, Pa[f].encryptedPassword, Wf(Pa[f].url)); | |
wd(c.browser, c.browser.contentDocument, !1) | |
} | |
} | |
function xw(c) { | |
var e = c.extra; | |
"undefined" != typeof e.saveall && e.saveall || (kl(e.key, e.tld), wd(c.browser, c.browser.contentDocument, !1)) | |
} | |
function yw(c) { | |
c = Jr(c.extra); | |
LP.lpGetCurrentWindow().openDialog(zb + "content/formfill.xul", "_blank", "resizable=yes,chrome,titlebar,toolbar,centerscreen,modal", -1, 1, 0, c) | |
} | |
function zw() { | |
Jn = !1; | |
LP.lpprefsSetBoolPref("capturenewformfill", !1, !0); | |
LP.flush_prefs() | |
} | |
function kl(c, e) { | |
if (null != Pa[c]) { | |
var f = Pa[c].username, | |
d = Pa[c].encryptedPassword, | |
g = new dw; | |
g.username = f; | |
g.encryptedPassword = d; | |
g.tld = e; | |
g.rejectedTime = Ab(); | |
Pf[Pf.length] = g; | |
Pa[c] = null; | |
id = [] | |
} | |
} | |
function Iw(c) { | |
if (c && P && 4 == c.readyState) | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
c = c.responseXML.documentElement; | |
var e = c.getElementsByTagName("error"); | |
if (0 < e.length && (e = e[0].getAttribute("notloggedin"), 1 == parseInt(e))) Sa(!1, "ff_genpwresponse"); | |
else { | |
var f = c.getElementsByTagName("ok"); | |
if (0 < f.length) { | |
e = Kb(f[0].getAttribute("url")); | |
c = f[0].getAttribute("password"); | |
var d = Ya(c), | |
g = f[0].getAttribute("nofill"); | |
if (re[e]) try { | |
re[e].elements | |
} catch (h) { | |
re[e] = Xf[e] = null | |
} | |
if (!re[e]) { | |
var l, n, p; | |
"undefined" != typeof LP ? (l = LP.getBrowser().selectedTab.linkedBrowser, n = l.contentDocument, p = null) : (l = null, n = document, p = window); | |
re[e] = Lg(l, n, !0, p) | |
} | |
if (re[e]) { | |
form = re[e]; | |
var q = null, | |
q = Xf[e] ? Xf[e] : ah(form); | |
l = !1; | |
var r = null, | |
g = null; | |
for (p = 1; 2 >= p; p++) { | |
for (var t = 1; 2 >= t; t++) { | |
l = !1; | |
var r = g = null, | |
A = -1; | |
if (1 == t) { | |
if (q) | |
for (var y = | |
0; y < form.elements.length; y++) | |
if (form.elements[y] == q) { | |
A = y + 1; | |
break | |
} | |
} else A = 0; if (-1 != A) { | |
for (y = A; y < form.elements.length; y++) | |
if (A = form.elements[y], 1 == p && !oc(A)) l = !1; | |
else if ("password" == A.type) { | |
if (l || !r || !g) | |
if (g = r, r = A, l && r && g) break; | |
l = !0 | |
} else l = !1; if (r && g) break | |
} | |
} | |
if (r && g) break | |
} | |
if (r && g) { | |
if (("" != g.value || g == q) && "" == r.value && y < form.elements.length - 1) | |
for (y += 1; y < form.elements.length; y++) | |
if (A = form.elements[y], "password" == A.type && "" == A.value) { | |
g = r; | |
r = A; | |
break | |
} else if ("hidden" != A.type) break; | |
r.focus(); | |
r.value = d; | |
Qc(r); | |
g.focus(); | |
g.value = d; | |
Qc(g); | |
0 <= e.indexOf("bankofamerica.com") && Qb(function() { | |
r.focus(); | |
Qc(r) | |
}, 250); | |
"undefined" != typeof LP && (y = {}, y.target = r, LP.lpfieldchange(y), y.target = g, LP.lpfieldchange(y)) | |
} else r ? (r.focus(), r.value = d, Qc(r)) : ga("Couldn't find password fields after generating. form:" + form, null) | |
} else "0" == g && ga("Could not find lpgenpassforms when generating pw", null); | |
Mb && ((y = Xd) || (y = Kn), y && y.ownerDocument && (y.ownerDocument.location && "undefined" != typeof Wa && e == Wa.URLToASCII(y.ownerDocument.location.href) && | |
"password" == y.type && q != y && "" == y.value && oc(y)) && (y.focus(), y.value = d, Qc(y), "undefined" != typeof Ba && Ba(n, y))); | |
n = parseInt(f[0].getAttribute("accts_version")); | |
if (Ga || n == vb + 1) { | |
f = f[0].getAttribute("aid"); | |
q = new Yb; | |
q.individualshare = !1; | |
q.pendingshare = !1; | |
q.url = e; | |
y = Ta(q.url); | |
q.tld = y; | |
q.name = LP.lpgs("Generated Password for") + " " + q.tld; | |
q.urid = "0"; | |
q.id = f; | |
q.manual = "0"; | |
q.is_http = "0"; | |
q.extra = ""; | |
q.fav = "0"; | |
q.favico = "0"; | |
q.autologin = "0"; | |
q.basic_auth = !1; | |
q.group = LP.get_null_group(); | |
q.fiid = f; | |
q.genpw = !0; | |
q.isbookmark = !1; | |
q.never_autofill = | |
"0"; | |
LP.SetLastTouch(q); | |
q.sn = !1; | |
q.username = ""; | |
q.password = c; | |
q.unencryptedUsername = ""; | |
q.save_all = !1; | |
q.realm = ""; | |
q.sharedfromaid = ""; | |
q.attachkey = ""; | |
q.attachpresent = "0"; | |
q.logins = []; | |
q.otherlogins = []; | |
q.fields = []; | |
d = new gd; | |
d.urid = "0"; | |
d.url = e; | |
e = xb(d.url); | |
d.server = e.host; | |
d.tld = sc(e.host, d.url); | |
nb(d.url, e); | |
d.submit_id = ""; | |
d.captcha_id = ""; | |
d.custom_js = ""; | |
d.username = ""; | |
d.password = c; | |
d.openid_url = ""; | |
d.method = ""; | |
d.action = ""; | |
d.unencryptedUsername = ""; | |
d.uname = ""; | |
d.pname = ""; | |
d.oname = ""; | |
d.fields = []; | |
d.otherfields = []; | |
q.logins[0] = | |
d; | |
z[f] = q; | |
tf++; | |
"undefined" == typeof la[y] && (la[y] = []); | |
la[y][f] = !0; | |
LP.addAidIdentity(f); | |
vf[f] = !0; | |
if ("undefined" != typeof gb[y] && (c = gb[y], "undefined" != typeof gb[c])) | |
for (e = 0; e < gb[c].length; e++) y = gb[c][e], "undefined" == typeof la[y] && (la[y] = []), la[y][f] = !0; | |
kc = vb = n; | |
c = !0; | |
e = lc(); | |
null == e && (c = !1); | |
c && !Ad(e, q, !0) && (c = !1); | |
c && !Wd(e, n) && (c = !1); | |
c && !wc(e, null, "lpPopulateGeneratedPassword") && (c = !1); | |
c ? Fb() : LP.lpGetAccounts() | |
} else LP.lpGetAccounts(); | |
Pc() | |
} | |
} | |
} else ga("Problem with save gen pw response. status=" + c.status + " text= " + | |
c.responseText, null), Ua("ErrorSaveGenPwMsg") | |
} | |
function il(c, e, f) { | |
"object" == typeof c && 1 <= c.length && (c = c[0]); | |
if ("undefined" == typeof f || null == f) f = e.extra; | |
LP.lp_noteAcceptHelper(c.id, e.browser, f) | |
} | |
function Kr(c) { | |
var e = "aid=" + LP.en(c.extra2); | |
LP.lpMakeRequest(LP.lp_base + "set_never_autofill.php", e, null); | |
z[c.extra2].never_autofill = "1"; | |
z[c.extra2].autologin = "0"; | |
(e = lc()) && nd(e, c.extra2, !1) && Ad(e, z[c.extra2], !1) && Vg(e) && wc(e, null, "lp_noteAcceptNever") && Fb() | |
} | |
function Fw() { | |
LP.getBrowser().contentDocument.LPlpshowednote = | |
2 | |
} | |
function ga(c) { | |
if (!1 != pj && (Ln++, !(100 < Ln))) { | |
var e = c.match(/^(.*)location:\s+/); | |
e && (c = e[1]); | |
var e = "msg=ff(" + LP.lp_getFFVersion() + ") lp(" + nc + ") errors(" + Ln + "): " + LP.en(c), | |
f = Ab(), | |
e = e + ("&secsrunning=" + LP.en(f - Jw)); | |
c.match(/NS_ERROR_NOT_INITIALIZED/) || -1 != c.indexOf("this.docShell is null") || -1 != c.indexOf("this._closedNotification.parentNode is null") || -1 != c.indexOf("browsers[i] is undefined") || LP.lpMakeRequest(LP.lp_base + "error.php", e, null) | |
} | |
} | |
function Lr(c) { | |
c.getElementById("debug-btn") && (c.getElementById("debug-btn").label = | |
LP.lpgs(Jh ? "DisableDebug" : "EnableDebug"), c.getElementById("debug-btn").setAttribute("checked", Jh ? "true" : "false")) | |
} | |
function Ua(c, e, f, d, g, h, l) { | |
if (LP.isFennec) Cb(LP.lpgs(c)); | |
else { | |
var n = []; | |
h && l ? (n.custombutton = h, n.customaction = l) : e ? n.feedback = 1 : f && (n.login = 1); | |
d && (n.createaccount = 1); | |
g && (n.multifactor_disable_url = g); | |
vc(c, null, 0, "error", n, 1) | |
} | |
} | |
function jl(c, e, f, d, g, h) { | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
var l = "xml=1"; | |
if (d) l += d; | |
else { | |
var n = z[f]; | |
null == n && (n = Ia[f]); | |
h = n ? yb(B, n.group) : !1; | |
n = !1 == h ? ja : h.sharekey; | |
if (!Tb(h)) return; | |
l += "&username=" + LP.en(da(null == c ? "" : c, n)) + "&password=" + LP.en(da(e, n)) + "&id=" + LP.en(f) | |
} | |
try { | |
for (var p in z) | |
if (z[p].genpw && O(z[p].password, z[p], B) == e) { | |
l += "&delgenpwaid=" + LP.en(p); | |
break | |
} | |
} catch (q) {} | |
l += !1 == h ? "" : "&sharedfolderid=" + LP.en(h.id); | |
p = "undefined" != typeof g ? g : []; | |
null != c && p.push(c); | |
p.push(e); | |
n = {}; | |
n.aid = null != f && "undefined" != typeof z[f] ? f : null == f ? 0 : f; | |
n.postdata = l; | |
n.posturl = LP.lp_base + "change_pw.php"; | |
n.newvalues = p; | |
n.url = n.posturl; | |
n.handler = Mr; | |
LP.lpMakeRequest(n.posturl, n.postdata, | |
Mr, null, n) | |
}, 100) | |
} | |
function Mr(c, e, f) { | |
if (!un(c, f, "lpChangePwResponse") && c && 4 == c.readyState) | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
var d = c.responseXML.documentElement.getElementsByTagName("ok"); | |
if (0 < d.length) | |
if (c = parseInt(d[0].getAttribute("accts_version")), Ga || c == vb + 1) { | |
e = d[0].getAttribute("newpassword"); | |
f = []; | |
for (var g = [], h = ""; d[0].hasAttribute("oldpassword" + h);) { | |
var l = parseInt(d[0].getAttribute("id" + h)), | |
n = d[0].getAttribute("oldpassword" + h), | |
p = z[l]; | |
kb(p.tld, g) || (g[g.length] = | |
p.tld); | |
p.password == n && (p.password = e); | |
if (p.logins) { | |
for (l = 0; l < p.logins.length; l++) { | |
p.logins[l].password == n && (p.logins[l].password = e); | |
for (var q = 0; q < p.logins[l].fields.length; q++) "password" == p.logins[l].fields[q].type && p.logins[l].fields[q].value == n && (p.logins[l].fields[q].value = e); | |
for (q = 0; q < p.logins[l].otherfields.length; q++) "password" == p.logins[l].otherfields[q].type && p.logins[l].otherfields[q].value == n && (p.logins[l].otherfields[q].value = e) | |
} | |
for (l = 0; l < p.otherlogins.length; l++) { | |
p.otherlogins[l].password == | |
n && (p.otherlogins[l].password = e); | |
for (q = 0; q < p.otherlogins[l].fields.length; q++) "password" == p.otherlogins[l].fields[q].type && p.otherlogins[l].fields[q].value == n && (p.otherlogins[l].fields[q].value = e); | |
for (q = 0; q < p.otherlogins[l].otherfields.length; q++) "password" == p.otherlogins[l].otherfields[q].type && p.otherlogins[l].otherfields[q].value == n && (p.otherlogins[l].otherfields[q].value = e) | |
} | |
} | |
f[f.length] = p; | |
"" == h ? h = 1 : h++ | |
} | |
kc = vb = c; | |
d = !0; | |
h = lc(); | |
null == h && (d = !1); | |
if (d) { | |
for (l = 0; l < f.length; l++) { | |
if (!nd(h, f[l].id, !1)) { | |
d = !1; | |
break | |
} | |
if (!Ad(h, f[l], !1)) { | |
d = !1; | |
break | |
} | |
} | |
for (l in z) z[l].genpw && kb(z[l].tld, g) && O(z[l].password, z[l], B) == Ya(e) && (nd(h, z[l].id, !0) || (d = !1)) | |
} | |
d && !Wd(h, c) && (d = !1); | |
d && !wc(h, null, "lpChangePwResponse_win") && (d = !1); | |
d ? Fb() : LP.lpGetAccounts() | |
} else LP.lpGetAccounts(); | |
else Ua("ErrorServerMsg") | |
} else ga("Problem with change pw response. status=" + c.status + " text= " + c.responseText, null), Ua("ErrorChangePwMsg") | |
} | |
function Mn(c, e) { | |
var f = cb(c), | |
d = null; | |
f && (d = f.contentWindow); | |
for (var f = [], g = 1E3, h = c.getElementsByTagName("object"), | |
l = 0; l < h.length; l++) | |
if ("" == h[l].style.visibility || "visible" == h[l].style.visibility) { | |
var n = h[l].id; | |
"" == n && (n = "lpobj" + g++, h[l].id = n); | |
h[l].style.visibility = "hidden"; | |
f[f.length] = n | |
} | |
l = c.getElementsByTagName("embed"); | |
for (h = 0; h < l.length; h++) | |
if ("" == l[h].style.visibility || "visible" == l[h].style.visibility) n = l[h].id, "" == n && (n = "lpobj" + g++, l[h].id = n), l[h].style.visibility = "hidden", f[f.length] = n; | |
l = c.getElementsByTagName("applet"); | |
for (h = 0; h < l.length; h++) | |
if ("" == l[h].style.visibility || "visible" == l[h].style.visibility) n = | |
l[h].id, "" == n && (n = "lpobj" + g++, l[h].id = n), l[h].style.visibility = "hidden", f[f.length] = n; | |
if ("undefined" != typeof FROMPARTNER && "undefined" != typeof z[e]) f = z[e], c.body && "undefined" != typeof f.submit_html && (d = c.createElement("div"), d.innerHTML = f.submit_html, c.body.appendChild(d)), "undefined" != typeof f.submit_js && LP.lpGetCurrentWindow().eval(f.submit_js), f.submit_js = "", f.submit_html = ""; | |
else { | |
g = c.createElement("script"); | |
n = 'function lphideoverlay(user){try{document.getElementById("lpoverlay1").style.display="none";document.getElementById("lpmsgbox1").style.display="none";'; | |
for (h = 0; h < f.length; h++) n += 'document.getElementById("' + ke(f[h]) + '").style.visibility="visible";'; | |
n += "if(user){var i=document.createElement('image'); i.src='" + LP.lp_base + "error.php?msg=userCloseOverlay%20aid%20" + (e ? e : "") + "'; i.style.display='none'; document.appendChild(i);}}catch(e){} }"; | |
n = c.createTextNode(n); | |
g.appendChild(n); | |
c.body && c.body.appendChild(g); | |
c.LPlphideIds = f; | |
if (c.getElementById("lpoverlay1") && c.getElementById("lpmsgbox1")) c.getElementById("lpoverlay1").style.display = "", c.getElementById("lpmsgbox1").style.display = | |
""; | |
else { | |
g = c.createElement("div"); | |
g.id = "lpoverlay1"; | |
n = 0; | |
"undefined" != typeof c.documentElement && "undefined" != typeof c.documentElement.scrollLeft && 0 < c.documentElement.scrollLeft ? n = c.documentElement.scrollLeft : "undefined" != typeof c.body && c.body && ("undefined" != typeof c.body.scrollLeft && 0 < c.body.scrollLeft) && (n = c.body.scrollLeft); | |
f = 0; | |
"undefined" != typeof c.documentElement && "undefined" != typeof c.documentElement.scrollTop && 0 < c.documentElement.scrollTop ? f = c.documentElement.scrollTop : "undefined" != typeof c.body && | |
c.body && ("undefined" != typeof c.body.scrollTop && 0 < c.body.scrollTop) && (f = c.body.scrollTop); | |
g.style.cssText = "position: absolute; left: " + n + "px; top: " + f + "px; width: 100%; height: 100%; background-color: #666666; opacity: .7; filter: alpha(opacity=70); z-index: 9980;"; | |
c.body && c.body.appendChild(g); | |
h = -1; | |
g = 200; | |
d && "undefined" != typeof d.innerWidth && 0 < d.innerWidth && (h = d.innerWidth); | |
if (0 >= h && ("undefined" != typeof c.documentElement && "undefined" != typeof c.documentElement.clientWidth && 0 < c.documentElement.clientWidth && | |
(h = c.documentElement.clientWidth), "undefined" != typeof c.body && c.body && "undefined" != typeof c.body.clientWidth && 0 < c.body.clientWidth && (0 >= h || c.body.clientWidth < h))) h = c.body.clientWidth; | |
300 < h && (g = h / 2 - 150); | |
g += n; | |
h = -1; | |
n = 200; | |
d && "undefined" != typeof d.innerHeight && 0 < d.innerHeight && (h = d.innerHeight); | |
if (0 >= h && ("undefined" != typeof c.documentElement && "undefined" != typeof c.documentElement.clientHeight && 0 < c.documentElement.clientHeight && (h = c.documentElement.clientHeight), "undefined" != typeof c.body && c.body && "undefined" != | |
typeof c.body.clientHeight && 0 < c.body.clientHeight && (0 >= h || c.body.clientHeight < h))) h = c.body.clientHeight; | |
0 < h && (n = h / 2 - 20); | |
n += f; | |
d = c.createElement("div"); | |
d.id = "lpmsgbox1"; | |
d.style.cssText = "background-color: white; color: black; border:1px solid #c01f2f; position:absolute; text-align:center; display:block; width:300px; height:auto; z-index: 9990; left: " + g + "px; top: " + n + "px; font-family:arial; font-size:13px;"; | |
f = "<div style='float:right'><a style='WIDTH:16px;HEIGHT:16px;COLOR:black;BACKGROUND-COLOR:white' href='#' onclick='lphideoverlay(1); return false;'><img alt=\"x\" src=\"data:image/gif;base64,R0lGODlhEAAQAIABAAAAAP///yH5BAEKAAEALAAAAAAQABAAAAIjjI+pq+DpAIwnSmRlbpmufjEbE4AiGFZWuWIe+7gpTNb2TRYAOw==\"/ border=0></a></div><br/><img src=\"data:image/gif;base64,R0lGODlhEAAQAPZVADsBAkECBFEGCmQDBGoEB3UIDWcOEn0dHnZGRnhBQntbXIILEoIMEoENFI8QGI0UHJMQGKERGqURGq4QGIsaIZ4fJq8WI68YJrQXJLIZJbgZJ7gZKLwcK74dLa4gKq4iLLUgLaApMLwpNrwsOKUzOcAfL8EhMcUjM8YkNMgoOJw+QKY8QtA5Sdo/T6dARa5FS6tOUr9MUqRRVrRVWY9pa5BmaZBqbMRKVNlRYclud/14iLyIiKuoqNGbneyPmfOAkPeElNGvsNO3t+aorfGjq+y/w8zMzNXU1N3S0t7W1t3a2uLR0e3U1vLd4OLh4ejo6Png4/bx8ff09Pr5+f7+/v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFYALAAAAAAQABAAAAfEgFaCVlCFhoWDgzk6QD+Oj0A6OYMyLSwdJR2amywtMoITKZgbFRsYIRqaKROCEpgZO1IkMFM7GJgSghGZKEVVQktVQyclJRG6JR8uM1NVVVEvKx7GyDHO11VUVTHUVgEECUlIR+RHSUoJBAGCAAMHKgpO8koIKgcDAIICCwwGRk89gjzhUYABAwGCGly4IIIIkxE3mvgAkeFCA0EPMBQ7gcNEio7FMDwQVAOCBQ6bNnGwAKHGIBoUHMicKZOCjUQ4cw4KBAA7\"/>" + | |
(" " + LP.lpgs("LoginOverlayText") + "<br/><span id='lpoverlaystatus' style='color:#c1243f;font-size:11px;'></span><br/><br/>"); | |
try { | |
d.innerHTML = f | |
} catch (p) { | |
hn(c); | |
return | |
} | |
c.body && c.body.appendChild(d) | |
} | |
} | |
} | |
function hn(c) { | |
if (cb(c)) { | |
var e = c.getElementById("lpoverlay1"); | |
e && (e.style.display = "none"); | |
if (e = c.getElementById("lpmsgbox1")) e.style.display = "none"; | |
if ("undefined" != typeof c.LPlphideIds) | |
for (e = 0; e < c.LPlphideIds.length; e++) { | |
var f = c.getElementById(c.LPlphideIds[e]); | |
f && (f.style.visibility = "visible") | |
} | |
} | |
} | |
function Nn(c, | |
e) { | |
c.getElementById("lpoverlaystatus") && (c.getElementById("lpoverlaystatus").innerHTML = e) | |
} | |
function tj(c, e, f, d, g, h) { | |
for (var l = 0; l < e.length; l++) { | |
var n = e[l]; | |
n == d ? c.push({ | |
type: f, | |
url: n, | |
domain: 0, | |
title: h | |
}) : n == g && c.push({ | |
type: f, | |
url: n, | |
domain: 1, | |
title: h | |
}) | |
} | |
} | |
function Nr(c, e) { | |
for (var f = -1, d = 0; d < c.length; d++) | |
if (c[d] == e) { | |
f = d; | |
break | |
} - 1 != f && c.splice(f, 1) | |
} | |
function ma() { | |
if (!Or && (Or = !0, null == Z)) try { | |
var c = "WINNT" == T["@mozilla.org/xre/app-info;1"].getService(ca.nsIXULRuntime).OS, | |
e = "Darwin" == T["@mozilla.org/xre/app-info;1"].getService(ca.nsIXULRuntime).OS, | |
f = "Linux" == T["@mozilla.org/xre/app-info;1"].getService(ca.nsIXULRuntime).OS, | |
d = -1 != T["@mozilla.org/xre/app-info;1"].getService(ca.nsIXULRuntime).XPCOMABI.indexOf("64"); | |
if (c || e || f) { | |
Components.utils["import"]("resource://gre/modules/ctypes.jsm"); | |
var g = __LOCATION__.parent.parent; | |
g.append("platform"); | |
for (var h = d ? 2 : 1, d = d ? 0 : -1; d < h; d++) try { | |
var l = g.clone(); | |
c ? (l.append(0 == d ? "WINNT_x86_64-msvc" : "WINNT_x86-msvc"), l.append("components"), l.append(0 == d ? "lpxpcom_x86_64.dll" : "lpxpcom.dll")) : e ? (l.append(0 == d ? "Darwin_x86_64-gcc3" : | |
"Darwin"), l.append("components"), l.append(0 == d ? "lpxpcom_x86_64.dylib" : "lpxpcom.dylib")) : f && (l.append(0 == d ? "Linux_x86_64-gcc3" : "Linux_x86-gcc3"), l.append("components"), l.append(0 == d ? "lpxpcom_x86_64.so" : "lpxpcom.so")); | |
if (l.exists()) { | |
sa = ctypes.open(l.path); | |
ua = c && 0 != d ? ctypes.winapi_abi : ctypes.default_abi; | |
Pr = l.path; | |
break | |
} | |
} catch (n) {} | |
if (null != sa) { | |
Hb = sa.declare("lp_free", ua, ctypes.void_t, ctypes.void_t.ptr); | |
sa.declare("lp_setusingctypes", ua, ctypes.void_t)(); | |
Z = { | |
encrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_encrypt", | |
ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
decrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_decrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
encryptcbc: function(c, d) { | |
try { | |
var e = sa.declare("lp_encryptcbc", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
decryptcbc: function(c, d) { | |
try { | |
var e = sa.declare("lp_decryptcbc", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
iscbcencrypted: function(c) { | |
try { | |
return sa.declare("lp_iscbcencrypted", ua, ctypes.bool, ctypes["char"].ptr)(c) | |
} catch (d) { | |
return !1 | |
} | |
}, | |
xCryptoHash: function(c) { | |
try { | |
var d = sa.declare("lp_xCryptoHash", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
xCryptoSHA256: function(c) { | |
try { | |
var d = sa.declare("lp_xCryptoSHA256", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
xCryptoBin2Hex: function(c) { | |
try { | |
var d = sa.declare("lp_xCryptoBin2Hex", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
xCryptoHex2Bin: function(c) { | |
try { | |
var d = sa.declare("lp_xCryptoHex2Bin", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
xCryptoEncrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoEncrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoDecrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoDecrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoEncryptCBC: function(c, | |
d) { | |
try { | |
var e = sa.declare("lp_xCryptoEncryptCBC", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoDecryptCBC: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoDecryptCBC", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoRSAGenerateKeys: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoRSAGenerateKeys", ua, ctypes["char"].ptr)(), | |
f; | |
if (e.isNull()) return !1; | |
f = e.readString(); | |
Hb(e); | |
var g = f.split("|"); | |
return 2 == g.length ? (c.value = Ie(g[0]), d.value = Ie(g[1]), !0) : !1 | |
} catch (h) { | |
return !1 | |
} | |
}, | |
xCryptoRSAGeneratePublic: function(c) { | |
try { | |
var d = sa.declare("lp_xCryptoRSAGeneratePublic", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
xCryptoRSAEncrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoRSAEncrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? | |
f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoRSADecrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoRSADecrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoRSASign: function(c, d) { | |
try { | |
var e = sa.declare("lp_xCryptoRSASign", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
xCryptoRSAVerify: function(c, | |
d, e) { | |
try { | |
return sa.declare("lp_xCryptoRSAVerify", ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e) | |
} catch (f) { | |
return !1 | |
} | |
}, | |
xGenerateKeys: function(c, d, e) { | |
try { | |
var f = sa.declare("lp_xGenerateKeys", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
g; | |
if (f.isNull()) return !1; | |
g = f.readString(); | |
Hb(f); | |
var h = g.split("|"); | |
return 2 == h.length ? (d.value = Ie(h[0]), e.value = Ie(h[1]), !0) : !1 | |
} catch (l) { | |
return !1 | |
} | |
}, | |
protect_data: function(c) { | |
try { | |
var d = sa.declare("lp_protect_data", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
unprotect_data: function(c) { | |
try { | |
var d = sa.declare("lp_unprotect_data", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
StartNamedPipeServer: function() { | |
try { | |
return sa.declare("lp_StartNamedPipeServer", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
SendNamedPipeMessage: function(c, d) { | |
try { | |
return sa.declare("lp_SendNamedPipeMessage", ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr)(c, | |
d) | |
} catch (e) { | |
return !1 | |
} | |
}, | |
SendNamedPipeMessageToAll: function(c) { | |
try { | |
return sa.declare("lp_SendNamedPipeMessageToAll", ua, ctypes.bool, ctypes["char"].ptr)(c) | |
} catch (d) { | |
return !1 | |
} | |
}, | |
NamedPipeNumClients: function() { | |
try { | |
return sa.declare("lp_NamedPipeNumClients", ua, ctypes["int"])() | |
} catch (c) { | |
return 0 | |
} | |
}, | |
trueapi_supported: function() { | |
try { | |
return sa.declare("lp_trueapi_supported", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
trueapi_store_hash: function(c, d) { | |
try { | |
return sa.declare("lp_trueapi_store_hash", ua, ctypes.bool, ctypes["char"].ptr, | |
ctypes["char"].ptr)(c, d) | |
} catch (e) { | |
return !1 | |
} | |
}, | |
trueapi_get_hash: function(c) { | |
try { | |
var d = sa.declare("lp_trueapi_get_hash", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
trueapi_store_default_login: function(c, d, e) { | |
try { | |
return sa.declare("lp_trueapi_store_default_login", ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e) | |
} catch (f) { | |
return !1 | |
} | |
}, | |
trueapi_get_default_login: function(c, d, e) { | |
try { | |
var f = sa.declare("lp_trueapi_get_default_login", | |
ua, ctypes["char"].ptr)(), | |
g; | |
if (f.isNull()) return !1; | |
g = f.readString(); | |
Hb(f); | |
var h = g.split("|"); | |
return 3 == h.length ? (c.value = Ie(h[0]), d.value = Ie(h[1]), e.value = Ie(h[2]), !0) : !1 | |
} catch (l) { | |
return !1 | |
} | |
}, | |
trueapi_default_login_exists: function(c) { | |
try { | |
return sa.declare("lp_trueapi_default_login_exists", ua, ctypes.bool, ctypes["char"].ptr)(c) | |
} catch (d) { | |
return !1 | |
} | |
}, | |
trueapi_delete_default_login: function() { | |
try { | |
return sa.declare("lp_trueapi_delete_default_login", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
getappdatapath: function() { | |
try { | |
var c = | |
sa.declare("lp_getappdatapath", ua, ctypes["char"].ptr)(), | |
d; | |
c.isNull() ? d = "" : (d = c.readString(), Hb(c)); | |
return d | |
} catch (e) { | |
return "" | |
} | |
}, | |
read_file: function(c) { | |
try { | |
var d = sa.declare("lp_read_file", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
write_file: function() { | |
try { | |
sa.declare("lp_write_file", ua, ctypes.void_t, ctypes["char"].ptr, ctypes["char"].ptr) | |
} catch (c) {} | |
}, | |
lpvt_supported: function() { | |
try { | |
return sa.declare("lp_lpvt_supported", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
lpvt_store_data: function(c, d, e, f, g) { | |
try { | |
return sa.declare("lp_lpvt_store_data", ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e, f, g) | |
} catch (h) { | |
return !1 | |
} | |
}, | |
lpvt_has_data: function() { | |
try { | |
return sa.declare("lp_lpvt_has_data", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
lpvt_verify_user: function(c, d, e, f, g) { | |
try { | |
var h = sa.declare("lp_lpvt_verify_user", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, | |
ctypes["char"].ptr)(c, d, e, f, g), | |
l; | |
h.isNull() ? l = "" : (l = h.readString(), Hb(h)); | |
return l | |
} catch (n) { | |
return "" | |
} | |
}, | |
lpvt_verify_file_contents: function(c) { | |
try { | |
return sa.declare("lp_lpvt_verify_file_contents", ua, ctypes.bool, ctypes["char"].ptr)(c) | |
} catch (d) { | |
return !1 | |
} | |
}, | |
lpvt_setup_if: function() { | |
try { | |
sa.declare("lp_lpvt_setup_if", ua, ctypes.void_t) | |
} catch (c) {} | |
}, | |
validity_supported: function() { | |
try { | |
return sa.declare("lp_validity_supported", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
validity_store_data: function(c, d, e, f) { | |
try { | |
return sa.declare("lp_validity_store_data", | |
ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e, f) | |
} catch (g) { | |
return !1 | |
} | |
}, | |
validity_has_data: function() { | |
try { | |
return sa.declare("lp_validity_has_data", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
validity_verify_user: function(c, d, e, f) { | |
try { | |
var g = sa.declare("lp_validity_verify_user", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e, f), | |
h; | |
g.isNull() ? h = "" : (h = g.readString(), Hb(g)); | |
return h | |
} catch (l) { | |
return "" | |
} | |
}, | |
winbio_supported: function() { | |
try { | |
return sa.declare("lp_winbio_supported", | |
ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
winbio_store_data: function(c, d, e, f) { | |
try { | |
return sa.declare("lp_winbio_store_data", ua, ctypes.bool, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d, e, f) | |
} catch (g) { | |
return !1 | |
} | |
}, | |
winbio_has_data: function() { | |
try { | |
return sa.declare("lp_winbio_has_data", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
winbio_verify_user: function(c, d, e, f) { | |
try { | |
var g = sa.declare("lp_winbio_verify_user", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, | |
ctypes["char"].ptr)(c, d, e, f), | |
h; | |
g.isNull() ? h = "" : (h = g.readString(), Hb(g)); | |
return h | |
} catch (l) { | |
return "" | |
} | |
}, | |
winbio_delete_default_login: function() { | |
try { | |
return sa.declare("lp_winbio_delete_default_login", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
winbio_has_fingerprints: function() { | |
try { | |
return sa.declare("lp_winbio_has_fingerprints", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
winbio_launch_enrollment: function() { | |
try { | |
sa.declare("lp_winbio_launch_enrollment", ua, ctypes.void_t)() | |
} catch (c) {} | |
}, | |
GetStringResource: function(c, d) { | |
try { | |
var e = | |
sa.declare("lp_GetStringResource", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["int"])(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
GetImageResource: function(c, d) { | |
try { | |
var e = sa.declare("lp_GetImageResource", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["int"])(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
GetAdditionalToolbarImages: function(c, d) { | |
try { | |
var e = sa.declare("lp_GetAdditionalToolbarImages", ua, ctypes["char"].ptr, ctypes["int"], | |
ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
AdditionalToolbarImagesClick: function(c) { | |
try { | |
sa.declare("lp_AdditionalToolbarImagesClick", ua, ctypes.void_t, ctypes["int"])(c) | |
} catch (d) {} | |
}, | |
LPShowLastPassSearch: function(c, d) { | |
try { | |
return sa.declare("lp_LPShowLastPassSearch", ua, ctypes["int"], ctypes["int"], ctypes["char"].ptr)(c, d) | |
} catch (e) { | |
return 0 | |
} | |
}, | |
LPSearchCoordinates: function(c, d, e, f, g, h) { | |
try { | |
return sa.declare("lp_LPSearchCoordinates", ua, ctypes["int"], ctypes["int"], | |
ctypes["char"].ptr, ctypes["int"], ctypes["int"], ctypes["int"], ctypes["int"])(c, d, e, f, g, h) | |
} catch (l) { | |
return 0 | |
} | |
}, | |
omnikey_supported: function() { | |
try { | |
return sa.declare("lp_omnikey_supported", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
omnikey_get_public_key: function(c) { | |
try { | |
var d = sa.declare("lp_omnikey_get_public_key", ua, ctypes["char"].ptr, ctypes["char"].ptr)(c), | |
e; | |
d.isNull() ? e = "" : (e = d.readString(), Hb(d)); | |
return e | |
} catch (f) { | |
return "" | |
} | |
}, | |
omnikey_encrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_omnikey_encrypt", ua, ctypes["char"].ptr, | |
ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
omnikey_decrypt: function(c, d) { | |
try { | |
var e = sa.declare("lp_omnikey_decrypt", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr)(c, d), | |
f; | |
e.isNull() ? f = "" : (f = e.readString(), Hb(e)); | |
return f | |
} catch (g) { | |
return "" | |
} | |
}, | |
LPGetIdleTimeTicks: function() { | |
try { | |
return sa.declare("lp_LPGetIdleTimeTicks", ua, ctypes.unsigned)() | |
} catch (c) { | |
return 0 | |
} | |
}, | |
launch_importer: function() { | |
try { | |
return sa.declare("lp_launch_importer", | |
ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
wlan_works: function() { | |
try { | |
return sa.declare("lp_wlan_works", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
wlan_pull_csv: function() { | |
try { | |
var c = sa.declare("lp_wlan_pull_csv", ua, ctypes["char"].ptr)(), | |
d; | |
c.isNull() ? d = "" : (d = c.readString(), Hb(c)); | |
return d | |
} catch (e) { | |
return "" | |
} | |
}, | |
wlan_push: function(c) { | |
try { | |
sa.declare("lp_wlan_push", ua, ctypes.void_t, ctypes["char"].ptr)(c) | |
} catch (d) {} | |
}, | |
wlan_has_exe: function() { | |
try { | |
return sa.declare("lp_wlan_has_exe", ua, ctypes.bool)() | |
} catch (c) { | |
return !1 | |
} | |
}, | |
run_file: function(c) { | |
try { | |
sa.declare("lp_run_file", ua, ctypes.void_t, ctypes["char"].ptr)(c) | |
} catch (d) {} | |
} | |
}; | |
try { | |
var p = sa.declare("lp_pbkdf2", ua, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["char"].ptr, ctypes["int"], ctypes["int"]); | |
"function" == typeof p && (Z.pbkdf2 = function(c, d, e, f) { | |
try { | |
var g = p(c, d, e, f), | |
h; | |
g.isNull() ? h = "" : (h = g.readString(), Hb(g)); | |
return h | |
} catch (l) { | |
return "" | |
} | |
}) | |
} catch (q) {} | |
} | |
} | |
} catch (r) {} | |
return null != Z | |
} | |
function Xh() { | |
return ma() | |
} | |
function Ya(c, e) { | |
On != ja && (On = ja, Le = [], Le[""] = ""); | |
"undefined" == typeof Le && | |
(Le = [], Le[""] = ""); | |
if ((null == e || e == ja) && null != Le[c]) return Le[c]; | |
var f = Pn(c, e); | |
if (null == e || e == ja) Le[c] = f; | |
return f | |
} | |
function Pn(c, e, f) { | |
if (null == c || 0 == c.length || "string" != typeof c) return ""; | |
var d = null; | |
if ("undefined" == typeof e || null == e) { | |
if ("string" != typeof ja || 0 == ja.length) return ""; | |
e = ja; | |
d = wf | |
} | |
null == d && (d = rb(e)); | |
if ("!" == c[0]) { | |
if (ma() && "function" == typeof Z.decryptcbc) c = Z.decryptcbc(d, c); | |
else { | |
e = Xa.StringToKeyIv(e, 256); | |
d = []; | |
for (oa = 0; oa < e.key.length; ++oa) d[oa] = e.key[oa]; | |
c = c.split("|", 2); | |
c = 2 !== c.length ? "" : Xa.Decrypt({ | |
key: d, | |
iv: Xa.B64ToBytes(c[0].substring(1)), | |
data: c[1], | |
b64: !0, | |
bits: 256, | |
mode: "cbc" | |
}) | |
} | |
return c | |
} | |
return ma() ? Z.decrypt(d, c) : Xa.Decrypt({ | |
pass: e, | |
data: c, | |
b64: !0, | |
mode: "ecb", | |
bits: 256 | |
}, f) | |
} | |
function Ie(c) { | |
try { | |
return atob(c) | |
} catch (e) { | |
ga("ERROR: lpatob: on string:" + c + " err:" + e + " ln: " + e.lineNumber, null) | |
} | |
return null | |
} | |
function Hk(c) { | |
try { | |
return btoa(c) | |
} catch (e) { | |
ga("ERROR: lpbtoa : " + e + " ln: " + e.lineNumber, null) | |
} | |
return null | |
} | |
function an(c, e, f) { | |
if (ma() && "function" == typeof Z.encryptcbc) return "" == f ? "" : Z.encryptcbc(f, c); | |
f = Xa.StringToKeyIv(e, | |
256); | |
e = []; | |
for (oa = 0; oa < f.key.length; ++oa) e[oa] = f.key[oa]; | |
f = Xa.CreateIV(16); | |
return "!" + Xa.eb64(f.str) + "|" + Xa.Encrypt({ | |
key: e, | |
iv: f.arr, | |
data: c, | |
b64: !0, | |
bits: 256, | |
mode: "cbc" | |
}) | |
} | |
function da(c, e, f) { | |
var d = null; | |
if ("undefined" == typeof e || null == e) { | |
if ("string" != typeof ja || 0 == ja.length || null == c || 0 == c.length) { | |
if (null != c && 0 != c.length && P) return ga("We're trying to encrypt a string, while logged in, but somehow we don't have the key, typeof:" + typeof ja, null), Sa(!1, "ff_nokey"), ""; | |
null == c || 0 == c.length || (d = "Was going to return unenc string back. length: " + | |
c.length + " typeof key: " + typeof ja + " loggedin: " + P + " called by: " + arguments.callee.caller.toString().substring(0, arguments.callee.caller.toString().indexOf("{")), ga(d, null)); | |
return "" | |
} | |
e = ja; | |
d = wf | |
} else if (null == c || 0 == c.length) return ""; | |
null == d && (d = rb(e)); | |
return "string" != typeof c ? "" : uj && !f ? an(c, e, d) : ma() ? Z.encrypt(d, c) : Xa.Encrypt({ | |
pass: e, | |
data: c, | |
b64: !0, | |
mode: "ecb", | |
bits: 256 | |
}) | |
} | |
function Qr(c, e) { | |
return Ya(c, e) | |
} | |
function ke(c) { | |
if ("string" != typeof c) { | |
try { | |
c = "" + c | |
} catch (e) {} | |
if ("string" != typeof c) return "" | |
} | |
c = c.replace(/\\/g, | |
"\\\\"); | |
c = c.replace(/'/g, "\\'"); | |
return c.replace(/"/g, '\\"') | |
} | |
function Rr() { | |
if (P && null == Yf("active")) { | |
var c = LP.lp_base + "poll_server.php", | |
e = ""; | |
if ((!ll || "" == Q || "" == Kc) && "" != ld && "" != Sc) c = c.replace(/^https:\/\//, "http://"), e = "sidhash=" + LP.en(Fa(Sc)); | |
sn && null != Wk && (e += "&mpstrength=" + LP.en(Wk)); | |
LP.lpMakeRequest(c, e, Kw); | |
vj = Ab() | |
} | |
} | |
function Kw(c) { | |
if (4 == c.readyState) | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
if (c = c.responseXML.documentElement.getElementsByTagName("ok"), 0 < c.length) { | |
ml = | |
"1" == c[0].getAttribute("logoff_other_ses") ? !0 : !1; | |
c[0].getAttribute("accts_version") > vb && LP.lpGetAccounts(); | |
var e = c[0].getAttribute("attachversion"); | |
if (null == bc || -1 == bc) try { | |
(bc = Je(ha + "_version.att", 25)) || (bc = 0) | |
} catch (f) { | |
eb(ha + "_version.att"), bc = 0 | |
} | |
e > bc && !LP.isFennec && (e = "version=" + LP.en(bc) + "&b64=1&chunked=1", LP.lpMakeRequest(LP.lp_base + "getattach.php", e, vn)); | |
sn = null != c[0].getAttribute("sendmpstrength") ? !0 : !1; | |
if ((e = c[0].getAttribute("note_title")) && e.length) { | |
var d = c[0].getAttribute("note_text"); | |
c = c[0].hasAttribute("note_url") ? | |
c[0].getAttribute("note_url") : null; | |
vc(e, null, 0, "viewalert", c, !0, d) | |
} | |
} | |
} else ga("Problem in poll_server_response. status=" + c.status, null) | |
} | |
function Aw(c) { | |
LP.lpanyopen(c.extra) | |
} | |
function Bw() {} | |
function Yg(c) { | |
if (!c) return ""; | |
var e = c.name; | |
c = fb(c, 0); | |
"" != c && (e += " (" + c + ")"); | |
return e | |
} | |
function fb(c, e) { | |
if (!c) return ""; | |
if (2 == e) return "undefined" == typeof c.url || "http://sn" == c.url || LP.is_application(c) ? "" : c.url; | |
if (LP.is_application(c)) { | |
for (var f = 0; f < c.fields.length; f++) { | |
var d = c.fields[f]; | |
if (0 == e && "" == d.type && "" != d.value || | |
1 == e && "password" == d.type && "" != d.value) return O(d.value, c, B) | |
} | |
return "" | |
} | |
if (!c.logins || 0 == c.logins.length) return ""; | |
if (c.save_all) | |
for (var g = 0; g < c.logins.length; g++) { | |
for (var h = c.logins[g], f = 0; f < h.otherfields.length; f++) | |
if (d = h.otherfields[f], 0 == e && ("text" == d.type || "email" == d.type || "tel" == d.type || "url" == d.type) && "" != d.value || 1 == e && "password" == d.type && "" != d.value) return O(d.value, c, B); | |
for (f = 0; f < h.fields.length; f++) | |
if (d = h.fields[f], 0 == e && ("text" == d.type || "email" == d.type || "tel" == d.type || "url" == d.type) && "" != | |
d.value || 1 == e && "password" == d.type && "" != d.value) return O(d.value, c, B) | |
} else { | |
if ("http://sn" == c.url) { | |
f = O(c.extra, c, B); | |
g = LP.getNoteValue("NoteType", f); | |
if ("undefined" != typeof yc[g] && "undefined" != typeof yc[g].Username && 0 == e) return LP.getNoteValue("Username", f); | |
if ("undefined" != typeof yc[g] && "undefined" != typeof yc[g].Password && 1 == e) return LP.getNoteValue("Password", f) | |
} | |
if (0 == e) return c.logins[0].unencryptedUsername; | |
if (1 == e) return O(c.logins[0].password, c, B) | |
} | |
return "" | |
} | |
function Lw(c, e) { | |
if (!c || !c.logins || 0 == c.logins.length) return !1; | |
if (c.save_all) | |
for (var f = 0; f < c.logins.length; f++) { | |
for (var d = c.logins[f], g = 0; g < d.otherfields.length; g++) { | |
var h = d.otherfields[g]; | |
if (0 == e && ("text" == h.type || "email" == h.type || "tel" == h.type || "url" == h.type) && "" != h.value || 1 == e && "password" == h.type && "" != h.value) return !0 | |
} | |
for (g = 0; g < d.fields.length; g++) | |
if (h = d.fields[g], 0 == e && ("text" == h.type || "email" == h.type || "tel" == h.type || "url" == h.type) && "" != h.value || 1 == e && "password" == h.type && "" != h.value) return !0 | |
} else { | |
if (0 == e) return "" != c.logins[0].unencryptedUsername; | |
if (1 == e) return "" != | |
c.logins[0].password | |
} | |
return !1 | |
} | |
function Qn(c, e) { | |
var f = 0, | |
d = T["@mozilla.org/passwordmanager;1"], | |
g, h; | |
d ? d = d.getService(ca.nsIPasswordManager) : (g = T["@mozilla.org/login-manager;1"].getService(ca.nsILoginManager), h = new Components.Constructor("@mozilla.org/login-manager/loginInfo;1", ca.nsILoginInfo, "init")); | |
for (var l in z) | |
if ("http://group" != z[l].url) { | |
var n = z[l]; | |
if (!(null != n.sharedfromaid && "" != n.sharedfromaid && "0" != n.sharedfromaid)) { | |
var p = null; | |
0 < n.logins.length && (p = n.logins[0]); | |
if (n.url.length && (e || c && n.url.match(/^chrome:/))) { | |
var q = | |
fb(n, 0), | |
r = fb(n, 1), | |
t = null, | |
A = n.url, | |
y = p.url; | |
n.url.match(/^chrome:/) && (p.uname = "", p.pname = ""); | |
if (n = n.url.match(/^(.*) \(([^\)]+)\)/)) t = n[2], A = n[1], y = null; | |
if ("" != r) { | |
(n = A.match(/^(https?:\/\/[^\/]+)\//)) && (A = n[1]); | |
y && (n = y.match(/^(https?:\/\/[^\/]+)\//)) && (y = n[1]); | |
try { | |
d ? d.addUser(Wa.URLToUnicode(A), q, r) : g.addLogin(new h(Wa.URLToUnicode(A), Wa.URLToUnicode(y), t, q, r, p.uname, p.pname)), f++ | |
} catch (J) {} | |
} | |
} | |
} | |
} | |
Bd("export"); | |
LP.lpalert_ex(LP.lpgs("LastPass accounts exported to Firefox") + ": " + f) | |
} | |
function Zf(c) { | |
c.match(/,|\r|\n|"/) && | |
(c = '"' + c.replace(/"/g, '""') + '"'); | |
return c | |
} | |
function Mw(c) { | |
c && 4 == c.readyState && (200 == c.status && (0 < c.responseText.indexOf("OK") ? (LP.lpGetAccounts(), Pc(), Rn = !0, Sn || LP.lpConfirmYesNo(LP.lpgs("FFImportSuccessful")) && Sr(nl)) : LP.lpalert_ex(LP.lpgs("FFImportFailed"))), Sn && LP.welcome_accept_click(ec, $f)) | |
} | |
function Sr(c) { | |
var e = T["@mozilla.org/passwordmanager;1"]; | |
if (e) { | |
pm = e.getService(ca.nsIPasswordManager); | |
for (e = 0; e < c.length; e++) pm.removeUser(c[e].login.host, c[e].login.user) | |
} else | |
for (var f = T["@mozilla.org/login-manager;1"].getService(ca.nsILoginManager), | |
e = 0; e < c.length; e++) f.removeLogin(c[e].login) | |
} | |
function Tr(c) { | |
if (LP.is_application(c)) c = LP.get_appaid(c), delete qb[c], LP.deleteAppAidIdentity(c); | |
else { | |
var e = z[c], | |
f = !1, | |
d = !1; | |
null == e && (e = Ia[c], f = !0); | |
null == e && (e = bd[c], d = !0); | |
var g = e.tld; | |
"undefined" != typeof la[g] && "undefined" != typeof la[g][c] && delete la[g][c]; | |
e.genpw && delete vf[c]; | |
if ("undefined" != typeof gb[g] && (e = gb[g], "undefined" != typeof gb[e])) | |
for (g = 0; g < gb[e][g]; g++) { | |
var h = gb[e][g]; | |
"undefined" != typeof la[h] && "undefined" != typeof la[h][c] && delete la[h][c] | |
} | |
f ? | |
delete Ia[c] : d || delete z[c]; | |
tf--; | |
LP.deleteAidIdentity(c); | |
for (f = 0; f < $a.length; f++) | |
if ($a[f].id == c) { | |
$a.splice(f, 1); | |
break | |
} | |
} | |
} | |
function Tn(c) { | |
if (4 == c.readyState) | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
var e = c.responseXML.documentElement.getElementsByTagName("result"); | |
if (0 < e.length && "delete" == e[0].getAttribute("action")) { | |
c = parseInt(e[0].getAttribute("accts_version")); | |
if (Ga || c == vb + 1) { | |
var f = e[0].getAttribute("aid"), | |
f = "" != f ? f.split(",") : []; | |
kc = vb = c; | |
var d = !0, | |
g = lc(); | |
null == g && | |
(d = !1); | |
for (var h = 0; h < f.length; h++) | |
if (LP.is_application(f[h]) || e[0].getAttribute("app")) { | |
if (d && !Qh(g, LP.get_appaid(f[h]), !0)) { | |
d = !1; | |
break | |
} | |
} else if (d && !nd(g, f[h], !0)) { | |
d = !1; | |
break | |
} | |
d && !Wd(g, c) && (d = !1); | |
d && !wc(g, null, "lpDeleteResponse") && (d = !1); | |
d ? Fb() : LP.lpGetAccounts() | |
} else LP.lpGetAccounts(); | |
Pc() | |
} else e = "Problem in lpDeleteResponse. status=" + c.status, ga(e, null), Ua("ErrorDeleteAcctMsg") | |
} else e = "Problem in lpDeleteResponse. status=" + c.status, ga(e, null), Ua("ErrorDeleteAcctMsg") | |
} | |
function Un(c, e) { | |
try { | |
var f = !0; | |
Ur = e; | |
var d = c.getElementById("nav-bar"); | |
if (d) { | |
var g = me(c, !0); | |
if (g && g.parentNode == d && !e) g.style.display = "none"; | |
else if (g && g.parentNode == d && e) g.style.display = ""; | |
else if (!g && e && "undefined" != typeof d.insertItem) { | |
d.insertItem("lpt_lastpass-compact-btn", null, null, !1); | |
var h = d.currentSet; | |
"string" == typeof h && "" != h && "lpt_lastpass-compact-btn" != h && -1 != h.indexOf("lpt_lastpass-compact-btn") ? (d.setAttribute("currentset", h), c.persist("nav-bar", "currentset")) : f = !1 | |
} | |
} | |
try { | |
LP.isFennecXUL && (c.getElementById("lpt_fennec-bar-login").height = | |
sb, c.getElementById("lpt_lpidentitiesmenu4").height = sb, ya(c, "lpt_lastpasshome1").height = sb, c.getElementById("lpt_fennec-securenotes").height = sb, c.getElementById("lpt_fennec-applications").height = sb, c.getElementById("lpt_lpfillformsmenu6").height = sb); | |
g = "sxipper onepass keepass clipperz ewallet fireform pwcoral passworddragon hppwsafe passwordsmax pins splashid sticky darnpasswords dashlane lastpass mypwsafe passpack pwsafe roboform turbopasswords passkeep csv msi pwagent".split(" "); | |
LP.sr(c, "lpt_viewSidebar", | |
"label", "LastPass Sites"); | |
LP.sr(c, "lpt_viewSidebar", "sidebartitle", "LastPass Sites"); | |
var l = me(c); | |
l && (l.setAttribute("label", LP.lpgs("LastPass")), l.setAttribute("tooltiptext", LP.lpgs("LastPass"))); | |
LP.sr(c, "lpt_comp-bar-login", "label", "Login"); | |
LP.sr(c, "lpt_lpidentitiesmenu1", "label", "Identities"); | |
LP.sr(c, "lpt_lastpasshome", "label", "My LastPass Vault"); | |
LP.sr(c, "lpt_lastpasshome1", "label", "My LastPass Vault"); | |
LP.sr(c, "lpt_lastpasshome", "hidden", ie); | |
LP.sr(c, "lpt_comp-bar-showmatchingsites", "label", "Show Matching Sites"); | |
LP.sr(c, "lpt_comp-bar-recentlyused", "label", "Recently Used"); | |
LP.sr(c, "lpt_non-comp-bar-recentlyused", "label", "Recently Used"); | |
var n = 0 == LP.get_recentUsedCount(); | |
LP.sr(c, "lpt_comp-bar-recentlyused", "hidden", n); | |
LP.sr(c, "lpt_non-comp-bar-recentlyused", "hidden", n); | |
LP.sr(c, "lpt_comp-bar-accts", "label", "Sites"); | |
LP.sr(c, "lpt_compbaritem", "label", "Retrieving Sites..."); | |
LP.sr(c, "lpt_compbaritem2", "label", "Retrieving Sites..."); | |
LP.sr(c, "lpt_comp-bar-accts2", "label", "Sites"); | |
LP.sr(c, "lpt_comp-bar-securenotes", | |
"label", "SecureNotes"); | |
LP.sr(c, "lpt_comp-bar-applications", "label", "Applications"); | |
LP.sr(c, "lpt_fennec-securenotes", "label", "SecureNotes"); | |
LP.sr(c, "lpt_fennec-applications", "label", "Applications"); | |
LP.sr(c, "lpt_comp-bar-securenotes", "hidden", Yd); | |
LP.sr(c, "lpt_comp-bar-fav", "label", "OpenFavorites"); | |
LP.sr(c, "lpt_lpfillformsmenu1", "label", "Form Fills"); | |
LP.sr(c, "lpt_lppreferences", "label", "Preferences"); | |
LP.sr(c, "lpt_lphelp", "label", "Help..."); | |
LP.sr(c, "lpt_comp-bar-tools", "label", "Tools"); | |
LP.sr(c, "lpt_comp-bar-advanced-tools", | |
"label", "Advanced Tools"); | |
LP.sr(c, "lpt_lpgenpw", "label", "Generate Secure Password"); | |
LP.sr(c, "lpt_lpsearch", "label", "Site Search"); | |
LP.sr(c, "lpt_lpsearch", "hidden", LP.getcontrol("hidesitesearch")); | |
LP.sr(c, "lpt_lprecheck", "label", "Recheck Page"); | |
LP.sr(c, "lpt_lprefresh", "label", "RefreshAccounts"); | |
LP.sr(c, "lpt_lprefresh", "hidden", Ga); | |
LP.sr(c, "lpt_comp-bar-fav", "hidden", LP.getcontrol("hideopenfavorites")); | |
ag && LP.sr(c, "lpt_lpimportfrom", "hidden", ag); | |
LP.sr(c, "lpt_lpimportfrom", "label", "Import From"); | |
LP.sr(c, | |
"lpt_lpimportff", "label", "Firefox Password Manager"); | |
LP.sr(c, "lpt_lpimportwl", "hidden", Oc || Dd || LP.getcontrol("hidewlanimport") || !LP.lpis_win && !LP.lpis_mac ? !0 : !1); | |
LP.sr(c, "lpt_lpimportwl", "label", "Wi-Fi Passwords"); | |
LP.sr(c, "lpt_lpimportsxipper", "label", "Sxipper"); | |
LP.sr(c, "lpt_lpimportonepass", "label", "1Password"); | |
LP.sr(c, "lpt_lpimportkeepass", "label", "KeePass"); | |
LP.sr(c, "lpt_lpimportclipperz", "label", "Clipperz"); | |
LP.sr(c, "lpt_lpimportewallet", "label", "eWallet"); | |
LP.sr(c, "lpt_lpimportfireform", "label", | |
"FireForm"); | |
LP.sr(c, "lpt_lpimportpwcoral", "label", "Password Corral"); | |
LP.sr(c, "lpt_lpimportpassworddragon", "label", "Password Dragon"); | |
LP.sr(c, "lpt_lpimporthppwsafe", "label", "HP Password Safe"); | |
LP.sr(c, "lpt_lpimportpasswordsmax", "label", "Passwords Max"); | |
LP.sr(c, "lpt_lpimportpins", "label", "PINs Password Manager"); | |
LP.sr(c, "lpt_lpimportsplashid", "label", "SplashID"); | |
LP.sr(c, "lpt_lpimportsticky", "label", "Sticky Password"); | |
LP.sr(c, "lpt_lpimportdarnpasswords", "label", "Darn! Passwords!"); | |
LP.sr(c, "lpt_lpimportdashlane", | |
"label", "Dashlane"); | |
LP.sr(c, "lpt_lpimportlastpass", "label", "LastPass"); | |
LP.sr(c, "lpt_lpimportmypwsafe", "label", "MyPasswordSafe"); | |
LP.sr(c, "lpt_lpimportpasspack", "label", "PassPack"); | |
LP.sr(c, "lpt_lpimportpwsafe", "label", "Password Safe"); | |
LP.sr(c, "lpt_lpimportroboform", "label", "RoboForm"); | |
LP.sr(c, "lpt_lpimportturbopasswords", "label", "TurboPasswords"); | |
LP.sr(c, "lpt_lpimportpasskeep", "label", "Password Keeper"); | |
LP.sr(c, "lpt_lpimportcsv", "label", "Generic CSV File"); | |
LP.sr(c, "lpt_lpimportmsi", "label", "MSI PasswordKeeper"); | |
LP.sr(c, "lpt_lpimportpwagent", "label", "Password Agent"); | |
if (Ga) | |
for (var p = 0; p < g.length; p++) LP.sr(c, "lpt_lpimport" + g[p], "hidden", !0); | |
for (p = 1; ya(c, "lpt_lpimport" + p); p++) LP.sr(c, "lpt_lpimport" + p, "label", "Import"), LP.sr(c, "lpt_lpinstructions" + p, "label", "Instructions"); | |
bg && LP.sr(c, "lpt_lpexportto", "hidden", bg); | |
LP.sr(c, "lpt_lpexportto", "label", "Export To"); | |
LP.sr(c, "lpt_lpexportcsv", "label", "LastPass CSV File"); | |
LP.sr(c, "lpt_lpexportff", "label", "Firefox"); | |
LP.sr(c, "lpt_lpexportenc", "label", "LastPass Encrypted File"); | |
LP.sr(c, "lpt_lpexportwl", "hidden", Oc || Dd || LP.getcontrol("hidewlanexport") || !LP.lpis_win ? !0 : !1); | |
LP.sr(c, "lpt_lpexportwl", "label", "Wi-Fi Passwords"); | |
LP.sr(c, "lpt_lpexportformfill", "label", "Form Fill Profiles"); | |
bh && LP.sr(c, "lpt_lpprint", "hidden", bh); | |
LP.sr(c, "lpt_lpprint", "label", "Print"); | |
LP.sr(c, "lpt_lpprintaccounts", "label", "Sites"); | |
LP.sr(c, "lpt_lpprintsn", "label", "SecureNotes"); | |
LP.sr(c, "lpt_lpprintsn", "hidden", Yd); | |
LP.sr(c, "lpt_lpabout", "label", "About..."); | |
LP.sr(c, "lpt_lpabout", "hidden", LP.getcontrol("hideabout")); | |
LP.sr(c, "lpt_lpseccheck", "label", "Security Check"); | |
LP.sr(c, "lpt_lpseccheck", "hidden", Ga || LP.getcontrol("hideseccheck")); | |
LP.sr(c, "lpt_lpothersessions", "label", "Other Sessions"); | |
LP.sr(c, "lpt_lpothersessions", "hidden", Ga || LP.getcontrol("hideothersessions")); | |
LP.sr(c, "lpt_lpmyaccount", "label", "My Account"); | |
LP.sr(c, "lpt_lpmyaccount", "hidden", Ga || LP.getcontrol("hidemyaccount")); | |
LP.sr(c, "lpt_lpclearcache1", "label", "Clear Local Cache"); | |
LP.sr(c, "lpt_lpclearcache1", "hidden", Ga || LP.getcontrol("hideclearcache")); | |
LP.sr(c, "lpt_lpclearcache2", "label", "Clear Local Cache"); | |
LP.sr(c, "lpt_lpclearcache2", "hidden", Ga || LP.getcontrol("hideclearcache")); | |
LP.sr(c, "lpt_lpedit", "label", "Edit"); | |
LP.sr(c, "lpt_lpdelete", "label", "Delete"); | |
LP.sr(c, "lpt_lpgotourl", "label", "Go to URL"); | |
LP.sr(c, "lpt_lpcopyun", "label", "Copy Username"); | |
LP.sr(c, "lpt_lpcopypw", "label", "Copy Password"); | |
LP.sr(c, "lpt_lpcopyurl", "label", "Copy URL"); | |
LP.sr(c, "lpt_lastpass-toolbar", "toolbarname", "LastPassToolbar"); | |
LP.sr(c, "lpt_lastpass-login", "label", "Login"); | |
LP.sr(c, "lpt_lastpass-com", "label", "My LastPass Vault"); | |
LP.sr(c, "lpt_lastpass-com", "hidden", ie); | |
LP.sr(c, "lpt_lastpass-com-sep", "hidden", ie); | |
LP.sr(c, "lpt_lastpass-accts-btn", "label", "Sites"); | |
LP.sr(c, "lpt_lastpassitem", "label", "Retrieving Sites..."); | |
LP.sr(c, "lpt_lastpass-securenotes-btn", "label", "SecureNotes"); | |
LP.sr(c, "lpt_lastpass-securenotes-btn", "hidden", Yd); | |
LP.sr(c, "lpt_lastpass-securenotes-sep", "hidden", Yd); | |
LP.sr(c, "lpt_lastpassitem2", "label", "Retrieving Sites..."); | |
LP.sr(c, "lpt_lastpass-fav", "label", | |
"OpenFavorites"); | |
LP.sr(c, "lpt_lpfillformsmenu2", "label", "Fill Forms"); | |
LP.sr(c, "lpt_lpfillformsmenu6", "label", "Fill Forms"); | |
LP.sr(c, "lpt_search-btn", "label", "Search"); | |
LP.sr(c, "lpt_tools-btn", "label", "Tools"); | |
LP.sr(c, "lpt_lpidentitiesmenu2", "label", "Identities"); | |
LP.sr(c, "lpt_prefs-btn", "label", "Preferences"); | |
LP.sr(c, "lpt_lpncgenpw", "label", "Generate Secure Password"); | |
LP.sr(c, "lpt_lpncrecheck", "label", "Recheck Page"); | |
LP.sr(c, "lpt_lpncrefresh", "label", "RefreshAccounts"); | |
LP.sr(c, "lpt_lpncrefresh", "hidden", | |
Ga); | |
LP.sr(c, "lpt_lastpass-fav", "hidden", LP.getcontrol("hideopenfavorites")); | |
ag && LP.sr(c, "lpt_lpncimportfrom", "hidden", ag); | |
LP.sr(c, "lpt_lpncimportfrom", "label", "Import From"); | |
LP.sr(c, "lpt_lpncimportff", "label", "Firefox Password Manager"); | |
LP.sr(c, "lpt_lpncimportwl", "hidden", Oc || Dd || LP.getcontrol("hidewlanimport") || !LP.lpis_win && !LP.lpis_mac ? !0 : !1); | |
LP.sr(c, "lpt_lpncimportwl", "label", "Wi-Fi Passwords"); | |
LP.sr(c, "lpt_lpncimportsxipper", "label", "Sxipper"); | |
LP.sr(c, "lpt_lpncimportonepass", "label", "1Password"); | |
LP.sr(c, "lpt_lpncimportkeepass", "label", "KeePass"); | |
LP.sr(c, "lpt_lpncimportclipperz", "label", "Clipperz"); | |
LP.sr(c, "lpt_lpncimportewallet", "label", "eWallet"); | |
LP.sr(c, "lpt_lpncimportfireform", "label", "FireForm"); | |
LP.sr(c, "lpt_lpncimportpwcoral", "label", "Password Corral"); | |
LP.sr(c, "lpt_lpncimportpassworddragon", "label", "Password Dragon"); | |
LP.sr(c, "lpt_lpncimporthppwsafe", "label", "HP Password Safe"); | |
LP.sr(c, "lpt_lpncimportpasswordsmax", "label", "Passwords Max"); | |
LP.sr(c, "lpt_lpncimportpins", "label", "PINs Password Manager"); | |
LP.sr(c, "lpt_lpncimportsplashid", "label", "SplashID"); | |
LP.sr(c, "lpt_lpncimportsticky", "label", "Sticky Password"); | |
LP.sr(c, "lpt_lpncimportdarnpasswords", "label", "Darn! Passwords!"); | |
LP.sr(c, "lpt_lpncimportdashlane", "label", "Dashlane"); | |
LP.sr(c, "lpt_lpncimportlastpass", "label", "LastPass"); | |
LP.sr(c, "lpt_lpncimportmypwsafe", "label", "MyPasswordSafe"); | |
LP.sr(c, "lpt_lpncimportpasspack", "label", "PassPack"); | |
LP.sr(c, "lpt_lpncimportpwsafe", "label", "Password Safe"); | |
LP.sr(c, "lpt_lpncimportroboform", "label", "RoboForm"); | |
LP.sr(c, "lpt_lpncimportturbopasswords", "label", "TurboPasswords"); | |
LP.sr(c, "lpt_lpncimportpasskeep", "label", "Password Keeper"); | |
LP.sr(c, "lpt_lpncimportcsv", "label", "Generic CSV File"); | |
LP.sr(c, "lpt_lpncimportmsi", "label", "MSI PasswordKeeper"); | |
for (p = 1; c.getElementById("lpt_lpncimport" + p); p++) LP.sr(c, "lpt_lpncimport" + p, "label", "Import"), LP.sr(c, "lpt_lpncinstructions" + p, "label", "Instructions"); | |
LP.sr(c, "lpt_lpncimportpwagent", "label", "Password Agent"); | |
if (Ga) | |
for (p = 0; p < g.length; p++) LP.sr(c, "lpt_lpncimport" + | |
g[p], "hidden", !0); | |
bg && LP.sr(c, "lpt_lpncexportto", "hidden", bg); | |
LP.sr(c, "lpt_lpncexportto", "label", "Export To"); | |
LP.sr(c, "lpt_lpncexportcsv", "label", "LastPass CSV File"); | |
LP.sr(c, "lpt_lpncexportff", "label", "Firefox"); | |
LP.sr(c, "lpt_lpncexportenc", "label", "LastPass Encrypted File"); | |
LP.sr(c, "lpt_lpncexportwl", "hidden", Oc || Dd || LP.getcontrol("hidewlanexport") || !LP.lpis_win ? !0 : !1); | |
LP.sr(c, "lpt_lpncexportwl", "label", "Wi-Fi Passwords"); | |
LP.sr(c, "lpt_lpncexportformfill", "label", "Form Fill Profiles"); | |
bh && LP.sr(c, | |
"lpt_lpncprint", "hidden", bh); | |
LP.sr(c, "lpt_lpncprint", "label", "Print"); | |
LP.sr(c, "lpt_lpncprintaccounts", "label", "Sites"); | |
LP.sr(c, "lpt_lpncprintsn", "label", "SecureNotes"); | |
LP.sr(c, "lpt_lpncprintsn", "hidden", Yd); | |
LP.sr(c, "lpt_lpnchelp", "label", "Help..."); | |
LP.sr(c, "lpt_lpncabout", "label", "About..."); | |
LP.sr(c, "lpt_lpncseccheck", "label", "Security Check"); | |
LP.sr(c, "lpt_lpncseccheck", "hidden", Ga); | |
LP.sr(c, "lpt_lpncothersessions", "label", "Other Sessions"); | |
LP.sr(c, "lpt_lpncothersessions", "hidden", Ga || LP.getcontrol("hideothersessions")); | |
LP.sr(c, "lpt_restart-btn", "label", "Restart Firefox"); | |
LP.sr(c, "lpt_admin-tools-btn", "label", "Admin Tools"); | |
LP.sr(c, "lpt_admin-tools-compact", "label", "Admin Tools"); | |
LP.sr(c, "lpt_upload-btn", "label", "Upload Forms"); | |
LP.sr(c, "lpt_upload-btn2", "label", "Upload Forms"); | |
LP.sr(c, "lpt_uploadall-btn", "label", "Upload All Forms"); | |
LP.sr(c, "lpt_uploadall-btn2", "label", "Upload All Forms"); | |
LP.sr(c, "lpt_debug-btn", "label", "EnableDebug"); | |
LP.sr(c, "lpt_debug-btn2", "label", "EnableDebug"); | |
LP.sr(c, "lpt_adminpage-btn", "label", | |
"Admin Page"); | |
LP.sr(c, "lpt_adminpage-btn2", "label", "Admin Page"); | |
LP.sr(c, "lpt_testxpcom-btn", "label", "Test XPCOM"); | |
LP.sr(c, "lpt_testxpcom-btn2", "label", "Test XPCOM"); | |
LP.sr(c, "lpt_lpcontentareacontextmenu", "label", "LastPass"); | |
LP.sr(c, "lpt_lpcontextgenpw", "label", "Generate Secure Password"); | |
LP.sr(c, "lpt_lpcontextrecheck", "label", "Recheck Page"); | |
LP.sr(c, "lpt_lpcopyusernamemenu", "label", "Copy Username"); | |
LP.sr(c, "lpt_lpcopypasswordmenu", "label", "Copy Password"); | |
LP.sr(c, "lpt_lpcopyurlmenu", "label", "Copy URL"); | |
LP.sr(c, "lpt_lpautofillmenu", "label", "AutoFill"); | |
LP.sr(c, "lpt_lpfillformsmenu4", "label", "LastPass Fill Forms"); | |
LP.sr(c, "lpt_lplogintolastpass", "label", "Login to LastPass"); | |
3 > LP.lp_getFFVersionFloat() ? LP.sr(c, "lpt_menu_search_box", "hidden", !0) : LP.sr(c, "lpt_menu_search_box", "placeholder", "Search LastPass Vault") | |
} catch (q) { | |
ga("set_toolbar_text: " + q + " ln: " + q.lineNumber) | |
} | |
var r = c.getElementById("lpt_lastpass-toolbar"); | |
if (r) { | |
if (LP.is_palemoon(c) && d) { | |
var t = c.getElementById("navigator-toolbox"), | |
A = c.getElementById("lpt_site-context-menu"); | |
t && d.parentNode == t && (r.parentNode == t && A.parentNode == t) && (t.removeChild(A), t.removeChild(r), e ? (t.insertBefore(A, d), t.insertBefore(r, d)) : (t.appendChild(A), t.appendChild(r))) | |
} | |
r.hidden = e | |
} | |
var y = c.getElementById("lpt_lp-statusbarpanel"); | |
y && (y.hidden = Nw || e); | |
P && (LP.lp_handle_buttons("in", c), LP.lpDisplayAccounts_win(c)); | |
Vn(c); | |
Vr(c); | |
if (!LP.lpprefsHasUserValue("toolbarinitdone", !1) || LP.lpprefsGetBoolPref("toolbarinitdone", !1) != f || !LP.lpprefsHasUserValue("toolbarinitversion", !1) || 3 != LP.lpprefsGetIntPref("toolbarinitversion", !1)) LP.lpprefsSetBoolPref("toolbarinitdone", f, !1), f && LP.lpprefsSetIntPref("toolbarinitversion", 3, !1), LP.flush_prefs() | |
} catch (J) { | |
ga("lpChangeToolbarMode_win: " + J + " ln: " + J.lineNumber) | |
} | |
} | |
function lf() { | |
var c = Yh; | |
c != Ur && LP.lpUpdateAllToolbars(c) | |
} | |
function Tf(c, e) { | |
if (e && !LP.lpis_win || 0 == c.length || Vf()) return c; | |
if (ma() && "function" == typeof Z.protect_data) { | |
var f = Z.protect_data(c); | |
if (null != f && ("" != f || "" == c)) return f | |
} | |
return c | |
} | |
function Ih(c, e) { | |
if (e && !LP.lpis_win || c.match(/=[^=]/) || 0 == c.length || Vf()) return c; | |
if (ma() && | |
"function" == typeof Z.unprotect_data) { | |
var f = Z.unprotect_data(c); | |
if (null != f && ("" != f || "" == c)) return f | |
} | |
return c | |
} | |
function ol(c, e) { | |
var f = T["@mozilla.org/embedcomp/prompt-service;1"].getService(ca.nsIPromptService); | |
e || (e = LP.lpGetCurrentWindow()); | |
return 0 == f.confirmEx(e, LP.lpgs("LastPass FF Toolbar"), c, f.STD_YES_NO_BUTTONS, null, null, null, null, { | |
value: !1 | |
}) | |
} | |
function Cb(c, e) { | |
var f = T["@mozilla.org/embedcomp/prompt-service;1"].getService(ca.nsIPromptService), | |
d = ""; | |
"undefined" != typeof LP && "undefined" != typeof LP.lpformalname && | |
(e || (e = LP.lpGetCurrentWindow()), d = LP.lpformalname); | |
f.alert(e, d, c) | |
} | |
function Wr(c) { | |
if ("" == c || null == c) return ""; | |
var e = T["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(ca.nsIScriptableUnicodeConverter); | |
e.charset = "UTF-8"; | |
var f = T["@mozilla.org/security/hash;1"].createInstance(ca.nsICryptoHash); | |
c = e.convertToByteArray(c, {}); | |
f.init(f.MD5); | |
f.update(c, c.length); | |
return f.finish(!0) | |
} | |
function Fa(c) { | |
if ("" == c || null == c) return ""; | |
var e = T["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(ca.nsIScriptableUnicodeConverter); | |
e.charset = "UTF-8"; | |
var f = T["@mozilla.org/security/hash;1"].createInstance(ca.nsICryptoHash); | |
c = e.convertToByteArray(c, {}); | |
f.init(f.SHA256); | |
f.update(c, c.length); | |
f = f.finish(!1); | |
e = ""; | |
for (c = 0; c < f.length; c++) { | |
var d; | |
d = ("0" + f.charCodeAt(c).toString(16)).slice(-2); | |
e += d | |
} | |
return e | |
} | |
function rb(c) { | |
return "" == c || null == c ? "" : Xa.bin2hex(c) | |
} | |
function Zb(c) { | |
return "" == c || null == c ? "" : Xa.hex2bin(c) | |
} | |
function Kb(c) { | |
return "" == c || null == c ? "" : Xa.hex2url(c) | |
} | |
function ac(c) { | |
return "" == c || null == c ? "" : Xa.url2hex(c) | |
} | |
function Pd(c, e, f) { | |
return "function" != | |
typeof LP.getBrowser().getNotificationBox ? !1 : (c = LP.getBrowser().getNotificationBox(c).currentNotification) && "undefined" != typeof c.choices && c.choices == e && (f || "undefined" == typeof c.lpoldnotification) ? !0 : !1 | |
} | |
function Zh() { | |
for (var c = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); c.hasMoreElements();) { | |
var e = c.getNext(); | |
Vn(e.document) | |
} | |
} | |
function Vn(c, e) { | |
for (var f = LP.lpprefsHasUserValue("defaultffid") ? LP.lpprefsGetCharPref("defaultffid") : "0", d = 1; 6 >= d; d++) { | |
var g = | |
"lpt_lpfillformsmenu" + d; | |
if (g = ya(c, g)) | |
if (P ? (g.disabled = !1, g.setAttribute("disabled", "false")) : (g.disabled = !0, g.setAttribute("disabled", "true")), g = "lpt_lpfillformspopup" + d, g = ya(c, g)) { | |
for (var h = g.childNodes.length - 1; 0 <= h; h--) g.removeChild(g.childNodes.item(h)); | |
for (var l = !1, n = !1, h = 0; h < ka.length; h++) { | |
0 == ka[h].profiletype && (l = !0); | |
"" != ka[h].ccnum && (n = !0); | |
if (LP.isFennec) { | |
var p = c.createElement("menuitem"); | |
p.height = sb; | |
p.setAttribute("label", ka[h].profilename); | |
(function(c) { | |
p.addEventListener("command", function() { | |
LP.lp_fillFormsHelper(c) | |
}) | |
})(ka[h].ffid); | |
f == ka[h].ffid && p.setAttribute("key", "lpt_key_lpdefaultffid") | |
} else { | |
p = c.createElement("menu"); | |
p.setAttribute("label", ka[h].profilename); | |
p.setAttribute("class", ""); | |
var q = c.createElement("menupopup"); | |
q.setAttribute("ignorekeys", !1); | |
if ("undefined" == typeof e || 1 != e) { | |
var r = c.createElement("menuitem"); | |
r.setAttribute("label", LP.lpgs("FillForm")); | |
(function(c) { | |
r.addEventListener("command", function() { | |
LP.lp_fillFormsHelper(c) | |
}) | |
})(ka[h].ffid); | |
f == ka[h].ffid && r.setAttribute("key", "lpt_key_lpdefaultffid"); | |
q.appendChild(r) | |
} | |
var t = | |
c.createElement("menuitem"); | |
t.setAttribute("label", LP.lpgs("Edit")); | |
(function(c) { | |
t.addEventListener("command", function() { | |
LP.lpEditFormFillProfile(c) | |
}) | |
})(ka[h].ffid); | |
q.appendChild(t); | |
var A = c.createElement("menuitem"); | |
A.setAttribute("label", LP.lpgs("Copy")); | |
(function(c) { | |
A.addEventListener("command", function() { | |
LP.lpCopyFormFillProfile(c) | |
}) | |
})(ka[h].ffid); | |
q.appendChild(A); | |
var y = c.createElement("menuitem"); | |
y.setAttribute("label", LP.lpgs("Delete")); | |
y.setAttribute("oncommand", "setTimeout('LP.lpDeleteFormFillProfile(" + | |
ka[h].ffid + ");', 0);"); | |
q.appendChild(y); | |
p.appendChild(q) | |
} | |
g.appendChild(p) | |
} | |
0 < ka.length && (p = c.createElement("menuseparator"), g.appendChild(p)); | |
LP.isFennec || (q = c.createElement("menuitem"), q.setAttribute("label", LP.lpgs("AddProfile")), q.addEventListener("command", function() { | |
LP.lpEditFormFillProfile(0) | |
}, !1), q.setAttribute("class", ""), g.appendChild(q), t = c.createElement("menuitem"), t.setAttribute("label", LP.lpgs("Add Credit Card")), t.addEventListener("command", function() { | |
LP.lpEditFormFillProfile(0, !1, 1) | |
}, !1), t.setAttribute("class", ""), g.appendChild(t)); | |
if ("undefined" == typeof e || 1 != e) r = c.createElement("menuitem"), LP.isFennec && (r.height = sb), r.setAttribute("label", LP.lpgs("Clear Forms")), r.addEventListener("command", function() { | |
LP.lpClearFormsHelper() | |
}, !1), g.appendChild(r), l && n && (A = c.createElement("menuitem"), LP.isFennec && (A.height = sb), A.setAttribute("label", LP.lpgs("Choose Profile and Credit Card")), A.addEventListener("command", function() { | |
LP.choose_profile_and_credit_card() | |
}, !1), g.appendChild(A)) | |
} | |
} | |
} | |
function pl() { | |
for (var c = T["@mozilla.org/appshell/window-mediator;1"].getService(ca.nsIWindowMediator).getEnumerator(""); c.hasMoreElements();) { | |
var e = c.getNext(); | |
Vr(e.document) | |
} | |
} | |
function Vr(c) { | |
LP.GetIdentity(); | |
for (var e = 1; 4 >= e; e++) { | |
var f = "lpt_lpidentitiesmenu" + e, | |
d = ya(c, f); | |
if (d && (LP.sr(c, f, "hidden", $h), !$h && (P ? (d.disabled = !1, d.setAttribute("disabled", "false"), d.setAttribute("label", LP.lpgs("Identities") + " (" + LP.GetIdentity(!0) + ")")) : (d.disabled = !0, d.setAttribute("disabled", "true"), d.setAttribute("label", | |
LP.lpgs("Identities"))), f = "lpt_lpidentitiespopup" + e, f = ya(c, f)))) { | |
for (var g = f.childNodes.length - 1; 0 <= g; g--) f.removeChild(f.childNodes.item(g)); | |
var d = "", | |
h = !1; | |
LP.lpprefsHasUserValue("identity") && (d = LP.lpprefsGetCharPref("identity")); | |
for (g = 0; g < Oa.length; g++) d == Oa[g].iid && (h = !0); | |
g = c.createElement("menuitem"); | |
LP.isFennec && (g.height = sb); | |
g.setAttribute("label", LP.lpgs("All")); | |
g.addEventListener("command", function() { | |
LP.lpIdentityHelper("") | |
}, !1); | |
h || (g.setAttribute("checked", "true"), g.setAttribute("type", "checkbox"), | |
g.setAttribute("autocheck", "false")); | |
f.appendChild(g); | |
for (g = 0; g < Oa.length; g++) h = c.createElement("menuitem"), LP.isFennec && (h.height = sb), h.setAttribute("label", Oa[g].iname), h.setAttribute("oncommand", "LP.lpIdentityHelper(" + Oa[g].iid + ");"), d == Oa[g].iid && (h.setAttribute("checked", "true"), h.setAttribute("type", "checkbox"), h.setAttribute("autocheck", "false")), f.appendChild(h); | |
h = c.createElement("menuseparator"); | |
f.appendChild(h); | |
d = c.createElement("menuitem"); | |
LP.isFennec && (d.height = sb); | |
d.setAttribute("label", | |
LP.lpgs("AddIdentity")); | |
d.addEventListener("command", function() { | |
LP.lpIdentityHelper("add") | |
}, !1); | |
f.appendChild(d) | |
} | |
} | |
} | |
function Me(c, e, f) { | |
(e = f.getElementById(e)) && c.removeChild(e) | |
} | |
function Ne(c, e, f, d, g, h) { | |
if (d) { | |
h = h.createElement("key"); | |
h.setAttribute("command", f); | |
h.setAttribute("id", e); | |
h.setAttribute("modifiers", g); | |
if (48 <= d && 122 >= d) h.setAttribute("key", String.fromCharCode(d)); | |
else if ("undefined" != typeof LP.mostRecent().KeyEvent) | |
for (var l in LP.mostRecent().KeyEvent) LP.mostRecent().KeyEvent[l] == d && h.setAttribute("keycode", | |
l.replace("DOM_", "")); | |
c.appendChild(h) | |
} | |
} | |
function ch(c, e, f) { | |
if (!un(c, f, "lpFieldsResponse") && (4 == c.readyState && 200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) && (c = c.responseXML.documentElement.getElementsByTagName("result"), !(0 < c.length && (c = parseInt(c[0].getAttribute("accts_version")), Ga || c == vb)))) LP.lpGetAccounts(), Pc() | |
} | |
function Xr() { | |
He = {}; | |
Yr++; | |
var c = !LP.lpprefsHasUserValue("searchNotes") || LP.lpprefsGetBoolPref("searchNotes") ? !0 : !1, | |
e = null, | |
f = ql(z, c); | |
for (e in f) He[e] = f[e]; | |
f = | |
ql(Ia, c); | |
for (e in f) He[e] = f[e]; | |
f = ql(qb, c); | |
for (e in f) He[e] = f[e]; | |
f = ql(bd, !1); | |
for (e in f) He[e] = f[e] | |
} | |
function ql(c, e) { | |
var f = {}, d; | |
for (d in c) { | |
var g = c[d], | |
h = "id" + LP.get_record_id(g); | |
"undefined" != typeof g.group && (g.group = LP.fix_group_name(g.group)); | |
if ("http://group" == g.url) "undefined" != typeof g.group && (f[h] = g.group.toLowerCase()); | |
else { | |
var l; | |
l = []; | |
l.push(g.name); | |
l.push(g.group); | |
"http://group" != g.url && "http://sn" != g.url && l.push(g.url); | |
g.unencryptedUsername && l.push(g.unencryptedUsername); | |
LP.is_application(g) && | |
(l.push(g.appname), l.push(fb(g, 0))); | |
if (e && "undefined" != typeof g.extra && 0 < g.extra.length && ("undefined" == typeof g.url || "http://group" != g.url)) g = O(g.extra, g, B), "" != g && l.push(g); | |
l = l.join(" "); | |
l = l.toLowerCase(); | |
f[h] = l | |
} | |
} | |
return f | |
} | |
function rl(c, e) { | |
for (var f = 1, d = "id" + c, g = 0; g < e.length; g++) | |
if (!(He[d] && -1 != He[d].indexOf(e[g]))) { | |
f = 0; | |
break | |
} | |
return f | |
} | |
function wj(c, e) { | |
c = c.toLowerCase(); | |
Zr++; | |
(null == He || 0 == He.length) && Xr(); | |
var f, d = c; | |
f = []; | |
if (d) | |
if (-1 == d.indexOf('"')) f = d.split(/\s+/); | |
else | |
for (var g = [], g = d.split('"'), d = | |
0; d < g.length; d++) | |
if (d % 2) f.push(g[d]); | |
else | |
for (var h = [], h = g[d].split(/\s+/), l = 0; l < h.length; l++) h[l] = h[l].replace(/^\s+/, ""), h[l] = h[l].replace(/\s+$/, ""), 0 < h[l].length && f.push(h[l]); | |
!LP.lpprefsHasUserValue("searchNotes") || LP.lpprefsGetBoolPref("searchNotes"); | |
var g = [], | |
n; | |
for (n in z) | |
if (d = z[n], e || "http://group" != d.url) d.isbookmark || rl(LP.get_record_id(d), f) && (g[g.length] = d); | |
for (n in Ia) d = Ia[n], rl(LP.get_record_id(d), f) && (g[g.length] = d); | |
for (n in bd) d = bd[n], rl(LP.get_record_id(d), f) && (g[g.length] = d); | |
for (n in qb) d = | |
qb[n], rl(LP.get_record_id(d), f) && (g[g.length] = d); | |
return g | |
} | |
function sl(c, e, f, d, g) { | |
if ("undefined" == typeof g || "" == g) g = e; | |
var h = e.match(/^(.*)\\(.*)$/); | |
if (h) { | |
var l = h[1]; | |
"" == l && (l = LP.get_null_group()); | |
g = "_" + l; | |
"undefined" == typeof d.c[g] && (l = sl(c, l, f, d), d.c[g] = l[0], d.i[g] = l[1]); | |
l = sl(c, h[2], f, d, e); | |
e = null; | |
for (f = 0; f < d.c[g].childNodes.length; f++) | |
if (c = d.c[g].childNodes[f], "true" != c.getAttribute("container")) { | |
e = c; | |
break | |
} else if (h[2].toLowerCase() < c.getAttribute("group").toLowerCase()) { | |
e = c; | |
break | |
} | |
e ? d.c[g].insertBefore(l[1], | |
e) : d.c[g].appendChild(l[1]); | |
return l | |
} | |
d = c.createElement("treeitem"); | |
d.setAttribute("container", "true"); | |
d.setAttribute("group", e); | |
d.setAttribute("orig_group", g); | |
d.setAttribute("isgroup", !0); | |
l = c.createElement("treerow"); | |
l.setAttribute("allowevents", "true"); | |
l.setAttribute("crop", "end"); | |
h = c.createElement("treecell"); | |
h.setAttribute("label", LP.fix_group_name(e)); | |
h.setAttribute("properties", "group"); | |
l.appendChild(h); | |
d.appendChild(l); | |
c = c.createElement("treechildren"); | |
d.appendChild(c); | |
"undefined" != typeof f[e] && | |
f[e] ? d.setAttribute("open", "false") : d.setAttribute("open", "true"); | |
h.setAttribute("src", LP.get_folder_image(g)); | |
return [c, d] | |
} | |
function hl(c) { | |
if (31536E3 > c) return LP.lpgs("Never"); | |
c = Ab() - c; | |
if (0 > c) return LP.lpgs("just now"); | |
if (60 > c) return c + " " + (1 == c ? LP.lpgs("second") : LP.lpgs("seconds")) + " " + LP.lpgs("ago"); | |
if (3600 > c) return c = Math.floor(c / 60), c + " " + (1 == c ? LP.lpgs("minute") : LP.lpgs("minutes")) + " " + LP.lpgs("ago"); | |
if (86400 > c) return c = Math.floor(c / 60 / 60), c + " " + (1 == c ? LP.lpgs("hour") : LP.lpgs("hours")) + " " + LP.lpgs("ago"); | |
if (604800 > c) return c = Math.floor(c / 60 / 60 / 24), c + " " + (1 == c ? LP.lpgs("day") : LP.lpgs("days")) + " " + LP.lpgs("ago"); | |
if (2678400 > c) return c = Math.floor(c / 60 / 60 / 24 / 7), c + " " + (1 == c ? LP.lpgs("week") : LP.lpgs("weeks")) + " " + LP.lpgs("ago"); | |
if (31536E3 > c) return c = Math.floor(c / 60 / 60 / 24 / 31), c + " " + (1 == c ? LP.lpgs("month") : LP.lpgs("months")) + " " + LP.lpgs("ago"); | |
c = Math.floor(c / 60 / 60 / 24 / 365); | |
return c + " " + (1 == c ? LP.lpgs("year") : LP.lpgs("years")) + " " + LP.lpgs("ago") | |
} | |
function lc(c, e, f, d) { | |
(new Date).getTime(); | |
c = "undefined" == typeof c ? | |
ha : c; | |
e = "undefined" == typeof e ? !0 : e; | |
f = "undefined" == typeof f ? !0 : f; | |
try { | |
var g = c + (ma() ? "_lps.act.sxml" : "_lp.act.xml"), | |
h; | |
if ("undefined" == typeof d || !d) { | |
if (h = Jb(g)) h = Ih(h, !0); | |
else if (h = Jb(c + "_lps.act.xml")) { | |
var l = Tf(h, !0); | |
Rb(c + "_lps.act.sxml", l); | |
eb(c + "_lps.act.xml") | |
} | |
if (!h) return null; | |
var n = LP.get_key_iterations(Q), | |
p = h.substring(0, 20); | |
if (0 == p.indexOf("iterations=")) { | |
var q = /iterations=(\d*);/.exec(p); | |
if (1 < q.length && n == q[1]) h = h.substring(h.indexOf(";") + 1); | |
else return null | |
} else if (1 != n) return null; | |
if (!e) return h; | |
ma() && (h = Pn(h)); | |
if (h && "" != h) { | |
c = null; | |
if (pc("password_offline") && "" != pc("password_offline") && 0 == h.substring(0, 30).indexOf("type=sesameoffline\ndata=")) h = h.substring(24), c = pc("password_offline"); | |
else if (cc("password_offline") && "" != cc("password_offline") && (0 == h.substring(0, 30).indexOf("type=trueapioffline\ndata=") || 0 == h.substring(0, 30).indexOf("type=omnikeyoffline\ndata="))) h = h.substring(25), c = cc("password_offline"); | |
else if (Pb("password_offline") && "" != Pb("password_offline") && 0 == h.substring(0, 30).indexOf("type=yubikeyoffline\ndata=")) h = | |
h.substring(25), c = Pb("password_offline"); | |
else if (Pb("password_server") && "" != Pb("password_server") && Pb("password_keysline") && "" != Pb("password_keysline") && 0 == h.substring(0, 50).indexOf("type=yubikeyofflinemulti\nkeys=")) { | |
var r = h.indexOf("\n", 30); | |
0 < r && (h.substring(30, r), h = h.substring(r + 6), c = Pb("password_server")) | |
} | |
c && (h = Pn(h, Zb(c))); | |
h && "LPB64" == h.substring(0, 5) && (h = atob(h.substring(5))); | |
h && "<?xml" != h.substring(0, 5) && ("LPAV" != h.substring(0, 4) && "LPB64" != h.substring(0, 5)) && (h = '<?xml version="1.0" encoding="UTF-8"?>' + | |
h) | |
} | |
} else h = d; if (!f) return h; | |
if ("LPAV" == h.substring(0, 4)) { | |
var t = { | |
sites: [], | |
securenotes: [], | |
prompts: [], | |
formfills: [], | |
identities: [], | |
equivalentdomains: [], | |
neverurls: [], | |
pendings: [], | |
shareeautopushes: [], | |
maxid: [], | |
urlrules: [], | |
groups: [], | |
prefs: [], | |
lpshares: [], | |
lp_attaches: [], | |
applications: [], | |
attachversion: [], | |
pending_pushed_sites: [] | |
}; | |
se = dh = ai = 0; | |
Sb = ja; | |
Ub = rb(Sb); | |
La = Xa; | |
xj = RegExp(LP.lpgs("ff_captcha_regexp"), "i"); | |
var A = Wn(h, h.length, -1, 0, Ow, t.sites, t.securenotes, t.prompts, t.formfills, t.identities, t.equivalentdomains, t.neverurls, !0, !0, null, t.pendings, t.shareeautopushes, t.maxid, t.urlrules, t.groups, t.prefs, eh, t.lpshares, null, null, null, t.applications, t.lp_attaches, t.attachversion, t.pending_pushed_sites); | |
Ub = Sb = ""; | |
A ? (t.encrypted_username = A, t.accts_version = parseInt(dl(h)), t.premium_exp = ai, t.enterpriseuser = dh, t.trueapi_trial_exp = se) : t = null; | |
return t | |
} | |
return "<?xml" != h.substring(0, 5) ? null : (t = T["@mozilla.org/xmlextras/domparser;1"].createInstance(ca.nsIDOMParser).parseFromString(h, "text/xml")) ? t : null | |
} catch (y) { | |
return null | |
} | |
} | |
function Ow(c, | |
e, f, d, g, h, l, n, p, q, r, t, A, y, J, u, s, jd, ia) { | |
for (f = 0; f < c.length; f++) c[f].url = Zb(c[f].url); | |
for (f = 0; f < e.length; f++) e[f].url = Zb(e[f].url); | |
for (f = 0; f < ia.length; f++) ia[f].appname = Zb(ia[f].appname); | |
y.maxid > Zd && (Zd = y.maxid); | |
return n ? r : !1 | |
} | |
function wc(c, e, f, d) { | |
(new Date).getTime(); | |
try { | |
var g; | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) { | |
Sb = ja; | |
Ub = rb(Sb); | |
La = Xa; | |
var h = c.accts_version, | |
l = c.sites, | |
n = c.securenotes, | |
p = c.prompts, | |
q = c.formfills, | |
r = c.identities, | |
t = c.equivalentdomains, | |
A = c.neverurls, | |
y = c.premium_exp, | |
J = | |
c.encrypted_username, | |
u = c.pendings, | |
s = c.shareeautopushes, | |
jd = Math.max(Zd, c.maxid.maxid), | |
ia = c.urlrules, | |
z = c.prefs, | |
F = c.lpshares, | |
B = c.applications, | |
C = c.enterpriseuser, | |
K = c.lp_attaches; | |
Lc = jd; | |
"number" != typeof Lc && (Lc = "undefined" != typeof Lc ? parseInt(Lc) : 0); | |
c = ""; | |
c += "LPAV" + D(h); | |
y && 0 != y && (c += "PREM" + D(y)); | |
se && 0 != se && (c += "TATE" + D(se)); | |
yj && 0 != yj && (c += "WOTE" + D(yj)); | |
Oe && 0 != Oe && (c += "FETE" + D(Oe)); | |
"undefined" != typeof J && "" != J && (c += "ENCU" + D(J)); | |
c += "CBCU" + D(uj ? "1" : "0"); | |
C && 0 != C && (c += "ENTU" + D(C)); | |
var C = {}, jd = 0, | |
h = [], | |
y = [], | |
J = [], | |
ea; | |
for (ea in l) | |
if (parseInt(ea) == ea) { | |
var ra = parseInt(l[ea].aid); | |
ra > Lc && (Lc = ra); | |
if ("undefined" != typeof l[ea].sharefolderid) { | |
var Y = l[ea].sharefolderid; | |
"undefined" == typeof h[Y] && (h[Y] = []); | |
h[Y].push(l[ea]) | |
} else { | |
var v = "undefined" != typeof l[ea].group ? l[ea].group : ""; | |
"" != v && ("undefined" == typeof C[v] && (C[v] = jd, ++jd), l[ea].groupid = C[v]); | |
c += Xn(l[ea]) | |
} | |
} | |
for (ea in n) parseInt(ea) == ea && (ra = parseInt(n[ea].aid), ra > Lc && (Lc = ra), "undefined" != typeof n[ea].sharefolderid ? (Y = n[ea].sharefolderid, "undefined" == typeof h[Y] && (h[Y] = []), h[Y].push(n[ea])) : (v = "undefined" != typeof n[ea].group ? n[ea].group : "", "" != v && ("undefined" == typeof C[v] && (C[v] = jd, ++jd), n[ea].groupid = C[v]), c += Xn(n[ea]))); | |
l = ""; | |
l += D(p.login_site_prompt ? "1" : "0"); | |
l += D(p.edit_site_prompt ? "1" : "0"); | |
l += D(p.edit_sn_prompt ? "1" : "0"); | |
l += D(p.view_pw_prompt ? "1" : "0"); | |
l += D(p.view_ff_prompt ? "1" : "0"); | |
l += D(p.improve ? "1" : "0"); | |
l += D(p.switch_identity_prompt ? "1" : "0"); | |
l += D(p.switch_f_prompt ? "1" : "0"); | |
l += D(p.multifactor_reprompt ? "1" : "0"); | |
l += D(p.company_login_site_prompt ? "1" : "0"); | |
l += D(p.company_copyview_site_prompt ? | |
"1" : "0"); | |
c += "SPMT" + D(l); | |
if (z) { | |
p = !1; | |
for (ea in z) { | |
p = !0; | |
break | |
} | |
p && (l = "", l += D(z.allowmasterpasswordsave), l += D(z.logoffclosebrowser), l += D(z.logoffidle), "undefined" == typeof z.noexport && (z.noexport = "0"), l += D(z.noexport), "undefined" == typeof z.logofflock && (z.logofflock = "0"), l += D(z.logofflock), "undefined" == typeof z.logoffscreen && (z.logoffscreen = "0"), l += D(z.logoffscreen), "undefined" == typeof z.logoffshutdown && (z.logoffshutdown = "0"), l += D(z.logoffshutdown), "undefined" == typeof z.sitepwlen && (z.sitepwlen = ""), l += D(z.sitepwlen), | |
"undefined" == typeof z.hideidentities && (z.hideidentities = "0"), l += D(z.hideidentities), "undefined" == typeof z.savesitestopersonal && (z.savesitestopersonal = ""), l += D(z.savesitestopersonal), c += "PREF" + D(l)) | |
} | |
if (q) { | |
var E = q.length; | |
for (ea = 0; ea < E; ea++) { | |
var H = q[ea], | |
l = "", | |
O = parseInt(H.ffid); | |
O > Lc && (Lc = O); | |
"undefined" != typeof H.sharefolderid ? (Y = H.sharefolderid, "undefined" == typeof J[Y] && (J[Y] = []), J[Y].push(H)) : c += $r(H) | |
} | |
} | |
if (t) | |
for (var G in t) | |
if ("function" != typeof t[G] && !G.match(/^[0-9]+$/)) { | |
var M = t[G], | |
l = "", | |
l = l + D(M), | |
l = l + | |
D(La.url2hex(G)); | |
c += "EQDN" + D(l) | |
} | |
if (r) { | |
E = r.length; | |
for (ea = 0; ea < E; ea++) { | |
var Q = r[ea], | |
l = "", | |
l = l + D(Q.iid), | |
l = l + D(Q.iname), | |
l = l + D(Q.aids), | |
l = l + D(Q.ffids), | |
l = l + D(("undefined" != typeof Q.pw_prompt ? Q.pw_prompt : "undefined" != typeof Q.pwprotect && Q.pwprotect) ? "1" : "0"), | |
l = l + D(Q.appaids); | |
c += "IDNT" + D(l) | |
} | |
} | |
if (u) { | |
var da = u.length; | |
for (ea = 0; ea < da; ea++) { | |
var Ma = u[ea], | |
l = "", | |
l = l + D(Ma.id), | |
l = l + D(Ma.fiid), | |
l = l + D(Ma.sharerusername), | |
l = l + D(Ma.sharedfromaid), | |
l = l + D(Ma.sharemessage), | |
l = l + D(Ma.sharekeyenchex), | |
l = l + D(Ma.sharekeyenchexsig), | |
l = l + D(Ma.sharename), | |
l = l + D(Ma.sharegroup), | |
l = l + D(Ma.username), | |
l = l + D(Ma.password), | |
l = l + D(Ma.extra), | |
l = l + D(Ma.shareautoaccept), | |
q = 0, | |
r = "", | |
w; | |
for (w in Ma.shareafids) q++, r += D(w), r += D(Ma.shareafids[w]); | |
l += D(q); | |
l += r; | |
c += "PNDG" + D(l) | |
} | |
} | |
try { | |
if (s) | |
for (ra in s) { | |
var L = s[ra][0], | |
l = "", | |
l = l + D(ra), | |
V; | |
for (V in L) "aid" != V && (l += D(V), l += D(L[V])); | |
c += "SHAP" + D(l) | |
} | |
} catch (Z) {} | |
if (A) { | |
for (ea = 0; | |
"undefined" != typeof A.neveraccounts && ea < A.neveraccounts.length; ea++) { | |
var W = D("0") + D(La.url2hex(A.neveraccounts[ea])); | |
c += "NEVR" + D(W) | |
} | |
for (ea = 0; | |
"undefined" != typeof A.nevergenerates && | |
ea < A.nevergenerates.length; ea++) W = D("1") + D(La.url2hex(A.nevergenerates[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.neverformfills && ea < A.neverformfills.length; ea++) W = D("2") + D(La.url2hex(A.neverformfills[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.neverautologins && ea < A.neverautologins.length; ea++) W = D("3") + D(La.url2hex(A.neverautologins[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.nevershowicons && ea < A.nevershowicons.length; ea++) W = D("6") + D(La.url2hex(A.nevershowicons[ea])), c += "NEVR" + | |
D(W); | |
for (ea = 0; | |
"undefined" != typeof A.onlyaccounts && ea < A.onlyaccounts.length; ea++) W = D("10000") + D(La.url2hex(A.onlyaccounts[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.onlygenerates && ea < A.onlygenerates.length; ea++) W = D("10001") + D(La.url2hex(A.onlygenerates[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.onlyformfills && ea < A.onlyformfills.length; ea++) W = D("10002") + D(La.url2hex(A.onlyformfills[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.onlyautologins && ea < A.onlyautologins.length; ea++) W = | |
D("10003") + D(La.url2hex(A.onlyautologins[ea])), c += "NEVR" + D(W); | |
for (ea = 0; | |
"undefined" != typeof A.onlyshowicons && ea < A.onlyshowicons.length; ea++) W = D("10006") + D(La.url2hex(A.onlyshowicons[ea])), c += "NEVR" + D(W) | |
} | |
if (ia) { | |
var ga = ia.length; | |
for (ea = 0; ea < ga; ea++) { | |
var ka = ia[ea], | |
l = "", | |
l = l + D(La.url2hex(ka.url)), | |
l = l + D(ka.exacthost), | |
l = l + D(ka.exactport); | |
c += "URUL" + D(l) | |
} | |
} | |
if (B) | |
for (ea in B) parseInt(ea) == ea && ("undefined" != typeof B[ea].sharefolderid ? (Y = B[ea].sharefolderid, "undefined" == typeof y[Y] && (y[Y] = []), y[Y].push(B[ea])) : | |
c += as(B[ea])); | |
if (K) | |
for (ea in K) parseInt(ea) == ea && (l = "", l += D(K[ea].id), l += D(K[ea].parent), l += D(K[ea].mimetype), c += "ATTA" + D(l)); | |
if (F && 0 < F.length) { | |
"string" == typeof cg && 0 < cg.length && (c += "PRIK" + D(cg)); | |
for (ea = 0; ea < F.length; ea++) { | |
var ba = F[ea], | |
l = "", | |
l = l + D(ba.id), | |
l = l + D(ba.sharekey), | |
l = l + D(ba.sharename), | |
l = l + D(ba.readonly), | |
l = l + D(ba.give), | |
l = l + D("undefined" != typeof ba.sharekeyaes ? ba.sharekeyaes : ""), | |
l = l + D("undefined" != typeof ba.associative ? ba.associative : "0"); | |
c += "SHAR" + D(l); | |
var ha = ba.key, | |
Y = ba.id; | |
for (w = 0; | |
"undefined" != | |
typeof h[Y] && w < h[Y].length; w++) { | |
var U = h[Y][w].group; | |
h[Y][w].group = h[Y][w].group.substr(ba.decsharename.length + 1); | |
c += Xn(h[Y][w], ha); | |
h[Y][w].group = U | |
} | |
for (w = 0; | |
"undefined" != typeof y[Y] && w < y[Y].length; w++) U = y[Y][w].group, y[Y][w].group = y[Y][w].group.substr(ba.decsharename.length + 1), c += as(y[Y][w], ha), y[Y][w].group = U; | |
for (w = 0; | |
"undefined" != typeof J[Y] && w < J[Y].length; w++) c += $r(J[Y][w], ha) | |
} | |
} | |
c += "MXID" + D(Lc); | |
g = c + ("ENDM" + D("OK")); | |
Ub = Sb = "" | |
} else if (g = T["@mozilla.org/xmlextras/xmlserializer;1"].getService(ca.nsIDOMSerializer).serializeToString(c.documentElement), !g || "" == g) return !1; | |
return d ? g : Yn(g, e, f) | |
} catch (P) { | |
return !1 | |
} | |
} | |
function Yn(c, e, f) { | |
if (!c || "" == c) return !1; | |
try { | |
"LPAV" == c.substring(0, 4) && ma() && (c = "LPB64" + btoa(c)); | |
var d = null, | |
g = ""; | |
pc("password_offline") && "" != pc("password_offline") ? (d = pc("password_offline"), 0 == c.substring(0, 38).indexOf('<?xml version="1.0" encoding="UTF-8"?>') && (c = c.substring(38)), g = "type=sesameoffline\ndata=") : cc("password_offline") && "" != cc("password_offline") ? (d = cc("password_offline"), 0 == c.substring(0, 38).indexOf('<?xml version="1.0" encoding="UTF-8"?>') && | |
(c = c.substring(38)), g = "type=" + cc("type") + "offline\ndata=") : Pb("password_offline") && "" != Pb("password_offline") && (!Pb("password_keysline") || "" == Pb("password_keysline") || !Pb("password_server") || "" == Pb("password_server") ? (d = Pb("password_offline"), g = "type=yubikeyoffline\ndata=") : (d = Pb("password_server"), g = "type=yubikeyofflinemulti\nkeys=" + Pb("password_keysline") + "\ndata="), 0 == c.substring(0, 38).indexOf('<?xml version="1.0" encoding="UTF-8"?>') && (c = c.substring(38))); | |
if (d) { | |
c = da(c, Zb(d)); | |
if (!c || "" == c) return !1; | |
c = g + c | |
} | |
d = null; | |
if (ma()) { | |
d = da(c); | |
if (!d || "" == d) return !1; | |
var h = LP.get_key_iterations(Q); | |
1 < h && (d = "iterations=" + h + ";" + d); | |
"lpOpenExport" != f && (d = Tf(d, !0)); | |
Rb(ha + "_lps.act.sxml", d, e) | |
} else d = c, h = LP.get_key_iterations(Q), 1 < h && (d = "iterations=" + h + ";" + d), Rb(ha + "_lp.act.xml", d, e); | |
Ga && "ChangeMasterPassword" != f && LP.setTimeout(function() { | |
Gc("refresh_local", { | |
data0: ha | |
}) | |
}, 1E3); | |
return !0 | |
} catch (l) { | |
return !1 | |
} | |
} | |
function Wd(c, e) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) return c.accts_version = e, !0; | |
var f = c.getElementsByTagName("accounts"); | |
return 0 < f.length ? (f[0].setAttribute("accts_version", e), !0) : !1 | |
} catch (d) { | |
return !1 | |
} | |
} | |
function Vg(c) { | |
try { | |
var e; | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) e = c.accts_version; | |
else { | |
var f = c.getElementsByTagName("accounts"); | |
if (0 < f.length) e = parseInt(f[0].getAttribute("accts_version")); | |
else return !1 | |
} | |
kc = e + 1; | |
return Wd(c, e + 1) | |
} catch (d) { | |
return !1 | |
} | |
} | |
function nd(c, e, f) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var d = 1; 2 >= d; d++) | |
for (var g = 1 == d ? c.sites : c.securenotes, h = 0; h < g.length; h++) { | |
if (g[h].aid == | |
e) return g.splice(h, 1), f ? bs(c, e) : !0 | |
} else { | |
h = c.getElementsByTagName("account"); | |
for (d = 0; d < h.length; d++) | |
if (h[d].getAttribute("id") == e) { | |
var l = h[d].parentNode; | |
if (l) return l.removeChild(h[d]), f ? bs(c, e) : !0; | |
break | |
} | |
} | |
return !1 | |
} catch (n) { | |
return !1 | |
} | |
} | |
function Ad(c, e, f) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) { | |
var d = []; | |
d.individualshare = "undefined" != typeof e.individualshare ? e.individualshare : !1; | |
d.aid = e.id; | |
d.name = e.name; | |
d.group = e.group != LP.get_null_group() ? e.group : ""; | |
d.url = e.url; | |
d.extra = za(e.extra); | |
d.fav = e.fav; | |
d.sharedfromaid = e.sharedfromaid; | |
d.pwprotect = e.pwprotect; | |
d.genpw = e.genpw; | |
d.sn = e.sn; | |
d.last_touch = e.last_touch; | |
d.autologin = "1" == e.autologin; | |
d.never_autofill = "1" == e.never_autofill; | |
d.realm_data = za(wa(e.realm, e, B)); | |
d.fiid = e.id; | |
d.basic_auth = e.basic_auth ? "1" : "0"; | |
d.fields = []; | |
"undefined" != typeof e.sharefolderid && (d.sharefolderid = e.sharefolderid); | |
d.attachkey = e.attachkey; | |
d.attachpresent = e.attachpresent; | |
for (var g = 0; g < e.logins.length; g++) { | |
var h = e.logins[g]; | |
0 == g && (d.username = za(h.username), d.password = | |
za(h.password), d.custom_js = h.custom_js, d.submit_id = h.submit_id, d.captcha_id = h.captcha_id, d.urid = h.urid, d.method = h.method, d.action = h.action); | |
for (var l = 0; l < h.fields.length; l++) { | |
var n = h.fields[l], | |
p = []; | |
p.otherfield = !1; | |
p.name = n.name; | |
p.type = n.type; | |
p.value = n.value; | |
if ("email" == p.type || "tel" == p.type || "url" == p.type || "text" == p.type || "password" == p.type || "textarea" == p.type) p.value = za(p.value); | |
p.checked = ("radio" == n.type || "checkbox" == n.type) && n.checked; | |
p.formname = ""; | |
p.urid = h.urid; | |
p.otherlogin = "0"; | |
p.url = 0 < g ? ac(h.url) : | |
""; | |
d.fields.push(p) | |
} | |
for (l = 0; l < h.otherfields.length; l++) { | |
n = h.otherfields[l]; | |
p = []; | |
p.otherfield = !0; | |
p.name = n.name; | |
p.type = n.type; | |
p.value = n.value; | |
if ("email" == p.type || "tel" == p.type || "url" == p.type || "text" == p.type || "password" == p.type || "textarea" == p.type) p.value = za(p.value); | |
p.checked = ("radio" == n.type || "checkbox" == n.type) && n.checked; | |
p.formname = n.formname; | |
p.urid = h.urid; | |
p.otherlogin = "0"; | |
p.url = 0 < g ? ac(h.url) : ""; | |
d.save_all = 0 == d.username.length && 0 == d.password.length; | |
d.fields.push(p) | |
} | |
} | |
for (g = 0; g < e.otherlogins.length; g++) { | |
h = | |
e.otherlogins[g]; | |
for (l = 0; l < h.fields.length; l++) { | |
n = h.fields[l]; | |
p = []; | |
p.otherfield = !1; | |
p.name = n.name; | |
p.type = n.type; | |
p.value = n.value; | |
if ("email" == p.type || "tel" == p.type || "url" == p.type || "text" == p.type || "password" == p.type || "textarea" == p.type) p.value = za(p.value); | |
p.checked = ("radio" == n.type || "checkbox" == n.type) && n.checked; | |
p.formname = ""; | |
p.urid = h.urid; | |
p.otherlogin = "1"; | |
p.url = ""; | |
d.fields.push(p) | |
} | |
for (l = 0; l < h.otherfields.length; l++) { | |
n = h.otherfields[l]; | |
p = []; | |
p.otherfield = !0; | |
p.name = n.name; | |
p.type = n.type; | |
p.value = n.value; | |
if ("email" == p.type || "tel" == p.type || "url" == p.type || "text" == p.type || "password" == p.type || "textarea" == p.type) p.value = za(p.value); | |
p.checked = ("radio" == n.type || "checkbox" == n.type) && n.checked; | |
p.formname = n.formname; | |
p.urid = h.urid; | |
p.otherlogin = "1"; | |
p.url = ""; | |
d.save_all = 0 == d.username.length && 0 == d.password.length; | |
d.fields.push(p) | |
} | |
} | |
d.sn ? c.securenotes.push(d) : c.sites.push(d); | |
return f ? cs(c, e.id) : !0 | |
} | |
d = c.getElementsByTagName("accounts"); | |
if (0 < d.length) { | |
var q = c.createElement("account"); | |
q.setAttribute("name", da(e.name)); | |
q.setAttribute("urid", e.urid); | |
q.setAttribute("id", e.id); | |
q.setAttribute("url", ac(e.url)); | |
q.setAttribute("m", e.manual); | |
q.setAttribute("http", e.is_http); | |
q.setAttribute("fav", e.fav); | |
q.setAttribute("favico", "0"); | |
q.setAttribute("autologin", e.autologin); | |
q.setAttribute("basic_auth", e.basic_auth ? "1" : "0"); | |
q.setAttribute("group", da(e.group)); | |
q.setAttribute("fiid", e.id); | |
q.setAttribute("genpw", e.genpw ? "1" : "0"); | |
q.setAttribute("extra", e.extra); | |
q.setAttribute("isbookmark", e.isbookmark ? "1" : "0"); | |
q.setAttribute("never_autofill", | |
e.never_autofill); | |
q.setAttribute("last_touch", e.last_touch); | |
q.setAttribute("sn", e.sn ? "1" : "0"); | |
q.setAttribute("realm", da(e.realm)); | |
q.setAttribute("sharedfromaid", e.sharedfromaid); | |
q.setAttribute("pwprotect", e.pwprotect ? "1" : "0"); | |
q.setAttribute("attachkey", e.attachkey); | |
q.setAttribute("attachpresent", e.attachpresent); | |
for (g = 0; g < e.logins.length; g++) { | |
var h = e.logins[g], | |
r = c.createElement("login"); | |
r.setAttribute("urid", h.urid); | |
r.setAttribute("url", ac(h.url)); | |
r.setAttribute("submit_id", h.submit_id); | |
r.setAttribute("captcha_id", | |
h.captcha_id); | |
r.setAttribute("custom_js", h.custom_js); | |
r.setAttribute("u", h.username); | |
r.setAttribute("p", h.password); | |
r.setAttribute("o", h.openid_url); | |
r.setAttribute("method", h.method); | |
for (l = 0; l < h.fields.length; l++) { | |
n = h.fields[l]; | |
p = c.createElement("field"); | |
p.setAttribute("name", n.name); | |
p.setAttribute("type", n.type); | |
p.setAttribute("value", n.value); | |
if ("radio" == n.type || "checkbox" == n.type) p.setAttribute("checked", n.checked ? "1" : "0"); | |
r.appendChild(p) | |
} | |
for (l = 0; l < h.otherfields.length; l++) { | |
n = h.otherfields[l]; | |
p = c.createElement("otherfield"); | |
p.setAttribute("name", n.name); | |
p.setAttribute("type", n.type); | |
p.setAttribute("formname", n.formname); | |
p.setAttribute("value", n.value); | |
if ("radio" == n.type || "checkbox" == n.type) p.setAttribute("checked", n.checked ? "1" : "0"); | |
r.appendChild(p) | |
} | |
q.appendChild(r) | |
} | |
for (g = 0; g < e.otherlogins.length; g++) { | |
h = e.otherlogins[g]; | |
r = c.createElement("otherlogin"); | |
r.setAttribute("urid", h.urid); | |
r.setAttribute("url", ac(h.url)); | |
r.setAttribute("submit_id", h.submit_id); | |
r.setAttribute("captcha_id", h.captcha_id); | |
r.setAttribute("custom_js", h.custom_js); | |
r.setAttribute("u", h.username); | |
r.setAttribute("p", h.password); | |
r.setAttribute("o", h.openid_url); | |
r.setAttribute("method", h.method); | |
for (l = 0; l < h.fields.length; l++) { | |
n = h.fields[l]; | |
p = c.createElement("field"); | |
p.setAttribute("name", n.name); | |
p.setAttribute("type", n.type); | |
p.setAttribute("value", n.value); | |
if ("radio" == n.type || "checkbox" == n.type) p.setAttribute("checked", n.checked ? "1" : "0"); | |
r.appendChild(p) | |
} | |
for (l = 0; l < h.otherfields.length; l++) { | |
n = h.otherfields[l]; | |
p = c.createElement("otherfield"); | |
p.setAttribute("name", n.name); | |
p.setAttribute("type", n.type); | |
p.setAttribute("formname", n.formname); | |
p.setAttribute("value", n.value); | |
if ("radio" == n.type || "checkbox" == n.type) p.setAttribute("checked", n.checked ? "1" : "0"); | |
r.appendChild(p) | |
} | |
q.appendChild(r) | |
} | |
d[0].appendChild(q); | |
return f ? cs(c, e.id) : !0 | |
} | |
return !1 | |
} catch (t) { | |
return !1 | |
} | |
} | |
function bs(c, e) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var f = 0; f < c.identities.length; f++) { | |
for (var d = c.identities[f].aids, g = d.split(","), h = "", l = 0; l < g.length; l++) g[l] != | |
e && (h = "" == h ? g[l] : h + ("," + g[l])); | |
c.identities[f].aids = h | |
} else | |
for (var n = c.getElementsByTagName("identity"), f = 0; f < n.length; f++) { | |
d = n[f].getAttribute("aids"); | |
g = d.split(","); | |
h = ""; | |
for (l = 0; l < g.length; l++) g[l] != e && (h = "" == h ? g[l] : h + ("," + g[l])); | |
n[f].setAttribute("aids", h) | |
} | |
return !0 | |
} catch (p) { | |
return !1 | |
} | |
} | |
function cs(c, e) { | |
try { | |
if (!LP.lpprefsHasUserValue("identity")) return !0; | |
var f = LP.lpprefsGetCharPref("identity"); | |
if ("" == f) return !0; | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var d = 0; d < c.identities.length; d++) { | |
if (c.identities[d].iid == | |
f) { | |
var g = c.identities[d].aids, | |
g = "" == g ? e : g + ("," + e); | |
c.identities[d].aids = g; | |
return !0 | |
} | |
} else | |
for (var h = c.getElementsByTagName("identity"), d = 0; d < h.length; d++) | |
if (h[d].getAttribute("iid") == f) return g = h[d].getAttribute("aids"), g = "" == g ? e : g + ("," + e), h[d].setAttribute("aids", g), !0; | |
return !1 | |
} catch (l) { | |
return !1 | |
} | |
} | |
function ds(c, e) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var f = 0; f < c.identities.length; f++) { | |
var d = c.identities[f].ffids; | |
null == d && (d = ""); | |
for (var g = d.split(","), h = "", l = 0; l < g.length; l++) g[l] != | |
e && (h = "" == h ? g[l] : h + ("," + g[l])); | |
c.identities[f].ffids = h | |
} else | |
for (var n = c.getElementsByTagName("identity"), f = 0; f < n.length; f++) { | |
d = n[f].getAttribute("ffids"); | |
null == d && (d = ""); | |
g = d.split(","); | |
h = ""; | |
for (l = 0; l < g.length; l++) g[l] != e && (h = "" == h ? g[l] : h + ("," + g[l])); | |
n[f].setAttribute("ffids", h) | |
} | |
return !0 | |
} catch (p) { | |
return !1 | |
} | |
} | |
function es(c, e) { | |
try { | |
if (!LP.lpprefsHasUserValue("identity")) return !0; | |
var f = LP.lpprefsGetCharPref("identity"); | |
if ("" == f) return !0; | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var d = | |
0; d < c.identities.length; d++) { | |
if (c.identities[d].iid == f) { | |
var g = c.identities[d].ffids; | |
null == g && (g = ""); | |
g = "" == g ? e : g + ("," + e); | |
c.identities[d].ffids = g; | |
return !0 | |
} | |
} else | |
for (var h = c.getElementsByTagName("identity"), d = 0; d < h.length; d++) | |
if (h[d].getAttribute("iid") == f) return g = h[d].getAttribute("ffids"), null == g && (g = ""), g = "" == g ? e : g + ("," + e), h[d].setAttribute("ffids", g), !0; | |
return !1 | |
} catch (l) { | |
return !1 | |
} | |
} | |
function Pw(c, e) { | |
try { | |
if (!LP.lpprefsHasUserValue("identity")) return !0; | |
var f = LP.lpprefsGetCharPref("identity"); | |
if ("" == | |
f) return !0; | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var d = 0; d < c.identities.length; d++) { | |
if (c.identities[d].iid == f) { | |
var g = c.identities[d].appaids; | |
null == g && (g = ""); | |
g = "" == g ? e : g + ("," + e); | |
c.identities[d].appaids = g; | |
return !0 | |
} | |
} else | |
for (var h = c.getElementsByTagName("identity"), d = 0; d < h.length; d++) | |
if (h[d].getAttribute("iid") == f) return g = h[d].getAttribute("appaids"), null == g && (g = ""), g = "" == g ? e : g + ("," + e), h[d].setAttribute("appaids", g), !0; | |
return !1 | |
} catch (l) { | |
return !1 | |
} | |
} | |
function kr(c, e, f) { | |
try { | |
if ("object" == | |
typeof c && "undefined" != typeof c.accts_version) | |
for (var d = 0; d < c.formfills.length; d++) { | |
if (c.formfills[d].ffid == e) return c.formfills.splice(d, 1), f ? ds(c, e) : !0 | |
} else | |
for (var g = c.getElementsByTagName("formfill"), d = 0; d < g.length; d++) | |
if (g[d].getAttribute("ffid") == e) { | |
var h = g[d].parentNode; | |
if (h) return h.removeChild(g[d]), f ? ds(c, e) : !0; | |
break | |
} | |
return !1 | |
} catch (l) { | |
return !1 | |
} | |
} | |
function lr(c, e, f) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) { | |
var d = []; | |
"undefined" != typeof e.sharefolderid ? (d.sharefolderid = | |
e.sharefolderid, d.group = e.group) : d.group = ""; | |
d.ffid = e.ffid; | |
d.profiletype = e.profiletype; | |
d.profilename = za(wa(e.profilename, e, B)); | |
d.profilelanguage = za(e.profilelanguage); | |
d.firstname = za(e.firstname); | |
d.firstname2 = za(e.firstname2); | |
d.firstname3 = za(e.firstname3); | |
d.middlename = za(e.middlename); | |
d.lastname = za(e.lastname); | |
d.lastname2 = za(e.lastname2); | |
d.lastname3 = za(e.lastname3); | |
d.email = za(e.email); | |
d.mobileemail = za(e.mobileemail); | |
d.company = za(e.company); | |
d.ssn = za(e.ssn); | |
d.birthday = za(e.birthday); | |
d.address1 = za(e.address1); | |
d.address2 = za(e.address2); | |
d.address3 = za(e.address3); | |
d.city = za(e.city); | |
d.county = za(e.county); | |
d.state = za(e.state); | |
d.state_name = za(e.state_name); | |
d.zip = za(e.zip); | |
d.country = za(e.country); | |
d.country_cc3l = za(e.country_cc3l); | |
d.country_name = za(e.country_name); | |
d.phone3lcc = za(e.countryphone); | |
d.evephone3lcc = za(e.countryevephone); | |
d.fax3lcc = za(e.countryfaxphone); | |
d.mobilephone3lcc = za(e.countrymobphone); | |
d.phone = za(e.phone); | |
d.fax = za(e.fax); | |
d.mobilephone = za(e.mobilephone); | |
d.evephone = za(e.evephone); | |
d.phoneext = za(e.phoneext); | |
d.eveext = za(e.evephoneext); | |
d.mobileext = za(e.mobilephoneext); | |
d.faxext = za(e.faxphoneext); | |
d.ccname = za(e.ccname); | |
d.ccnum = za(e.ccnum); | |
d.ccstart = za(e.ccstart); | |
d.ccexp = za(e.ccexp); | |
d.cccsc = za(e.cccsc); | |
d.ccissuenum = za(e.ccissuenum); | |
d.username = za(e.username); | |
d.gender = za(e.gender); | |
d.title = za(e.title); | |
d.pwprotect = e.pwprotect; | |
d.creditmon = e.creditmon; | |
d.timezone = za(e.timezone); | |
d.bankname = za(e.bankname); | |
d.bankacctnum = za(e.bankacctnum); | |
d.bankroutingnum = za(e.bankroutingnum); | |
d.custom_fields = []; | |
for (var g = 0; g < e.customfields.length; g++) { | |
var h = []; | |
h.cfid = e.customfields[g].cfid; | |
h.text = za(e.customfields[g].text); | |
h.value = za(e.customfields[g].value); | |
h.alttext = za(e.customfields[g].alttext); | |
d.custom_fields.push(h) | |
} | |
d.notes = za(e.notes); | |
c.formfills.push(d); | |
return f ? es(c, e.ffid) : !0 | |
} | |
d = c.getElementsByTagName("formfills"); | |
if (0 < d.length) { | |
var l = c.createElement("formfill"); | |
l.setAttribute("ffid", e.ffid); | |
l.setAttribute("profiletype", e.profiletype); | |
l.setAttribute("profilename", wa(e.profilename, e, B)); | |
l.setAttribute("profilelanguage", e.profilelanguage); | |
l.setAttribute("firstname", | |
e.firstname); | |
l.setAttribute("firstname2", e.firstname2); | |
l.setAttribute("firstname3", e.firstname3); | |
l.setAttribute("middlename", e.middlename); | |
l.setAttribute("lastname", e.lastname); | |
l.setAttribute("lastname2", e.lastname2); | |
l.setAttribute("lastname3", e.lastname3); | |
l.setAttribute("email", e.email); | |
l.setAttribute("mobileemail", e.mobileemail); | |
l.setAttribute("company", e.company); | |
l.setAttribute("ssn", e.ssn); | |
l.setAttribute("birthday", e.birthday); | |
l.setAttribute("address1", e.address1); | |
l.setAttribute("address2", e.address2); | |
l.setAttribute("address3", e.address3); | |
l.setAttribute("city", e.city); | |
l.setAttribute("county", e.county); | |
l.setAttribute("state", e.state); | |
l.setAttribute("state_name", e.state_name); | |
l.setAttribute("zip", e.zip); | |
l.setAttribute("country", e.country); | |
l.setAttribute("country_cc3l", e.country_cc3l); | |
l.setAttribute("country_name", e.country_name); | |
l.setAttribute("phone3lcc", e.countryphone); | |
l.setAttribute("evephone3lcc", e.countryevephone); | |
l.setAttribute("fax3lcc", e.countryfaxphone); | |
l.setAttribute("mobilephone3lcc", | |
e.countrymobphone); | |
l.setAttribute("phone", e.phone); | |
l.setAttribute("fax", e.fax); | |
l.setAttribute("mobilephone", e.mobilephone); | |
l.setAttribute("evephone", e.evephone); | |
l.setAttribute("phoneext", e.phoneext); | |
l.setAttribute("eveext", e.evephoneext); | |
l.setAttribute("mobileext", e.mobilephoneext); | |
l.setAttribute("faxext", e.faxphoneext); | |
l.setAttribute("ccname", e.ccname); | |
l.setAttribute("ccnum", e.ccnum); | |
l.setAttribute("ccstart", e.ccstart); | |
l.setAttribute("ccexp", e.ccexp); | |
l.setAttribute("cccsc", e.cccsc); | |
l.setAttribute("ccissuenum", | |
e.ccissuenum); | |
l.setAttribute("username", e.username); | |
l.setAttribute("gender", e.gender); | |
l.setAttribute("title", e.title); | |
l.setAttribute("pwprotect", e.pwprotect ? "1" : "0"); | |
l.setAttribute("creditmon", e.creditmon ? "1" : "0"); | |
l.setAttribute("timezone", e.timezone); | |
l.setAttribute("bankname", e.bankname); | |
l.setAttribute("bankacctnum", e.bankacctnum); | |
l.setAttribute("bankroutingnum", e.bankroutingnum); | |
for (g = 0; g < e.customfields.length; g++) h = c.createElement("customfield"), h.setAttribute("cfid", e.customfields[g].cfid), h.setAttribute("text", | |
e.customfields[g].text), h.setAttribute("value", e.customfields[g].value), h.setAttribute("alttext", e.customfields[g].alttext), l.appendChild(h); | |
l.setAttribute("notes", e.notes); | |
d[0].appendChild(l); | |
return f ? es(c, e.ffid) : !0 | |
} | |
return !1 | |
} catch (n) { | |
return !1 | |
} | |
} | |
function Qh(c, e, f) { | |
try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var d = 0; d < c.applications.length; d++) | |
if (c.applications[d].appaid == e) { | |
c.applications.splice(d, 1); | |
var g; | |
if (f) try { | |
if ("object" == typeof c && "undefined" != typeof c.accts_version) | |
for (var h = | |
0; h < c.identities.length; h++) { | |
var l = c.identities[h].appaids; | |
null == l && (l = ""); | |
for (var n = l.split(","), p = "", q = 0; q < n.length; q++) n[q] != e && (p = "" == p ? n[q] : p + ("," + n[q])); | |
c.identities[h].appaids = p | |
} else | |
for (var r = c.getElementsByTagName("identity"), h = 0; h < r.length; h++) { | |
l = r[h].getAttribute("appaids"); | |
null == l && (l = ""); | |
n = l.split(","); | |
p = ""; | |
for (q = 0; q < n.length; q++) n[q] != e && (p = "" == p ? n[q] : p + ("," + n[q])); | |
r[h].setAttribute("appaids", p) | |
} | |
g = !0 | |
} catch (t) { | |
g = !1 | |
} else g = !0; | |
return g | |
} | |
return !1 | |
} catch (A) { | |
return !1 | |
} | |
} | |
function oj(c, e, f) { | |
try { | |
if ("object" == | |
typeof c && "undefined" != typeof c.accts_version) { | |
e.extra = za(e.extra); | |
for (var d = 0; d < e.fields.length; d++) e.fields[d].value = za(e.fields[d].value); | |
c.applications.push(e); | |
return f ? Pw(c, e.appaid) : !0 | |
} | |
return !1 | |
} catch (g) { | |
return !1 | |
} | |
} | |
function Vf() { | |
try { | |
var c = T["@mozilla.org/file/directory_service;1"].getService(ca.nsIProperties).get("CurProcD", ca.nsIFile).path.toLowerCase(); | |
if (-1 != c.indexOf("portable") && -1 != c.indexOf("firefox")) return !0; | |
if (-1 != c.indexOf("\\app\\firefox") && c.indexOf("\\app\\firefox") == c.length - 12) { | |
var e = | |
c.substring(0, c.length - 11) + "firefoxportable.exe", | |
f = T["@mozilla.org/file/local;1"].createInstance(ca.nsILocalFile); | |
f.initWithPath(e); | |
if (f.exists()) return !0 | |
} | |
return !1 | |
} catch (d) { | |
return !1 | |
} | |
} | |
function fs(c, e) { | |
try { | |
var f = "DOM_VK_" + c.toUpperCase(); | |
return gs(e, 0, LP.mostRecent().KeyEvent[f], !1) | |
} catch (d) {} | |
} | |
function gs(c, e, f, d) { | |
if (!(void 0 === c || void 0 === c.ownerDocument)) { | |
var g = c.ownerDocument.createEvent("KeyEvents"); | |
g.initKeyEvent("keydown", !0, !0, null, !1, !1, d, !1, f, e); | |
var h = c.dispatchEvent(g); | |
h && (g = c.ownerDocument.createEvent("KeyEvents"), | |
g.initKeyEvent("keypress", !0, !0, null, !1, !1, d, !1, f, e), h = c.dispatchEvent(g)); | |
g = c.ownerDocument.createEvent("KeyEvents"); | |
g.initKeyEvent("keyup", !0, !0, null, !1, !1, d, !1, f, e); | |
c.dispatchEvent(g); | |
return h | |
} | |
} | |
function Qw() { | |
this.onUpdateStarted = function() {}; | |
this.onUpdateEnded = function() {}; | |
this.onAddonUpdateEnded = function(c, e) { | |
if (1 == e && fh && zj) { | |
if (gh || LP.lpConfirmYesNo(LP.lpgs("An Update is Available. Would you like to install?"))) { | |
var f = []; | |
f[0] = zj; | |
try { | |
fh.addDownloads(f, 1, !0) | |
} catch (d) { | |
fh.addDownloads(f, 1, null) | |
} | |
LP.mostRecent().setTimeout(function() { | |
LP.alert(LP.lpgs("MustRestartUpdate")) | |
}, | |
1E4) | |
} | |
} else 8 == e && LP.alert(LP.lpgs("No Updates are Available")) | |
}; | |
this.onAddonUpdateStarted = function() {} | |
} | |
function ya(c, e) { | |
var f = c.getElementById(e); | |
if (!f) { | |
var d = me(c); | |
d && "undefined" != typeof d.querySelector && (f = d.querySelector("#" + e.replace(/([^A-Za-z0-9\-_])/g, "\\$1"))) | |
} | |
return f | |
} | |
function Tg(c) { | |
"string" == typeof c && 45E3 < c.length && (c = c.substring(0, 45E3)); | |
return c | |
} | |
function ic(c) { | |
return c.toLowerCase().replace(/\s*/g, "") | |
} | |
function hs() {} | |
function vd(c) { | |
"" == c ? (ja = "", wf = rb(ja), tl = "") : (ja = c, wf = rb(ja), tl = Fa(c)) | |
} | |
function zr() { | |
for (var c = !1, e = !1, f = 0; f < ka.length; f++) { | |
var d = ka[f]; | |
0 == d.profiletype && (c = !0); | |
"" != d.ccnum && (e = !0); | |
if (c && e) return !0 | |
} | |
return !1 | |
} | |
function is(c) { | |
if (!("undefined" == typeof c || "undefined" == typeof c.childNodes)) | |
for (; c.hasChildNodes();) c.removeChild(c.firstChild) | |
} | |
function Jr(c) { | |
var e = new cj; | |
e.group = ""; | |
for (var f in c) { | |
var d = c[f]; | |
"firstname" == f ? e.firstname = da(d) : "firstname2" == f ? e.firstname2 = da(d) : "firstname3" == f ? e.firstname3 = da(d) : "lastname" == f ? e.lastname = da(d) : "lastname2" == f ? e.lastname2 = da(d) : "lastname3" == | |
f ? e.lastname3 = da(d) : "city" == f ? e.city = da(d) : "county" == f ? e.county = da(d) : "state" == f ? e.state_name = da(d) : "address" == f || "address1" == f ? e.address1 = da(d) : "address2" == f ? e.address2 = da(d) : "address3" == f ? e.address3 = da(d) : "country" == f ? e.country_name = da(d) : "email" == f ? e.email = da(d) : "mobileemail" == f ? e.mobileemail = da(d) : "company" == f ? e.company = da(d) : "middlename" == f || "middleinitial" == f ? e.middlename = da(d) : "bankacctnum" == f ? e.bankacctnum = da(d) : "bankroutingnum" == f ? e.bankroutingnum = da(d) : "bankname" == f ? e.bankname = da(d) : "username" == | |
f ? e.username = da(d) : "phoneext" == f ? e.phoneext = da(d) : "faxext" == f ? e.faxphoneext = da(d) : "mobileext" == f ? e.mobilephoneext = da(d) : "eveext" == f ? e.evephoneext = da(d) : "ccname" == f ? e.ccname = da(d) : "cccsc" == f ? e.cccsc = da(d) : "ccissuenum" == f ? e.ccissuenum = da(d) : "timezone" == f ? e.timezone = da(d) : "title" == f ? e.title = da(d) : "gender" == f && (e.gender = da(d)) | |
} | |
"undefined" != typeof c.ssn ? e.ssn = c.ssn : "undefined" != typeof c.ssn1 && (e.ssn = c.ssn1, "undefined" != typeof c.ssn2 && (e.ssn += c.ssn2, "undefined" != typeof c.ssn3 && (e.ssn += c.ssn3))); | |
e.ssn = da(e.ssn); | |
"undefined" != typeof c.zip ? e.zip = c.zip : "undefined" != typeof c.zip1 && (e.zip = c.zip1, "undefined" != typeof c.zip2 && (e.zip += c.zip2)); | |
e.zip = da(e.zip); | |
"undefined" != typeof c.phone ? e.phone = c.phone : "undefined" != typeof c.phone1 ? (e.phone = c.phone1, "undefined" != typeof c.phone2 && (e.phone += c.phone2, "undefined" != typeof c.phone3 && (e.phone += c.phone3))) : e.phone = ""; | |
e.phone = e.phone.replace(/\D+/g, ""); | |
e.phone.match(/^(?:[2-9]\d{2}){2}\d{4}$/) && (e.phone = "1" + e.phone); | |
e.phone = da(e.phone); | |
"undefined" != typeof c.mobilephone ? e.mobilephone = | |
c.mobilephone : "undefined" != typeof c.mobilephone1 ? (e.mobilephone = c.mobilephone1, "undefined" != typeof c.mobilephone2 && (e.mobilephone += c.mobilephone2, "undefined" != typeof c.mobilephone3 && (e.mobilephone += c.mobilephone3))) : e.mobilephone = ""; | |
e.mobilephone = e.mobilephone.replace(/\D+/g, ""); | |
e.mobilephone.match(/^(?:[2-9]\d{2}){2}\d{4}$/) && (e.mobilephone = "1" + e.mobilephone); | |
e.mobilephone = da(e.mobilephone); | |
"undefined" != typeof c.evephone ? e.evephone = c.evephone : "undefined" != typeof c.evephone1 ? (e.evephone = c.evephone1, | |
"undefined" != typeof c.evephone2 && (e.evephone += c.evephone2, "undefined" != typeof c.evephone3 && (e.evephone += c.evephone3))) : e.evephone = ""; | |
e.evephone = e.evephone.replace(/\D+/g, ""); | |
e.evephone.match(/^(?:[2-9]\d{2}){2}\d{4}$/) && (e.evephone = "1" + e.evephone); | |
e.evephone = da(e.evephone); | |
"undefined" != typeof c.fax ? e.fax = c.fax : "undefined" != typeof c.fax1 ? (e.fax = c.fax1, "undefined" != typeof c.fax2 && (e.fax += c.fax2, "undefined" != typeof c.fax3 && (e.fax += c.fax3))) : e.fax = ""; | |
e.fax = e.fax.replace(/\D+/g, ""); | |
e.fax.match(/^(?:[2-9]\d{2}){2}\d{4}$/) && | |
(e.fax = "1" + e.fax); | |
e.fax = da(e.fax); | |
"undefined" != typeof c.ccnum ? e.ccnum = c.ccnum : "undefined" != typeof c.ccnum1 && (e.ccnum = c.ccnum1, "undefined" != typeof c.ccnum2 && (e.ccnum += c.ccnum2, "undefined" != typeof c.ccnum3 && (e.ccnum += c.ccnum3, "undefined" != typeof fdata.ccnum4 && (e.ccnum += c.ccnum4)))); | |
e.ccnum = da(e.ccnum); | |
e.customfields = []; | |
return e | |
} | |
function db(c) { | |
return "undefined" != typeof c | |
} | |
function js(c, e, f, d) { | |
var g = f.keyCode ? f.keyCode : f.which; | |
f = f.shiftKey ? f.shiftKey : 16 == g ? !0 : !1; | |
g = 65 <= g && 90 >= g && !f || 97 <= g && 122 >= g && f ? !0 : !1; | |
f = c.getElementById(d).style.display; | |
c.getElementById(d).style.display = g ? "" : "none"; | |
f != c.getElementById(d).style.display && (e.innerHeight += g ? 30 : -30) | |
} | |
function Rw(c, e, f) { | |
4 == c.readyState && 200 == c.status && (c.responseXML && c.responseXML.documentElement) && (c = Tf(f, !0), Rb(ha + "_ff.sotp", c)) | |
} | |
function Sw(c, e) { | |
var f, d, g; | |
for (f in c) d = c[f]; | |
for (f in e) g = e[f]; | |
return d.localeCompare(g) | |
} | |
function gc(c, e, f, d) { | |
e = c.getElementById(e); | |
c = c.createElement(f); | |
for (attrib in d) c.setAttribute(attrib, d[attrib]); | |
e.appendChild(c); | |
return c | |
} | |
function nr() { | |
return !LP.islastpass && LP.lpis_linux ? null : null != Zn ? Zn : ma() && "function" == typeof Z.getappdatapath ? Zn = Z.getappdatapath() : null | |
} | |
function bi(c, e, f, d, g, h, l, n) { | |
var p = "object" == typeof c && "object" == typeof e && c.id == e.id; | |
if (!n && !p) { | |
var q = LP.lpgs("You are moving sites to a shared folder. This will potentially make them available to others.\n\nAre you sure you would like to continue?"); | |
"undefined" == typeof c || !c ? q = LP.lpgs("You are moving sites from a shared folder into your general vault. This will potentially make them unavailable to others.\n\n Do you want to continue?") : | |
"undefined" != typeof e && e && (q = LP.lpgs("You are moving sites to a different shared folder. This may change who has access to the sites.\n\n Do you want to continue?")); | |
if (!LP.lpConfirmYesNo(q, h)) return !1 | |
} | |
var p = "undefined" != typeof c && c ? c.sharekey : ja, | |
r = "undefined" != typeof e && e ? e.sharekey : ja, | |
t = "undefined" != typeof e && e ? e.id : "", | |
A = "undefined" != typeof c && c ? c.id : ld, | |
y = "cmd=uploadaccounts&username=" + LP.en(Q), | |
J = ""; | |
Sb = ja; | |
Ub = rb(Sb); | |
for (var u = 0; u < f.length; u++) { | |
var s = LP.get_record(f[u]); | |
if (s) { | |
q = !1; | |
if ("undefined" != | |
typeof s.individualshare && s.individualshare) { | |
if (null != s.sharedfromaid && "" != s.sharedfromaid && "0" != s.sharedfromaid) return LP.alert(LP.lpgs("You cannot move individually shared sites into a shared folder."), h), !1; | |
if (g || n) q = !0; | |
else if (q = LP.lpgs("A site that has been previously shared cannot be moved to a shared folder.\n\nWould you like to make a copy?"), LP.lpConfirmYesNo(q, h)) q = !0; | |
else return !1 | |
} | |
if (!l) { | |
if (("undefined" != typeof s.sharefolderid || "" != t) && s.sharefolderid != t && s.sharefolderid != A) return Cb(LP.lpgs("Please move sites from only one shared folder at a time.")), !1; | |
var z = "undefined" != typeof c && c ? d[f[u]].substr(c.decsharename.length + 1) : d[f[u]]; | |
LP.is_application(s) ? z = "&appname" + u + "=" + LP.en(s.appname) + "&name" + u + "=" + LP.en(da(s.name, p)) + "&type" + u + "=" + LP.en("ff") + "&group" + u + "=" + LP.en(da(z, p)) + "&extra" + u + "=" + LP.en(da(Ya(s.extra, r), p)) + "&script" + u + "=" + LP.en(s.script) + "&pwprotect" + u + "=" + LP.en(s.pwprotect ? 1 : 0) + "&wininfo" + u + "=" + LP.en(s.wininfo) + "&wintitle" + u + "=" + LP.en(s.wintitle) + "&exeversion" + u + "=" + LP.en(s.exeversion) + "&exehash" + u + "=" + LP.en(s.exehash) + "&fiid" + u + "=" + | |
LP.en(s.fiid) : (z = "&url" + u + "=" + LP.en(rb(s.url)) + "&username" + u + "=" + LP.en(da(Ya(s.username, r), p)) + "&password" + u + "=" + LP.en(da(Ya(s.password, r), p)) + "&name" + u + "=" + LP.en(da(s.name, p)) + "&type" + u + "=" + LP.en("ff") + "&grouping" + u + "=" + LP.en(da(z, p)) + "&extra" + u + "=" + LP.en(da(Ya(s.extra, r), p)) + "&pwprotect" + u + "=" + LP.en(s.pwprotect ? 1 : 0) + "&realm" + u + "=" + LP.en(da(s.realm, p)), s.save_all && (z += "&save_all" + u + "=1"), "undefined" != typeof s.basic_auth && "1" == s.basic_auth && (z += "&basic_auth" + u + "=1")); | |
"undefined" != typeof s.attachkey && | |
"" != s.attachkey && (z += "&attachkey" + u + "=" + LP.en(da(Ya(s.attachkey, r), p))); | |
var z = z + ("&origaid" + u + "=" + LP.en(f[u])), | |
ia = "", | |
B = []; | |
LP.is_application(s) ? B = s.fields : 0 < s.logins.length && (s.logins[0].fields && 0 < s.logins[0].fields.length ? B = s.logins[0].fields : s.logins[0].otherfields && 0 < s.logins[0].otherfields.length && (B = s.logins[0].otherfields)); | |
for (var F = 0; F < B.length; F++) { | |
var C = B[F].value, | |
D = B[F].type; | |
if (LP.is_application(s) || "text" == D || "email" == D || "tel" == D || "url" == D || "password" == D || "textarea" == D || "hidden" == D) C = da(Ya(C, | |
r), p); | |
else if ("checkbox" == D || "radio" == D) C += B[F].checked ? "-1" : "-0"; | |
ia = LP.is_application(s) ? ia + ("&fields" + u + "id" + F + "=" + LP.en(B[F].id) + "&fields" + u + "type" + F + "=" + LP.en(B[F].type) + "&fields" + u + "value" + F + "=" + LP.en(C)) : ia + ("&fields" + u + "name" + F + "=" + LP.en(B[F].name) + "&fields" + u + "type" + F + "=" + LP.en(B[F].type) + "&fields" + u + "value" + F + "=" + LP.en(C) + "&fields" + u + "formname" + F + "=" + LP.en("undefined" == typeof B[F].formname ? "" : B[F].formname)) | |
} | |
y += z; | |
y += ia; | |
!q && !g && (J += LP.en(f[u]) + ",") | |
} | |
} | |
} | |
if (l) return !0; | |
Ub = Sb = ""; | |
y += "&sharedfolderid=" + | |
LP.en(A); | |
null != typeof c && e && (y += "&origsharedfolderid=" + LP.en(e.id)); | |
g || (y += "&todelete=" + J); | |
LP.lpMakeRequest(LP.lp_base + "lastpass/api.php", y, function() { | |
LP.lpGetAccounts() | |
}, function() { | |
LP.alert(LP.lpgs("An error occurred")) | |
}, null); | |
return !0 | |
} | |
function $n(c) { | |
if ("undefined" != typeof Tw && ("undefined" == typeof g_oldpbkdf2 || 1 != g_oldpbkdf2)) c = ul.utf8encode(c); | |
return c | |
} | |
function Je(c, e, f) { | |
c = Jb(c, !1, e); | |
if (f) f(c); | |
else return c | |
} | |
function ks() { | |
if (!LP.isFennec) return !1; | |
try { | |
ci || (Components.utils["import"]("resource://gre/modules/ctypes.jsm"), | |
ci = ctypes.open("libcrypto.so"), ao = (new ctypes.StructType("EVP_MD")).ptr), ci && (vl || (vl = ci.declare("PKCS5_PBKDF2_HMAC", ctypes.default_abi, ctypes["int"], ctypes["char"].ptr, ctypes["int"], ctypes.unsigned_char.ptr, ctypes["int"], ctypes["int"], ao, ctypes["int"], ctypes.unsigned_char.ptr)), wl || (wl = ci.declare("EVP_sha256", ctypes.default_abi, ao))) | |
} catch (c) {} | |
return ci && vl && wl | |
} | |
function ls(c, e, f, d) { | |
try { | |
for (var g = (new ctypes.ArrayType(ctypes["char"]))(c.length), h = 0; h < c.length; h++) { | |
var l = c.charCodeAt(h); | |
try { | |
g[h] = new ctypes["char"](l) | |
} catch (n) { | |
128 <= | |
l && (l -= 256), g[h] = new ctypes["char"](l) | |
} | |
} | |
for (var p = (new ctypes.ArrayType(ctypes.unsigned_char))(e.length), h = 0; h < e.length; h++) p[h] = new ctypes.unsigned_char(e.charCodeAt(h)); | |
var q = (new ctypes.ArrayType(ctypes.unsigned_char))(d); | |
vl(g, c.length, p, e.length, f, wl(), d, q); | |
c = ""; | |
for (h = 0; h < d; h++) c += String.fromCharCode(q[h]); | |
return rb(c) | |
} catch (r) { | |
return "" | |
} | |
} | |
function U(c) { | |
return LP.lpgs(c) | |
} | |
function ms(c, e, f) { | |
Ug(c, e, f); | |
c = null; | |
null != nj && "undefined" != typeof z[nj] && (c = z[nj], nj = null); | |
c && LP.lp_noteAcceptHelper(c.id, null, !0, !0) | |
} | |
function Uw(c, e, f) { | |
if (!c || !P) return !1; | |
if (4 == c.readyState) | |
if (200 == c.status || 0 == c.status && e) { | |
Gg("sharedfolders"); | |
z = []; | |
bd = []; | |
Pe = []; | |
tf = 0; | |
Ia = []; | |
qb = []; | |
la = []; | |
vf = []; | |
Dc = []; | |
Tc = []; | |
Ud = []; | |
Vd = []; | |
Od = []; | |
Td = []; | |
mf = []; | |
qf = []; | |
rf = []; | |
of = []; | |
sf = []; | |
Va = []; | |
$a = []; | |
te = []; | |
ka = []; | |
Oa = []; | |
gb = []; | |
xd = []; | |
xl = []; | |
B = []; | |
lb = []; | |
if (!c.responseXML && (e = c.responseText, !f && "LPAV" != e.substring(0, 4) && (e = atob(e)), "LPAV" == e.substring(0, 4))) { | |
var d = [], | |
g = []; | |
c = []; | |
se = dh = ai = 0; | |
Sb = ja; | |
Ub = rb(Sb); | |
La = Xa; | |
xj = RegExp(LP.lpgs("ff_captcha_regexp"), "i"); | |
e = Wn(e, e.length, -1, 0, Vw, [], [], [], d, g, [], [], !0, f, null, [], c, [], [], [], [], eh, B, null, null, null, [], lb, [], []); | |
Ub = Sb = ""; | |
return e | |
} | |
if (!ns(c)) return f && LP.lpClearCache(!0, !1, !1), !1; | |
d = RegExp(LP.lpgs("ff_captcha_regexp"), "i"); | |
e = c.responseXML.documentElement; | |
var h = e.getElementsByTagName("error"); | |
if (0 < h.length && (g = h[0].hasAttribute("notloggedin"), h = h[0].hasAttribute("nosession"), g || h)) return Sa(!1, "ff_notloggedin_or_nosession"), !1; | |
g = e.getElementsByTagName("accounts"); | |
if (!LP.adminoverride.length && 0 < g.length && g[0].hasAttribute("encrypted_username")) { | |
var h = | |
g[0].getAttribute("encrypted_username"), | |
l = Ya(h); | |
if ("" != h && Q != l) return ga("Encrypted username check failed: " + Q + " vs " + l + " for " + h + " local " + f, null), LP.lpClearCache(!0, !0, !1), Sa(!1, "ff_encryptedusernamecheck"), LP.alert(LP.lpgs("An error has been encountered while loading your sites. Please relogin.")), !1 | |
} | |
0 < g.length && (h = $b(ha + "_lps.act.sxml") || $b(ha + "_lps.act.xml"), LP.lpdolostpwotp && !h && !LP.lpprefsHasUserValue("StoreLostPWOTP") && LP.lpprefsSetBoolPref("StoreLostPWOTP", !0)); | |
!f && 0 < g.length && Yn(c.responseText, | |
null, "parse_getaccts.js"); | |
0 < g.length && (c = g[0].getAttribute("pd"), Yk = null != c ? c : 0, c = g[0].getAttribute("eu"), Xk = null != c ? c : 0, vb = parseInt(g[0].getAttribute("accts_version")), f || (kc = parseInt(g[0].getAttribute("accts_version")))); | |
c = ""; | |
h = !1; | |
LP.lpprefsHasUserValue("identity") && (c = LP.lpprefsGetCharPref("identity")); | |
g = e.getElementsByTagName("identity"); | |
for (f = 0; f < g.length; f++) l = new Dq, l.iid = g[f].getAttribute("iid"), l.iname = Ya(g[f].getAttribute("iname")), l.aids = g[f].getAttribute("aids"), l.ffids = g[f].getAttribute("ffids"), | |
null == l.ffids && (l.ffids = ""), l.pwprotect = 1 == parseInt(g[f].getAttribute("pwprotect")), l.appaids = g[f].getAttribute("appaids"), null == l.appaids && (l.appaids = ""), Oa[Oa.length] = l, c == l.iid && (h = !0); | |
Oa.sort(sr); | |
pl(); | |
if (!h && "" != c) return c = "", LP.lpIdentityHelper("", !0), LP.lpClearCache(!0, !1, !1), Sa(!1, "badidentity"), LP.lpalert_ex(LP.lpgs("Your selected Identity no longer exists. Defaulting to 'All' and logging off.")), !1; | |
g = e.getElementsByTagName("account"); | |
h = []; | |
if (g) | |
for (f = 0; f < g.length; f++) g[f].hasAttribute("decryption_done") || | |
(g[f].setAttribute("name", Qr(g[f].getAttribute("name"))), g[f].setAttribute("group", Qr(g[f].getAttribute("group"))), g[f].setAttribute("decryption_done", !0)), h[h.length] = g[f]; | |
g = h; | |
g.sort(lw); | |
for (f = 0; null != g && f < g.length; f++) | |
if (h = g[f].getAttribute("id"), LP.IdentityIsOk(c, h)) { | |
var n = g[f].getAttribute("name"), | |
p = g[f].getAttribute("urid"), | |
q = Kb(g[f].getAttribute("url")), | |
r = g[f].getAttribute("m"), | |
t = g[f].getAttribute("http"), | |
A = g[f].getAttribute("fav"), | |
y = g[f].getAttribute("favico"), | |
J = g[f].getAttribute("extra"), | |
u = g[f].getAttribute("autologin"), | |
l = 1 == parseInt(g[f].getAttribute("basic_auth")), | |
s = 1 == parseInt(g[f].getAttribute("sn")), | |
jd = g[f].getAttribute("group"), | |
jd = "" == jd && !s ? LP.get_null_group() : "" == jd && s ? LP.lpgs("SecureNotes") : jd; | |
g[f].getAttribute("id"); | |
var ia = 1 == parseInt(g[f].getAttribute("genpw")), | |
C = 1 == parseInt(g[f].getAttribute("isbookmark")), | |
F = g[f].getAttribute("never_autofill"), | |
D = g[f].getAttribute("last_touch"), | |
v = Ya(g[f].getAttribute("realm")), | |
K = g[f].getAttribute("sharedfromaid"), | |
ea = 1 == parseInt(g[f].getAttribute("pwprotect")), | |
ra = { | |
aid: h, | |
manual: r, | |
is_http: t | |
}, Y = g[f].getAttribute("attachkey"), | |
E = g[f].getAttribute("attachpresent"); | |
if (1 == parseInt(A)) { | |
var H = new Zc; | |
H.id = h; | |
H.command = ra; | |
$a[$a.length] = H | |
} | |
ra = new Yb; | |
ra.individualshare = !1; | |
ra.pendingshare = !1; | |
ra.name = n; | |
ra.urid = p; | |
ra.id = h; | |
ra.url = q; | |
ra.manual = r; | |
ra.is_http = t; | |
ra.extra = J; | |
ra.fav = A; | |
ra.favico = y; | |
ra.autologin = u; | |
ra.basic_auth = l; | |
ra.group = jd; | |
ra.fiid = h; | |
ra.genpw = ia; | |
ra.isbookmark = C; | |
ra.never_autofill = F; | |
ra.last_touch = D; | |
ra.sn = s; | |
ra.sharedfromaid = K; | |
ra.save_all = !1; | |
ra.pwprotect = ea; | |
ra.realm = v; | |
ra.attachkey = | |
Y; | |
ra.attachpresent = E; | |
ra.logins = []; | |
ra.otherlogins = []; | |
ra.fields = []; | |
y = g[f].getElementsByTagName("fld"); | |
for (n = 0; n < y.length; n++) { | |
t = new Nd; | |
t.name = y[n].getAttribute("name"); | |
t.type = y[n].getAttribute("type"); | |
t.value = y[n].getAttribute("value"); | |
t.aftersubmit = 1 == parseInt(g[n].getAttribute("aftersubmit")); | |
if ("radio" == t.type || "checkbox" == t.type) | |
if (t.checked = 1 == parseInt(y[G].getAttribute("checked")) ? !0 : !1, "radio" == t.type && !t.checked) continue; | |
ra.fields[ra.fields.length] = t | |
} | |
for (q = 1; 2 >= q; q++) { | |
p = g[f].getElementsByTagName(1 == | |
q ? "login" : "otherlogin"); | |
for (n = 0; n < p.length; n++) { | |
r = new gd; | |
r.urid = p[n].getAttribute("urid"); | |
r.url = Kb(p[n].getAttribute("url")); | |
G = xb(r.url); | |
r.server = G.host; | |
r.tld = sc(G.host, r.url); | |
G = nb(r.url, G); | |
ia || (Dc[Dc.length] = G); | |
r.submit_id = p[n].getAttribute("submit_id"); | |
r.captcha_id = p[n].getAttribute("captcha_id"); | |
r.custom_js = p[n].getAttribute("custom_js"); | |
r.username = p[n].getAttribute("u"); | |
r.password = p[n].getAttribute("p"); | |
r.openid_url = p[n].getAttribute("o"); | |
r.method = p[n].getAttribute("method"); | |
r.action = ""; | |
r.unencryptedUsername = | |
O(r.username, ra, B); | |
0 == n && (ra.username = r.username, ra.password = r.password, ra.unencryptedUsername = r.unencryptedUsername); | |
r.uname = ""; | |
r.pname = ""; | |
r.oname = ""; | |
r.fields = []; | |
for (var y = p[n].getElementsByTagName("field"), u = J = !1, A = !0, G = 0; G < y.length; G++) { | |
t = new Nd; | |
t.name = y[G].getAttribute("name"); | |
t.type = y[G].getAttribute("type"); | |
t.value = y[G].getAttribute("value"); | |
t.ordernum = y[G].getAttribute("o"); | |
t.ordernum || (A = !1); | |
if (("email" == t.type || "tel" == t.type || "text" == t.type || "url" == t.type) && "openid_url" != t.name) | |
if ("" != r.username && | |
t.value == r.username) r.uname = t.name, J = !0; | |
else if (!J && ("" == r.pname || "" == r.uname)) r.uname = t.name; | |
"password" == t.type && ("" != r.password && t.value == r.password ? (r.pname = t.name, u = !0) : u || (r.pname = t.name)); | |
if (("email" == t.type || "tel" == t.type || "url" == t.type || "text" == t.type) && "openid_url" == t.name) r.oname = t.name; | |
if ("radio" == t.type || "checkbox" == t.type) | |
if (t.checked = 1 == parseInt(y[G].getAttribute("checked")) ? !0 : !1, "radio" == t.type && !t.checked) continue; | |
"" == r.captcha_id && "text" == t.type && d.exec(t.name) && (r.captcha_id = t.name); | |
r.fields[r.fields.length] = t | |
} | |
A && r.fields.sort(tr); | |
r.otherfields = []; | |
y = p[n].getElementsByTagName("otherfield"); | |
A = !0; | |
for (G = 0; G < y.length; G++) { | |
t = new Nd; | |
t.name = y[G].getAttribute("name"); | |
t.type = y[G].getAttribute("type"); | |
t.value = y[G].getAttribute("value"); | |
t.formname = y[G].getAttribute("formname"); | |
t.ordernum = y[G].getAttribute("o"); | |
t.ordernum || (A = !1); | |
if ("radio" == t.type || "checkbox" == t.type) | |
if (t.checked = 1 == parseInt(y[G].getAttribute("checked")) ? !0 : !1, "radio" == t.type && !t.checked) continue; | |
"0" == r.urid && (ra.save_all = !0); | |
"" == r.captcha_id && "text" == t.type && d.exec(t.name) && (r.captcha_id = t.name); | |
r.otherfields[r.otherfields.length] = t | |
} | |
A && r.otherfields.sort(tr); | |
1 == q ? ra.logins[ra.logins.length] = r : ra.otherlogins[ra.otherlogins.length] = r | |
} | |
} | |
ia = Ta(ra.url); | |
ra.tld = ia; | |
l && (te[h] = ra, te[h].last_time = 0, te[h].realm = v); | |
ra.sn ? Ia[h] = ra : z[h] = ra; | |
tf++; | |
"undefined" == typeof la[ia] && (la[ia] = []); | |
la[ia][h] = !0; | |
ra.genpw && (vf[h] = !0) | |
} | |
Qe && "function" == typeof Qe && (Qe(), Qe = null); | |
d = e.getElementsByTagName("neveraccount"); | |
for (f = 0; null != d && f < d.length; f++) q = | |
d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), Tc[Tc.length] = q; | |
d = e.getElementsByTagName("nevergenerate"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), Ud[Ud.length] = q; | |
d = e.getElementsByTagName("neverformfill"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), Vd[Vd.length] = q; | |
d = e.getElementsByTagName("neverautologin"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), Od[Od.length] = | |
q; | |
d = e.getElementsByTagName("nevershowicons"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), Td[Td.length] = q; | |
d = e.getElementsByTagName("onlyaccount"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), mf[mf.length] = q; | |
d = e.getElementsByTagName("onlygenerate"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), qf[qf.length] = q; | |
d = e.getElementsByTagName("onlyformfill"); | |
for (f = 0; null != d && f < | |
d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), rf[rf.length] = q; | |
d = e.getElementsByTagName("onlyautologin"); | |
for (f = 0; null != d && f < d.length; f++) q = d[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), of[of.length] = q; | |
e.getElementsByTagName("onlyshowicons"); | |
for (f = 0; null != showicons && f < showicons.length; f++) q = showicons[f].getAttribute("url"), -1 == q.indexOf(".") && (q = Kb(q)), sf[sf.length] = q; | |
d = e.getElementsByTagName("formfill"); | |
for (f = 0; null != d && f < d.length; f++) | |
if (g = d[f].getAttribute("ffid"), | |
LP.IdentityFfidIsOk(c, g)) { | |
G = new cj; | |
G.group = ""; | |
G.ffid = g; | |
G.profiletype = d[f].getAttribute("profiletype"); | |
G.profilename = O(d[f].getAttribute("profilename"), d[f], B); | |
G.profilelanguage = d[f].getAttribute("profilelanguage"); | |
G.firstname = d[f].getAttribute("firstname"); | |
G.firstname2 = d[f].getAttribute("firstname2"); | |
G.firstname3 = d[f].getAttribute("firstname3"); | |
G.middlename = d[f].getAttribute("middlename"); | |
G.lastname = d[f].getAttribute("lastname"); | |
G.lastname2 = d[f].getAttribute("lastname2"); | |
G.lastname3 = d[f].getAttribute("lastname3"); | |
G.email = d[f].getAttribute("email"); | |
G.mobileemail = d[f].getAttribute("mobileemail"); | |
G.company = d[f].getAttribute("company"); | |
G.ssn = d[f].getAttribute("ssn"); | |
G.birthday = d[f].getAttribute("birthday"); | |
G.address1 = d[f].getAttribute("address1"); | |
G.address2 = d[f].getAttribute("address2"); | |
G.address3 = d[f].getAttribute("address3"); | |
G.title = d[f].getAttribute("title"); | |
G.city = d[f].getAttribute("city"); | |
G.county = d[f].getAttribute("county"); | |
G.state = d[f].getAttribute("state"); | |
G.state_name = d[f].getAttribute("state_name"); | |
G.zip = d[f].getAttribute("zip"); | |
G.country = d[f].getAttribute("country"); | |
G.country_cc3l = d[f].getAttribute("country_cc3l"); | |
G.country_name = d[f].getAttribute("country_name"); | |
G.countryphone = d[f].getAttribute("phone3lcc"); | |
G.countryevephone = d[f].getAttribute("evephone3lcc"); | |
G.countryfaxphone = d[f].getAttribute("fax3lcc"); | |
G.countrymobphone = d[f].getAttribute("mobilephone3lcc"); | |
G.phone = d[f].getAttribute("phone"); | |
G.fax = d[f].getAttribute("fax"); | |
G.mobilephone = d[f].getAttribute("mobilephone"); | |
G.evephone = d[f].getAttribute("evephone"); | |
G.phoneext = d[f].getAttribute("phoneext"); | |
G.evephoneext = d[f].getAttribute("eveext"); | |
G.mobilephoneext = d[f].getAttribute("mobileext"); | |
G.faxphoneext = d[f].getAttribute("faxext"); | |
G.ccname = d[f].getAttribute("ccname"); | |
G.ccnum = d[f].getAttribute("ccnum"); | |
G.ccstart = d[f].getAttribute("ccstart"); | |
G.ccexp = d[f].getAttribute("ccexp"); | |
G.cccsc = d[f].getAttribute("cccsc"); | |
G.ccissuenum = d[f].getAttribute("ccissuenum"); | |
G.username = d[f].getAttribute("username"); | |
G.gender = d[f].getAttribute("gender"); | |
G.pwprotect = 1 == parseInt(d[f].getAttribute("pwprotect")); | |
G.creditmon = 1 == parseInt(d[f].getAttribute("creditmon")); | |
G.timezone = d[f].getAttribute("timezone"); | |
G.bankname = d[f].getAttribute("bankname"); | |
G.bankacctnum = d[f].getAttribute("bankacctnum"); | |
G.bankroutingnum = d[f].getAttribute("bankroutingnum"); | |
G.customfields = []; | |
g = d[f].getElementsByTagName("customfield"); | |
for (n = 0; n < g.length; n++) h = new Tm, h.cfid = g[n].getAttribute("cfid"), h.text = g[n].getAttribute("text"), h.value = g[n].getAttribute("value"), h.alttext = g[n].getAttribute("alttext"), G.customfields[G.customfields.length] = | |
h; | |
G.notes = d[f].getAttribute("notes"); | |
ka[ka.length] = G | |
} | |
ka.sort(bl); | |
Zh(); | |
d = e.getElementsByTagName("equivdomain"); | |
for (f = 0; null != d && f < d.length; f++) c = d[f].getAttribute("edid"), G = Kb(d[f].getAttribute("domain")), "undefined" == typeof gb[c] && (gb[c] = []), gb[c][gb[c].length] = G, gb[G] = c; | |
for (f in z) | |
if (ia = z[f].tld, "undefined" != typeof gb[ia] && (c = gb[ia], "undefined" != typeof gb[c])) | |
for (n = 0; n < gb[c].length; n++) d = gb[c][n], "undefined" == typeof la[d] && (la[d] = []), la[d][f] = !0; | |
c = e.getElementsByTagName("pendingshare"); | |
for (f = 0; null != | |
c && f < c.length; f++) { | |
d = new Yb; | |
d.individualshare = !0; | |
d.pendingshare = !0; | |
d.logins = []; | |
d.otherlogins = []; | |
d.fields = []; | |
d.group = LP.lpgs("(New Pending Share Offers)"); | |
d.name = LP.lpgs("Share offer from") + " " + ic(Kb(c[f].getAttribute("sharerusername"))); | |
d.is_http = !0; | |
d.favico = ""; | |
d.last_time = 0; | |
d.sn = !1; | |
d.tld = ""; | |
d.unencryptedUsername = ""; | |
d.save_all = !1; | |
d.realm = ""; | |
d.url = ""; | |
d.urid = ""; | |
d.manual = 0; | |
d.basic_auth = !1; | |
d.genpw = !1; | |
d.pwprotect = !1; | |
d.isbookmark = !1; | |
d.last_touch = 0; | |
d.fav = !1; | |
d.autologin = 0; | |
d.never_autofill = 0; | |
d.id = c[f].getAttribute("aid"); | |
d.fiid = c[f].getAttribute("aid"); | |
d.sharerusername = ic(Zb(c[f].getAttribute("sharerusername"))); | |
d.sharedfromaid = c[f].getAttribute("sharedfromaid"); | |
d.sharemessage = c[f].getAttribute("sharemessage"); | |
d.sharekeyenchex = c[f].getAttribute("sharekeyenchex"); | |
d.sharekeyenchexsig = c[f].getAttribute("sharekeyenchexsig"); | |
d.sharename = c[f].getAttribute("name"); | |
d.sharegroup = c[f].getAttribute("group"); | |
d.username = c[f].getAttribute("username"); | |
d.password = c[f].getAttribute("password"); | |
d.extra = c[f].getAttribute("extra"); | |
d.shareautoaccept = | |
c[f].getAttribute("shareautoaccept"); | |
d.attachkey = c[f].getAttribute("attachkey"); | |
d.attachpresent = c[f].getAttribute("attachpresent"); | |
d.shareafids = {}; | |
if (G = c[f].getAttribute("numafids")) | |
for (n = 0; n < G; ++n) g = c[f].getAttribute("afid" + n), h = c[f].getAttribute("afid" + n + "v"), null != g && null != h && (d.shareafids[g] = h); | |
bd[d.id] = d | |
} | |
c = e.getElementsByTagName("shareeautopush"); | |
for (f = 0; null != c && f < c.length; f++) { | |
d = new Gh; | |
d.fields = []; | |
d.otherfields = []; | |
G = !0; | |
g = "id aid sharekeyhexenc name group username password extra url rurl fav never_autofill pwprotect basic_auth autologin last_touch last_modified urid last_pw_change numf numof favico nexturid method is_http manual".split(" "); | |
for (n in g) | |
if (c[f].hasAttribute(g[n])) d[g[n]] = c[f].getAttribute(g[n]); | |
else if ("id" == g[n] || "aid" == g[n] || "sharekeyhexenc" == g[n]) { | |
ga("SHARE: shareeautopushes : error missing required arg=" + g[n], null); | |
G = !1; | |
break | |
} else d[g[n]] = null; if (G) { | |
G = null != d.numf ? d.numf : 0; | |
for (n = 0; n < G; ++n) g = {}, g.urid = c[f].getAttribute("f" + n + "urid"), g.name = c[f].getAttribute("f" + n + "name"), g.value = c[f].getAttribute("f" + n + "value"), g.type = c[f].getAttribute("f" + n + "type"), d.fields.push(g); | |
G = null != d.numof ? d.numof : 0; | |
for (n = 0; n < G; ++n) g = {}, g.urid = | |
c[f].getAttribute("of" + n + "urid"), g.name = c[f].getAttribute("of" + n + "name"), g.value = c[f].getAttribute("of" + n + "value"), g.type = c[f].getAttribute("of" + n + "type"), g.formname = c[f].getAttribute("of" + n + "formname"), d.otherfields.push(g); | |
"undefined" == typeof Pe[d.aid] && (Pe[d.aid] = []); | |
Pe[d.aid].push(d) | |
} | |
} | |
rr(e.getElementsByTagName("secprompts")[0], "xml"); | |
if ($b(ha + "_lt.cac") && (e = Jb(ha + "_lt.cac"), !1 != e)) { | |
e = e.split("\n"); | |
for (f = 0; f < e.length; f++) c = e[f].split(" "), 2 == c.length && "" != c[0] && "" != c[1] && (n = c[0], c = c[1], z[n] && c > | |
z[n].last_touch && (z[n].last_touch = c)) | |
} | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lpRebuildToolsMenu_all() | |
}, 0); | |
LP.lpDisplayAccounts_win(); | |
ne = !0 | |
} else ga("Problem in populateResponse. status=" + c.status + " ignorestatus: " + e, null), Ua("ErrorGetAcctsMsg"); | |
return !0 | |
} | |
function Vw(c, e, f, d, g, h, l, n, p, q, r, t, A, y, J, u, s, jd, ia, C, F, D) { | |
if (!n) return q && LP.lpClearCache(!0, !1, !1), !1; | |
try { | |
if (LP.isFennec && "undefined" != typeof Oe && null != Oe && 0 != Oe) { | |
var G = Math.round((new Date).getTime() / 1E3); | |
if (Oe < G) return q || (Sa(!1, "ff_trial"), | |
LP.alert(LP.lpgs("trialexpired"))), !1; | |
if (86400 <= G - os) { | |
var K = Math.round((Oe - G) / 86400); | |
LP.alert(LP.lpgs("trialnag1") + " " + K + " " + LP.lpgs(1 == K ? "day" : "days") + " " + LP.lpgs("trialnag2")); | |
os = G | |
} | |
} | |
if (null != se) { | |
var ea = parseInt(se); | |
0 < ea && ea < parseInt((new Date).getTime() / 1E3) && ("trueapi" == LP.getsinglefactortype() && LP.setsinglefactortype(""), "trueapi" == cc("type") && (jc.type = "")) | |
} | |
} catch (ra) {} | |
if (!LP.adminoverride.length && n && r) { | |
var Y = Ya(r); | |
if ("" != r && Q != Y) return ga("Encrypted username check failed: " + Q + " vs " + Y + " for " + | |
r + " local " + q, null), LP.lpClearCache(!0, !0, !1), Sa(!1, "ff_encusernamecheck2"), LP.alert(LP.lpgs("An error has been encountered while loading your sites. Please relogin.")), !1 | |
} | |
if (n) { | |
var v = $b(ha + "_lps.act.sxml") || $b(ha + "_lps.act.xml"); | |
LP.lpdolostpwotp && !v && !LP.lpprefsHasUserValue("StoreLostPWOTP") && LP.lpprefsSetBoolPref("StoreLostPWOTP", !0) | |
} | |
Zd = y.maxid; | |
!q && n && Yn(p, null, "parse_getaccts.js"); | |
if (0 < n) { | |
var E = ai; | |
Yk = null != E ? E : 0; | |
var H = dh; | |
Xk = null != H ? H : 0; | |
vb = parseInt(dl(p)); | |
q || (kc = vb) | |
} | |
var L = "", | |
Z = !1; | |
LP.lpprefsHasUserValue("identity") && | |
(L = LP.lpprefsGetCharPref("identity")); | |
for (var M = 0; M < g.length; M++) { | |
var W = new Dq; | |
W.iid = g[M].iid; | |
W.iname = Ya(g[M].iname); | |
W.aids = g[M].aids; | |
W.ffids = g[M].ffids; | |
null == W.ffids && (W.ffids = ""); | |
W.pwprotect = g[M].pw_prompt; | |
W.appaids = g[M].appaids; | |
Oa[Oa.length] = W; | |
L == W.iid && (Z = !0) | |
} | |
Oa.sort(sr); | |
pl(); | |
if (!Z && "" != L) return L = "", LP.lpIdentityHelper("", !0), LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_badident"), LP.lpalert_ex(LP.lpgs("Your selected Identity no longer exists. Defaulting to 'All' and logging off.")), !1; | |
c.sort(jn); | |
e.sort(jn); | |
ia.sort(jn); | |
for (M = 0; M < ia.length; M++) | |
if (LP.IdentityAppAidIsOk(L, ia[M].appaid)) { | |
ia[M].appname = Kb(ia[M].appname); | |
ia[M].extra = Ha(ia[M].extra); | |
for (var ca = 0; ca < ia[M].fields.length; ca++) ia[M].fields[ca].value = Ha(ia[M].fields[ca].value); | |
qb[ia[M].appaid] = ia[M] | |
} | |
for (ca = 1; 2 >= ca; ca++) | |
for (var Ma = 1 == ca ? c : e, M = 0; null != Ma && M < Ma.length; M++) { | |
var w = Ma[M].aid; | |
if (LP.IdentityIsOk(L, w)) { | |
var ba = Ma[M].name, | |
V = Ma[M].urid, | |
Qa = Kb(Ma[M].url), | |
ja = Ma[M].fav, | |
U = Ha(Ma[M].extra), | |
T = Ma[M].autologin ? "1" : "0", | |
P = 1 == parseInt(Ma[M].basic_auth), | |
ma = Ma[M].sn, | |
na = Ma[M].group, | |
na = "" == na && !ma ? LP.get_null_group() : "" == na && ma ? LP.lpgs("SecureNotes") : na, | |
pa = Ma[M].genpw, | |
wa = Ma[M].never_autofill ? "1" : "0", | |
ua = Ma[M].last_touch, | |
qa = Aj(Ma[M].realm_data, !0, Ma[M], B), | |
xa = Ma[M].sharedfromaid, | |
sa = Ma[M].pwprotect, | |
fa = { | |
aid: w, | |
manual: "1", | |
is_http: "0" | |
}, Wa = Ma[M].attachkey, | |
aa = Ma[M].attachpresent, | |
ab = Ma[M].noalert; | |
if (1 == parseInt(ja)) { | |
var X = new Zc; | |
X.id = w; | |
X.command = fa; | |
$a[$a.length] = X | |
} | |
var bb = new Yb; | |
bb.individualshare = "undefined" != typeof Ma[M].individualshare ? Ma[M].individualshare : !1; | |
bb.pendingshare = !1; | |
bb.name = ba; | |
bb.urid = V; | |
bb.id = w; | |
bb.url = Qa; | |
bb.manual = "1"; | |
bb.is_http = "0"; | |
bb.extra = U; | |
bb.fav = ja; | |
bb.favico = "0"; | |
bb.autologin = T; | |
bb.basic_auth = P; | |
bb.group = na; | |
bb.fiid = w; | |
bb.genpw = pa; | |
bb.isbookmark = !1; | |
bb.never_autofill = wa; | |
bb.last_touch = ua; | |
bb.sn = ma; | |
bb.sharedfromaid = xa; | |
var va = bb.save_all = !1; | |
bb.pwprotect = sa; | |
bb.realm = qa; | |
bb.attachkey = Wa; | |
bb.attachpresent = aa; | |
bb.noalert = ab; | |
"undefined" != typeof Ma[M].sharefolderid && (bb.sharefolderid = Ma[M].sharefolderid); | |
"undefined" != typeof Ma[M].attachid && (bb.attachid = | |
Ma[M].attachid, bb.attachname = Ma[M].attachname); | |
bb.logins = []; | |
bb.otherlogins = []; | |
bb.fields = []; | |
var Aa = Ta(bb.url); | |
if (Ga && Aa) try { | |
od || (od = mc.parse(Zb(Jb("rfdefaults")))), od && "undefined" != typeof od[Aa] && (Ma[M].submit_id = od[Aa].submit_id, Ma[M].captcha_id = od[Aa].captcha_id, Ma[M].custom_js = od[Aa].custom_js) | |
} catch (ya) {} | |
for (var Va = 0; Va < Ma[M].fields.length; Va++) { | |
for (var za = Ma[M].fields[Va], Za = "1" == za.otherlogin ? bb.otherlogins : bb.logins, Fa = 0; Fa < Za.length && Za[Fa].urid != za.urid; Fa++); | |
if (Fa == Za.length) { | |
var Ca = new gd; | |
Ca.urid = za.urid; | |
Ca.url = "" != za.url ? Kb(za.url) : bb.url; | |
var Ua = xb(Ca.url); | |
Ca.server = Ua.host; | |
Ca.tld = sc(Ua.host, Ca.url); | |
var jb = nb(Ca.url, Ua); | |
pa || (Dc[Dc.length] = jb); | |
Ca.submit_id = Ma[M].submit_id; | |
Ca.captcha_id = Ma[M].captcha_id; | |
Ca.custom_js = Ma[M].custom_js; | |
Ca.username = Ha(Ma[M].username); | |
Ca.password = Ha(Ma[M].password); | |
Ca.openid_url = ""; | |
Ca.method = Ma[M].method; | |
Ca.action = "undefined" != typeof Ma[M].action ? Ma[M].action : ""; | |
Ca.unencryptedUsername = O(Ca.username, bb, B); | |
0 == Fa && (bb.username = Ca.username, bb.password = Ca.password, | |
bb.unencryptedUsername = Ca.unencryptedUsername); | |
Ca.uname = ""; | |
Ca.pname = ""; | |
Ca.oname = ""; | |
Ca.exact_uname_found = !1; | |
Ca.exact_pname_found = !1; | |
Ca.fields = []; | |
Ca.otherfields = []; | |
Za[Za.length] = Ca | |
} | |
var Ca = Za[Fa], | |
Vb = new Nd; | |
Vb.name = za.name; | |
Vb.type = za.type; | |
Vb.value = za.value; | |
if ("email" == Vb.type || "tel" == Vb.type || "url" == Vb.type || "text" == Vb.type || "password" == Vb.type || "textarea" == Vb.type) Vb.value = Ha(Vb.value); | |
za.otherfield && (Vb.formname = za.formname); | |
Vb.ordernum = null; | |
if (("email" == Vb.type || "url" == Vb.type || "tel" == Vb.type || "text" == | |
Vb.type) && "openid_url" != Vb.name) | |
if ("" != Ca.username && Vb.value == Ca.username) Ca.uname = Vb.name, Ca.exact_uname_found = !0; | |
else if (!Ca.exact_uname_found && ("" == Ca.pname || "" == Ca.uname)) Ca.uname = Vb.name; | |
"password" == Vb.type && ("" != Ca.password && Vb.value == Ca.password ? (Ca.pname = Vb.name, Ca.exact_pname_found = !0) : Ca.exact_pname_found || (Ca.pname = Vb.name)); | |
if (("email" == Vb.type || "url" == Vb.type || "tel" == Vb.type || "text" == Vb.type) && "openid_url" == Vb.name) Ca.oname = Vb.name; | |
if ("radio" == Vb.type || "checkbox" == Vb.type) | |
if (Vb.checked = | |
za.checked, "radio" == Vb.type && !Vb.checked) continue; | |
za.otherfield && "0" == Ca.urid && !va && (bb.save_all = !0); | |
za.otherfield ? Ca.otherfields[Ca.otherfields.length] = Vb : (va = !0, bb.save_all = !1, Ca.fields[Ca.fields.length] = Vb) | |
} | |
0 == bb.logins.length && (Ca = new gd, Ca.urid = "0", Ca.url = bb.url, Ua = xb(Ca.url), Ca.server = Ua.host, Ca.tld = sc(Ua.host, Ca.url), jb = nb(Ca.url, Ua), pa || (Dc[Dc.length] = jb), Ca.submit_id = Ma[M].submit_id, Ca.captcha_id = Ma[M].captcha_id, Ca.custom_js = Ma[M].custom_js, Ca.username = Ha(Ma[M].username), Ca.password = Ha(Ma[M].password), | |
Ca.openid_url = "", Ca.method = Ma[M].method, Ca.action = "undefined" != typeof Ma[M].action ? Ma[M].action : "", Ca.unencryptedUsername = O(Ca.username, bb, B), bb.username = Ca.username, bb.password = Ca.password, bb.unencryptedUsername = Ca.unencryptedUsername, Ca.uname = "", Ca.pname = "", Ca.oname = "", Ca.exact_uname_found = !1, Ca.exact_pname_found = !1, Ca.fields = [], Ca.otherfields = [], bb.logins[bb.logins.length] = Ca); | |
bb.tld = Aa; | |
P && (te[w] = bb, te[w].last_time = 0, te[w].realm = qa); | |
bb.sn ? Ia[w] = bb : z[w] = bb; | |
tf++; | |
"undefined" == typeof la[Aa] && (la[Aa] = []); | |
la[Aa][w] = !0; | |
bb.genpw && (vf[w] = !0) | |
} | |
} | |
Qe && "function" == typeof Qe && (Qe(), Qe = null); | |
for (M = 0; null != l.neveraccounts && M < l.neveraccounts.length; M++) Qa = l.neveraccounts[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), Tc[Tc.length] = Qa; | |
for (M = 0; null != l.nevergenerates && M < l.nevergenerates.length; M++) Qa = l.nevergenerates[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), Ud[Ud.length] = Qa; | |
for (M = 0; null != l.neverformfills && M < l.neverformfills.length; M++) Qa = l.neverformfills[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), Vd[Vd.length] = Qa; | |
for (M = 0; null != l.neverautologins && M < l.neverautologins.length; M++) Qa = l.neverautologins[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), Od[Od.length] = Qa; | |
for (M = 0; null != l.nevershowicons && M < l.nevershowicons.length; M++) Qa = l.nevershowicons[M], -1 == Qa.indexOf(".") && (Qa = Kb(Qa)), Td[Td.length] = Qa; | |
for (M = 0; null != l.onlyaccounts && M < l.onlyaccounts.length; M++) Qa = l.onlyaccounts[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), mf[mf.length] = | |
Qa; | |
for (M = 0; null != l.onlygenerates && M < l.onlygenerates.length; M++) Qa = l.onlygenerates[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), qf[qf.length] = Qa; | |
for (M = 0; null != l.onlyformfills && M < l.onlyformfills.length; M++) Qa = l.onlyformfills[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), rf[rf.length] = Qa; | |
for (M = 0; null != l.onlyautologins && M < l.onlyautologins.length; M++) Qa = l.onlyautologins[M], -1 == Qa.indexOf(".") && -1 != Kb(Qa).indexOf(".") && (Qa = Kb(Qa)), of[of.length] = Qa; | |
for (M = 0; null != l.onlyshowicons && | |
M < l.onlyshowicons.length; M++) Qa = l.onlyshowicons[M], -1 == Qa.indexOf(".") && (Qa = Kb(Qa)), sf[sf.length] = Qa; | |
for (M = 0; null != d && M < d.length; M++) { | |
var Da = d[M].ffid; | |
if (LP.IdentityFfidIsOk(L, Da)) { | |
var Ja = new cj; | |
"undefined" != typeof d[M].sharefolderid ? (Ja.sharefolderid = d[M].sharefolderid, Ja.group = d[M].group) : Ja.group = ""; | |
Ja.ffid = Da; | |
Ja.profiletype = d[M].profiletype; | |
Ja.profilename = Aj(d[M].profilename, !0, d[M], B); | |
Ja.profilelanguage = Ha(d[M].profilelanguage); | |
Ja.firstname = Ha(d[M].firstname); | |
Ja.firstname2 = Ha(d[M].firstname2); | |
Ja.firstname3 = Ha(d[M].firstname3); | |
Ja.middlename = Ha(d[M].middlename); | |
Ja.lastname = Ha(d[M].lastname); | |
Ja.lastname2 = Ha(d[M].lastname2); | |
Ja.lastname3 = Ha(d[M].lastname3); | |
Ja.email = Ha(d[M].email); | |
Ja.mobileemail = Ha(d[M].mobileemail); | |
Ja.company = Ha(d[M].company); | |
Ja.ssn = Ha(d[M].ssn); | |
Ja.birthday = Ha(d[M].birthday); | |
Ja.address1 = Ha(d[M].address1); | |
Ja.address2 = Ha(d[M].address2); | |
Ja.address3 = Ha(d[M].address3); | |
Ja.title = Ha(d[M].title); | |
Ja.city = Ha(d[M].city); | |
Ja.county = Ha(d[M].county); | |
Ja.state = Ha(d[M].state); | |
Ja.state_name = Ha(d[M].state_name); | |
Ja.zip = Ha(d[M].zip); | |
Ja.country = Ha(d[M].country); | |
Ja.country_cc3l = Ha(d[M].country_cc3l); | |
Ja.country_name = Ha(d[M].country_name); | |
Ja.countryphone = Ha(d[M].phone3lcc); | |
Ja.countryevephone = Ha(d[M].evephone3lcc); | |
Ja.countryfaxphone = Ha(d[M].fax3lcc); | |
Ja.countrymobphone = Ha(d[M].mobilephone3lcc); | |
Ja.phone = Ha(d[M].phone); | |
Ja.fax = Ha(d[M].fax); | |
Ja.mobilephone = Ha(d[M].mobilephone); | |
Ja.evephone = Ha(d[M].evephone); | |
Ja.phoneext = Ha(d[M].phoneext); | |
Ja.evephoneext = Ha(d[M].eveext); | |
Ja.mobilephoneext = Ha(d[M].mobileext); | |
Ja.faxphoneext = | |
Ha(d[M].faxext); | |
Ja.ccname = Ha(d[M].ccname); | |
Ja.ccnum = Ha(d[M].ccnum); | |
Ja.ccstart = Ha(d[M].ccstart); | |
Ja.ccexp = Ha(d[M].ccexp); | |
Ja.cccsc = Ha(d[M].cccsc); | |
Ja.ccissuenum = Ha(d[M].ccissuenum); | |
Ja.username = Ha(d[M].username); | |
Ja.gender = Ha(d[M].gender); | |
Ja.pwprotect = d[M].pwprotect; | |
Ja.creditmon = d[M].creditmon; | |
Ja.timezone = Ha(d[M].timezone); | |
Ja.bankname = Ha(d[M].bankname); | |
Ja.bankacctnum = Ha(d[M].bankacctnum); | |
Ja.bankroutingnum = Ha(d[M].bankroutingnum); | |
Ja.customfields = []; | |
for (ca = 0; ca < d[M].custom_fields.length; ca++) { | |
var Pa = new Tm; | |
Pa.cfid = d[M].custom_fields[ca].cfid; | |
Pa.text = Ha(d[M].custom_fields[ca].text); | |
Pa.value = Ha(d[M].custom_fields[ca].value); | |
Pa.alttext = Ha(d[M].custom_fields[ca].alttext); | |
Ja.customfields[Ja.customfields.length] = Pa | |
} | |
Ja.notes = Ha(d[M].notes); | |
ka[ka.length] = Ja | |
} | |
} | |
ka.sort(bl); | |
Zh(); | |
gb = h; | |
xd = J; | |
for (M in z) | |
if (Aa = z[M].tld, "undefined" != typeof gb[Aa]) { | |
var Ba = gb[Aa]; | |
if ("undefined" != typeof gb[Ba]) | |
for (ca = 0; ca < gb[Ba].length; ca++) { | |
var kb = gb[Ba][ca]; | |
"undefined" == typeof la[kb] && (la[kb] = []); | |
la[kb][M] = !0 | |
} | |
} | |
for (M = 0; null != t && M < t.length; M++) { | |
var Ib = | |
new Yb; | |
Ib.individualshare = !0; | |
Ib.pendingshare = !0; | |
Ib.logins = []; | |
Ib.otherlogins = []; | |
Ib.fields = []; | |
Ib.group = LP.lpgs("(New Pending Share Offers)"); | |
Ib.name = LP.lpgs("Share offer from") + " " + ic(Zb(t[M].sharerusername)); | |
Ib.is_http = !0; | |
Ib.favico = ""; | |
Ib.last_time = 0; | |
Ib.sn = !1; | |
Ib.tld = ""; | |
Ib.unencryptedUsername = ""; | |
Ib.save_all = !1; | |
Ib.realm = ""; | |
Ib.url = ""; | |
Ib.urid = ""; | |
Ib.manual = 0; | |
Ib.basic_auth = !1; | |
Ib.genpw = !1; | |
Ib.pwprotect = !1; | |
Ib.isbookmark = !1; | |
Ib.last_touch = 0; | |
Ib.fav = !1; | |
Ib.autologin = 0; | |
Ib.never_autofill = 0; | |
Ib.id = t[M].id; | |
Ib.fiid = t[M].id; | |
Ib.sharerusername = ic(Zb(t[M].sharerusername)); | |
Ib.sharedfromaid = t[M].sharedfromaid; | |
Ib.sharemessage = t[M].sharemessage; | |
Ib.sharekeyenchex = t[M].sharekeyenchex; | |
Ib.sharekeyenchexsig = t[M].sharekeyenchexsig; | |
Ib.sharename = t[M].sharename; | |
Ib.sharegroup = t[M].sharegroup; | |
Ib.username = t[M].username; | |
Ib.password = t[M].password; | |
Ib.extra = t[M].extra; | |
Ib.shareautoaccept = t[M].shareautoaccept; | |
Ib.shareafids = t[M].shareafids; | |
Ib.attachkey = t[M].attachkey; | |
Ib.attachpresent = t[M].attachpresent; | |
bd[Ib.id] = Ib | |
} | |
for (var Xa = Pe, hb = 0; null != A && | |
hb < A.length; hb++) { | |
var Ra = new Gh; | |
Ra.fields = []; | |
Ra.otherfields = []; | |
var eb = !0, | |
db = "id aid sharekeyhexenc name group username password extra url rurl fav never_autofill pwprotect basic_auth autologin last_touch last_modified urid last_pw_change numf numof favico nexturid method is_http manual".split(" "), | |
tc; | |
for (tc in db) | |
if ("undefined" != typeof A[hb][db[tc]]) Ra[db[tc]] = A[hb][db[tc]]; | |
else if ("id" == db[tc] || "aid" == db[tc] || "sharekeyhexenc" == db[tc]) { | |
ga("SHARE: shareeautopushes : error missing required arg=" + db[tc], | |
null); | |
eb = !1; | |
break | |
} else Ra[db[tc]] = null; if (eb) { | |
var rb = null != Ra.numf ? Ra.numf : 0; | |
for (tc = 0; tc < rb; ++tc) { | |
var Ab = {}; | |
Ab.urid = A[hb]["f" + tc + "urid"]; | |
Ab.name = A[hb]["f" + tc + "name"]; | |
Ab.value = A[hb]["f" + tc + "value"]; | |
Ab.type = A[hb]["f" + tc + "type"]; | |
Ra.fields.push(Ab) | |
} | |
var Mb = null != Ra.numof ? Ra.numof : 0; | |
for (tc = 0; tc < Mb; ++tc) { | |
var di = {}; | |
di.urid = A[hb]["of" + tc + "urid"]; | |
di.name = A[hb]["of" + tc + "name"]; | |
di.value = A[hb]["of" + tc + "value"]; | |
di.type = A[hb]["of" + tc + "type"]; | |
di.formname = A[hb]["of" + tc + "formname"]; | |
Ra.otherfields.push(di) | |
} | |
"undefined" == | |
typeof Xa[Ra.aid] && (Xa[Ra.aid] = []); | |
Xa[Ra.aid].push(Ra) | |
} | |
} | |
Vc = f.login_site_prompt; | |
pe = f.edit_site_prompt; | |
uf = f.edit_sn_prompt; | |
Ke = f.view_pw_prompt; | |
qe = f.view_ff_prompt; | |
pj = f.improve; | |
qj = f.switch_identity_prompt; | |
el = f.multifactor_reprompt; | |
bo = f.company_login_site_prompt; | |
co = f.company_copyview_site_prompt; | |
var Rc = xl = s; | |
if (typeof Rc.allowmasterpasswordsave && "0" == Rc.allowmasterpasswordsave) { | |
LP.lpprefsSetBoolPref("rememberPassword", !1, !1); | |
var eo = Re(), | |
zb; | |
for (zb in eo) Q == ic(zb) && (eo[zb] = null); | |
hh(eo) | |
} | |
"undefined" != typeof Rc.logoffclosebrowser && | |
"-1" != Rc.logoffclosebrowser && (LP.lpprefsSetBoolPref("logOffWhenCloseBrowser", !0), LP.lpprefsSetIntPref("logOffWhenCloseBrowserVal", parseInt(Rc.logoffclosebrowser))); | |
"undefined" != typeof Rc.logoffidle && "-1" != Rc.logoffidle && (LP.lpprefsSetBoolPref("idleLogoff", !0), LP.lpprefsSetIntPref("idleLogoffVal", parseInt(Rc.logoffidle))); | |
var Hb = 0; | |
"undefined" != typeof Rc.noexport && (Hb = Rc.noexport); | |
LP.lpprefsSetIntPref("noexport", Hb); | |
LP.sitepwlen = "string" == typeof Rc.sitepwlen && "" != Rc.sitepwlen ? mc.parse(Rc.sitepwlen) : []; | |
"undefined" != typeof Rc.hideidentities && (LP.lpprefsSetBoolPref("hideidentities", "1" == Rc.hideidentities, !1), LP.SetupUserPreferences(), pl()); | |
LP.savesitestopersonal = "string" == typeof Rc.savesitestopersonal && "" != Rc.savesitestopersonal ? Rc.savesitestopersonal.split(",") : []; | |
if ($b(ha + "_lt.cac")) { | |
var Gb = Jb(ha + "_lt.cac"); | |
if (!1 != Gb) | |
for (var pb = Gb.split("\n"), Ea = 0; Ea < pb.length; Ea++) { | |
var mb = pb[Ea].split(" "); | |
if (2 == mb.length && "" != mb[0] && "" != mb[1]) { | |
var ta = mb[0], | |
I = mb[1]; | |
z[ta] && I > z[ta].last_touch && (z[ta].last_touch = | |
I) | |
} | |
} | |
} | |
LP.lpGetCurrentWindow().setTimeout(function() { | |
LP.lpRebuildToolsMenu_all() | |
}, 0); | |
LP.lpDisplayAccounts_win(); | |
ne = !0; | |
"undefined" != typeof F && F.attachversion > dg && (dg = F.attachversion); | |
ps(); | |
var ob = "string" == typeof g_username_hash ? g_username_hash : typeof ha ? ha : null, | |
sb = "undefined" != typeof g_local_accts_version ? g_local_accts_version : typeof vb ? vb : -1; | |
null == ob || qs(ob, sb, function(c) { | |
null == c && !0 != fo && (fo = !0, rs(Ka, null, function(c) { | |
g_aDictionary = c; | |
if (null != g_aDictionary) { | |
g_SFNames = []; | |
SharedAccounts = []; | |
go = []; | |
NonSharedAccounts = []; | |
g_aSites = []; | |
g_runtimems = (new Date).getTime(); | |
g_shared_accounts = 0; | |
ih = []; | |
folderscores = []; | |
shareddictionary = []; | |
Ed = []; | |
sharedavgpasswordlength = []; | |
SharedPasswords = []; | |
sharedweak = []; | |
ue = []; | |
sharedavgstrength = []; | |
sharedcountscore = []; | |
sharedtotalscore = []; | |
SFNameToID = []; | |
AllSFIDs = []; | |
AllSFNames = []; | |
c = "undefined" != typeof g_sites ? g_sites : z; | |
var d = "undefined" != typeof g_shares ? g_shares : B, | |
e = "undefined" != typeof g_equivalentdomains ? g_equivalentdomains : gb, | |
f; | |
for (f in c) | |
if (c.hasOwnProperty(f)) | |
if ("http://group" == c[f].url) c[f].aid == | |
c[f].sharefolderid && (AllSFIDs[AllSFIDs.length] = f, AllSFNames[AllSFNames.length] = c[f].group, SFNameToID[c[f].group] = f); | |
else if ("http://sn" != c[f].url) { | |
var g = yb(d, c[f].group), | |
h = null != c[f].sharedfromaid && "" != c[f].sharedfromaid && "0" != c[f].sharedfromaid; | |
if (g || !h) g && (getsharedata = yb(d, c[f].group), sfname = getsharedata.decsharename, "undefined" == typeof SharedAccounts[sfname] && (g_SFNames[g_SFNames.length] = sfname, SharedAccounts[sfname] = [], SFNameToID[sfname] = c[f].sharefolderid), SharedAccounts[sfname][SharedAccounts[sfname].length] = | |
f, go[f] = sfname, g_shared_accounts++), g || (NonSharedAccounts[NonSharedAccounts.length] = f), h = {}, h.id = f, h.usernamedec = fb(c[f], 0), h.passworddec = fb(c[f], 1), h.passworddecfix = ic(h.passworddec), h.domain2lvl = h.realdomain2lvl = Ta(c[f].url), h.genpw = "undefined" != typeof c[f].genpw && 1 == c[f].genpw ? 1 : 0, g && (h.sfname = sfname), "undefined" != typeof e[h.domain2lvl] && (g = e[h.domain2lvl], "undefined" != typeof e[g] && (h.domain2lvl = e[g][0])), g_aSites[g_aSites.length] = h | |
} | |
g_numsites = g_aSites.length; | |
g_numSharedFolders = g_SFNames.length; | |
g_ind_accounts = NonSharedAccounts.length; | |
g_avgpasswordlength = g_numdictionary = g_numblanksites = g_numduppasswords = ei = g_numdupsites = eg = g_numweak = g_strengthscore = g_avgstrength = g_countscore = g_totalscore = g_runtimems = Bj = 0; | |
g_aPasswords = {}; | |
g_allPasswords = {}; | |
sharedpasswords = []; | |
a: { | |
try { | |
f = g = 0; | |
c = {}; | |
d = {}; | |
e = {}; | |
for (oa = 0; oa < g_numsites; ++oa) { | |
var l = g_aSites[oa], | |
n = "undefined" != typeof l.sfname ? !0 : !1; | |
e[l.id] = l.domain2lvl; | |
var p = l.passworddec; | |
if ("undefined" != typeof l.genpw && 1 == l.genpw && !n)++g, c[l.id] = p; | |
else if ("undefined" == | |
typeof l.genpw || 0 == l.genpw)++f, "undefined" == typeof d[p] && (d[p] = []), d[p].push(l.id); | |
p = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} | |
var l = "", | |
q; | |
for (q in c) { | |
p = c[q]; | |
if ("undefined" != typeof d[p]) { | |
var n = !1, | |
r; | |
for (r in d[p]) { | |
var t = d[p][r]; | |
e[q].toLowerCase() == e[t].toLowerCase() && (n = !0) | |
} | |
n && (e[q].toLowerCase(), l += ("" == l ? "" : ",") + q) | |
} | |
p = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} | |
try { | |
for (r in c) c[r] = | |
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
for (r in d) delete d[r]; | |
r = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
d = {}; | |
for (r = 0; r < f + 10; ++r) d["xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" + r] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} catch (u) {} | |
if ("" == | |
l) { | |
jh(); | |
break a | |
} | |
p = l; | |
if ("undefined" != typeof ischrome && ischrome || "undefined" != typeof Cj && Cj || "undefined" != typeof g_isopera && g_isopera || "undefined" != typeof g_ismaxthon && g_ismaxthon || "undefined" != typeof LP && "undefined" != typeof LP.lpMakeRequest) { | |
var A = LP.lp_base + "misc_challenge.php?lpnorefresh=1", | |
y = "cmd=deletegenpws&format=xml&ids=" + LP.en(p); | |
LP.lpMakeRequest(A, y, function(c) { | |
if (4 == c.readyState) { | |
if (200 == c.status && null != c.responseXML && null != c.responseXML.documentElement) { | |
var d = c.responseXML.documentElement.getElementsByTagName("ok"); | |
c = ""; | |
if (0 < d.length && (c = d[0].getAttribute("deletedids"), null != c && "" != c)) { | |
d = {}; | |
c = c.split(":"); | |
for (oa = 0; oa < c.length; ++oa) d[c[oa]] = 1; | |
ss(d); | |
return | |
} | |
} | |
jh() | |
} | |
}) | |
} else "undefined" != typeof $ && "undefined" != typeof $.ajax && "undefined" != typeof g_token ? (y = { | |
cmd: "deletegenpws", | |
ids: p, | |
token: g_token | |
}, $.ajax({ | |
global: !1, | |
type: "POST", | |
cache: !1, | |
dataType: "json", | |
url: "misc_challenge.php?lpnorefresh=1", | |
data: y, | |
success: function(c) { | |
!0 != c.success ? challengeerror(c) : ss(c.deletedids) | |
}, | |
failure: challengeerror | |
})) : jh(); | |
break a | |
} catch (J) {} | |
jh() | |
} | |
} | |
})) | |
}); | |
"undefined" != typeof D && "function" == typeof ts && ts(D, function() { | |
LP.lpGetAccounts() | |
}, B); | |
if ("undefined" != typeof foundmsfi) { | |
postdata = ""; | |
for (Ea = 0; Ea < msfids.length; Ea++) { | |
for (var Sb = msfids[Ea].shareid, Fd = "", M = 0; M < B.length; M++) | |
if (B[M].id == Sb) { | |
Fd = La.bin2hex(B[M].key); | |
decsharename = B[M].decsharename; | |
break | |
} | |
var Db = new ve, | |
cb; | |
a: { | |
for (var Nb = Db, N = msfids[Ea].key, R = fi.decode(N), R = wb.decode(R).toPrettyString(), R = -1 != R.indexOf("<br>") ? R.split(/<br>/) : R.split(/\n/), Qb = !1, ho = 0, lb = ["n", "e"], Ob = {}, Xb = 0; Xb < R.length; Xb++) { | |
var Gd = | |
R[Xb]; | |
if (-1 != Gd.indexOf("STRING")) Qb = !0; | |
else if (Qb && -1 != Gd.indexOf("INTEGER")) { | |
var S = Gd.indexOf("@"); | |
if (-1 == S) { | |
cb = !1; | |
break a | |
} | |
Gd = Gd.substring(S + 1); | |
Gd = Gd.split(/\+/); | |
if (3 != Gd.length) { | |
cb = !1; | |
break a | |
} | |
var S = 2 * Gd[0], | |
Na = 2 * Gd[1], | |
Gd = N.substring(S + Na, S + Na + 2 * Gd[2]); | |
Ob[lb[ho]] = Gd; | |
ho++ | |
} | |
} | |
cb = Qb && ho == lb.length ? (Nb.setPublic(Ob.n, Ob.e), !0) : !1 | |
} | |
if (cb) { | |
var ac = Db.encrypt(Fd), | |
Rb = da(decsharename, B[M].key); | |
postdata += "&sharekey" + Ea + "=" + encodeURIComponent(ac) + "&uid" + Ea + "=" + encodeURIComponent(msfids[Ea].uid); | |
postdata += "&shareid" + | |
Ea + "=" + encodeURIComponent(msfids[Ea].shareid); | |
postdata += "&decsharename" + Ea + "=" + encodeURIComponent(decsharename); | |
postdata += "&encsharename" + Ea + "=" + encodeURIComponent(Rb) | |
} | |
} | |
lpMakeRequest(base_url + "process_msf.php", postdata, null, null) | |
} | |
return !0 | |
} | |
function us(c, e, f) { | |
var d = LP.make_lp_key(c, e), | |
g = [], | |
h = [], | |
l = [], | |
n = []; | |
if (!LP.reencrypt(g, z, d) || !LP.reencrypt(h, Ia, d) || !LP.reencrypt(l, ka, d) || !LP.reencrypt(n, qb, d)) return LP.alert(LP.lpgs("An error occurred")), !1; | |
Sb = ja; | |
Ub = rb(Sb); | |
var p = !0, | |
q = lc(); | |
if (null == q) LP.alert(LP.lpgs("An error occurred")); | |
else { | |
var r = vb + 1, | |
t; | |
f ? (t = ja, ja = d, wf = rb(ja)) : (z = g, Ia = h, ka = l, qb = n, lp_local_Accts_version = r, tl = Fa(d), ja = d, wf = rb(ja), Q = c, ha = Fa(c)); | |
for (var A in g) p && !nd(q, A, !1) && (p = !1), p && !Ad(q, g[A], !1) && (p = !1); | |
for (A in h) p && !nd(q, A, !1) && (p = !1), p && !Ad(q, h[A], !1) && (p = !1); | |
for (A in l) d = l[A].ffid, p && !kr(q, d, !1) && (p = !1), p && !lr(q, l[A], !1) && (p = !1); | |
for (A in n) p && !Qh(q, A, !1) && (p = !1), p && !oj(q, n[A], !1) && (p = !1); | |
q.encrypted_username = da(c, null, !0); | |
p && !Wd(q, r) && (p = !1); | |
p && (p = wc(q, null, "ChangeMasterPassword", f)); | |
if (f) return ja = t, wf = rb(ja), | |
p; | |
p ? (pf = ja, Hh(), Gc("local_pwchange", { | |
data0: c, | |
data1: e | |
}), Fb(), LP.alert(LP.lpgs("Password updated!"))) : LP.alert(LP.lpgs("An error occurred")) | |
} | |
} | |
function vs(c, e, f, d) { | |
try { | |
for (var g in e) | |
if ("object" == typeof e[g]) { | |
var h = []; | |
if (!vs(h, e[g], f, "customfields" == g ? 2 : d || "fields" == g || "otherfields" == g)) return !1; | |
c[g] = h | |
} else { | |
var l; | |
if (!(l = kb(g, Ww))) { | |
var n; | |
if (n = "value" == g) { | |
var p; | |
if (!(p = 2 == d)) { | |
var q; | |
if (q = d) a: { | |
h = void 0; | |
for (h in e) | |
if ("type" == h && ("password" == e[h] || "text" == e[h] || "hidden" == e[h] || "textarea" == e[h] || "email" == e[h] || | |
"tel" == e[h] || "url" == e[h])) { | |
q = !0; | |
break a | |
} else if ("id" == h) { | |
q = !0; | |
break a | |
} | |
q = !1 | |
} | |
p = q | |
} | |
n = p | |
} | |
l = n | |
} | |
if (l) { | |
var r = Ya(e[g]); | |
if ((null == r || "" == r) && null != e[g] && "" != e[g]) return !1; | |
var t = da(r, f); | |
c[g] = t | |
} else c[g] = e[g] | |
} | |
} catch (A) { | |
return !1 | |
} | |
return !0 | |
} | |
function Fk() { | |
Dj = cg = eh = "" | |
} | |
function ws(c, e, f, d) { | |
if (ma()) { | |
c = c.toUpperCase(); | |
var g = "" == c ? "" : Z.xCryptoHash(c); | |
c = "" == c ? "" : Z.xCryptoHash(e); | |
d = "undefined" == typeof d || 0 == d ? 0 : d; | |
e = "privatekeyenc=" + LP.en(e) + "&publickey=" + LP.en(f) + "&forcewriteprivate=" + LP.en(d) + "&userkeyhexhash=" + LP.en(g) + | |
"&privatekeyenchexhash=" + LP.en(c) + "&from=" + LP.en("ffplugin"); | |
LP.lpMakeRequest(LP.lp_base + "uploadrsakeys.php", e, Xw) | |
} | |
} | |
function Xw(c) { | |
if (ma() && 4 == c.readyState) | |
if (200 != c.status) ga("lprsa_uploadrsakeysresponse : failed status=" + c.status); | |
else { | |
if (null != c.responseXML && null != c.responseXML.documentElement) { | |
var e = c.responseXML.documentElement.getElementsByTagName("ok"), | |
f = ""; | |
if (0 < e.length && (f = e[0].getAttribute("privatekeyenchex"), null != f && "" != f)) { | |
Yw(f); | |
return | |
} | |
} | |
c = c.responseText; | |
null == c && (c = "null"); | |
ga("lprsa_uploadrsakeysresponse : failed to process uploadrsakeys.php response. server returned responseText=" + | |
c, null) | |
} | |
} | |
function Yw(c) { | |
if (!ma()) return !1; | |
if (null == Q || "" == Q) return ga("lprsa_writersaprivatekeyenchextofile : lpusername is invalid"), !1; | |
var e = Z.xCryptoHash(rb(Q)) + "_ff_lppri.lps"; | |
if ("" == e || null == e) return ga("lprsa_writersaprivatekeyenchextofile : could not form filenamehex : lpusername=" + Q), !1; | |
Rb(e, c); | |
var f = Jb(e); | |
return c != f ? (ga("lprsa_writersaprivatekeyenchextofile : failed to write to a file. filenamehex=" + e + " rsaprivatekeyenchex.length=" + c.length + " readbackhex.length=" + f.length, null), !1) : "" == | |
Gg("writetofile", !0) ? (ga("lprsa_writersaprivatekeyenchextofile : failed to read back rsa file ===> THIS MEANS THAT WE SUCCESSFULLY DOWNLOADED THE RSA PRIVATE KEY FROM THE SERVER BUT FAILED TO DECRYPT IT!", null), !1) : !0 | |
} | |
function Gg(c, e) { | |
if (!ma()) return ""; | |
if (null == ja || "" == ja) return ga("lprsa_readrsaprivatekeyhexfromfile : lp_local_key is invalid"), ""; | |
if (null == Q || "" == Q) return ga("lprsa_readrsaprivatekeyhexfromfile : lpusername is invalid"), ""; | |
if (("undefined" == typeof e || !e) && "" != eh) return eh; | |
Fk(); | |
var f = | |
Z.xCryptoHash(rb(Q)) + "_ff_lppri.lps"; | |
if ("" == f || null == f) return ga("lprsa_readrsaprivatekeyhexfromfile : could not form filenamehex : reason=" + c + " lpusername=" + Q), ""; | |
var d = !1; | |
try { | |
var g = oe(f, !0); | |
g.append(f); | |
g.exists() && (d = !0) | |
} catch (h) {} | |
if (!d) return ""; | |
d = Jb(f); | |
if (!d || null == d || "" == d) return ga("lprsa_readrsaprivatekeyhexfromfile : could not read file : reason=" + c + " filenamehex=" + f), ""; | |
var g = ja, | |
l = rb(g), | |
l = l.toUpperCase(), | |
n = Z.xCryptoDecrypt(l, d); | |
if ("" == n || null == n) return ga("lprsa_readrsaprivatekeyhexfromfile : failed to decrypt data reason=" + | |
c + " datahex.length=" + d.length + " userkeyhex.length=" + l.length), eb(f), ""; | |
var p = Zb(n), | |
q = Zw(p); | |
if (null == q) return ga("lprsa_readrsaprivatekeyhexfromfile : failed to extract rsa key from file - did we change our password on another PC? reason=" + c + " userkeybin.length=" + g.length + " userkeyhex.length=" + l.length + " datahex.length=" + d.length + " decryptedhex.length=" + n.length + " decryptedbin.length=" + p.length), eb(f), ""; | |
cg = d; | |
eh = q; | |
Dj = Fa(cg); | |
B && 1 == B.length && 0 == B[0].id && Fb(); | |
return eh | |
} | |
function Fq() { | |
null == ha || "" == ha ? | |
ga("lprsa_clearcache : lpusername_hash is invalid") : (eb(ha + "_lppri.lps"), eb(ha + "_ff_lppri.lps")) | |
} | |
function Zw(c) { | |
if (38 >= c.length) return ga("lprsa_extractprivatekey : failed to extract rsaprivatekeyhex : length=" + c.length + " is too short"), null; | |
if (0 != c.indexOf("LastPassPrivateKey<")) return ga("lprsa_extractprivatekey : failed to extract rsaprivatekeyhex : expected_prefix='LastPassPrivateKey<' actual_prefix='" + c.substring(0, 19) + "'"), null; | |
var e = c.indexOf(">LastPassPrivateKey"); | |
if (e != c.length - 19) return ga("lprsa_extractprivatekey : failed to extract rsaprivatekeyhex : expected_prefix='LastPassPrivateKey<' actual_prefix='" + | |
c.substring(0, 19) + "'"), null; | |
c = c.substring(19, e); | |
return 2E3 > c.length ? (ga("lprsa_extractprivatekey : failed to extract rsaprivatekeyhex : we expect a length of approx 2426 actual_length=" + c.length), null) : c | |
} | |
function io(c, e) { | |
if (!ma()) return ga("lprsa_encryptdata : Failed to load XPCOM"), !1; | |
var f = Z.xCryptoRSAEncrypt(c, e); | |
return "" != e && (null == f || "" == f) ? (ga("lprsa_encryptdata : Failed to rsaencrypt data using publickeyhex=" + c), !1) : f | |
} | |
function Ej(c) { | |
xs = "undefined" != typeof c && c ? 0 : (new Date).getTime() | |
} | |
function $w(c) { | |
if (4 == | |
c.readyState) | |
if (200 != c.status) ga("lprsa_acceptpendingsharesresponse : request failed status=" + c.status); | |
else if (null == c.responseXML || null == c.responseXML.documentElement) ga("lprsa_acceptpendingsharesresponse : request failed xml invalid A text=" + c.responseText); | |
else { | |
var e = c.responseXML.documentElement.getElementsByTagName("ok"); | |
!e || 0 == e.length ? ga("lprsa_acceptpendingsharesresponse : request failed xml invalid B text=" + c.responseText) : LP.lpGetAccounts() | |
} | |
} | |
function Fj(c) { | |
ys = "undefined" != typeof c && c ? 0 : | |
(new Date).getTime() | |
} | |
function ax(c) { | |
if (4 == c.readyState) | |
if (200 != c.status) ga("lprsa_acceptshareeautopushesresponse : request failed status=" + c.status); | |
else if (null == c.responseXML || null == c.responseXML.documentElement) ga("lprsa_acceptshareeautopushesresponse : request failed xml invalid A text=" + c.responseText); | |
else { | |
var e = c.responseXML.documentElement.getElementsByTagName("ok"); | |
!e || 0 == e.length ? ga("lprsa_acceptshareeautopushesresponse : request failed xml invalid B text=" + c.responseText) : LP.lpGetAccounts() | |
} | |
} | |
function un(c, e) { | |
if (4 != c.readyState || 200 != c.status || null == c.responseXML || null == c.responseXML.documentElement || "undefined" == typeof e || null == e) return !1; | |
(new Date).getTime(); | |
var f = e.url, | |
d = e.aid, | |
g = e.handler, | |
h = e.param, | |
d = "undefined" != typeof z[d] ? z[d] : "undefined" != typeof Ia[d] ? Ia[d] : null; | |
null == d && (d = { | |
name: "", | |
group: "", | |
username: "", | |
password: "", | |
extra: "" | |
}); | |
d = bx(c, e, d); | |
if (!1 == d) return !1; | |
(new Date).getTime(); | |
Gj = 0; | |
LP.lpMakeRequest(f, d, g, null, h); | |
return !0 | |
} | |
function ve() { | |
this.n = null; | |
this.e = 0; | |
this.coeff = this.dmq1 = this.dmp1 = | |
this.q = this.p = this.d = null | |
} | |
function Gc(c, e) { | |
if ((!Ga || !("refresh_local" != c && "local_pwchange" != c)) && Z && gi) { | |
var f = "<" + c, | |
d; | |
if ("undefined" != typeof e) | |
for (d in e) f += " " + d + '="' + yl(e[d]) + '"'; | |
Z.SendNamedPipeMessageToAll(f + "/>") | |
} | |
} | |
function zl(c) { | |
Eb.active = "1"; | |
c = { | |
otp: "", | |
username: c | |
}; | |
LP.lpGetCurrentWindow().openDialog(zb + "content/yubikey.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", c); | |
"undefined" != typeof c.label && (Wc.label = c.label); | |
Eb.active = null; | |
return c.otp | |
} | |
function Pb(c) { | |
return "undefined" == typeof Wc[c] ? | |
null : Wc[c] | |
} | |
function zs(c) { | |
Eb.active = "1"; | |
c = { | |
otp: "", | |
username: c, | |
type: "googleauth" | |
}; | |
if (LP.isFennecNative) { | |
var e = { | |
value: "" | |
}, f = { | |
value: !1 | |
}; | |
Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService).prompt(null, LP.lpgs("Google Authenticator"), null, e, LP.lpgs("Trust this device?"), f) ? (c.otp = e.value, f.value && (c.label = LP.lpgs("Firefox Mobile") + " - " + LP.getuuid())) : LP.confirm(LP.lpgs("Would you like to disable Google Authenticator authentication?")) && LP.lpbaseopen("lostkey.php?cmd=sendemail&username=" + | |
encodeURIComponent(Q) + "&type=googleauth") | |
} else LP.lpGetCurrentWindow().openDialog(zb + "content/yubikey.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", c); | |
"undefined" != typeof c.label && (le.label = c.label); | |
Eb.active = null; | |
return c.otp | |
} | |
function kh(c) { | |
return "undefined" == typeof le[c] ? null : le[c] | |
} | |
function Se(c) { | |
return "undefined" == typeof Hc[c] ? null : Hc[c] | |
} | |
function $d(c) { | |
return "undefined" == typeof $c[c] ? null : $c[c] | |
} | |
function jo(c) { | |
Eb.active = "1"; | |
if (c && Ik) return c = Ik, Ik = null, c; | |
var e; | |
e = ""; | |
for (var f = 0; 5 > f && | |
"" == e; ++f) | |
for (var d = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator).getEnumerator("navigator:browser"); d.hasMoreElements();) { | |
var g = d.getNext(), | |
h = g.gBrowser, | |
l = h.browsers.length; | |
if (0 < l) | |
for (l -= 1; 0 <= l; --l) { | |
var n = h.getBrowserAtIndex(l); | |
if (n) { | |
var p = n.currentURI.spec; | |
0 < p.indexOf("sesameotp=") && ("" == e && (e = p), h.selectedTab = h.tabContainer.childNodes[l], g.focus(), 1 < h.browsers.length ? h.removeCurrentTab() : n.loadURI("https://lastpass.com/home.php")) | |
} | |
} | |
} | |
"" != | |
e ? (f = e.indexOf("sesameotp="), d = e.indexOf("&", f + 10), e = -1 != d ? e.substring(f + 10, d) : e.substring(f + 10)) : e = ""; | |
if ("" != e) return e; | |
c = { | |
otp: "", | |
username: c | |
}; | |
LP.lpGetCurrentWindow().openDialog(zb + "content/sesame.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", c); | |
"undefined" != typeof c.label && (Rd.label = c.label); | |
Eb.active = null; | |
return c.otp | |
} | |
function pc(c) { | |
return "undefined" == typeof Rd[c] ? null : Rd[c] | |
} | |
function As(c, e) { | |
Eb.active = "1"; | |
if (c && Bs) return Bs; | |
var f = { | |
username: c, | |
challenge: e | |
}; | |
LP.lpGetCurrentWindow().openDialog(zb + | |
"content/grid.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", f); | |
"undefined" != typeof f.label && (Eb.label = f.label); | |
Eb.active = null; | |
return f.values | |
} | |
function Yf(c) { | |
return "undefined" == typeof Eb[c] ? null : Eb[c] | |
} | |
function cc(c) { | |
return "undefined" == typeof jc[c] ? null : jc[c] | |
} | |
function ej() { | |
var c = { | |
pin: "" | |
}; | |
LP.lpGetCurrentWindow().openDialog(zb + "content/omnikey.xul", "_blank", "resizable,chrome,titlebar,toolbar,centerscreen,modal", c); | |
return c.pin | |
} | |
function cx() {} | |
function ko(c) { | |
var e = !1, | |
f; | |
for (f in c.origvalues) | |
if (c.getElementById(f)) | |
if ("string" == | |
typeof c.origvalues[f] && c.getElementById(f).value != c.origvalues[f]) { | |
e = !0; | |
break | |
} else if ("boolean" == typeof c.origvalues[f] && c.getElementById(f).checked != c.origvalues[f]) { | |
e = !0; | |
break | |
} | |
return e | |
} | |
function Cs(c, e) { | |
if (null != LP.open_attach_target && "function" == typeof LP.open_attach_function) try { | |
LP.open_attach_function(c, e, LP.open_attach_target) | |
} catch (f) {} else LP.alert(LP.lpgs("Unexpected attachment error"), e); | |
Al(c, e) | |
} | |
function Al(c, e) { | |
c.getElementById("attachment_action_popup").hidePopup(); | |
e.focus() | |
} | |
function Ds(c) { | |
0 == | |
c.length ? c = Es : /[\;\!\$\|\*\?\&]/.test(c) ? (Cb(U("Suspicious characters found in selected filename, will not process it")), c = Fs) : c = /[\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x7f]/.test(c) ? Gs : Hs; | |
return c | |
} | |
function Is(c, e, f) { | |
var d = c.getElementById("searchbox"), | |
g = ""; | |
if (void 0 != typeof d) g = d.value.toLowerCase(); | |
else return !1; if ("undefined" == typeof f || f == dx) f = lo; | |
if (0 >= xf.length) return 0 == Hj && LP.searchstart(c, e), !0; | |
var d = | |
c.getElementById("lpnotes"), | |
h = c.getElementById("searchmsg"), | |
l = Js(d.value.toLowerCase()); | |
if (Bl != l || g != mo) return LP.searchstart(c, e), !0; | |
f == lo ? (Te++, Te >= xf.length && (Te = 0)) : (Te--, 0 > Te && (Te = xf.length - 1)); | |
d.focus(); | |
d.setSelectionRange(xf[Te], xf[Te] + Hj); | |
h.setAttribute("value", Te + 1 + "/" + xf.length); | |
return !0 | |
} | |
function no(c) { | |
var e = c.getElementById("searchbox"); | |
e.setAttribute("value", ""); | |
e = c.getElementById("searchmsg"); | |
e.setAttribute("value", ""); | |
Ks(); | |
e = c.getElementById("lpnotes"); | |
e.selectionEnd = e.selectionStart | |
} | |
function Ks() { | |
xf = []; | |
Te = -1; | |
Bl = Hj = 0; | |
mo = "" | |
} | |
function Js(c, e) { | |
"undefined" == typeof e && (e = 0); | |
var f = 0; | |
e ^= -1; | |
for (var d = 0, g = c.length; d < g; d++) f = (e ^ c.charCodeAt(d)) & 255, f = "0x" + "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D".substr(9 * | |
f, 8), e = e >>> 8 ^ f; | |
return e ^ -1 | |
} | |
function ex(c) { | |
if (4 == c.readyState && 200 == c.status && c.responseText) { | |
var e = ec.getElementById("emailerrorrow"); | |
e.setAttribute("hidden", !0); | |
c = c.responseText; | |
0 <= c.indexOf("ok") ? yf = "ok" : 0 <= c.indexOf("emailinvalid") ? yf = LP.lpgs("Invalid email address, try again") : 0 <= c.indexOf("mistype:") ? (yf = "ok", e.setAttribute("hidden", !1), ec.getElementById("emailerror").setAttribute("value", c.substr(8))) : yf = LP.lpgs("Email already in use, have you forgotten your password?") | |
} | |
} | |
function Ls() { | |
ec.getElementById("progresslabel").value = | |
LP.lpgs("Uploading Data"); | |
var c = ic(ec.getElementById("email").value), | |
e = ec.getElementById("password").value, | |
f = LP.make_lp_key(c, e), | |
e = LP.make_lp_hash(c, f, e), | |
c = "wxusername=" + LP.en(c) + "&wxhash=" + LP.en(e) + "&data=" + LP.en(btoa(Ij)); | |
LP.lpMakeRequest(LP.lp_base + "import_local.php", c, fx, Ms) | |
} | |
function gx(c) { | |
if (4 == c.readyState && 200 == c.status && c.responseText) { | |
c = c.responseText; | |
var e = ""; | |
0 <= c.indexOf("ok") ? Ga ? Ls() : (ec.getElementById("progresslabel").value = LP.lpgs("Loggingin"), oo = !0, LP.lplogin(ec.getElementById("email").value, | |
ec.getElementById("password").value, "createaccount"), ec.getElementById("password").value = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") : (0 <= c.indexOf("usernametaken") ? e = LP.lpgs("Email already in use, have you forgotten your password?") : 0 <= c.indexOf("usernameinvalid") || 0 <= c.indexOf("emailfailed") ? e = LP.lpgs("Invalid email address, try again") : (e = LP.lpgs("ErrorServerMsg"), ga("Got unknown response from create account: " + | |
c)), "" != e && po(e)) | |
} | |
} | |
function fx(c) { | |
4 == c.readyState && (200 == c.status && c.responseText && 0 <= c.responseText.indexOf("ok") ? Ns() : Ms()) | |
} | |
function Ms() { | |
LP.lpConfirmYesNo(LP.lpgs("An error occurred while uploading your data. Would you like to retry?"), $f) && Ls() | |
} | |
function po(c) { | |
LP.alert(c, $f); | |
ec.welcomestate = 0; | |
ec.getElementById("reenter").setAttribute("hidden", "true"); | |
ec.getElementById("createprogress").setAttribute("hidden", "true"); | |
LP.welcome_accept_click(ec, $f); | |
$f.focus() | |
} | |
function Ns() { | |
if (ec) { | |
for (var c = ec.getElementById("email").value, | |
e = lh(), f = Re(), d = 0; d < e.length; d++) | |
if (e[d] == c) { | |
e.splice(d, 1); | |
break | |
} | |
"undefined" != typeof f[c] && (f[c] = null); | |
e.unshift(c); | |
Jj(e); | |
hh(f); | |
ec.getElementById("disablemgr").checked && LP.lpmainprefs.setBoolPref("signon.rememberSignons", !1); | |
Ga && (hd && ma() && LP.lpis_mac && "function" == typeof Z.lpvt_store_data && Z.lpvt_store_data(encodeURIComponent(ic(ec.getElementById("email").value)) + "|" + encodeURIComponent(ec.getElementById("password").value), LP.lpgs("Swipe finger"), LP.lpgs("Swipe your finger on the fingerprint sensor"), | |
LP.lpgs("Cancel"), LP.lpgs("Swipe current user's finger")) && LP.setsinglefactortype("vtapi"), ec.getElementById("password").value = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", eb("LPISLOC"), ec.welcomestate = 7, ec.getElementById("createprogress").setAttribute("hidden", "true")); | |
LP.flush_prefs(); | |
LP.welcome_accept_click(ec, $f) | |
} | |
} | |
function hx() { | |
po(LP.lpgs("ErrorServerMsg")) | |
} | |
function Jj(c) { | |
for (var e = | |
"", f = "", d = 0; d < c.length; d++) e += f + encodeURIComponent(c[d]), f = "|"; | |
LP.lpprefsSetCharPref("loginusers", e, !1) | |
} | |
function hh(c) { | |
var e = "", | |
f = "", | |
d; | |
for (d in c) | |
if (null != c[d]) var g = c[d], | |
h = Zb(Fa(d)), g = da(g, h), e = e + (f + encodeURIComponent(d) + "=" + encodeURIComponent(g)), f = "|"; | |
c = Tf(e); | |
LP.lpprefsSetCharPref("loginpws", c, !1) | |
} | |
function Da(c) { | |
return "undefined" != typeof LP ? LP.lpgs(c) : U(c) | |
} | |
function Os() { | |
if ("undefined" == typeof ba || null == ba) { | |
ba = []; | |
var c; | |
c = new jb; | |
c.name = "(-12:00) " + Da("International Date Line West"); | |
c.value = "-12:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-11:00) " + Da("Midway Island, Samoa"); | |
c.value = "-11:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-10:00) " + Da("Hawaii"); | |
c.value = "-10:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-09:00) " + Da("Alaska"); | |
c.value = "-09:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-08:00) " + Da("Pacific Time (US & Canada)"); | |
c.value = "-08:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-07:00) " + Da("Arizona"); | |
c.value = "-07:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-07:00) " + Da("Mountain Time (US & Canada)"); | |
c.value = | |
"-07:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-06:00) " + Da("Central America, Saskatchewan"); | |
c.value = "-06:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-06:00) " + Da("Central Time (US & Canada), Guadalajara, Mexico City"); | |
c.value = "-06:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-05:00) " + Da("Indiana, Bogota, Lima, Quito, Rio Branco"); | |
c.value = "-05:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-05:00) " + Da("Eastern Time (US & Canada)"); | |
c.value = "-05:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-04:30) " + Da("Caracas"); | |
c.value = | |
"-04:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-04:00) " + Da("Atlantic Time (Canada), Manaus, Santiago"); | |
c.value = "-04:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-04:00) " + Da("La Paz"); | |
c.value = "-04:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-03:30) " + Da("Newfoundland"); | |
c.value = "-03:30,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-03:00) " + Da("Greenland, Brasilia, Montevideo"); | |
c.value = "-03:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-03:00) " + Da("Buenos Aires, Georgetown"); | |
c.value = "-03:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = | |
"(-02:00) " + Da("Mid-Atlantic"); | |
c.value = "-02:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-01:00) " + Da("Azores"); | |
c.value = "-01:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(-01:00) " + Da("Cape Verde Is."); | |
c.value = "-01:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(00:00) " + Da("Casablanca, Monrovia, Reykjavik"); | |
c.value = "00:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(00:00) " + Da("GMT Dublin, Edinburgh, Lisbon, London"); | |
c.value = "00:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+01:00) " + Da("Amsterdam, Berlin, Rome, Vienna, Prague, Brussels"); | |
c.value = "+01:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+01:00) " + Da("West Central Africa"); | |
c.value = "+01:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+02:00) " + Da("Amman, Athens, Istanbul, Beirut, Cairo, Jerusalem"); | |
c.value = "+02:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+02:00) " + Da("Harare, Pretoria"); | |
c.value = "+02:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+03:00) " + Da("Baghdad"); | |
c.value = "+03:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+03:00) " + Da("Kuwait, Riyadh, Nairobi, Tbilisi"); | |
c.value = "+03:00,0"; | |
ba[ba.length] = | |
c; | |
c = new jb; | |
c.name = "(+03:30) " + Da("Tehran"); | |
c.value = "+03:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+04:00) " + Da("Abu Dhabi, Muscat, Moscow, St. Petersburg, Volgograd"); | |
c.value = "+04:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+04:00) " + Da("Baku, Yerevan"); | |
c.value = "+04:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+04:30) " + Da("Kabul"); | |
c.value = "+04:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+05:00) " + Da("GMT+5"); | |
c.value = "+05:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+05:00) " + Da("Islamabad, Karachi, Tashkent"); | |
c.value = | |
"+05:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+05:30) " + Da("Chennai, Kolkata, Mumbai, New Delhi, Sri Jayawardenepura"); | |
c.value = "+05:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+05:45) " + Da("Kathmandu"); | |
c.value = "+05:45,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+06:00) " + Da("Astana, Dhaka, Ekaterinburg"); | |
c.value = "+06:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+06:00) " + Da("Almaty"); | |
c.value = "+06:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+06:30) " + Da("Yangon (Rangoon)"); | |
c.value = "+06:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = | |
"(+07:00) " + Da("GMT+7"); | |
c.value = "+07:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+07:00) " + Da("Bangkok, Hanoi, Jakarta, Novosibirsk"); | |
c.value = "+07:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+08:00) " + Da("Beijing, Hong Kong, Singapore, Taipei, Krasnoyarsk"); | |
c.value = "+08:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+08:00) " + Da("Ulaan Bataar, Perth"); | |
c.value = "+08:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+09:00) " + Da("GMT+9"); | |
c.value = "+09:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+09:00) " + Da("Seoul, Osaka, Sapporo, Tokyo, Irkutsk"); | |
c.value = "+09:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+09:30) " + Da("Darwin"); | |
c.value = "+09:30,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+09:30) " + Da("Adelaide"); | |
c.value = "+09:30,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+10:00) " + Da("Brisbane, Guam, Port Moresby, Yakutsk"); | |
c.value = "+10:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+10:00) " + Da("Canberra, Melbourne, Sydney, Hobart"); | |
c.value = "+10:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+11:00) " + Da("Magadan, Solomon Is., New Caledonia, Vladivostok"); | |
c.value = "+11:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+12:00) " + Da("Auckland, Wellington"); | |
c.value = "+12:00,1"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+12:00) " + Da("Fiji, Kamchatka, Marshall Is."); | |
c.value = "+12:00,0"; | |
ba[ba.length] = c; | |
c = new jb; | |
c.name = "(+13:00) " + Da("Nuku'alofa"); | |
c.value = "+13:00,0"; | |
ba[ba.length] = c | |
} | |
} | |
function Ps(c, e) { | |
var f = c.getElementById("lpstatepopup"), | |
d = 0, | |
g = L; | |
"undefined" != typeof hi[e] && (g = hi[e]); | |
for (var h = f.childNodes.length - 1; 0 <= h; h--) f.removeChild(f.childNodes.item(h)); | |
for (h = 0; h < g.length; h++) { | |
if (g[h].ordernum != | |
d) { | |
var l = c.createElement("menuitem"); | |
l.setAttribute("label", "-----"); | |
l.setAttribute("value", ""); | |
f.appendChild(l); | |
d = g[h].ordernum | |
} | |
l = c.createElement("menuitem"); | |
l.setAttribute("label", g[h].name); | |
l.setAttribute("value", g[h].code); | |
f.appendChild(l) | |
} | |
} | |
function fg(c, e) { | |
var f, d, g, h, l, n; | |
if ("phone" == e) f = "lpphone", d = "lpcountryphone", g = "lpphone_npa", h = "lpphone_nxx", l = "lpphone_xxxx", n = "lpphone_intl"; | |
else if ("evephone" == e) f = "lpevephone", d = "lpcountryevephone", g = "lpevephone_npa", h = "lpevephone_nxx", l = "lpevephone_xxxx", | |
n = "lpevephone_intl"; | |
else if ("fax" == e) f = "lpfax", d = "lpcountryfaxphone", g = "lpfax_npa", h = "lpfax_nxx", l = "lpfax_xxxx", n = "lpfax_intl"; | |
else if ("mobilephone" == e) f = "lpmobilephone", d = "lpcountrymobphone", g = "lpmobilephone_npa", h = "lpmobilephone_nxx", l = "lpmobilephone_xxxx", n = "lpmobilephone_intl"; | |
else return; | |
c.getElementById(f).style.display = "none"; | |
f = c.getElementById(f).value; | |
var p = c.getElementById(d).value, | |
q = ""; | |
if ("" == f) { | |
d = c.getElementById(d); | |
a: { | |
for (g = 0; g < s.length; g++) | |
if (s[g].cc2l == c.defaultcountry) { | |
g = s[g].cc3l; | |
break a | |
} | |
g = s[0].cc3l | |
} | |
d.value = g | |
} else { | |
for (var r = 0; r < s.length; ++r) | |
if (s[r].cc3l == p) { | |
q = s[r].phone; | |
break | |
} | |
if ("" == q || 0 != f.indexOf(q)) | |
if ("1" == q || 0 == f.indexOf("1")) c.getElementById(g).value = f.substring(1, 4), c.getElementById(h).value = f.substring(4, 7), c.getElementById(l).value = f.substring(7, 11), c.getElementById(d).value = "USA"; | |
else { | |
for (r = 0; r < s.length; ++r) | |
if (0 == f.indexOf(s[r].phone)) { | |
f = f.substring(s[r].phone.length); | |
c.getElementById(n).value = f; | |
c.getElementById(d).value = s[r].cc3l; | |
LP.formfill_fix(c, e); | |
return | |
} | |
c.getElementById(d).value = | |
"" | |
} else "1" == q ? (c.getElementById(g).value = f.substring(1, 4), c.getElementById(h).value = f.substring(4, 7), c.getElementById(l).value = f.substring(7, 11)) : (f = f.substring(q.length), c.getElementById(n).value = f), c.getElementById(d).value = p | |
} | |
LP.formfill_fix(c, e) | |
} | |
function Ue(c, e) { | |
var f; | |
if ("phone" == e) f = "lpcountryphone"; | |
else if ("evephone" == e) f = "lpcountryevephone"; | |
else if ("fax" == e) f = "lpcountryfaxphone"; | |
else if ("mobilephone" == e) f = "lpcountrymobphone"; | |
else return ""; | |
return c.getElementById(f).value | |
} | |
function gg(c, e) { | |
var f = | |
Ue(c, e); | |
if ("" == f) return ""; | |
var d, g, h, l; | |
if ("phone" == e) d = "lpphone_npa", g = "lpphone_nxx", h = "lpphone_xxxx", l = "lpphone_intl"; | |
else if ("evephone" == e) d = "lpevephone_npa", g = "lpevephone_nxx", h = "lpevephone_xxxx", l = "lpevephone_intl"; | |
else if ("fax" == e) d = "lpfax_npa", g = "lpfax_nxx", h = "lpfax_xxxx", l = "lpfax_intl"; | |
else if ("mobilephone" == e) d = "lpmobilephone_npa", g = "lpmobilephone_nxx", h = "lpmobilephone_xxxx", l = "lpmobilephone_intl"; | |
else return; | |
for (var n = 0; n < s.length; ++n) | |
if (s[n].cc3l == f) | |
if (f = s[n].phone, "1" == f) | |
if ("" == c.getElementById(d).value && | |
"" == c.getElementById(g).value && "" == c.getElementById(h).value) break; | |
else return d = f + c.getElementById(d).value + c.getElementById(g).value + c.getElementById(h).value, 11 != d.length && (d = "invalid"), d; | |
else if ("" == c.getElementById(l).value) break; | |
else return d = c.getElementById(l).value, d = d.replace("-", ""), d = d.replace("(", ""), d = d.replace(")", ""), d = d.replace(".", ""), d = d.replace(" ", ""), f + d; | |
return "" | |
} | |
function ii(c, e) { | |
c.getElementById(e).style.MozAppearance = "none"; | |
c.getElementById(e).style.backgroundColor = "#FFCBD6" | |
} | |
function zc(c, e) { | |
c.getElementById(e).style.MozAppearance = ""; | |
c.getElementById(e).style.backgroundColor = "" | |
} | |
function Cl(c, e) { | |
var f = 0; | |
switch (e) { | |
case "address": | |
f = 0; | |
break; | |
case "personal": | |
f = 0; | |
break; | |
case "contact": | |
f = 1 | |
} | |
c.getElementById("fftabs").selectedIndex = f | |
} | |
function qo(c) { | |
for (var e = c.getElementById("lpcountryphone").value, f = "", d = 0; d < s.length; ++d) | |
if (s[d].cc3l == e) { | |
f = s[d].phone; | |
break | |
} | |
var e = c.getElementById("lpcountryphone").value, | |
d = c.getElementById("lpphone_npa").value, | |
g = c.getElementById("lpphone_nxx").value; | |
c = c.getElementById("lpphone_xxxx").value; | |
c = (f + d + g + c).replace(/\D/g, ""); | |
return 1 != f || "USA" != e ? !1 : c | |
} | |
function Dl(c) { | |
return c.match(/^\d+$/) ? c.match(/^1/) && !c.match(/^1(?:[2-9]\d{2}){2}\d{4}$/) ? !1 : !0 : !1 | |
} | |
function Qs(c, e, f) { | |
for (var d = "undefined" != typeof f && "" != f ? f : "", g = c.getElementById("lpprofilelanguage").value, h = null, l = 0; l < s.length; l++) | |
if (s[l].cc2l == c.getElementById("lpcountry").value) { | |
h = s[l]; | |
break | |
} | |
var n = gg(c, "phone"), | |
p = gg(c, "evephone"), | |
q = gg(c, "fax"), | |
r = gg(c, "mobilephone"), | |
t = "" != n ? Ue(c, "phone") : "", | |
A = "" != | |
p ? Ue(c, "evephone") : "", | |
y = "" != q ? Ue(c, "fax") : "", | |
J = "" != r ? Ue(c, "mobilephone") : ""; | |
f = new cj; | |
f.group = ""; | |
for (l = 0; l < ka.length; l++) ka[l].ffid == c.orig_formfill_id && "undefined" != typeof ka[l].sharefolderid && (f.sharefolderid = ka[l].sharefolderid, f.group = ka[l].group); | |
f.ffid = c.formfill_id; | |
var u = "ffid=" + LP.en(f.ffid); | |
f.profiletype = c.formfill_profiletype; | |
u += "&profiletype=" + LP.en(f.profiletype); | |
f.profilename = c.getElementById("lpprofilename").value; | |
u += "&profilename=" + LP.en(wa(f.profilename, f, B)); | |
f.profilelanguage = wa(c.getElementById("lpprofilelanguage").value, | |
f, B); | |
u += "&profilelanguage=" + LP.en(f.profilelanguage); | |
f.firstname = "ja-JP" != g ? wa(c.getElementById("lpfirstname").value, f, B) : wa(c.getElementById("lpfirstnameja1").value, f, B); | |
u += "&firstname=" + LP.en(f.firstname); | |
f.middlename = wa(c.getElementById("lpmiddlename").value, f, B); | |
u += "&middlename=" + LP.en(f.middlename); | |
f.lastname = "ja-JP" != g ? wa(c.getElementById("lplastname").value, f, B) : wa(c.getElementById("lplastnameja1").value, f, B); | |
u += "&lastname=" + LP.en(f.lastname); | |
f.lastname2 = "ja-JP" != g ? wa(c.getElementById("lplastname2").value, | |
f, B) : wa(c.getElementById("lplastnameja2").value, f, B); | |
u += "&lastname2=" + LP.en(f.lastname2); | |
f.firstname2 = wa(c.getElementById("lpfirstnameja2").value, f, B); | |
u += "&firstname2=" + LP.en(f.firstname2); | |
f.firstname3 = wa(c.getElementById("lpfirstnameja3").value, f, B); | |
u += "&firstname3=" + LP.en(f.firstname3); | |
f.lastname3 = wa(c.getElementById("lplastnameja3").value, f, B); | |
u += "&lastname3=" + LP.en(f.lastname3); | |
f.email = wa(c.getElementById("lpemail").value, f, B); | |
u += "&email=" + LP.en(f.email); | |
f.mobileemail = wa(c.getElementById("lpmobileemail").value, | |
f, B); | |
u += "&mobileemail=" + LP.en(f.mobileemail); | |
f.company = wa(c.getElementById("lpcompany").value, f, B); | |
u += "&company=" + LP.en(f.company); | |
f.ssn = wa(c.getElementById("lpssn").value, f, B); | |
u += "&ssn=" + LP.en(f.ssn); | |
f.birthday = "" != c.getElementById("lpbirthyear").value && "" != c.getElementById("lpbirthmonth").value && "" != c.getElementById("lpbirthday").value ? wa(c.getElementById("lpbirthyear").value + "-" + c.getElementById("lpbirthmonth").value + "-" + c.getElementById("lpbirthday").value, f, B) : ""; | |
u += "&birthday=" + LP.en(f.birthday); | |
f.gender = wa(c.getElementById("lpgender").value, f, B); | |
u += "&gender=" + LP.en(f.gender); | |
f.title = wa(c.getElementById("lptitle").value, f, B); | |
u += "&title=" + LP.en(f.title); | |
f.address1 = wa(c.getElementById("lpaddress1").value, f, B); | |
u += "&address1=" + LP.en(f.address1); | |
f.address2 = wa(c.getElementById("lpaddress2").value, f, B); | |
u += "&address2=" + LP.en(f.address2); | |
f.address3 = wa(c.getElementById("lpaddress3").value, f, B); | |
u += "&address3=" + LP.en(f.address3); | |
f.city = wa(c.getElementById("lpcity").value, f, B); | |
u += "&city=" + LP.en(f.city); | |
f.county = wa(c.getElementById("lpcounty").value, f, B); | |
u += "&county=" + LP.en(f.county); | |
f.state_name = wa(c.getElementById("lpstate").label, f, B); | |
u += "&state_name=" + LP.en(f.state_name); | |
g = c.getElementById("lpstate").value; | |
for (l = 0; l < L.length; l++) | |
if (L[l].name.toLowerCase() == g.toLowerCase()) { | |
g = L[l].code; | |
break | |
} | |
f.state = wa(g, f, B); | |
u += "&state=" + LP.en(f.state); | |
f.zip = wa(c.getElementById("lpzip").value, f, B); | |
u += "&zip=" + LP.en(f.zip); | |
"" != d && (u += "&newffid=" + LP.en(d)); | |
null == h ? f.country = f.country_cc3l = f.country_name = "" : (f.country = | |
wa(h.cc2l, f, B), f.country_cc3l = wa(h.cc3l, f, B), f.country_name = wa(h.name, f, B)); | |
u += "&country=" + LP.en(f.country); | |
u += "&country_cc3l=" + LP.en(f.country_cc3l); | |
u += "&country_name=" + LP.en(f.country_name); | |
f.countryphone = wa(t, f, B); | |
u += "&phone3lcc=" + LP.en(wa(t, f, B)); | |
f.countryevephone = wa(A, f, B); | |
u += "&evephone3lcc=" + LP.en(wa(A, f, B)); | |
f.countryfaxphone = wa(y, f, B); | |
u += "&fax3lcc=" + LP.en(wa(y, f, B)); | |
f.countrymobphone = wa(J, f, B); | |
u += "&mobilephone3lcc=" + LP.en(wa(J, f, B)); | |
f.phone = wa(n, f, B); | |
f.evephone = wa(p, f, B); | |
f.fax = wa(q, f, B); | |
f.mobilephone = | |
wa(r, f, B); | |
u += "&phone=" + LP.en(f.phone); | |
u += "&evephone=" + LP.en(f.evephone); | |
u += "&fax=" + LP.en(f.fax); | |
u += "&mobilephone=" + LP.en(f.mobilephone); | |
f.phoneext = wa(c.getElementById("lpphoneext").value, f, B); | |
f.evephoneext = wa(c.getElementById("lpevephoneext").value, f, B); | |
f.faxphoneext = wa(c.getElementById("lpfaxphoneext").value, f, B); | |
f.mobilephoneext = wa(c.getElementById("lpmobphoneext").value, f, B); | |
u += "&phoneext=" + LP.en(f.phoneext); | |
u += "&eveext=" + LP.en(f.evephoneext); | |
u += "&faxext=" + LP.en(f.faxphoneext); | |
u += "&mobileext=" + | |
LP.en(f.mobilephoneext); | |
f.ccname = wa(c.getElementById("lpccname").value, f, B); | |
u += "&ccname=" + LP.en(f.ccname); | |
f.ccnum = wa(c.getElementById("lpccnum").value, f, B); | |
u += "&ccnum=" + LP.en(f.ccnum); | |
f.ccstart = "" != c.getElementById("lpccstartyear").value && "" != c.getElementById("lpccstartmonth").value ? wa(c.getElementById("lpccstartyear").value + "-" + c.getElementById("lpccstartmonth").value + "-01", f, B) : ""; | |
u += "&ccstart=" + LP.en(f.ccstart); | |
f.ccexp = "" != c.getElementById("lpccexpyear").value && "" != c.getElementById("lpccexpmonth").value ? | |
wa(c.getElementById("lpccexpyear").value + "-" + c.getElementById("lpccexpmonth").value + "-01", f, B) : ""; | |
u += "&ccexp=" + LP.en(f.ccexp); | |
f.cccsc = wa(c.getElementById("lpcccsc").value, f, B); | |
u += "&cccsc=" + LP.en(f.cccsc); | |
f.ccissuenum = wa(c.getElementById("lpccissuenum").value, f, B); | |
u += "&ccissuenum=" + LP.en(f.ccissuenum); | |
f.username = wa(c.getElementById("lpusername").value, f, B); | |
u += "&username=" + LP.en(f.username); | |
f.pwprotect = c.getElementById("lppwprotect").checked; | |
f.pwprotect && (u += "&pwprotect=on"); | |
f.creditmon = c.getElementById("lpcreditmon").checked; | |
f.creditmon && (u += "&creditmon=on"); | |
f.timezone = wa(c.getElementById("lptimezone").value, f, B); | |
u += "&timezone=" + LP.en(f.timezone); | |
f.bankname = wa(c.getElementById("lpbankname").value, f, B); | |
u += "&bankname=" + LP.en(f.bankname); | |
f.bankacctnum = wa(c.getElementById("lpbankacctnum").value, f, B); | |
u += "&bankacctnum=" + LP.en(f.bankacctnum); | |
f.bankroutingnum = wa(c.getElementById("lpbankroutingnum").value, f, B); | |
u += "&bankroutingnum=" + LP.en(f.bankroutingnum); | |
f.customfields = []; | |
for (l = 1; l <= c.formfill_numcustomfields; l++) | |
if (d = new Tm, | |
d.cfid = c.formfill_cfids[l], u += "&customfield" + l + "cfid=" + LP.en(d.cfid), d.text = wa(c.getElementById("customfield" + l + "text").value, f, B), u += "&customfield" + l + "text=" + LP.en(d.text), d.value = wa(c.getElementById("customfield" + l + "value").value, f, B), u += "&customfield" + l + "value=" + LP.en(d.value), d.alttext = wa(c.getElementById("customfield" + l + "alttext").value, f, B), u += "&customfield" + l + "alttext=" + LP.en(d.alttext), "" != d.text || "" != d.value || "" != d.alttext) f.customfields[f.customfields.length] = d; | |
f.notes = wa(c.getElementById("lpnotes").value, | |
f, B); | |
u += "¬es=" + LP.en(f.notes); | |
u += LP.GetIdentityParam(); | |
l = yb(B, f.group); | |
u += !1 == l ? "" : "&sharedfolderid=" + LP.en(l.id); | |
if (0 != c.formfill_id) { | |
for (l = 0; l < ka.length; l++) | |
if (ka[l].ffid == c.formfill_id) { | |
ka.splice(l, 1); | |
break | |
} | |
ka[ka.length] = f; | |
ka.sort(bl); | |
ne = !0; | |
Zh(); | |
LP.lpRecheckTabs() | |
} | |
LP.lpMakeRequest(LP.lp_base + "formfill.php", u, jr, null, f); | |
LP.last_dialog_close = (new Date).getTime(); | |
e.close(); | |
return !0 | |
} | |
function El(c, e, f) { | |
for (var d = [], g = 0; g < c.length; g++) { | |
var h = c[g]; | |
if (h.name != e || !(h.value == f || null == h.value && "" == f || | |
"" == h.value && null == f)) d[d.length] = h | |
} | |
return d | |
} | |
function ro(c) { | |
var e; | |
e = c.getElementById("info.box"); | |
if (null == e) { | |
e = c.getElementById("infoContainer"); | |
c = e.getElementsByTagName("description"); | |
if (3 == c.length) return c[1 + LP.lpis_mac].firstChild.nodeValue; | |
if (2 == c.length) return c[1].firstChild.nodeValue | |
} | |
return e.getElementsByTagName("description")[0].firstChild.nodeValue | |
} | |
function Rs(c) { | |
(c = c.match(/"(.*)"/)) && ae(c[1].replace(/\s*\[[0-9:]+\]\s*/g, "")); | |
return "" | |
} | |
function Ss(c) { | |
c = ro(c); | |
c = c.replace(/\u201E|\u201C|\u201A|\u2018|\u203A|\u2039|\u2019|\u00AB|\u00BB/g, | |
""); | |
var e = "", | |
f = c.match(/\s+((https?|ftps?):\/\/\S+)\.?/i); | |
f ? e = f[1] : (f = c.match(/^((https?|ftps?):\/\/\S+)\.?\s+/i)) ? e = f[1] : (f = c.match(/\s+(\S+:\d+)\s+/i)) && (e = f[1]); | |
return e.replace(/\.\s*$/, "") | |
} | |
function so(c) { | |
var e = LP.xmarkscheckbox; | |
null != e && "undefined" != typeof e && e.getAttribute("checked") && P ? (c = c.getElementById("login-iframe").contentDocument, LP.xmarkssavedusername = c.getElementById("username_signin").value, LP.xmarkssavedpassword = c.getElementById("password_signin").value, LP.lpprefsSetBoolPref("savePasswordChecked", !0)) : (LP.xmarkssavedusername = LP.xmarkssavedpassword = "", LP.lpprefsSetBoolPref("savePasswordChecked", !1)); | |
LP.flush_prefs() | |
} | |
function xb(c) { | |
if ("string" != typeof c) return ""; | |
if (null != Kj[c]) return Kj[c]; | |
var e = null, | |
f = null, | |
d = c; - 1 != c.indexOf("#") && (f = c.substring(c.indexOf("#") + 1), c = c.substring(0, c.indexOf("#"))); - 1 != c.indexOf("?") && (e = c.substring(c.indexOf("?") + 1), c = c.substring(0, c.indexOf("?"))); | |
var g = c.match(/^(.*:\/\/[^\/]+\/.*)@/); | |
g && (c = c.substring(0, g[1].length) + c.substring(g[1].length).replace(/@/g, "%40")); | |
if (2047 < c.length) return ""; | |
var h = xb.options, | |
g = null; | |
try { | |
g = h.parser[h.strictMode ? "strict" : "loose"].exec(c) | |
} catch (l) { | |
try { | |
g = 500 < c.length ? h.parser[h.strictMode ? "strict" : "loose"].exec(c.substr(0, 500)) : h.parser[h.strictMode ? "strict" : "loose"].exec(c.substr(0, floor(c.length / 2))) | |
} catch (n) { | |
ga("parseuri : failing " + c), g = h.parser[h.strictMode ? "strict" : "loose"].exec("http://") | |
} | |
} | |
c = g; | |
for (var p = {}, g = 14; g--;) p[h.key[g]] = c[g] || ""; | |
p[h.q.name] = {}; | |
p[h.key[12]].replace(h.q.parser, function(c, d, e) { | |
d && (p[h.q.name][d] = e) | |
}); | |
null != e && (p.query = e, null != f && (p.anchor = f)); | |
if (p.host) { | |
if (e = p.host, "string" == typeof e) | |
if (27 < e.length && -1 != e.indexOf("logmein.com", e.length - 11) && (f = e.match(/^(.*)-[a-z]{10}(\.app).*(\.logmein\.com)$/))) e = f[1] + f[2] + f[3]; | |
else if (24 < e.length && -1 != e.indexOf("logme.in", e.length - 8) && (f = e.match(/^(.*)-[a-z]{10}(\.app).*(\.logme\.in)$/))) e = f[1] + f[2] + f[3]; | |
p.host = e | |
} | |
if (500 < to) { | |
for (var q in Kj) { | |
delete Kj[q]; | |
break | |
} | |
to = 0 | |
} | |
Kj[d] = p; | |
to++; | |
return p | |
} | |
function nb(c, e) { | |
if ("about:blank" == c) return ""; | |
if (null != Lj[c]) return Lj[c]; | |
null == e && (e = xb(c)); | |
var f = ""; | |
"" != e.port && e.port != Fl(e.protocol) && (f = ":" + e.port); | |
if (e.host) f = e.host.toLowerCase() + f + e.path; | |
else { | |
if (!c) return ""; | |
f = c | |
} - 1 != f.indexOf(";") && (f = f.substring(0, f.indexOf(";"))); | |
if (500 < uo) { | |
for (var d in Lj) { | |
delete Lj[d]; | |
break | |
} | |
uo = 0 | |
} | |
Lj[c] = f; | |
uo++; | |
return f | |
} | |
function sc(c, e) { | |
if ("undefined" == typeof E || null == E) | |
if ("undefined" == typeof E || null == E) E = [], E.hu = "2000 agrar blogspot bolt casino city co com erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news nui org priv reklam sex shop sport suli szex tm tozsde utazas video".split(" "), | |
E.nl = ["752", "blogspot", "bv", "co"], E.ca = "ab bc blogspot co gc mb nb nf nl ns nt nu on pe qc sk yk".split(" "), E.pa = "abo ac com edu gob ing med net nom org sld".split(" "), E.se = "a ab ac b bd blogspot brand c com d e f fh fhsk fhv g h i k komforb kommunalforbund komvux l lanarb lanbib m mil n naturbruksgymn net o org p parti pp press r s sshn t tm u w x y z".split(" "), E.ac = "ac co com edu gov gv mil net or org".split(" "), E.ae = "ac co com gov mil name net org pro sch".split(" "), E.at = "ac biz co gv info or priv".split(" "), | |
E.be = "ac ap blogspot co com fgov to xa".split(" "), E.cn = "ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hk hl hn jl js jx ln mil mo net nm nx org qh sc sd sh sn sx tj tw xj xn--55qx5d xn--io0a7i xn--od0alg xz yn zj".split(" "), E.cr = "ac co ed fi go or sa".split(" "), E.cy = "* ac biz com ekloges gov info ltd name net org parliament press pro tm".split(" "), E.fj = "* ac biz com gov id info mil name net org pro school".split(" "), E.fk = "* ac co gov net nom org".split(" "), E.gg = "ac alderney co gov guernsey ind ltd net org sark sch".split(" "), | |
E.gn = "ac com edu gov net org".split(" "), E.gt = "com edu gob ind mil net org".split(" "), E.id = "ac biz co desa go mil my net or sch web".split(" "), E.il = "* ac co gov idf k12 muni net org".split(" "), E.im = "ac co com gov net nic org tt tv".split(" "), E["in"] = "ac blogspot co edu ernet firm gen gov ind mil net nic org res".split(" "), E.ir = "ac co gov id net org sch xn--mgba3a4f16a xn--mgba3a4fra".split(" "), E.is = "ac com cupcake edu gov int net org".split(" "), E.je = "ac co gov ind jersey ltd net org sch".split(" "), | |
E.jp = "ac ad aichi akita aomori blogspot chiba co ed ehime fukui fukuoka fukushima gifu go gov gr gunma hiroshima hokkaido hyogo ibaraki ishikawa iwate kagawa kagoshima kanagawa kawasaki kitakyushu kobe kochi kumamoto kyoto lg mie miyagi miyazaki nagano nagasaki nagoya nara ne net niigata oita okayama okinawa or org osaka saga saitama sapporo sendai shiga shimane shizuoka tochigi tokushima tokyo tottori toyama wakayama yamagata yamaguchi yamanashi yokohama".split(" "), E.kr = "ac blogspot busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam kg mil ms ne nm or pe re sc seoul ulsan".split(" "), | |
E.mw = "ac biz co com coop edu gov int museum net org".split(" "), E.nz = "* ac co cri geek gen govt iwi maori mil net org school".split(" "), E.ru = "ac adygeya altai amur amursk arkhangelsk astrakhan baikal bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia cmw com dagestan dudinka e-burg edu fareast gov grozny int irkutsk ivanovo izhevsk jamal jar joshkar-ola k-uralsk kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov kms koenig komi kostroma krasnoyarsk kuban kurgan kursk kustanai kuzbass lipetsk magadan magnitka mari mari-el marine mil mordovia mosreg msk murmansk mytis nakhodka nalchik net nkz nnov norilsk nov novosibirsk nsk omsk orenburg org oryol oskol palana penza perm pp pskov ptz pyatigorsk rnd rubtsovsk ryazan sakhalin samara saratov simbirsk smolensk snz spb stavropol stv surgut syzran tambov tatarstan test tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vdonsk vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yaroslavl yekaterinburg yuzhno-sakhalinsk zgrad".split(" "), | |
E.rw = "ac co com edu gouv gov int mil net".split(" "), E.au = "act asn com conf csiro edu gov id info net nsw nt org oz qld sa tas telememo vic wa".split(" "), E.th = "ac co go in mi net or".split(" "), E.tj = "ac biz co com edu go gov int mil name net nic org test web".split(" "), E.tz = "ac co go hotel info me mil mobi ne or sc tv".split(" "), E.ug = "ac co com go ne or org sc".split(" "), E.uk = "!bl !british-library !jet !mod !national-library-scotland !nel !nic !nls !parliament * ac co com gov icnet ltd me mil net nhs org plc police sch".split(" "), | |
E.vn = "ac biz com edu gov health info int name net org pro".split(" "), E.yu = ["ac", "co", "edu", "org"], E.za = "* ac alt city co com edu gov law mil net ngo nom org school tm web".split(" "), E.zm = "* ac co gov org sch".split(" "), E.zw = ["*", "ac", "co", "gov", "org"], E.br = "adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop dpn ecn eco edu emp eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus leg lel mat med mil mp mus net nom not ntr odo org ppg pro psc psi qsl radio rec slg srv taxi teo tmp trd tur tv vet vlog wiki zlg".split(" "), | |
E.ht = "adult art asso com coop edu firm gouv info med net org perso pol pro rel shop".split(" "), E.mv = "aero biz com coop edu gov info int mil museum name net org pro".split(" "), E.pl = "6bone agro aid art atm augustow auto babia-gora bedzin beskidy bialowieza bialystok bielawa bieszczady biz boleslawiec bydgoszcz bytom cieszyn co com czeladz czest dlugoleka edu elblag elk gda gdansk gdynia gliwice glogow gmina gniezno gorlice gov grajewo gsm ilawa info irc jaworzno jelenia-gora jgora kalisz karpacz kartuzy kaszuby katowice kazimierz-dolny kepno ketrzyn klodzko kobierzyce kolobrzeg konin konskowola krakow kutno lapy lebork legnica lezajsk limanowa lodz lomza lowicz lubin lublin lukow mail malbork malopolska mazowsze mazury mbone med media miasta mielec mielno mil mragowo naklo net ngo nieruchomosci nom nowaruda nysa olawa olecko olkusz olsztyn opoczno opole org ostroda ostroleka ostrowiec ostrowwlkp pc pila pisz podhale podlasie polkowice pomorskie pomorze powiat poznan priv prochowice pruszkow przeworsk pulawy radom rawa-maz realestate rel rybnik rzeszow sanok sejny sex shop siedlce sklep skoczow slask slupsk sopot sos sosnowiec stalowa-wola starachowice stargard suwalki swidnica swiebodzin swinoujscie szczecin szczytno szkola targi tarnobrzeg tgory tm torun tourism travel turek turystyka tychy usenet ustka walbrzych warmia warszawa waw wegrow wielun wlocl wloclawek wodzislaw wolomin wroc wroclaw zachpomor zagan zakopane zarow zgora zgorzelec".split(" "), | |
E.us = "ak al ar as az ca co com ct dc de dni fed fl ga gu hi ia id il in is-by isa kids ks ky la land-4-sale ma md me mi mn mo ms mt nc nd ne nh nj nm nsn nv ny oh ok or pa pr ri sc sd stuff-4-sale tn tx ut va vi vt wa wi wv wy".split(" "), E.fi = ["aland", "blogspot", "iki"], E.mil = ["army", "navy"], E["do"] = "art com edu gob gov mil net org sld web".split(" "), E.dz = "art asso com edu gov net org pol".split(" "), E.co = "arts com edu firm gov info int mil net nom org rec store uk web".split(" "), E.ro = "arts blogspot com firm info nom nt org rec store tm www".split(" "), | |
E.ve = "arts bib co com e12 edu firm gov info int mil net nom org rec store tec web".split(" "), E.lv = "asn com conf edu eu gov id mil net org".split(" "), E.lk = "assn com edu gov grp hotel int ltd net ngo org sch soc web".split(" "), E.fr = "aeroport assedic asso avocat avoues blogspot cci chambagri chirurgiens-dentistes com experts-comptables geometre-expert gouv greta huissier-justice medecin nom notaires pharmacien port prd presse tm veterinaire".split(" "), E.gp = "asso com edu mobi net org".split(" "), | |
E.mc = ["asso", "tm"], E.tr = "!nic * av bbs bel biz com dr edu gen gov info k12 mil name net org pol tel web".split(" "), E.az = "biz com edu gov info int mil name net org pp pro".split(" "), E.et = "* biz com edu gov info name net org".split(" "), E.nr = "biz co com edu gov info net org".split(" "), E.om = "!mediaphone !nawras !nawrastelecom !omanmobile !omanpost !omantel !rakpetroleum !siemens !songfest !statecouncil * biz co com edu gov med mil museum net org pro sch".split(" "), E.pk = "biz com edu fam gob gok gon gop gos gov info net org web".split(" "), | |
E.pr = "ac biz com edu est gov info isla name net org pro prof".split(" "), E.tt = "aero biz co com coop edu gov info int jobs mobi museum name net org pro travel us".split(" "), E.ua = "cherkassy cherkasy chernigov chernihiv chernivtsi chernovtsy ck cn co com cr crimea cv dn dnepropetrovsk dnipropetrovsk dominic donetsk dp edu gov if in ivano-frankivsk kh kharkiv kharkov kherson khmelnitskiy khmelnytskyi kiev kirovograd km kr krym ks kv kyiv lg lt lugansk lutsk lv lviv mk mykolaiv net nikolaev od odesa odessa org pl poltava pp rivne rovno rv sb sebastopol sevastopol sm sumy te ternopil uz uzhgorod vinnica vinnytsia vn volyn yalta zaporizhzhe zaporizhzhia zhitomir zhytomyr zp zt".split(" "), | |
E.tw = "blogspot club com ebiz edu game gov gove idv mil net org xn--czrw28b xn--uc0atv xn--zf0ao64a".split(" "), E.ag = ["co", "com", "net", "nom", "org"], E.ao = "co ed gv it og pb".split(" "), E.bw = ["co", "org"], E.ck = ["!www", "*", "co"], E.ls = ["co", "org"], E.ma = "ac co gov net org press".split(" "), E.af = ["com", "edu", "gov", "net", "org"], E.ai = ["com", "net", "off", "org"], E.al = "com edu gov inima mil net org soros tirana uniti upt".split(" "), E.an = ["com", "edu", "net", "org"], E.ar = "!congresodelalengua3 !educ !gobiernoelectronico !mecon !nacion !nic !promocion !retina !uba * com edu gob gov int mil net org tur".split(" "), | |
E.aw = ["com"], E.bb = "biz com edu gov info net org store".split(" "), E.bd = "* com edu gov mil net org".split(" "), E.bm = ["com", "edu", "gov", "net", "org"], E.bn = ["*", "com", "edu", "net", "org"], E.bo = "com edu gob gov int mil net org tv".split(" "), E.bs = ["com", "edu", "gov", "net", "org"], E.bt = ["com", "edu", "gov", "net", "org"], E.cd = ["com", "gov", "net", "org"], E.ch = ["blogspot", "com", "gov", "net", "org"], E.cu = "com edu gov inf net org".split(" "), E.dm = ["com", "edu", "gov", "net", "org"], E.ec = "com edu fin gob gov info k12 med mil net org pro".split(" "), | |
E.ee = "aip com edu fie gov lib med org pri riik".split(" "), E.eg = "com edu eun gov mil name net org sci".split(" "), E.es = ["com", "edu", "gob", "nom", "org"], E.eu = ["com"], E.gb = ["com", "net"], E.ge = "com edu gov mil net org pvt".split(" "), E.gh = ["com", "edu", "gov", "mil", "org"], E.gi = "com edu gov ltd mod org".split(" "), E.gr = "blogspot com edu gov net org".split(" "), E.gu = "* com edu gov mil net org".split(" "), E.hk = "blogspot com edu gov idv net org xn--55qx5d xn--ciqpn xn--gmq050i xn--gmqw5a xn--io0a7i xn--lcvr32d xn--mk0axi xn--mxtq1m xn--od0alg xn--od0aq3b xn--tn0ag xn--uc0atv xn--uc0ay4a xn--wcvs22d xn--zf0avx".split(" "), | |
E.hn = "com edu gob mil net org".split(" "), E.hr = ["com", "from", "iz", "name"], E.jm = "* com edu gov net org".split(" "), E.jo = "com edu gov mil name net org sch".split(" "), E.kh = "* com edu gov mil net org per".split(" "), E.kw = "* com edu gov mil net org".split(" "), E.ky = ["com", "edu", "gov", "net", "org"], E.kz = "com edu gov mil net org".split(" "), E.la = "c com edu gov info int net org per".split(" "), E.lb = "com edu gov mil net org".split(" "), E.lc = "co com edu gov net org".split(" "), E.li = ["com", "gov", "net", "org"], | |
E.lr = ["com", "edu", "gov", "net", "org"], E.ly = "com edu gov id med net org plc sch".split(" "), E.mg = "com edu gov mil nom org prd tm".split(" "), E.mk = "com edu gov inf name net org".split(" "), E.mm = "* com edu gov net org".split(" "), E.mo = ["com", "edu", "gov", "net", "org"], E.mt = "* com edu gov net org".split(" "), E.mu = "ac co com gov net or org".split(" "), E.mx = "blogspot com edu gob gov net org".split(" "), E.my = "com edu gov mil name net org".split(" "), E.na = "ca cc co com dr in info mobi mx name net or org pro school tv us ws".split(" "), | |
E.nc = ["asso", "com", "net", "org"], E.ng = "ac com edu gov mil mobi name net org sch".split(" "), E.ni = "* com edu gob net nom org".split(" "), E.no = "aa aarborte aejrie afjord agdenes ah aknoluokta akrehamn al alaheadju alesund algard alstahaug alta alvdal amli amot andasuolo andebu andoy ardal aremark arendal arna aseral asker askim askoy askvoll asnes audnedaln aukra aure aurland aurskog-holand austevoll austrheim averoy badaddja bahcavuotna bahccavuotna baidar bajddar balat balestrand ballangen balsfjord bamble bardu barum batsfjord bearalvahki beardu beiarn berg bergen berlevag bievat bindal birkenes bjarkoy bjerkreim bjugn blogspot bodo bokn bomlo bremanger bronnoy bronnoysund brumunddal bryne bu budejju bygland bykle cahcesuolo co com davvenjarga davvesiida deatnu dep dielddanuorri divtasvuodna divttasvuotna donna dovre drammen drangedal drobak dyroy egersund eid eidfjord eidsberg eidskog eidsvoll eigersund elverum enebakk engerdal etne etnedal evenassi evenes evje-og-hornnes farsund fauske fedje fet fetsund fhs finnoy fitjar fjaler fjell fla flakstad flatanger flekkefjord flesberg flora floro fm folkebibl folldal forde forsand fosnes frana fredrikstad frei frogn froland frosta froya fuoisku fuossko fusa fylkesbibl fyresdal gaivuotna galsa gamvik gangaviika gaular gausdal giehtavuoatna gildeskal giske gjemnes gjerdrum gjerstad gjesdal gjovik gloppen gol gran grane granvin gratangen grimstad grong grue gulen guovdageaidnu ha habmer hadsel hagebostad halden halsa hamar hamaroy hammarfeasta hammerfest hapmir haram hareid harstad hasvik hattfjelldal haugesund hemne hemnes hemsedal herad hitra hjartdal hjelmeland hl hm hobol hof hokksund hol hole holmestrand holtalen honefoss hornindal horten hoyanger hoylandet hurdal hurum hvaler hyllestad ibestad idrett inderoy iveland ivgu jan-mayen jessheim jevnaker jolster jondal jorpeland kafjord karasjohka karasjok karlsoy karmoy kautokeino kirkenes klabu klepp kommune kongsberg kongsvinger kopervik kraanghke kragero kristiansand kristiansund krodsherad krokstadelva kvafjord kvalsund kvam kvanangen kvinesdal kvinnherad kviteseid kvitsoy laakesvuemie lahppi langevag lardal larvik lavagis lavangen leangaviika lebesby leikanger leirfjord leirvik leka leksvik lenvik lerdal lesja levanger lier lierne lillehammer lillesand lindas lindesnes loabat lodingen lom loppa lorenskog loten lund lunner luroy luster lyngdal lyngen malatvuopmi malselv malvik mandal marker marnardal masfjorden masoy matta-varjjat meland meldal melhus meloy meraker midsund midtre-gauldal mil mjondalen mo-i-rana moareke modalen modum molde mosjoen moskenes moss mosvik mr muosat museum naamesjevuemie namdalseid namsos namsskogan nannestad naroy narviika narvik naustdal navuotna nedre-eiker nesna nesodden nesoddtangen nesseby nesset nissedal nittedal nl nord-aurdal nord-fron nord-odal norddal nordkapp nordre-land nordreisa nore-og-uvdal notodden notteroy nt odda of oksnes ol omasvuotna oppdal oppegard orkanger orkdal orland orskog orsta osen oslo osoyro osteroy ostre-toten overhalla ovre-eiker oyer oygarden oystre-slidre porsanger porsangu porsgrunn priv rade radoy rahkkeravju raholt raisa rakkestad ralingen rana randaberg rauma rendalen rennebu rennesoy rindal ringebu ringerike ringsaker risor rissa rl roan rodoy rollag romsa romskog roros rost royken royrvik ruovat rygge salangen salat saltdal samnanger sandefjord sandnes sandnessjoen sandoy sarpsborg sauda sauherad sel selbu selje seljord sf siellak sigdal siljan sirdal skanit skanland skaun skedsmo skedsmokorset ski skien skierva skiptvet skjak skjervoy skodje slattum smola snaase snasa snillfjord snoasa sogndal sogne sokndal sola solund somna sondre-land songdalen sor-aurdal sor-fron sor-odal sor-varanger sorfold sorreisa sortland sorum spjelkavik spydeberg st stange stat stathelle stavanger stavern steigen steinkjer stjordal stjordalshalsen stokke stor-elvdal stord stordal storfjord strand stranda stryn sula suldal sund sunndal surnadal svalbard sveio svelvik sykkylven tana tananger time tingvoll tinn tjeldsund tjome tm tokke tolga tonsberg torsken tr trana tranby tranoy troandin trogstad tromsa tromso trondheim trysil tvedestrand tydal tynset tysfjord tysnes tysvar ullensaker ullensvang ulvik unjarga utsira va vaapste vadso vaga vagan vagsoy vaksdal valle vang vanylven vardo varggat varoy vefsn vega vegarshei vennesla verdal verran vestby vestnes vestre-slidre vestre-toten vestvagoy vevelstad vf vgs vik vikna vindafjord voagat volda voss vossevangen xn--andy-ira xn--asky-ira xn--aurskog-hland-jnb xn--avery-yua xn--bdddj-mrabd xn--bearalvhki-y4a xn--berlevg-jxa xn--bhcavuotna-s4a xn--bhccavuotna-k7a xn--bidr-5nac xn--bievt-0qa xn--bjarky-fya xn--bjddar-pta xn--blt-elab xn--bmlo-gra xn--bod-2na xn--brnny-wuac xn--brnnysund-m8ac xn--brum-voa xn--btsfjord-9za xn--davvenjrga-y4a xn--dnna-gra xn--drbak-wua xn--dyry-ira xn--eveni-0qa01ga xn--finny-yua xn--fjord-lra xn--fl-zia xn--flor-jra xn--frde-gra xn--frna-woa xn--frya-hra xn--ggaviika-8ya47h xn--gildeskl-g0a xn--givuotna-8ya xn--gjvik-wua xn--gls-elac xn--h-2fa xn--hbmer-xqa xn--hcesuolo-7ya35b xn--hgebostad-g3a xn--hmmrfeasta-s4ac xn--hnefoss-q1a xn--hobl-ira xn--holtlen-hxa xn--hpmir-xqa xn--hyanger-q1a xn--hylandet-54a xn--indery-fya xn--jlster-bya xn--jrpeland-54a xn--karmy-yua xn--kfjord-iua xn--klbu-woa xn--koluokta-7ya57h xn--krager-gya xn--kranghke-b0a xn--krdsherad-m8a xn--krehamn-dxa xn--krjohka-hwab49j xn--ksnes-uua xn--kvfjord-nxa xn--kvitsy-fya xn--kvnangen-k0a xn--l-1fa xn--laheadju-7ya xn--langevg-jxa xn--ldingen-q1a xn--leagaviika-52b xn--lesund-hua xn--lgrd-poac xn--lhppi-xqa xn--linds-pra xn--loabt-0qa xn--lrdal-sra xn--lrenskog-54a xn--lt-liac xn--lten-gra xn--lury-ira xn--mely-ira xn--merker-kua xn--mjndalen-64a xn--mlatvuopmi-s4a xn--mli-tla xn--mlselv-iua xn--moreke-jua xn--mosjen-eya xn--mot-tla xn--msy-ula0h xn--mtta-vrjjat-k7af xn--muost-0qa xn--nmesjevuemie-tcba xn--nry-yla5g xn--nttery-byae xn--nvuotna-hwa xn--oppegrd-ixa xn--ostery-fya xn--osyro-wua xn--porsgu-sta26f xn--rady-ira xn--rdal-poa xn--rde-ula xn--rdy-0nab xn--rennesy-v1a xn--rhkkervju-01af xn--rholt-mra xn--risa-5na xn--risr-ira xn--rland-uua xn--rlingen-mxa xn--rmskog-bya xn--rros-gra xn--rskog-uua xn--rst-0na xn--rsta-fra xn--ryken-vua xn--ryrvik-bya xn--s-1fa xn--sandnessjen-ogb xn--sandy-yua xn--seral-lra xn--sgne-gra xn--skierv-uta xn--skjervy-v1a xn--skjk-soa xn--sknit-yqa xn--sknland-fxa xn--slat-5na xn--slt-elab xn--smla-hra xn--smna-gra xn--snase-nra xn--sndre-land-0cb xn--snes-poa xn--snsa-roa xn--sr-aurdal-l8a xn--sr-fron-q1a xn--sr-odal-q1a xn--sr-varanger-ggb xn--srfold-bya xn--srreisa-q1a xn--srum-gra xn--stjrdal-s1a xn--stjrdalshalsen-sqb xn--stre-toten-zcb xn--tjme-hra xn--tnsberg-q1a xn--trany-yua xn--trgstad-r1a xn--trna-woa xn--troms-zua xn--tysvr-vra xn--unjrga-rta xn--vads-jra xn--vard-jra xn--vegrshei-c0a xn--vestvgy-ixa6o xn--vg-yiab xn--vgan-qoa xn--vgsy-qoa0j xn--vre-eiker-k8a xn--vrggt-xqad xn--vry-yla5g xn--yer-zna xn--ygarden-p1a xn--ystre-slidre-ujb".split(" "), | |
E.np = "* com edu gov mil net org ort".split(" "), E.pe = "com edu gob mil net nom org".split(" "), E.pf = ["com", "edu", "org"], E.pg = ["*", "com", "net"], E.ph = "com edu gov i mil net ngo org".split(" "), E.ps = "com edu gov net org plo sec".split(" "), E.pt = "blogspot com edu gov int net nome org publ".split(" "), E.py = "com coop edu gov mil net org".split(" "), E.qc = ["com"], E.sa = "com edu gov med net org pub sch".split(" "), E.sb = ["com", "edu", "gov", "net", "org"], E.sc = ["com", "edu", "gov", "net", "org"], E.sd = "com edu gov info med net org tv".split(" "), | |
E.sg = "blogspot com edu gov idn net org per".split(" "), E.sh = "com edu gov mil net org".split(" "), E.sv = "* co com edu gob org red".split(" "), E.sy = "com edu gov mil net org".split(" "), E.tn = "agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism turen".split(" "), E.uy = "com edu gub mil net org".split(" "), E.vi = "co com edu gov k12 net org".split(" "), E.ye = ["*", "com", "net"], E.pro = "aca bar cpa eng jur law med".split(" "), E.arpa = "e164 in-addr ip6 iris uri urn".split(" "), | |
E["int"] = ["eu"], E.bf = ["gov"], E.by = ["com", "gov", "mil", "of"], E.cx = ["ath", "gov"], E.ie = ["blogspot", "gov"], E.it = "abr;abruzzo;ag;agrigento;al;alessandria;alto-adige;altoadige;an;ancona;andria-barletta-trani;andria-trani-barletta;andriabarlettatrani;andriatranibarletta;ao;aosta;aosta-valley;aostavalley;aoste;ap;aq;aquila;ar;arezzo;ascoli-piceno;ascolipiceno;asti;at;av;avellino;ba;balsan;bari;barletta-trani-andria;barlettatraniandria;bas;basilicata;belluno;benevento;bergamo;bergamo ;bg;bi;biella;bl;blogspot;bn;bo;bologna;bolzano;bozen;br;brescia;brindisi;bs;bt;bz;ca;cagliari;cal;calabria;caltanissetta;cam;campania;campidano-medio;campidanomedio;campobasso;carbonia-iglesias;carboniaiglesias;carrara-massa;carraramassa;caserta;catania;catanzaro;cb;ce;cesena-forli;cesenaforli;ch;chieti;ci;cl;cn;co;como;cosenza;cr;cremona;crotone;cs;ct;cuneo;cz;dell-ogliastra;dellogliastra;edu;emilia-romagna;emiliaromagna;emr;en;enna;fc;fe;fermo;ferrara;fg;fi;firenze;florence;fm;foggia;forli-cesena;forlicesena;fr;friuli-v-giulia;friuli-ve-giulia;friuli-vegiulia;friuli-venezia-giulia;friuli-veneziagiulia;friuli-vgiulia;friuliv-giulia;friulive-giulia;friulivegiulia;friulivenezia-giulia;friuliveneziagiulia;friulivgiulia;frosinone;fvg;ge;genoa;genova;go;gorizia;gov;gr;grosseto;iglesias-carbonia;iglesiascarbonia;im;imperia;is;isernia;kr;la-spezia;laquila;laspezia;latina;laz;lazio;lc;le;lecce;lecco;li;lig;liguria;livorno;lo;lodi;lom;lombardia;lombardy;lt;lu;lucania;lucca;macerata;mantova;mar;marche;massa-carrara;massacarrara;matera;mb;mc;me;medio-campidano;mediocampidano;messina;mi;milan;milano;mn;mo;modena;mol;molise;monza;monza-brianza;monza-e-della-brianza;monzabrianza;monzaebrianza;monzaedellabrianza;ms;mt;na;naples;napoli;no;novara;nu;nuoro;og;ogliastra;olbia-tempio;olbiatempio;or;oristano;ot;pa;padova;padua;palermo;parma;pavia;pc;pd;pe;perugia;pesaro-urbino;pesarourbino;pescara;pg;pi;piacenza;piedmont;piemonte;pisa;pistoia;pmn;pn;po;pordenone;potenza;potenza ;pr;prato;pt;pu;pug;puglia;pv;pz;ra;ragusa;ravenna;rc;re;reggio-calabria;reggio-emilia;reggiocalabria;reggioemilia;rg;ri;rieti;rimini;rm;rn;ro;roma;rome;rovigo;sa;salerno;sar;sardegna;sardinia;sassari;savona;si;sic;sicilia;sicily;siena;siracusa;so;sondrio;sp;sr;ss;suedtirol;sv;ta;taa;taranto;te;tempio-olbia;tempioolbia;teramo;terni;tn;to;torino;tos;toscana;tp;tr;trani-andria-barletta;trani-barletta-andria;traniandriabarletta;tranibarlettaandria;trapani;trentino;trentino-a-adige;trentino-aadige;trentino-alto-adige;trentino-altoadige;trentino-s-tirol;trentino-stirol;trentino-sud-tirol;trentino-sudtirol;trentino-sued-tirol;trentino-suedtirol;trentinoa-adige;trentinoaadige;trentinoalto-adige;trentinoaltoadige;trentinos-tirol;trentinostirol;trentinosud-tirol;trentinosudtirol;trentinosued-tirol;trentinosuedtirol;trento;treviso;trieste;ts;turin;tuscany;tv;ud;udine;umb;umbria;urbino-pesaro;urbinopesaro;va;val-d-aosta;val-daosta;vald-aosta;valdaosta;valle-aosta;valle-d-aosta;valle-daosta;valleaosta;valled-aosta;valledaosta;vallee-aoste;valleeaoste;vao;varese;vb;vc;vda;ve;ven;veneto;venezia;venice;verbania;vercelli;verona;vi;vibo-valentia;vibovalentia;vicenza;viterbo;vr;vs;vt;vv".split(";"), | |
E.lt = ["gov", "mil"], E.lu = ["gov", "mil", "net", "org"], E.to = "com edu gov mil net org".split(" "), E.tp = ["gov"], E.tv = ["better-than", "dyndns", "gov", "on-the-web", "worse-than"], E.mobi = ["music", "weather"], E.mh = ["net"], E.ad = ["nom"], E.sr = ["rs"], E.va = ["vatican"], E.aero = "accident-investigation accident-prevention aerobatic aeroclub aerodrome agents air-surveillance air-traffic-control aircraft airline airport airtraffic ambulance amusement association author ballooning broker caa cargo catering certification championship charter civilaviation club conference consultant consulting control council crew design dgca educator emergency engine engineer entertainment equipment exchange express federation flight freight fuel gliding government groundhandling group hanggliding homebuilt insurance journal journalist leasing logistics magazine maintenance marketplace media microlight modelling navigation parachuting paragliding passenger-association pilot press production recreation repbody res research rotorcraft safety scientist services show skydiving software student taxi trader trading trainer union workinggroup works".split(" "), | |
E.as = ["gov"], E.ba = "co com edu gov mil net org rs unbi unsa".split(" "), E.bg = "0123456789abcdefghijklmnopqrstuvwxyz".split(""), E.bh = ["com", "edu", "gov", "net", "org"], E.bi = ["co", "com", "edu", "or", "org"], E.bj = ["asso", "barreau", "blogspot", "gouv"], E.bz = ["com", "edu", "gov", "net", "org"], E.ci = "ac asso co com ed edu go gouv int md net or org presse xn--aroport-bya".split(" "), E.cl = ["co", "gob", "gov", "mil"], E.cm = ["gov"], E.cw = ["com", "edu", "net", "org"], E.er = ["*"], E.gy = ["co", "com", "net"], E.io = ["com", "github"], E.iq = | |
"com edu gov mil net org".split(" "), E.ke = ["*"], E.kg = "com edu gov mil net org".split(" "), E.ki = "biz com edu gov info net org".split(" "), E.km = "ass asso com coop edu gouv gov medecin mil nom notaires org pharmaciens prd presse tm veterinaire".split(" "), E.kn = ["edu", "gov", "net", "org"], E.kp = "com edu gov org rep tra".split(" "), E.me = "ac co edu gov its net org priv".split(" "), E.ml = "com edu gouv gov net org presse".split(" "), E.mn = ["edu", "gov", "nyc", "org"], E.mr = ["blogspot", "gov"], E.museum = "academy agriculture air airguard alabama alaska amber ambulance american americana americanantiques americanart amsterdam and annefrank anthro anthropology antiques aquarium arboretum archaeological archaeology architecture art artanddesign artcenter artdeco arteducation artgallery arts artsandcrafts asmatart assassination assisi association astronomy atlanta austin australia automotive aviation axis badajoz baghdad bahn bale baltimore barcelona baseball basel baths bauern beauxarts beeldengeluid bellevue bergbau berkeley berlin bern bible bilbao bill birdart birthplace bonn boston botanical botanicalgarden botanicgarden botany brandywinevalley brasil bristol british britishcolumbia broadcast brunel brussel brussels bruxelles building burghof bus bushey cadaques california cambridge can canada capebreton carrier cartoonart casadelamoneda castle castres celtic center chattanooga cheltenham chesapeakebay chicago children childrens childrensgarden chiropractic chocolate christiansburg cincinnati cinema circus civilisation civilization civilwar clinton clock coal coastaldefence cody coldwar collection colonialwilliamsburg coloradoplateau columbia columbus communication communications community computer computerhistory contemporary contemporaryart convent copenhagen corporation corvette costume countryestate county crafts cranbrook creation cultural culturalcenter culture cyber cymru dali dallas database ddr decorativearts delaware delmenhorst denmark depot design detroit dinosaur discovery dolls donostia durham eastafrica eastcoast education educational egyptian eisenbahn elburg elvendrell embroidery encyclopedic england entomology environment environmentalconservation epilepsy essex estate ethnology exeter exhibition family farm farmequipment farmers farmstead field figueres filatelia film fineart finearts finland flanders florida force fortmissoula fortworth foundation francaise frankfurt franziskaner freemasonry freiburg fribourg frog fundacio furniture gallery garden gateway geelvinck gemological geology georgia giessen glas glass gorge grandrapids graz guernsey halloffame hamburg handson harvestcelebration hawaii health heimatunduhren hellas helsinki hembygdsforbund heritage histoire historical historicalsociety historichouses historisch historisches history historyofscience horology house humanities illustration imageandsound indian indiana indianapolis indianmarket intelligence interactive iraq iron isleofman jamison jefferson jerusalem jewelry jewish jewishart jfk journalism judaica judygarland juedisches juif karate karikatur kids koebenhavn koeln kunst kunstsammlung kunstunddesign labor labour lajolla lancashire landes lans larsson lewismiller lincoln linz living livinghistory localhistory london losangeles louvre loyalist lucerne luxembourg luzern mad madrid mallorca manchester mansion mansions manx marburg maritime maritimo maryland marylhurst media medical medizinhistorisches meeres memorial mesaverde michigan midatlantic military mill miners mining minnesota missile missoula modern moma money monmouth monticello montreal moscow motorcycle muenchen muenster mulhouse muncie museet museumcenter museumvereniging music national nationalfirearms nationalheritage nativeamerican naturalhistory naturalhistorymuseum naturalsciences nature naturhistorisches natuurwetenschappen naumburg naval nebraska neues newhampshire newjersey newmexico newport newspaper newyork niepce norfolk north nrw nuernberg nuremberg nyc nyny oceanographic oceanographique omaha online ontario openair oregon oregontrail otago oxford pacific paderborn palace paleo palmsprings panama paris pasadena pharmacy philadelphia philadelphiaarea philately phoenix photography pilots pittsburgh planetarium plantation plants plaza portal portland portlligat posts-and-telecommunications preservation presidio press project public pubol quebec railroad railway research resistance riodejaneiro rochester rockart roma russia saintlouis salem salvadordali salzburg sandiego sanfrancisco santabarbara santacruz santafe saskatchewan satx savannahga schlesisches schoenbrunn schokoladen school schweiz science science-fiction scienceandhistory scienceandindustry sciencecenter sciencecenters sciencehistory sciences sciencesnaturelles scotland seaport settlement settlers shell sherbrooke sibenik silk ski skole society sologne soundandvision southcarolina southwest space spy square stadt stalbans starnberg state stateofdelaware station steam steiermark stjohn stockholm stpetersburg stuttgart suisse surgeonshall surrey svizzera sweden sydney tank tcm technology telekommunikation television texas textile theater time timekeeping topology torino touch town transport tree trolley trust trustee uhren ulm undersea university usa usantiques usarts uscountryestate usculture usdecorativearts usgarden ushistory ushuaia uslivinghistory utah uvic valley vantaa versailles viking village virginia virtual virtuel vlaanderen volkenkunde wales wallonie war washingtondc watch-and-clock watchandclock western westfalen whaling wildlife williamsburg windmill workshop xn--9dbhblg6di xn--comunicaes-v6a2o xn--correios-e-telecomunicaes-ghc29a xn--h1aegh xn--lns-qla york yorkshire yosemite youth zoological zoology".split(" "), | |
E.mz = ["!teledata", "*"], E.nf = "arts com firm info net other per rec store web".split(" "), E.pn = ["co", "edu", "gov", "net", "org"], E.pw = "belau co ed go ne or".split(" "), E.qa = "com edu gov mil name net org sch".split(" "), E.re = ["asso", "blogspot", "com", "nom"], E.rs = "ac co edu gov in org".split(" "), E.sl = ["com", "edu", "gov", "net", "org"], E.sn = "art com edu gouv org perso univ".split(" "), E.so = ["com", "net", "org"], E.st = "co com consulado edu embaixada gov mil net org principe saotome store".split(" "), E.sx = ["gov"], | |
E.sz = ["ac", "co", "org"], E.tl = ["gov"], E.tm = "co com edu gov mil net nom org".split(" "), E.uz = ["co", "com", "net", "org"], E.vc = "com edu gov mil net org".split(" "), E.ws = "com dyndns edu gov mypets net org".split(" "), E.net = "at-band-camp azure-mobile azurewebsites blogdns broke-it buyshouses cloudapp cloudfront dnsalias dnsdojo does-it dontexist dynalias dynathome endofinternet from-az from-co from-la from-ny gb gets-it ham-radio-op homeftp homeip homelinux homeunix hu in-the-band is-a-chef is-a-geek isa-geek jp kicks-ass office-on-the podzone scrapper-site se selfip sells-it servebbs serveftp thruhere uk webhop za".split(" "), | |
E.com = "appspot ar betainabox blogdns blogspot br cechire cloudcontrolapp cloudcontrolled cn codespot de dnsalias dnsdojo doesntexist dontexist doomdns dreamhosters dyn-o-saur dynalias dyndns-at-home dyndns-at-work dyndns-blog dyndns-free dyndns-home dyndns-ip dyndns-mail dyndns-office dyndns-pics dyndns-remote dyndns-server dyndns-web dyndns-wiki dyndns-work elasticbeanstalk est-a-la-maison est-a-la-masion est-le-patron est-mon-blogueur eu from-ak from-al from-ar from-ca from-ct from-dc from-de from-fl from-ga from-hi from-ia from-id from-il from-in from-ks from-ky from-ma from-md from-mi from-mn from-mo from-ms from-mt from-nc from-nd from-ne from-nh from-nj from-nm from-nv from-oh from-ok from-or from-pa from-pr from-ri from-sc from-sd from-tn from-tx from-ut from-va from-vt from-wa from-wi from-wv from-wy gb getmyip githubusercontent googleapis googlecode gotdns gr herokuapp herokussl hobby-site homelinux homeunix hu iamallama is-a-anarchist is-a-blogger is-a-bookkeeper is-a-bulls-fan is-a-caterer is-a-chef is-a-conservative is-a-cpa is-a-cubicle-slave is-a-democrat is-a-designer is-a-doctor is-a-financialadvisor is-a-geek is-a-green is-a-guru is-a-hard-worker is-a-hunter is-a-landscaper is-a-lawyer is-a-liberal is-a-libertarian is-a-llama is-a-musician is-a-nascarfan is-a-nurse is-a-painter is-a-personaltrainer is-a-photographer is-a-player is-a-republican is-a-rockstar is-a-socialist is-a-student is-a-teacher is-a-techie is-a-therapist is-an-accountant is-an-actor is-an-actress is-an-anarchist is-an-artist is-an-engineer is-an-entertainer is-certified is-gone is-into-anime is-into-cars is-into-cartoons is-into-games is-leet is-not-certified is-slick is-uberleet is-with-theband isa-geek isa-hockeynut issmarterthanyou jpn kr likes-pie likescandy neat-url no operaunite qc rhcloud ro ru sa saves-the-whales se selfip sells-for-less sells-for-u servebbs simple-url space-to-rent teaches-yoga uk us uy withgoogle writesthisblog za".split(" "), | |
E.org = "ae blogdns blogsite boldlygoingnowhere dnsalias dnsdojo doesntexist dontexist doomdns dvrdns dynalias dyndns endofinternet endoftheinternet from-me game-host gotdns hobby-site homedns homeftp homelinux homeunix is-a-bruinsfan is-a-candidate is-a-celticsfan is-a-chef is-a-geek is-a-knight is-a-linux-user is-a-patsfan is-a-soxfan is-found is-lost is-saved is-very-bad is-very-evil is-very-good is-very-nice is-very-sweet isa-geek kicks-ass misconfused podzone readmyblog selfip sellsyourhome servebbs serveftp servegame stuff-4-sale us webhop za".split(" "), | |
E.de = "blogspot com fuettertdasnetz isteingeek istmein lebtimnetz leitungsen traeumtgerade".split(" "), E.biz = "dyndns for-better for-more for-some for-the selfip webhop".split(" "), E.info = "barrel-of-knowledge barrell-of-knowledge dyndns for-our groks-the groks-this here-for-more knowsitall selfip webhop".split(" "), E.cc = ["ftpaccess", "game-server", "myphotos", "scrapping"], E.nu = ["merseine", "mine", "shacknet"], E.cf = ["blogspot"], E.cv = ["blogspot"], E.cz = ["blogspot"], E.dk = ["blogspot"], E.sk = ["blogspot"], E.td = ["blogspot"], E.ms = ["com", "edu", "gov", "net", "org"]; | |
if ("string" != typeof c) return ""; | |
if ("" == c && "string" == typeof e && 0 == e.indexOf("file://")) return "file:"; | |
c = c.toLowerCase(); | |
c = c.replace(/\.$/, ""); | |
var f = c.split("."), | |
d; | |
if (c.match(/^\d+\.\d+\.\d+\.\d+$/)) d = 4; | |
else if (d = 2, 2 <= f.length) { | |
var g = f[f.length - 1]; | |
"undefined" != typeof E[g] && kb(f[f.length - 2], E[g]) && (d = 3) | |
} | |
for (; f.length > d;) f.shift(); | |
return f.join(".") | |
} | |
function Ta(c) { | |
var e = xb(c); | |
return sc(e.host, c) | |
} | |
function Wf(c) { | |
c = xb(Wa.URLToUnicode(c)); | |
return ("string" == typeof c.host ? | |
c.host : "").replace(/^www\./, "") | |
} | |
function ae(c) { | |
return "string" != typeof c ? c : c.replace(/^\s+|\s+$/g, "") | |
} | |
function Gl(c) { | |
return (c + "").replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!<>\|\:])/g, "\\$1") | |
} | |
function xa(c, e) { | |
if (e && "undefined" != typeof c.id && "" != c.id) return c.id; | |
if ("undefined" != typeof c && null != c) { | |
if ("undefined" != typeof c.name && "" != c.name) return c.name; | |
if ("undefined" != typeof c.id) return c.id | |
} | |
return "" | |
} | |
function oc(c, e) { | |
for (; c && "BODY" != c.tagName; c = c.parentNode) { | |
if ("undefined" != typeof c.style && ("hidden" == | |
c.style.visibility || "none" == c.style.display)) return !1; | |
try { | |
var f = c.ownerDocument.defaultView.getComputedStyle(c, ""); | |
if ("hidden" == f.visibility || "none" == f.display) return !1 | |
} catch (d) {} | |
if (e) break | |
} | |
return !0 | |
} | |
function kb(c, e) { | |
for (var f = e.length, d = 0; d <= f; d++) | |
if ("undefined" != typeof e[d] && e[d] == c) return !0; | |
return !1 | |
} | |
function zf(c) { | |
if (!c.length) return c; | |
c = c.replace(/\s+/g, " "); | |
c = c.replace(/^\s+|\s+$/g, ""); | |
c = c.replace(/[\|]+$/g, ""); | |
var e = c.match(/\|([^\|]+)$/); | |
e && (c = e[1], c = c.replace(/^\s+|\s+$/g, "")); | |
return c | |
} | |
function yl(c) { | |
"number" == | |
typeof c && (c = "" + c); | |
c = c.replace(/&/g, "&"); | |
c = c.replace(/</g, "<"); | |
c = c.replace(/>/g, ">"); | |
return c.replace(/"/g, """) | |
} | |
function qc(c) { | |
"number" == typeof c && (c = "" + c); | |
c = c.replace(/</g, "<"); | |
c = c.replace(/>/g, ">"); | |
c = c.replace(/"/g, '"'); | |
return c.replace(/&/g, "&") | |
} | |
function Qc(c, e, f) { | |
try { | |
if (c) { | |
if (c.ownerDocument && "function" == typeof c.ownerDocument.createEvent) { | |
var d = c.ownerDocument.createEvent("Events"); | |
d.initEvent("change", !0, !0); | |
c.dispatchEvent(d); | |
d = c.ownerDocument.createEvent("Events"); | |
d.initEvent("input", !0, !0); | |
c.dispatchEvent(d); | |
if ("undefined" != typeof ischrome && ischrome && ("function" == typeof c.onkeyup || c.hasAttribute("onkeyup"))) | |
if (f && (d.keyCode = 8), c.hasAttribute("onkeyup")) eval(c.getAttribute("onkeyup")); | |
else c.onkeyup(d) | |
} else "undefined" != typeof c.fireEvent && (c.fireEvent("onchange"), c.fireEvent("oninput")); | |
("undefined" == typeof e || null == e || e) && "function" == typeof fs && fs("SHIFT", c); | |
if ("function" == typeof cb) { | |
var g = cb(c.ownerDocument); | |
g && (g.lpfieldchanged = !0) | |
} | |
} | |
} catch (h) {} | |
} | |
function Fl(c) { | |
switch (c) { | |
case "http": | |
return 80; | |
case "https": | |
return 443; | |
case "ftp": | |
return 21; | |
default: | |
return 0 | |
} | |
} | |
function Ge(c) { | |
var e = 0; | |
"undefined" != typeof c.port && c.port ? e = c.port : "undefined" != typeof c.protocol && c.protocol && (e = Fl(c.protocol)); | |
return e | |
} | |
function kj(c, e) { | |
var f = "" != c.port ? c.port : Fl(c.protocol), | |
d = "" != e.port ? e.port : Fl(e.protocol); | |
return f == d | |
} | |
function vo(c) { | |
var e = c.length ? --c.length : -1, | |
f; | |
for (f in c) e++; | |
return e | |
} | |
function Ab() { | |
var c = (new Date).getTime(); | |
return parseInt(c / 1E3) | |
} | |
function Og(c, e, f, d, g, h, l) { | |
if (0 == e.length) return e; | |
for (var n = [], | |
p = [], q = 0; q < c.length; q++) "undefined" == typeof c[q].tld && (c[q].tld = Ta(c[q].url), c[q].parts = xb(c[q].url), c[q].path = "string" == typeof c[q].parts.path ? c[q].parts.path : ""), f == c[q].tld && ("" != c[q].path && 0 != d.indexOf(c[q].path) ? p[p.length] = c[q] : g == c[q].parts.host || 1 == c[q].exacthost && -1 != g.indexOf("." + c[q].parts.host) || 0 == c[q].exacthost ? n[n.length] = c[q] : p[p.length] = c[q]); | |
if (0 == n.length && 0 == p.length) return e; | |
if (0 < n.length) { | |
h = e; | |
for (q = 0; q < n.length; q++) { | |
p = e; | |
c = n[q]; | |
f = d; | |
var r = g, | |
t = l, | |
A = c.path; | |
if (!("" != A && 0 != f.indexOf(A))) { | |
for (var y = | |
A.split("/").length, J = [], u = !1, s = 0; s < p.length; s++) { | |
var z = p[s], | |
ia = z.pathlevelmatch, | |
B = z.servermatch, | |
F = z.portmatch; | |
if ("undefined" == typeof ia) { | |
ia = f.split("/"); | |
z = xb(z.url); | |
z.path = "undefined" != typeof z.path ? z.path : ""; | |
B = z.path.split("/"); | |
for (F = 0; F < ia.length && F < B.length && B[F] == ia[F]; F++); | |
ia = F; | |
B = r == z.host; | |
F = t == Ge(z) | |
} | |
if (!("" != A && ia < y) && (u = u || 1 == c.exacthost || 1 == c.exactport ? !0 : !1, (B || 0 == c.exacthost) && (F || 0 == c.exactport))) u = !0, J[J.length] = p[s] | |
} | |
p = u ? J : p | |
} | |
p.length < h.length && (h = p) | |
} | |
return h | |
} | |
for (q = 0; q < p.length; q++) { | |
d = | |
e; | |
g = p[q]; | |
l = h; | |
n = g.path; | |
for (c = 0; c < d.length; c++) | |
if (f = "undefined" != typeof d[c].id ? d[c].id : d[c].aid, "undefined" != typeof l[f] && (f = xb(l[f].url), f.path = "undefined" != typeof f.path ? f.path : "", !("" != n && 0 != f.path.indexOf(n)) && ("0" == g.exacthost || g.parts.host == f.host) && ("0" == g.exactport || Ge(urlrules[c].parts) == Ge(f)))) d.splice(c, 1), c -= 1 | |
} | |
return e | |
} | |
function wo(c) { | |
for (var e = "", f = 0; f < c; f++) var d = md(0, 15), | |
e = e + "0123456789ABCDEF".substring(d, d + 1); | |
return e | |
} | |
function bx(c, e, f) { | |
c = c.responseXML.documentElement; | |
var d = c.getElementsByTagName("sharerpublickeys"), | |
g = c.getElementsByTagName("shareepublickeys"), | |
h = c.getElementsByTagName("encfields"), | |
l = c.getElementsByTagName("encofields"); | |
if (0 >= d.length && 0 >= g.length) return !1; | |
c = e.aid; | |
var n = e.postdata; | |
e = "undefined" == typeof e.newvalues ? [] : e.newvalues; | |
if ("undefined" == typeof f || null == f) return ga("SHARE : createShareeAutoPushesResponse failed for aid=" + c, null), !1; | |
for (var p = {}, q = h[0].getElementsByTagName("encfield"), n = n + ("&numencf=" + LP.en(q.length)), h = 0; h < q.length; ++h) { | |
var r = q[h].getAttribute("afid"), | |
t = q[h].getAttribute("value"); | |
p[r] = t | |
} | |
q = {}; | |
l = l[0].getElementsByTagName("encofield"); | |
n += "&numencof=" + LP.en(l.length); | |
for (h = 0; h < l.length; ++h) r = l[h].getAttribute("afid"), t = l[h].getAttribute("value"), q[r] = t; | |
n += "&numvalueenc=" + LP.en(e.length); | |
for (y = 0; y < e.length; ++y) h = da(e[y]), n += "&valueenc" + y + "=" + LP.en(h); | |
if (0 < g.length) { | |
l = g[0].getElementsByTagName("sharee"); | |
n += "&numsharees=" + LP.en(l.length); | |
for (h = 0; h < l.length; ++h) { | |
var A = l[h].getAttribute("uid"), | |
y = l[h].getAttribute("key"), | |
t = wo(64), | |
g = Zb(t), | |
t = io(y, t); | |
if (!1 == t) return ga("SHARE : lprsa_encryptdata failed for shareeuid=" + | |
A + " using shareepublickeyhex=" + y, null), !1; | |
var n = n + ("&sharee" + h + "uid=" + LP.en(A)), | |
n = n + ("&sharee" + h + "sharekeyhexenc=" + LP.en(t)), | |
t = { | |
name: f.name, | |
grouping: f.group, | |
username: "undefined" != typeof g_sites ? Ac(f.username, !0) : Ya(f.username), | |
password: "undefined" != typeof g_sites ? Ac(f.password, !0) : Ya(f.password), | |
extra: "undefined" != typeof g_sites ? Ac(f.extra, !0) : Ya(f.extra) | |
}, J; | |
for (J in t) { | |
var u = da(t[J], g); | |
if ("" != t[J] && (null == u || "" == u)) return ga("SHARE : error AES encrypting aid=" + c + " for shareeuid=" + A, null), !1; | |
n += "&sharee" + | |
h + J + "=" + LP.en(u) | |
} | |
y = 0; | |
for (r in p) { | |
t = Ya(p[r]); | |
u = da(t, g); | |
if ("" != t && (null == u || "" == u)) return ga("SHARE : error AES encrypting field afid=" + r + " aid=" + c + " for shareeuid=" + A, null), !1; | |
n += "&sharee" + h + "fafid" + y + "=" + LP.en(r); | |
n += "&sharee" + h + "fvalue" + y + "=" + LP.en(u); | |
++y | |
} | |
y = 0; | |
for (r in q) { | |
t = Ya(q[r]); | |
u = da(t, g); | |
if ("" != t && (null == u || "" == u)) return ga("SHARE : error AES encrypting otherfield afid=" + r + " aid=" + c + " for shareeuid=" + A, null), !1; | |
n += "&sharee" + h + "ofafid" + y + "=" + LP.en(r); | |
n += "&sharee" + h + "ofvalue" + y + "=" + LP.en(u); | |
++y | |
} | |
for (y = | |
0; y < e.length; ++y) { | |
t = e[y]; | |
u = da(t, g); | |
if ("" != t && (null == u || "" == u)) return ga("SHARE : error AES encrypting newvalues k=" + y + " aid=" + c + " for shareeuid=" + A, null), !1; | |
n += "&sharee" + h + "valueenc" + y + "=" + LP.en(u) | |
} | |
} | |
} | |
if (0 < d.length) { | |
d = d[0].getElementsByTagName("sharer"); | |
n += "&numsharers=" + LP.en(d.length); | |
for (h = 0; h < d.length; ++h) { | |
l = d[h].getAttribute("uid"); | |
A = d[h].getAttribute("key"); | |
t = wo(64); | |
g = Zb(t); | |
t = io(A, t); | |
if (!1 == t) return ga("SHARE : lprsa_encryptdata failed for shareruid=" + l + " using sharerpublickeyhex=" + A, null), !1; | |
n += "&sharer" + h + "uid=" + LP.en(l); | |
n += "&sharer" + h + "sharekeyhexenc=" + LP.en(t); | |
t = { | |
name: f.name, | |
grouping: f.group, | |
username: "undefined" != typeof g_sites ? Ac(f.username, !0) : Ya(f.username), | |
password: "undefined" != typeof g_sites ? Ac(f.password, !0) : Ya(f.password), | |
extra: "undefined" != typeof g_sites ? Ac(f.extra, !0) : Ya(f.extra) | |
}; | |
for (J in t) { | |
u = da(t[J], g); | |
if ("" != t[J] && (null == u || "" == u)) return ga("SHARE : error AES encrypting aid=" + c + " for shareruid=" + l, null), !1; | |
n += "&sharer" + h + J + "=" + LP.en(u) | |
} | |
y = 0; | |
for (r in p) { | |
t = Ya(p[r]); | |
u = da(t, | |
g); | |
if ("" != t && (null == u || "" == u)) return ga("SHARE : error AES encrypting field afid=" + r + " aid=" + c + " for shareruid=" + l, null), !1; | |
n += "&sharer" + h + "fafid" + y + "=" + LP.en(r); | |
n += "&sharer" + h + "fvalue" + y + "=" + LP.en(u); | |
++y | |
} | |
y = 0; | |
for (r in q) { | |
t = Ya(q[r]); | |
u = da(t, g); | |
if ("" != t && (null == u || "" == u)) return ga("SHARE : error AES encrypting otherfield afid=" + r + " aid=" + c + " for shareruid=" + l, null), !1; | |
n += "&sharer" + h + "ofafid" + y + "=" + LP.en(r); | |
n += "&sharer" + h + "ofvalue" + y + "=" + LP.en(u); | |
++y | |
} | |
for (y = 0; y < e.length; ++y) { | |
t = e[y]; | |
u = da(t, g); | |
if ("" != t && | |
(null == u || "" == u)) return ga("SHARE : error AES encrypting newvalues k=" + y + " aid=" + c + " for shareruid=" + l, null), !1; | |
n += "&sharer" + h + "valueenc" + y + "=" + LP.en(u) | |
} | |
} | |
} | |
return n | |
} | |
function za(c) { | |
if (c && 17 <= c.length && "!" == c.charAt(0)) { | |
var e = c.indexOf("|"); | |
if (-1 != e) return "!" + atob(c.substring(1, e)) + atob(c.substring(e + 1)) | |
} | |
return atob(c) | |
} | |
function Ha(c) { | |
return c && 33 <= c.length && 1 == c.length % 16 && "!" == c.charAt(0) ? "!" + btoa(c.substring(1, 17)) + "|" + btoa(c.substring(17)) : btoa(c) | |
} | |
function Hl(c, e, f) { | |
var d = 0, | |
g = 0, | |
h = 0, | |
l = 0, | |
n = 0, | |
p = 0, | |
q = | |
c.split("."); | |
for (c = 0; c < q.length; c++) 0 == c ? d = parseInt(q[c]) : 1 == c ? g = parseInt(q[c]) : 2 == c && (h = parseInt(q[c])); | |
e = e.split("."); | |
for (c = 0; c < e.length; c++) 0 == c ? l = parseInt(e[c]) : 1 == c ? n = parseInt(e[c]) : 2 == c && (p = parseInt(e[c])); | |
return d != l ? d > l ? 1 : -1 : g != n ? g > n ? 1 : -1 : f ? 0 : h != p ? h > p ? 1 : -1 : 0 | |
} | |
function Ts(c, e) { | |
"undefined" != typeof LP && "function" == typeof LP.lpgs ? LP.alert(LP.lpgs(c), e) : "function" == typeof alertfrombg ? alertfrombg(U(c)) : Cb(U(c)) | |
} | |
function yb(c, e) { | |
if (!c || 0 == c.length || "undefined" == typeof e || null == e) return !1; | |
var f = e; | |
0 < f.indexOf("\\") && (f = f.substr(0, f.indexOf("\\"))); | |
for (var d in c) { | |
var g = c[d]; | |
if (!("object" != typeof g || "undefined" == typeof g.decsharename) && g.decsharename == f) return { | |
id: g.id, | |
sharekey: g.key, | |
decsharename: g.decsharename, | |
readonly: g.readonly, | |
give: g.give | |
} | |
} | |
return !1 | |
} | |
function Aj(c, e, f, d) { | |
return "undefined" == typeof f.sharefolderid ? Ac(c, e) : (f = yb(d, f.group)) ? Ac(c, e, f.sharekey) : Ac(c, e) | |
} | |
function O(c, e, f) { | |
return "undefined" == typeof e.sharefolderid ? Ya(c) : (e = yb(f, e.group)) ? Ya(c, e.sharekey) : Ya(c) | |
} | |
function wa(c, e, f) { | |
return "undefined" == | |
typeof e.sharefolderid ? da(c) : (e = yb(f, e.group)) ? da(c, e.sharekey) : da(c) | |
} | |
function Tb(c, e, f) { | |
return c && "1" == c.readonly ? (e || Ts("Sorry, this shared folder is read-only.", f), !1) : !0 | |
} | |
function Us() { | |
if (null == ha || "" == ha) { | |
var c = null; | |
"string" == typeof Ec && "" != Ec ? c = Ec : "string" == typeof Q && "" != Q && (c = Q); | |
null != c && ("function" == typeof SHA256 ? ha = SHA256(c) : "function" == typeof Fa && (ha = Fa(c))) | |
} | |
} | |
function ps() { | |
if (!("object" == typeof LP && "undefined" != typeof LP.isFennec && LP.isFennec) && ("function" != typeof canSaveAttach || canSaveAttach()) && | |
0 < dg) Us(), Je(ha + "_version.att", 25, function(c) { | |
c || (c = 0); | |
bc = c; | |
ha + c != Vs && (Vs = ha + c, c < dg && (c = "version=" + LP.en(c) + "&b64=1&chunked=1", LP.lpMakeRequest(("string" == typeof base_url ? base_url : LP.lp_base) + "getattach.php", c, vn))) | |
}) | |
} | |
function vn(c) { | |
if (4 == c.readyState && 200 == c.status) { | |
c = atob(c.responseText); | |
bc = dl(c, "LPAT"); | |
Rb(ha + "_version.att", bc); | |
if (c && c.length && 0 == c.indexOf("LPAT")) | |
for (var e = c.length, f = mh(c.substring(4, 8)) + 8; f < e;) { | |
var d = mh(c.substring(f, f + 4)), | |
g = f + 4, | |
h = mh(c.substring(g, g + 4)), | |
l = c.substring(g + 4, g + 4 + | |
h), | |
g = g + (4 + h), | |
h = mh(c.substring(g, g + 4)), | |
g = c.substring(g + 4, g + 4 + h); | |
"delete" == g ? eb(ha + "_" + l + ".att") : (g = btoa(g), Rb(ha + "_" + l + ".att", g)); | |
f += 4 + d | |
}!isNaN(parseInt(bc)) && isFinite(bc) && parseInt(bc) < dg && LP.mostRecent().setTimeout(function() { | |
ps() | |
}, 1E4) | |
} | |
} | |
function xo(c, e) { | |
Us(); | |
if (e) Je(ha + "_" + c + ".att", null, function(c) { | |
c ? e(c && c.length && "!" == c[0] ? c : atob(c)) : e(null) | |
}); | |
else { | |
var f = Je(ha + "_" + c + ".att"); | |
return !f ? null : f && f.length && "!" == f[0] ? f : atob(f) | |
} | |
} | |
function ir(c) { | |
if ("undefined" != typeof c.add) | |
for (var e in c.add) | |
if (c.add.hasOwnProperty(e)) { | |
var f = []; | |
f.id = c.add[e].id; | |
f.parent = c.add[e].parent; | |
f.mimetype = c.add[e].mimetype; | |
lb.push(f) | |
} | |
if ("undefined" != typeof c.remove) | |
for (e in c.remove) | |
for (c = 0; c < lb.length; c++) e == lb[c].id && lb.splice(c, 1) | |
} | |
function hg(c) { | |
return "text" == c || "password" == c || "textarea" == c || "email" == c || "tel" == c || "url" == c | |
} | |
function ts(c, e, f) { | |
"undefined" == typeof LP.ppsids_done && (LP.ppsids_done = []); | |
if ("object" == typeof c && 0 < c.length) { | |
for (var d = "cmd=uploadaccounts&username=" + LP.en(Q), g = 0, h = 0; h < c.length; h++) { | |
var l = c[h].ppsid; | |
if (!kb(l, LP.ppsids_done)) { | |
LP.ppsids_done.push(l); | |
var l = "&ppsid" + LP.en(g) + "=" + LP.en(l), | |
n = mc.parse(atob(c[h].data)), | |
p = !1, | |
q; | |
for (q in n) | |
if ("object" == typeof n[q] && "undefined" != typeof n[q].value && "undefined" != typeof n[q].encrypt) { | |
var r = q, | |
t = r.indexOf("X"); | |
if (-1 != t) { | |
r = r.substring(0, t) + g + r.substring(t + 1); | |
t = n[q].value; | |
if ("undefined" != typeof n[q].decrypt && 0 != n[q].decrypt) { | |
p = !0; | |
if (f) | |
for (var A = 0; A < f.length; A++) | |
if (f[A].id == n[q].decrypt) { | |
p = !1; | |
t = Ya(t, f[A].key); | |
break | |
} | |
if (p) break | |
} | |
n[q].encrypt && (t = da(t)); | |
l += "&" + LP.en(r) + "=" + LP.en(t) | |
} | |
} | |
p || (d += l, g++) | |
} | |
} | |
0 < g && LP.lpMakeRequest(("string" == | |
typeof base_url ? base_url : LP.lp_base) + "lastpass/api.php", d, e, function() {}) | |
} | |
} | |
function Yq(c, e, f) { | |
"undefined" == typeof f && (f = 1); | |
if (10 < f) return null; | |
if (c && "object" == typeof c.lp_filled_fields) { | |
for (var d = 0; d < c.lp_filled_fields.length; d++) { | |
var g = c.lp_filled_fields[d].value; | |
c.lp_filled_fields[d].value = ""; | |
"" != g && Qc(c.lp_filled_fields[d]) | |
} | |
c.lp_filled_fields = [] | |
} | |
if (e && e.frames) { | |
c = e.frames.length; | |
10 < c && (c = 10); | |
for (d = 0; d < c; d++) e.frames[d].document && Yq(e.frames[d].document, e.frames[d].window, f + 1) | |
} | |
} | |
function yo(c) { | |
return "undefined" != | |
typeof LP && "undefined" != typeof LP.sitepwlen && "undefined" != typeof LP.sitepwlen[c] ? LP.sitepwlen[c] : "undefined" != typeof g_sitepwlen && "undefined" != typeof g_sitepwlen[c] ? g_sitepwlen[c] : 1 | |
} | |
function Ic(c) { | |
return Hd.apply(this, arguments) | |
} | |
function ji(c) { | |
return Id.apply(this, arguments) | |
} | |
function ix() {} | |
function wd(c, e, f, d, g, h, l, n, p) { | |
"undefined" == typeof B && (B = []); | |
if ("undefined" == typeof h || null == h) h = 1; | |
if (10 < h) return !1; | |
try { | |
for (var q = e.getElementsByTagName("iframe"), r = 0; r < q.length; ++r) { | |
var t = q[r]; | |
null != t.contentDocument && | |
wd(c, t.contentDocument, f, d, g, h, l, n, p) | |
} | |
} catch (A) {} | |
var y = "string" == typeof p ? !0 : !1, | |
J = "string" == typeof p ? p : ""; | |
if (!c && !l) return !1; | |
var u = null; | |
if ("object" == typeof LP && !LP.isFennec && null == LP.getBrowser().selectedTab) return !1; | |
var s = null; | |
"object" == typeof LP && (s = LP.isFennec ? c : LP.getBrowser().selectedTab.linkedBrowser); | |
var z = s && s.contentDocument ? s.contentDocument : null; | |
try { | |
if ("undefined" == typeof l || null == l) l = c.contentWindow; | |
u = c ? LP.lpgetcurrenturl(c) : l.location.href; | |
"undefined" != typeof Wa && "undefined" != typeof Wa.URLToASCII && | |
(u = Wa.URLToASCII(u)); | |
if ("undefined" != typeof ka && 0 == ka.length && !y) { | |
if (s) { | |
var ia = s.contentDocument; | |
ia && (ia.m_abortedFormFillChecking = !0) | |
} | |
return !1 | |
} | |
var C = e.getElementsByTagName("form"); | |
if (z && !f && "undefined" != typeof z.m_checkfillformresult && z.m_checkfillformnumforms == C.length) return z.m_checkfillformresult; | |
if (!f && ("undefined" != typeof zo && !zo || 0 == C.length)) { | |
if (s && (ia = s.contentDocument)) ia.m_abortedFormFillChecking = !0; | |
z && (z.m_checkfillformresult = !1, z.m_checkfillformnumforms = C.length); | |
return !1 | |
} | |
if (!f && !d && | |
"undefined" != typeof Pd && (Pd(c, "autologin") || Pd(c, "generate") || Pd(c, "formfill"))) { | |
if (s && (ia = s.contentDocument)) ia.m_abortedFormFillChecking = !0; | |
z && (z.m_checkfillformresult = !1, z.m_checkfillformnumforms = C.length); | |
return !1 | |
} | |
var F = null; | |
if (g) | |
for (var D = 0; D < ka.length; D++) { | |
if (ka[D].ffid == g) { | |
F = ka[D]; | |
break | |
} | |
} else "undefined" != typeof ka && !y && (F = ka[0]); | |
var G, K; | |
G = 0 == l.location.href.indexOf("https://") ? K = !0 : K = !1; | |
var ea = xb(u), | |
ra = nb(u, ea), | |
Y = sc(ea.host, u); | |
Ao = Y; | |
if (!f && "undefined" != typeof er && er(ra, Y)) return z && (z.m_checkfillformresult = !1, z.m_checkfillformnumforms = C.length), !1; | |
Bo("en-US"); | |
var v = null, | |
E = zd["en-US"], | |
H = Uf["en-US"], | |
Q = ki; | |
if (g) | |
for (D = 0; D < ka.length; D++) { | |
if (ka[D].ffid == g) { | |
var F = ka[D], | |
L = O(F.profilelanguage, F, B); | |
5 == L.length && (v = L); | |
"en-US" != v && Bo(v); | |
E = zd[v]; | |
H = Uf[v]; | |
if ("undefined" != typeof F.customfields && 0 < F.customfields.length) { | |
E = []; | |
H = []; | |
Q = []; | |
for (r = 0; r < zd[v].length; r++) E[r] = zd[v][r], H[r] = Uf[v][r], Q[r] = ki[r]; | |
for (r = 0; r < F.customfields.length; r++) { | |
var M = O(F.customfields[r].text, F, B), | |
ca = O(F.customfields[r].alttext, F, B).split(/\r\n|\r|\n/g); | |
ca.unshift(M); | |
for (var W = "", Ma = "", w = 0; w < ca.length; w++) M = ae(ca[w]), "" != M && (W += Ma + Gl(M), Ma = "|"); | |
"" != W && (E.unshift(RegExp(W, "i")), H.unshift(RegExp(W, "i")), Q.unshift("customfield" + r)) | |
} | |
} | |
break | |
} | |
} else y && (F = new cj, F.group = "", F.ffid = "0", F.profiletype = "", F.profilename = "translation", F.profilelanguage = da(J), F.firstname = da("firstname"), F.firstname2 = da("firstname2"), F.firstname3 = da("firstname3"), F.middlename = da("middlename"), F.lastname = da("lastname"), F.lastname2 = da("lastname2"), F.lastname3 = da("lastname3"), F.email = | |
da("email"), F.mobileemail = da("mobileemail"), F.company = da("company"), F.ssn = da("ssn"), F.birthday = da("birthday"), F.address1 = da("address1"), F.address2 = da("address2"), F.address3 = da("address3"), F.city = da("city"), F.county = da("county"), F.state = da("state"), F.state_name = da("state_name"), F.zip = da("zip"), F.country = da("country"), F.country_cc3l = da("country_cc3l"), F.country_name = da("country_name"), F.countryphone = "countryphone", F.countryevephone = "countryevephone", F.countryfaxphone = "countryfaxphone", F.countrymobphone = | |
"countrymobphone", F.phoneext = da("phoneext"), F.evephoneext = da("evephoneext"), F.faxphoneext = da("faxphoneext"), F.mobilephoneext = da("mobilephoneext"), F.phone = da("phone"), F.evephone = da("evephone"), F.fax = da("fax"), F.mobilephone = da("mobilephone"), F.ccname = da("ccname"), F.ccnum = da("ccnum"), F.ccstart = da("ccstart"), F.ccexp = da("ccexp"), F.cccsc = da("cccsc"), F.ccissuenum = da("ccissuenum"), F.username = da("username"), F.gender = da("gender"), F.title = da("title"), F.pwprotect = "0", F.creditmon = "0", F.customfields = [], F.timezone = | |
da("timezone"), F.bankname = da("bankname"), F.bankacctnum = da("bankacctnum"), F.bankroutingnum = da("bankroutingnum"), F.notes = da("notes"), "undefined" == typeof LP_to_formfill && (LP_to_formfill = []), LP_to_formfill.promocode = "promocode", L = J, 5 == L.length && (v = L), "en-US" != v && Bo(v), E = zd[v], H = Uf[v]); | |
var Z = null, | |
V = null, | |
Qa = null; | |
try { | |
f && (l.getSelection ? (Z = l.getSelection(), "" == Z.toString() ? Z = V = Qa = null : (Z.getRangeAt && (V = Z.getRangeAt(0)), e.createRange && (Qa = e.createRange()))) : e.selection && (Z = e.selection.createRange(), Qa = e.body.createTextRange(), | |
"" == Z.text && (Z = V = Qa = null))) | |
} catch (ba) { | |
Z = V = Qa = null | |
} | |
var ja = { | |
value: 0 | |
}, ha = { | |
value: 0 | |
}, U = {}, T = {}, P = {}, ma = {}; | |
U.value = !1; | |
T.value = !1; | |
P.value = !1; | |
ma.value = !1; | |
for (D = 0; D < C.length + 1; D++) { | |
var na = D < C.length ? C[D] : null, | |
la; | |
if (null != na) la = na.elements; | |
else { | |
la = []; | |
for (var wa = ["input", "select", "textarea"], r = 0; r < wa.length; r++) | |
for (var oa = e.getElementsByTagName(wa[r]), w = 0; w < oa.length; w++) | |
if ("unknown" == typeof oa[w].form || null == oa[w].form) la[la.length] = oa[w] | |
} if ("undefined" != typeof la) { | |
for (var qa = [], w = 0; w < E.length; w++) qa[Q[w]] = | |
0; | |
var fa = [], | |
ua = Ws(la, c, { | |
value: 0 | |
}, qa, fa, { | |
value: !1 | |
}, f, Z, V, Qa, ha, E, Q, H, ja, d, U, T, P, ma, l, v); | |
if (0 == ua) return z && (z.m_checkfillformresult = !1, z.m_checkfillformnumforms = C.length), !1; | |
if (1 == ua) return z && (z.m_checkfillformresult = !0, z.m_checkfillformnumforms = C.length), !0; | |
if (f) { | |
var aa = "birthday", | |
xa = "birthmonth"; | |
F && "US" == O(F.country, F, B) && (aa = "birthmonth", xa = "birthday"); | |
var X = []; | |
"es-ES" != v && "es-MX" != v && "ca-ES" != v && "ja-JP" != v ? (X[X.length] = "name name name firstname middlename lastname".split(" "), X[X.length] = "firstname firstname lastname firstname middlename lastname".split(" "), | |
X[X.length] = "firstname lastname lastname firstname middlename lastname".split(" "), X[X.length] = ["name", "name", "firstname", "lastname"], X[X.length] = ["name", "lastname", "firstname", "lastname"], X[X.length] = ["name", "firstname", "firstname", "lastname"], X[X.length] = "lastname lastname lastname firstname middlename lastname".split(" "), X[X.length] = ["lastname", "lastname", "firstname", "lastname"], X[X.length] = ["firstname", "firstname", "firstname", "lastname"], X[X.length] = "firstname lastname firstname firstname middlename lastname".split(" "), | |
X[X.length] = ["firstname", "name", "firstname", "lastname"]) : (X[X.length] = "name lastname lastname firstname lastname lastname2".split(" "), X[X.length] = "name lastname lastname2 firstname lastname lastname2".split(" "), X[X.length] = ["name", "lastname", "firstname", "fulllastname"], X[X.length] = "firstname lastname lastname firstname lastname lastname2".split(" "), X[X.length] = ["fulllastname", "fulllastname", "lastname", "lastname2"], X[X.length] = ["name", "name", "firstname", "lastname"]); | |
X[X.length] = "address address address address1 address2 address3".split(" "); | |
X[X.length] = "address2 address2 address address1 address2 address3".split(" "); | |
X[X.length] = "address1 address3 address2 address1 address2 address3".split(" "); | |
X[X.length] = ["address", "address", "address1", "address2"]; | |
X[X.length] = ["address", "address2", "address1", "address2"]; | |
X[X.length] = ["address1", "address1", "address1", "address2"]; | |
X[X.length] = ["address", "address1", "address1", "address2"]; | |
X[X.length] = ["address2", "address2", "address1", "address2"]; | |
X[X.length] = ["address1", "address3", "address1", "address2"]; | |
X[X.length] = ["address", "address3", "address1", "address2"]; | |
X[X.length] = "ssn ssn ssn ssn1 ssn2 ssn3".split(" "); | |
X[X.length] = ["zip", "zip", "zip1", "zip2"]; | |
X[X.length] = ["birthmonth", "birthdate", "birthyear", aa, xa, "birthyear"]; | |
X[X.length] = ["birthday", "birthday", "birthday", aa, xa, "birthyear"]; | |
X[X.length] = ["birthdate", "birthdate", "birthdate", aa, xa, "birthyear"]; | |
X[X.length] = ["birthdate", "birthdate", "birthyear", aa, xa, "birthyear"]; | |
X[X.length] = ["birthday", "birthday", aa, xa]; | |
X[X.length] = ["birthdate", "birthdate", aa, | |
xa | |
]; | |
for (var sa = 1; 4 >= sa; sa++) { | |
var va = "evephone"; | |
2 == sa && (va = "phone"); | |
3 == sa && (va = "fax"); | |
4 == sa && (va = "mobilephone"); | |
X[X.length] = [va, va, va, va + "1", va + "2", va + "3"]; | |
X[X.length] = [va + "1", va + "2", va, va + "1", va + "2", va + "3"]; | |
X[X.length] = [va + "1", va + "1", va + "2", va + "1", va + "2", va + "3"]; | |
X[X.length] = [va + "1", va + "1", va + "1", va + "1", va + "2", va + "3"]; | |
X[X.length] = [va + "1", va, va, va + "1", va + "2", va + "3"]; | |
X[X.length] = [va, va, va + "2", va + "1", va + "2", va + "3"]; | |
X[X.length] = [va, va + "2", va + "3", va + "1", va + "2", va + "3"]; | |
X[X.length] = [va, va + "2", va, va + "1", va + | |
"2", va + "3" | |
]; | |
X[X.length] = [va, va + "3", va, va + "1", va + "2", va + "3"]; | |
X[X.length] = [va, va, va + "1", va + "23"] | |
} | |
X[X.length] = "ccnum ccnum ccnum ccnum ccnum1 ccnum2 ccnum3 ccnum4".split(" "); | |
X[X.length] = "ccnum ccnum ccnum ccnum1 amexccnum2 amexccnum3".split(" "); | |
X[X.length] = ["ccexp", "ccexp", "ccexpmonth", "ccexpyear"]; | |
X[X.length] = ["ccexp", "ccexpyear", "ccexpmonth", "ccexpyear"]; | |
X[X.length] = ["ccexpyear", "ccexpyear", "ccexpmonth", "ccexpyear"]; | |
X[X.length] = ["ccstart", "ccstart", "ccstartmonth", "ccstartyear"]; | |
X[X.length] = ["ccstart", | |
"ccstartyear", "ccstartmonth", "ccstartyear" | |
]; | |
X[X.length] = "cctype cctype cctype firstname middlename lastname".split(" "); | |
if (T.value || U.value || ma.value || P.value) { | |
for (var Aa = !0, r = 0; r < fa.length; r++) "country" == fa[r].namematch && "country" == fa[r].textmatch && (Aa = !1), "state" == fa[r].namematch && "state" == fa[r].textmatch && (Aa = !1); | |
if (Aa) { | |
for (var za = [], Ia = [], r = 0; r < fa.length; r++) { | |
var Ta = fa[r].namematch, | |
Ga = fa[r].textmatch; | |
"" != Ta && (Ia[Ta] = 1); | |
"" != Ga && (za[Ga] = 1) | |
} | |
var Va = vo(Ia), | |
Ca = vo(za); | |
if (Va > Ca) | |
for (r = 0; r < fa.length; r++) fa[r].namematch && | |
(fa[r].regexpname = fa[r].namematch) | |
} | |
} | |
var Ka = fa, | |
Fa = []; | |
Fa[Fa.length] = ["birthdate", "birthday", "birthmonth"]; | |
for (var ya = "", La = 0; La < Ka.length; La++) ya += "," + Ka[La].regexpname; | |
for (var Ja = 0; Ja < Fa.length; Ja++) { | |
for (var Ha = 0, Ya = 1; Ya < Fa[Ja].length; Ya++) Ha += -1 == ya.indexOf("," + Fa[Ja][Ya]) ? 0 : 1; | |
if (1 == Ha) | |
for (var Sa = Fa[Ja], Ua = Ka, Ra = Sa[0], Oa = 0; Oa < Sa.length; Oa++) | |
for (var Pa = 0; Pa < Ua.length; Pa++) Ua[Pa].regexpname == Sa[Oa] && (Ua[Pa].regexpname = Ra, Ua[Pa].namematch == Sa[Oa] && (Ua[Pa].namematch = Ra), Ua[Pa].textmatch == Sa[Oa] && (Ua[Pa].textmatch = | |
Ra)) | |
} | |
for (r = 0; r < fa.length; r++) { | |
var jb = fa[r], | |
Ba = jb.elt; | |
if (oc(Ba)) { | |
for (var Da = jb.regexpname, gb = !1, w = 0; w < X.length; w++) { | |
var fb = X[w]; | |
if (0 == fb.length % 2 && Da == fb[0]) { | |
var kb = fb.length / 2; | |
if (!(r >= fa.length - (kb - 1)) && !("cctype" == fb[0] && "firstname" == fb[3] && ("select-one" == Ba.type || "radio" == Ba.type))) { | |
for (var Xa = 0; Xa < kb && Co(fa[r + Xa].elt, fb[kb + Xa]) && !(1 <= Xa && (fa[r + Xa].regexpname != fb[Xa] || !fa[r + Xa].last_field_filled)); Xa++); | |
if (!(Xa < kb)) { | |
Da = fb[kb]; | |
for (Xa = 1; Xa < kb; Xa++) fa[r + Xa].regexpname = fb[kb + Xa]; | |
gb = !0; | |
break | |
} | |
} | |
} | |
} | |
if (!gb && | |
"cctype" == Da && "select-one" != Ba.type && "radio" != Ba.type) { | |
for (var db = !1, Ea = 0; Ea < fa.length; Ea++) | |
if (0 == fa[Ea].regexpname.indexOf("ccnum")) { | |
db = !0; | |
break | |
} | |
db || (Da = "ccnum") | |
} else if (!gb && "bankacctnum" == Da) { | |
for (var Ab = db = !1, eb = !1, Ea = 0; Ea < fa.length; Ea++) | |
if (0 == fa[Ea].regexpname.indexOf("ccnum")) { | |
db = !0; | |
break | |
} else if (0 == fa[Ea].regexpname.indexOf("cc")) Ab = !0; | |
else if (0 == fa[Ea].regexpname.indexOf("bank") && "bankacctnum" != fa[Ea].regexpname) { | |
eb = !0; | |
break | |
}!db && Ab && !eb && (Da = "ccnum") | |
} else if (!gb && "cccsc" == Da) { | |
db = !1; | |
for (Ea = | |
0; Ea < fa.length; Ea++) | |
if (0 == fa[Ea].regexpname.indexOf("ccnum")) { | |
db = !0; | |
break | |
} | |
if (!db) continue | |
} else if (!gb && 0 == Da.indexOf("ccnum") && "select-one" == Ba.type) Da = "cctype"; | |
else if ("address3" == Da && "" == F.address3 && "" != F.city) { | |
for (var yb = !1, Ea = 0; Ea < fa.length; Ea++) | |
if ("city" == fa[Ea].regexpname) { | |
yb = !0; | |
break | |
} | |
yb || (Da = "city") | |
} else if ("address" == Da && "textarea" == Ba.type) { | |
for (var vb = !1, Ea = 0; Ea < fa.length; Ea++) | |
if ("city" == fa[Ea].regexpname || "county" == fa[Ea].regexpname || "state" == fa[Ea].regexpname) { | |
vb = !0; | |
break | |
} | |
vb || (Da = "fulladdress") | |
} | |
if ("undefined" != | |
typeof Do && Do) | |
if (("email" == Ba.type || "text" == Ba.type || "password" == Ba.type || "textarea" == Ba.type || "tel" == Ba.type || "url" == Ba.type) && "" != Ba.value) continue; | |
else if ("select-one" == Ba.type && 0 != Ba.selectedIndex) continue; | |
else if (("checkbox" == Ba.type || "radio" == Ba.type) && Ba.checked) continue; | |
if (0 == Da.indexOf("cc")) | |
if (G && !K) continue; | |
else if (!G || !K) { | |
var rb = Da; | |
"undefined" != typeof hb[Da] ? rb = hb[Da] : "cctype" == Da && (rb = "ccnum"); | |
if (F && "undefined" != typeof F[rb] && "" != F[rb] && (G || (K = ol(Za("InsecureSite", v)) ? !0 : !1, G = !0), !K)) continue | |
} | |
var mb = | |
Ba.value, | |
ta = z, | |
I = Ba, | |
ob = Da, | |
zb = g, | |
Mb = n, | |
Fd = v, | |
Hb = F, | |
Gb = J, | |
pb = "undefined" != typeof y ? y : !1; | |
pb && (Xs = !1); | |
try { | |
Mb && 0 == ob.indexOf("cc") && (zb = Mb); | |
var N = null; | |
if (zb) | |
for (var R = 0; R < ka.length; R++) { | |
if (ka[R].ffid == zb) { | |
N = ka[R]; | |
break | |
} | |
} else pb ? pb && (N = Hb) : N = ka[0]; | |
if (N && !I.readOnly && !I.disabled) { | |
ta && (ta.formfillffid = zb); | |
var Jb = 0, | |
cb = 0; | |
"undefined" != typeof I.size && (Jb = parseInt(I.size)); | |
"undefined" != typeof I.maxLength && (cb = parseInt(I.maxLength)); | |
Co(I, ob) || (ob = ob.replace(/\d+$/, "")); | |
var Kb = I.value; | |
if (0 == ob.indexOf("customfield")) { | |
var Db = | |
parseInt(ob.substring(11)); | |
N.customfields.length > Db && pa(ta, I, O(N.customfields[Db].value, N, B)) | |
} | |
var Qb = "select-one" == I.type && (I.options[0].value.match(/^\d{4}$/) || 1 < I.options.length && I.options[1].value.match(/^\d{4}$/)); | |
"birthmonth" == ob && "select-one" == I.type && 28 <= I.options.length ? ob = Qb ? "birthyear" : "birthday" : "birthday" == ob && "select-one" == I.type && 28 > I.options.length ? ob = "birthmonth" : "birthday" == ob && "select-one" == I.type && Qb ? ob = "birthyear" : "birthyear" == ob && "select-one" == I.type && 0 < I.options.length && I.options[0].value.match(/^\d$/) && | |
0 != I.options[0].value ? ob = "birthday" : "birthyear" == ob && "select-one" == I.type && 35 > I.options.length && (ob = 12 < I.options.length ? "birthday" : "birthmonth"); | |
if ("ccexpmonth" == ob && "select-one" == I.type && 0 < I.options.length && (I.options[I.options.length - 1].value.match(/^\d{4}$/) || I.options[I.options.length - 1].text.match(/^\d{4}$/))) ob = "ccexpyear"; | |
if ("cctype" == ob && "select-one" == I.type && 100 <= I.options.length) | |
for (R = 0; R < I.options.length; R++) | |
if ("US" == I.options[R].value || "USA" == I.options[R].value) { | |
ob = "country"; | |
break | |
} | |
if (pb) { | |
var sb = { | |
title: 1, | |
name: 1, | |
firstname: 1, | |
middlename: 1, | |
middleinitial: 1, | |
lastname: 1, | |
username: 1, | |
maiden: 1, | |
birthdate: 1, | |
birthday: 1, | |
birthmonth: 1, | |
birthyear: 1, | |
age: 1, | |
ssn: 1, | |
ssn1: 1, | |
ssn2: 1, | |
ssn3: 1, | |
company: 1, | |
addrbookname: 1, | |
address: 1, | |
address1: 1, | |
address2: 1, | |
address3: 1, | |
city: 1, | |
housenumbername: 1, | |
housenumber: 1, | |
housename: 1, | |
county: 1, | |
state: 1, | |
zip: 1, | |
zip1: 1, | |
zip2: 1, | |
country: 1, | |
phone: 1, | |
phone1: 1, | |
phone2: 1, | |
phone3: 1, | |
phone23: 1, | |
phoneext: 1, | |
fax: 1, | |
fax1: 1, | |
fax2: 1, | |
fax3: 1, | |
fax23: 1, | |
evephone: 1, | |
evephone1: 1, | |
evephone2: 1, | |
evephone3: 1, | |
evephone23: 1, | |
mobilephone: 1, | |
mobilephone1: 1, | |
mobilephone2: 1, | |
mobilephone3: 1, | |
mobilephone23: 1, | |
ccname: 1, | |
ccnum: 1, | |
ccnum1: 1, | |
ccnum2: 1, | |
ccnum3: 1, | |
ccnum4: 1, | |
ccstart: 1, | |
ccstartmonth: 1, | |
ccstartyear: 1, | |
ccexp: 1, | |
ccexpmonth: 1, | |
ccexpyear: 1, | |
cccsc: 1, | |
ccissuenum: 1, | |
cctype: 1, | |
ccphone: 1, | |
bankname: 1, | |
bankacctnum: 1, | |
bankroutingnum: 1, | |
email: 1, | |
emailalert: 1, | |
search: 1, | |
securityanswer: 1, | |
captcha: 1, | |
combineddummy: 1, | |
comments: 1, | |
promocode: 1, | |
invoice: 1, | |
currpass: 1, | |
gender: 1, | |
timezone: 1 | |
}; | |
switch (Gb) { | |
case "es-ES": | |
case "es-MX": | |
sb.lastname2 = 1; | |
break; | |
case "ja-JP": | |
sb.mobileemail = 1, sb.firstname = "namestdfirst", | |
sb.firstname2 = "namefurfirst", sb.firstname3 = "nameromfirst", sb.lastname = "namestdlast", sb.lastname2 = "namefurlast", sb.lastname3 = "nameromlast" | |
} | |
var S = "undefined" != typeof sb[ob] ? 1 == sb[ob] ? ob : sb[ob] : "UNKNOWN:" + ob; | |
pa(ta, I, S) | |
} else switch (ob) { | |
case "firstname": | |
pa(ta, I, O(N.firstname, N, B)); | |
break; | |
case "firstname2": | |
pa(ta, I, O(N.firstname2, N, B)); | |
break; | |
case "firstname3": | |
pa(ta, I, O(N.firstname3, N, B)); | |
break; | |
case "lastname": | |
pa(ta, I, O(N.lastname, N, B)); | |
break; | |
case "lastname2": | |
pa(ta, I, O(N.lastname2, N, B)); | |
break; | |
case "lastname3": | |
pa(ta, | |
I, O(N.lastname3, N, B)); | |
break; | |
case "email": | |
pa(ta, I, O(N.email, N, B)); | |
break; | |
case "mobileemail": | |
pa(ta, I, O(N.mobileemail, N, B)); | |
break; | |
case "company": | |
pa(ta, I, O(N.company, N, B)); | |
break; | |
case "address1": | |
pa(ta, I, O(N.address1, N, B)); | |
break; | |
case "address2": | |
pa(ta, I, O(N.address2, N, B), !1, !1, "" != N.address1 ? !0 : !1); | |
break; | |
case "address3": | |
pa(ta, I, O(N.address3, N, B), !1, !1, "" != N.address1 ? !0 : !1); | |
break; | |
case "username": | |
pa(ta, I, O(N.username, N, B), !0); | |
break; | |
case "phoneext": | |
pa(ta, I, O(N.phoneext, N, B), !1, !1, "" != N.phone); | |
break; | |
case "bankname": | |
pa(ta, | |
I, O(N.bankname, N, B)); | |
break; | |
case "bankacctnum": | |
pa(ta, I, O(N.bankacctnum, N, B)); | |
break; | |
case "bankroutingnum": | |
pa(ta, I, O(N.bankroutingnum, N, B)); | |
break; | |
case "county": | |
pa(ta, I, O(N.county, N, B)); | |
break; | |
case "ccname": | |
pa(ta, I, O(N.ccname, N, B)); | |
break; | |
case "ccissuenum": | |
pa(ta, I, O(N.ccissuenum, N, B), !0); | |
break; | |
case "fullmobilephone": | |
pa(ta, I, O(N.mobilephone, N, B), !0); | |
break; | |
case "fullevephone": | |
pa(ta, I, O(N.evephone, N, B), !0); | |
break; | |
case "fullphone": | |
pa(ta, I, O(N.phone, N, B), !0); | |
break; | |
case "fullfax": | |
pa(ta, I, O(N.fax, N, B), !0); | |
break; | |
case "securityanswer": | |
pa(ta, I, ""); | |
break; | |
case "promocode": | |
pa(ta, I, "undefined" != typeof LP_to_formfill && "undefined" != typeof LP_to_formfill.promocode ? LP_to_formfill.promocode : ""); | |
break; | |
case "maiden": | |
pa(ta, I, ""); | |
break; | |
case "ccphone": | |
pa(ta, I, ""); | |
break; | |
case "comments": | |
pa(ta, I, ""); | |
break; | |
case "invoice": | |
pa(ta, I, ""); | |
break; | |
case "addrbookname": | |
pa(ta, I, ""); | |
break; | |
case "emailalert": | |
pa(ta, I, ""); | |
break; | |
case "combineddummy": | |
pa(ta, I, ""); | |
break; | |
case "language": | |
S = O(N.profilelanguage, N, B); | |
if ("select-one" == I.type) { | |
if ("" == | |
S) break; | |
for (var S = S.toLowerCase(), Na = S.replace("-", "_"), Sb = !1, R = 0; R < I.options.length; R++) | |
if (I.options[R].value.toLowerCase() == S || I.options[R].text.toLowerCase() == S || I.options[R].value.toLowerCase() == Na || I.options[R].text.toLowerCase() == Na) { | |
I.selectedIndex = R; | |
Sb = !0; | |
break | |
} | |
if (!Sb) { | |
S = S.substring(0, 2); | |
for (R = 0; R < I.options.length; R++) | |
if (0 == I.options[R].value.toLowerCase().indexOf(S) || 0 == I.options[R].text.toLowerCase().indexOf(S)) { | |
I.selectedIndex = R; | |
break | |
} | |
} | |
} else pa(ta, I, S); | |
break; | |
case "ccfirstname": | |
var $a = O(N.ccname, | |
N, B); | |
if ("" != $a) { | |
var lb = $a.split(" "); | |
0 < lb.length && pa(ta, I, lb[0]) | |
} | |
break; | |
case "ccmiddlename": | |
$a = O(N.ccname, N, B); | |
"" != $a && (lb = $a.split(" "), 2 < lb.length && pa(ta, I, lb[1])); | |
break; | |
case "cclastname": | |
$a = O(N.ccname, N, B); | |
"" != $a && (lb = $a.split(" "), 1 < lb.length && pa(ta, I, lb[lb.length - 1])); | |
break; | |
case "evephoneext": | |
var Nb = ""; | |
"undefined" != typeof N.evephoneext ? Nb = N.evephoneext : "undefined" != typeof N.eveext && (Nb = N.eveext); | |
pa(ta, I, O(Nb, N, B), !1, !1, "" != N.evephone); | |
break; | |
case "faxphoneext": | |
var Ob = ""; | |
"undefined" != typeof N.faxphoneext ? | |
Ob = N.faxphoneext : "undefined" != typeof N.faxext && (Ob = N.faxext); | |
pa(ta, I, O(Ob, N, B), !1, !1, "" != N.fax); | |
break; | |
case "mobilephoneext": | |
var Xb = ""; | |
"undefined" != typeof N.mobilephoneext ? Xb = N.mobilephoneext : "undefined" != typeof N.mobileext && (Xb = N.mobileext); | |
pa(ta, I, O(Xb, N, B), !1, !1, "" != N.mobilephone); | |
break; | |
case "timezone": | |
S = O(N.timezone, N, B); | |
if ("select-one" == I.type) { | |
if ("" == S) break; | |
var qb = S.match(/^([-+]?\d{2}):(\d{2}),(\d)$/); | |
if (qb) { | |
var Zb = parseInt(qb[1]), | |
ac = parseInt(qb[2]); | |
parseInt(qb[3]); | |
var Na = Zb + ac / 60, | |
Wb = "GMT\\s*" + | |
(0 > Zb ? "-" : "\\+") + "\\s*" + (10 > Math.abs(Zb) ? "0?" : "") + Math.abs(Zb); | |
0 != ac && (Wb += ":" + ac); | |
for (var Rb = RegExp(Wb), R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].text == S || I.options[R].value == Na || I.options[R].text == Na || Rb.exec(I.options[R].value) || Rb.exec(I.options[R].text)) { | |
I.selectedIndex = R; | |
break | |
} | |
} | |
} else pa(ta, I, S); | |
break; | |
case "ccnum": | |
var dc = !1; | |
if (4 == cb || 3 == cb) dc = !0; | |
if (!dc) { | |
var ec = O(N.ccnum, N, B); | |
pa(ta, I, ec); | |
break | |
} | |
case "cccsc": | |
pa(ta, I, O(N.cccsc, N, B), !0); | |
break; | |
case "zip": | |
S = O(N.zip, N, B); | |
S.match(/^\d{5}-?(?:\d{4})?$/) ? | |
0 < cb && cb < S.length && (S = 9 == cb && 10 == S.length ? S.substring(0, 5) + S.substring(6, 10) : 4 == cb ? 9 <= S.length ? S.substring(S.length - 4) : "" : S.substring(0, 5)) : 0 < cb && cb < S.length && (S = S.replace(/[^A-Za-z0-9]/g, "")); | |
pa(ta, I, S); | |
break; | |
case "city": | |
S = O(N.city, N, B); | |
if ("select-one" == I.type) { | |
if ("" == S) break; | |
S = S.toLowerCase(); | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value.toLowerCase() == S || I.options[R].text.toLowerCase() == S) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S); | |
break; | |
case "ssn": | |
var Pb = O(N.ssn, N, B); | |
if (4 == cb) { | |
var tb = Pb.replace(/\D/g, | |
""); | |
if (9 == tb.length) Pb = tb.substring(5, 9); | |
else break | |
} else 0 < cb && 11 > cb && (Pb = Pb.replace(/-/g, "")); | |
pa(ta, I, Pb); | |
break; | |
case "name": | |
S = O(N.firstname, N, B) + ("" != N.firstname && "" != N.lastname ? " " : "") + O(N.lastname, N, B); | |
"" == S && (S = O(N.ccname, N, B)); | |
pa(ta, I, S); | |
break; | |
case "fulllastname": | |
S = O(N.lastname, N, B) + ("" != N.lastname && "" != N.lastname2 ? " " : "") + O(N.lastname2, N, B); | |
pa(ta, I, S); | |
break; | |
case "ssn1": | |
Pb = O(N.ssn, N, B); | |
tb = Pb.replace(/\D/g, ""); | |
9 == tb.length && (S = tb.substring(0, 3), pa(ta, I, S)); | |
break; | |
case "ssn2": | |
Pb = O(N.ssn, N, B); | |
tb = | |
Pb.replace(/\D/g, ""); | |
9 == tb.length && (S = tb.substring(3, 5), pa(ta, I, S)); | |
break; | |
case "ssn3": | |
Pb = O(N.ssn, N, B); | |
tb = Pb.replace(/\D/g, ""); | |
9 == tb.length && (S = tb.substring(5, 9), pa(ta, I, S)); | |
break; | |
case "birthmonth": | |
if ("" == N.birthday) break; | |
S = O(N.birthday, N, B).substring(5, 7); | |
if ("select-one" == I.type) { | |
Na = S; | |
"0" == Na.charAt(0) && (Na = Na.substring(1)); | |
for (var Wb = Za("month" + Na, Fd).toLowerCase(), wb = Za("mon" + Na, Fd).toLowerCase(), R = 0; R < I.options.length; R++) | |
if (-1 != I.options[R].value.toLowerCase().indexOf(Wb) || -1 != I.options[R].value.toLowerCase().indexOf(wb) || -1 != I.options[R].text.toLowerCase().indexOf(Wb) || -1 != I.options[R].text.toLowerCase().indexOf(wb)) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length) | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S); | |
break; | |
case "birthday": | |
if ("" == N.birthday) break; | |
S = O(N.birthday, N, B).substring(8, 10); | |
if ("select-one" == I.type) { | |
Na = S; | |
"0" == Na.charAt(0) && (Na = Na.substring(1)); | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == | |
S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S); | |
break; | |
case "birthyear": | |
if ("" == N.birthday) break; | |
var ub = O(N.birthday, N, B), | |
S = ub.substring(0, 4), | |
Na = ub.substring(2, 4); | |
if ("select-one" == I.type) | |
for (R = 0; R < I.options.length; R++) { | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else 2 == cb && (S = Na), pa(ta, I, S); | |
break; | |
case "birthdate": | |
ub = O(N.birthday, N, B); | |
N && O(N.country, N, B); | |
4 <= ub.length && | |
(ub = 4 == cb ? ub.substring(0, 4) : 2 == cb ? ub.substring(2, 4) : "US" == O(N.country, N, B) ? ub.substring(5, 7) + "/" + ub.substring(8, 10) + "/" + ub.substring(0, 4) : ub.substring(8, 10) + "/" + ub.substring(5, 7) + "/" + ub.substring(0, 4), pa(ta, I, ub)); | |
break; | |
case "address": | |
case "fulladdress": | |
var mc = "textarea" == I.type ? "\n" : " ", | |
Tb = [N.address1, N.address2, N.address3]; | |
"fulladdress" == ob && (Tb[Tb.length] = N.city, Tb[Tb.length] = N.county, Tb[Tb.length] = N.state); | |
S = ""; | |
for (R = 0; R < Tb.length; R++) "" != Tb[R] && (S += ("" != S ? mc : "") + O(Tb[R], N, B)); | |
pa(ta, I, S); | |
break; | |
case "title": | |
S = O(N.title, N, B); | |
if ("select-one" == I.type) { | |
if ("" == S) break; | |
for (var cc = "", ic = "", R = 0; R < I.options.length; R++) | |
if (I.options[R].value.toLowerCase() == S || -1 != I.options[R].value.toLowerCase().indexOf(S) || I.options[R].text.toLowerCase() == S || -1 != I.options[R].text.toLowerCase().indexOf(S)) { | |
if (!("" == cc && "" == ic)) | |
if (I.options[R].value.length <= cc.length && I.options[R].text.length <= ic.length) { | |
if (!(I.options[R].value.length < cc.length || I.options[R].text.length < ic.length)) continue | |
} else continue; | |
cc = I.options[R].value; | |
ic = I.options[R].text; | |
I.selectedIndex = R | |
} | |
} else S = S.substring(0, 1).toUpperCase() + S.substring(1), pa(ta, I, S); | |
break; | |
case "state": | |
S = O(N.state, N, B); | |
if ("select-one" == I.type) { | |
S = S.toLowerCase(); | |
if ("" == S) break; | |
Na = O(N.state_name, N, B).toLowerCase(); | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value.toLowerCase() == S || I.options[R].value.toLowerCase() == Na || I.options[R].text.toLowerCase() == S || I.options[R].text.toLowerCase() == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length) { | |
for (R = 0; R < I.options.length; R++) | |
if (-1 != | |
I.options[R].value.toLowerCase().indexOf(Na) || -1 != I.options[R].text.toLowerCase().indexOf(Na)) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length) { | |
for (R = 0; R < I.options.length; R++) | |
if (-1 != I.options[R].value.toLowerCase().indexOf(S) || -1 != I.options[R].text.toLowerCase().indexOf(S)) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length && 2 == S.length) { | |
Wb = S.charAt(0) + "." + S.charAt(1) + "."; | |
for (R = 0; R < I.options.length; R++) | |
if (-1 != I.options[R].value.toLowerCase().indexOf(Wb) || -1 != I.options[R].text.toLowerCase().indexOf(Wb)) { | |
I.selectedIndex = | |
R; | |
break | |
} | |
} | |
} | |
} | |
} else pa(ta, I, S); | |
break; | |
case "country": | |
S = O(N.country_name, N, B); | |
if ("select-one" == I.type) { | |
var S = S.toLowerCase(), | |
Na = O(N.country, N, B).toLowerCase(), | |
Wb = O(N.country_cc3l, N, B).toLowerCase(), | |
wb = "usa" == Wb ? "United States of America" : "", | |
Eo = "undefined" != typeof N.country2 ? O(N.country2, N, B).toLowerCase() : ""; | |
if ("" == S && "" == Na && "" == Wb && "" == Eo) break; | |
for (R = 0; R < I.options.length; R++) | |
if ("" != I.options[R].value && (I.options[R].value.toLowerCase() == S || I.options[R].value.toLowerCase() == Na || I.options[R].value.toLowerCase() == | |
Wb || I.options[R].value.toLowerCase() == wb || I.options[R].value.toLowerCase() == Eo || I.options[R].text.toLowerCase() == S || I.options[R].text.toLowerCase() == Na || I.options[R].text.toLowerCase() == Wb || I.options[R].text.toLowerCase() == wb || I.options[R].text.toLowerCase() == Eo)) { | |
I.selectedIndex = R; | |
break | |
} | |
} else 3 == cb ? pa(ta, I, O(N.country_cc3l, N, B)) : 2 == cb ? pa(ta, I, O(N.country, N, B)) : pa(ta, I, S); | |
break; | |
case "cctype": | |
var fc = O(N.ccnum, N, B), | |
$b = "UNK"; | |
if (("34" == fc.substring(0, 2) || "37" == fc.substring(0, 2)) && 15 == fc.length) $b = "AMEX"; | |
else if (("6011" == fc.substring(0, 4) || "65" == fc.substring(0, 2)) && 16 == fc.length) $b = "DISC"; | |
else if (("51" == fc.substring(0, 2) || "52" == fc.substring(0, 2) || "53" == fc.substring(0, 2) || "54" == fc.substring(0, 2) || "55" == fc.substring(0, 2)) && 16 == fc.length) $b = "MC"; | |
else if (("417500" == fc.substring(0, 6) || "4917" == fc.substring(0, 4) || "4913" == fc.substring(0, 4) || "4508" == fc.substring(0, 4) || "4844" == fc.substring(0, 4)) && 16 == fc.length) $b = "ELECTRON"; | |
else if ("4" == fc.substring(0, 1) && 16 == fc.length) $b = "VISA"; | |
else if (("5018" == fc.substring(0, | |
4) || "5020" == fc.substring(0, 4) || "5038" == fc.substring(0, 4) || "6304" == fc.substring(0, 4) || "6759" == fc.substring(0, 4) || "6761" == fc.substring(0, 4)) && 12 <= fc.length && 19 >= fc.length) $b = "MAESTRO"; | |
else if (("6334" == fc.substring(0, 4) || "6767" == fc.substring(0, 4)) && (16 == fc.length || 18 == fc.length || 19 == fc.length)) $b = "SOLO"; | |
S = $b; | |
if ("UNK" != S) | |
if ("select-one" == I.type) { | |
for (var lc = -1, R = 0; R < I.options.length; R++) { | |
var Il = I.options[R].value.toUpperCase(), | |
kc = I.options[R].text.toUpperCase(); | |
if (Il == S || kc == S) { | |
I.selectedIndex = R; | |
break | |
} | |
if (nh(S, | |
Il) || nh(S, kc)) lc = R | |
} | |
R == I.options.length && -1 != lc && (I.selectedIndex = lc) | |
} else if ("radio" == I.type) { | |
var Il = I.value.toUpperCase(), | |
kc = I.id.toUpperCase(), | |
gc = !1; | |
if (nh(S, Il) || nh(S, kc)) gc = !0; | |
if (!gc) { | |
var Bb = I.parentNode; | |
if (Bb && Bb.childNodes) { | |
for (R = 0; R < Bb.childNodes.length && Bb.childNodes[R] != I; R++); | |
if (R < Bb.childNodes.length - 1) { | |
var Yb = Bb.childNodes[R + 1]; | |
if (3 == Yb.nodeType && nh(S, Yb.nodeValue)) gc = !0; | |
else if (3 == Yb.nodeType && R < Bb.childNodes.length - 2 || 1 == Yb.nodeType) { | |
var Eb = 1 == Yb.nodeType ? Bb.childNodes[R + 1] : Bb.childNodes[R + | |
2]; | |
if (1 == Eb.nodeType && "LABEL" == Eb.tagName && Eb.htmlFor == I.id) { | |
var bc = Af(Eb, I); | |
nh(S, bc) && (gc = !0) | |
} else 1 == Eb.nodeType && "IMG" == Eb.tagName && "string" == typeof Eb.alt && (bc = Eb.alt, nh(S, bc) && (gc = !0)) | |
} | |
} | |
} | |
} | |
gc && (I.checked = !0, I.click()) | |
} else pa(ta, I, S); | |
break; | |
case "ccexpmonth": | |
if ("" == N.ccexp) break; | |
S = O(N.ccexp, N, B).substring(5, 7); | |
if ("select-one" == I.type) { | |
Na = S; | |
"0" == Na.charAt(0) && (Na = Na.substring(1)); | |
Wb = Za("month" + Na, Fd).toLowerCase(); | |
wb = Za("mon" + Na, Fd).toLowerCase(); | |
for (R = 0; R < I.options.length; R++) | |
if (-1 != I.options[R].value.toLowerCase().indexOf(Wb) || -1 != I.options[R].value.toLowerCase().indexOf(wb) || -1 != I.options[R].text.toLowerCase().indexOf(Wb) || -1 != I.options[R].text.toLowerCase().indexOf(wb)) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length) | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S); | |
break; | |
case "ccexpyear": | |
if ("" == N.ccexp) break; | |
var Bc = O(N.ccexp, N, B), | |
S = Bc.substring(0, 4); | |
if ("select-one" == I.type) { | |
Na = Bc.substring(2, 4); | |
for (R = 0; R < | |
I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S, !1, !0); | |
break; | |
case "ccexp": | |
Bc = O(N.ccexp, N, B); | |
7 == Bc.length && (Bc += "-01"); | |
S = 10 == Bc.length ? Bc.substring(5, 7) + "/" + Bc.substring(2, 4) : ""; | |
if ("select-one" == I.type) { | |
if ("" == S) break; | |
Na = 10 == Bc.length ? Bc.substring(5, 7) + "/" + Bc.substring(0, 4) : ""; | |
Wb = 10 == Bc.length ? Bc.substring(5, 7) + Bc.substring(2, 4) : ""; | |
wb = 10 == Bc.length ? Bc.substring(5, 7) + Bc.substring(0, 4) : ""; | |
for (R = | |
0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].value == Wb || I.options[R].value == wb || I.options[R].text == S || I.options[R].text == Na || I.options[R].text == Wb || I.options[R].text == wb) { | |
I.selectedIndex = R; | |
break | |
} | |
} else 10 == Bc.length && (4 == cb ? S = Bc.substring(5, 7) + Bc.substring(2, 4) : 9 == cb && (S = Bc.substring(5, 7) + " / " + Bc.substring(0, 4))), pa(ta, I, S); | |
break; | |
case "ccstartmonth": | |
if ("" == N.ccstart) break; | |
S = O(N.ccstart, N, B).substring(5, 7); | |
if ("select-one" == I.type) { | |
Na = S; | |
"0" == Na.charAt(0) && | |
(Na = Na.substring(1)); | |
Wb = Za("month" + Na, Fd).toLowerCase(); | |
wb = Za("mon" + Na, Fd).toLowerCase(); | |
for (R = 0; R < I.options.length; R++) | |
if (-1 != I.options[R].value.toLowerCase().indexOf(Wb) || -1 != I.options[R].value.toLowerCase().indexOf(wb) || -1 != I.options[R].text.toLowerCase().indexOf(Wb) || -1 != I.options[R].text.toLowerCase().indexOf(wb)) { | |
I.selectedIndex = R; | |
break | |
} | |
if (R == I.options.length) | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = | |
R; | |
break | |
} | |
} else pa(ta, I, S); | |
break; | |
case "ccstartyear": | |
if ("" == N.ccstart) break; | |
var Cb = O(N.ccstart, N, B), | |
S = Cb.substring(0, 4); | |
if ("select-one" == I.type) { | |
Na = Cb.substring(2, 4); | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].text == S || I.options[R].text == Na) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, S, !1, !0); | |
break; | |
case "ccstart": | |
Cb = O(N.ccstart, N, B); | |
S = 10 == Cb.length ? Cb.substring(5, 7) + "/" + Cb.substring(2, 4) : ""; | |
if ("select-one" == I.type) { | |
if ("" == S) break; | |
Na = 10 == Cb.length ? Cb.substring(5, | |
7) + "/" + Cb.substring(0, 4) : ""; | |
Wb = 10 == Cb.length ? Cb.substring(5, 7) + Cb.substring(2, 4) : ""; | |
wb = 10 == Cb.length ? Cb.substring(5, 7) + Cb.substring(0, 4) : ""; | |
for (R = 0; R < I.options.length; R++) | |
if (I.options[R].value == S || I.options[R].value == Na || I.options[R].value == Wb || I.options[R].value == wb || I.options[R].text == S || I.options[R].text == Na || I.options[R].text == Wb || I.options[R].text == wb) { | |
I.selectedIndex = R; | |
break | |
} | |
} else 10 == Cb.length && 4 == cb && (S = Cb.substring(5, 7) + Cb.substring(2, 4)), pa(ta, I, S); | |
break; | |
case "ccnum1": | |
S = O(N.ccnum, N, B).substring(0, | |
4); | |
pa(ta, I, S); | |
break; | |
case "ccnum2": | |
S = O(N.ccnum, N, B).substring(4, 8); | |
pa(ta, I, S); | |
break; | |
case "ccnum3": | |
S = O(N.ccnum, N, B).substring(8, 12); | |
pa(ta, I, S); | |
break; | |
case "ccnum4": | |
S = O(N.ccnum, N, B).substring(12); | |
pa(ta, I, S); | |
break; | |
case "amexccnum2": | |
S = O(N.ccnum, N, B).substring(4, 10); | |
pa(ta, I, S); | |
break; | |
case "amexccnum3": | |
S = O(N.ccnum, N, B).substring(10, 15); | |
pa(ta, I, S); | |
break; | |
case "middlename": | |
var S = O(N.middlename, N, B), | |
uc = S.substring(0, 1); | |
1 == cb || 2 == cb ? pa(ta, I, uc) : pa(ta, I, S); | |
break; | |
case "middleinitial": | |
S = O(N.middlename, N, B).substring(0, | |
1); | |
pa(ta, I, S); | |
break; | |
case "mobilephone1": | |
case "mobilephone2": | |
case "mobilephone3": | |
case "evephone1": | |
case "evephone2": | |
case "evephone3": | |
case "phone1": | |
case "phone2": | |
case "phone3": | |
case "fax1": | |
case "fax2": | |
case "fax3": | |
var Lb = ob.substring(0, ob.length - 1), | |
wc = ob.substring(ob.length - 1), | |
Fb = N.phone; | |
"evephone" == Lb && (Fb = N.evephone); | |
"mobilephone" == Lb && (Fb = N.mobilephone); | |
"fax" == Lb && (Fb = N.fax); | |
S = O(Fb, N, B); | |
3 >= S.length && (S = ""); | |
tb = S.replace(/\D/g, ""); | |
10 == tb.length && "2" <= tb.charAt(0) && "2" <= tb.charAt(3) && (tb = "1" + tb); | |
if (11 == | |
tb.length && "1" == tb.charAt(0) && "2" <= tb.charAt(1) && "2" <= tb.charAt(4)) switch (wc) { | |
case "1": | |
pa(ta, I, tb.substring(1, 4)); | |
break; | |
case "2": | |
pa(ta, I, tb.substring(4, 7)); | |
break; | |
case "3": | |
pa(ta, I, tb.substring(7, 11)) | |
} else pa(ta, I, S, !0); | |
break; | |
case "mobilephone23": | |
case "evephone23": | |
case "phone23": | |
case "fax23": | |
Lb = ob.substring(0, ob.length - 2); | |
Fb = N.phone; | |
"evephone" == Lb && (Fb = N.evephone); | |
"fax" == Lb && (Fb = N.fax); | |
"mobilephone" == Lb && (Fb = N.mobilephone); | |
S = O(Fb, N, B); | |
3 >= S.length && (S = ""); | |
tb = S.replace(/\D/g, ""); | |
10 == tb.length && "2" <= tb.charAt(0) && | |
"2" <= tb.charAt(3) && (tb = "1" + tb); | |
if (11 == tb.length && "1" == tb.charAt(0) && "2" <= tb.charAt(1) && "2" <= tb.charAt(4)) { | |
var yc = (0 >= Jb || 8 <= Jb) && (0 >= cb || 8 <= cb) ? !0 : !1; | |
pa(ta, I, tb.substring(4, 7) + (yc ? "-" : "") + tb.substring(7, 11)) | |
} else pa(ta, I, S, !0); | |
break; | |
case "mobilephone": | |
case "evephone": | |
case "phone": | |
case "fax": | |
var Lb = ob, | |
Fb = N.phone, | |
hc = "undefined" != typeof N.countryphone ? N.countryphone : "undefined" != typeof N.phone3lcc ? N.phone3lcc : ""; | |
"evephone" == Lb && (Fb = N.evephone, hc = "undefined" != typeof N.countryevephone ? N.countryevephone : | |
"undefined" != typeof N.evephone3lcc ? N.evephone3lcc : ""); | |
"fax" == Lb && (Fb = N.fax, hc = "undefined" != typeof N.countryfaxphone ? N.countryfaxphone : "undefined" != typeof N.fax3lcc ? N.fax3lcc : ""); | |
"mobilephone" == Lb && (Fb = N.mobilephone, hc = "undefined" != typeof N.countrymobphone ? N.countrymobphone : "undefined" != typeof N.mobilephone3lcc ? N.mobilephone3lcc : ""); | |
S = O(Fb, N, B); | |
3 >= S.length && (S = ""); | |
if (11 == S.length && S.match(/^\d+$/) && "1" == S.charAt(0) && "2" <= S.charAt(1) && "2" <= S.charAt(4)) { | |
if (S = S.substring(1), 0 >= cb || 12 <= cb) S = S.substring(0, | |
3) + "-" + S.substring(3, 6) + "-" + S.substring(6, 10) | |
} else if (2 <= S.length) { | |
var rc = O(hc, N, B), | |
jc = Ys(rc); | |
jc && 0 == S.indexOf(jc) && "0" == S.charAt(jc.length) && (S = S.substring(jc.length)) | |
} | |
pa(ta, I, S, !0); | |
break; | |
case "mobilephonecc": | |
case "evephonecc": | |
case "phonecc": | |
case "faxcc": | |
Lb = ob.substring(0, ob.length - 2); | |
Fb = N.phone; | |
hc = "undefined" != typeof N.countryphone ? N.countryphone : "undefined" != typeof N.phone3lcc ? N.phone3lcc : ""; | |
"evephone" == Lb && (Fb = N.evephone, hc = "undefined" != typeof N.countryevephone ? N.countryevephone : "undefined" != | |
typeof N.evephone3lcc ? N.evephone3lcc : ""); | |
"fax" == Lb && (Fb = N.fax, hc = "undefined" != typeof N.countryfaxphone ? N.countryfaxphone : "undefined" != typeof N.fax3lcc ? N.fax3lcc : ""); | |
"mobilephone" == Lb && (Fb = N.mobilephone, hc = "undefined" != typeof N.countrymobphone ? N.countrymobphone : "undefined" != typeof N.mobilephone3lcc ? N.mobilephone3lcc : ""); | |
S = O(Fb, N, B); | |
rc = O(hc, N, B); | |
(jc = Ys(rc)) && 0 == S.indexOf(jc) && pa(ta, I, jc, !0); | |
break; | |
case "zip1": | |
S = O(N.zip, N, B); | |
tb = S.replace(/\D/g, ""); | |
if (5 == tb.length || 9 == tb.length) S = tb.substring(0, 5); | |
else if ("ja-JP" == | |
Fd && 7 == tb.length) S = tb.substring(0, 3); | |
else { | |
var Ub = S.replace(/[^A-Za-z0-9]/g, ""); | |
Ub.match(/^(?:[A-Za-z]\d){3}$/) ? S = Ub.substring(0, 3) : Ub.match(/^[A-Za-z]{1,2}\d[A-Za-z0-9]?\d[A-Za-z]{2}$/) ? S = Ub.substring(0, Ub.length - 3) : Ub.length < S.length && (lb = S.split(/[^A-Za-z0-9]+/), S = lb[0]) | |
} | |
pa(ta, I, S); | |
break; | |
case "zip2": | |
var S = O(N.zip, N, B), | |
tb = S.replace(/\D/g, ""), | |
zc = !1; | |
5 == tb.length ? (S = "", zc = !0) : 9 == tb.length ? S = tb.substring(5, 9) : "ja-JP" == Fd && 7 == tb.length ? S = tb.substring(3, 7) : (Ub = S.replace(/[^A-Za-z0-9]/g, ""), Ub.match(/^(?:[A-Za-z]\d){3}$/) ? | |
S = Ub.substring(3, 6) : Ub.match(/^[A-Za-z]{1,2}\d[A-Za-z0-9]?\d[A-Za-z]{2}$/) ? S = Ub.substring(Ub.length - 3) : Ub.length < S.length && (lb = S.split(/[^A-Za-z0-9]+/), S = lb[1])); | |
pa(ta, I, S, !1, !1, zc); | |
break; | |
case "gender": | |
S = O(N.gender, N, B).toUpperCase(); | |
if ("" != S) | |
if (Na = S, "M" == S && (Na = Za("Male", Fd)), "F" == S && (Na = Za("Female", Fd)), Na = Na.toUpperCase(), "select-one" == I.type) | |
for (R = 0; R < I.options.length; R++) { | |
var Ac = ae(I.options[R].text).toUpperCase(), | |
nc = ae(I.options[R].value).toUpperCase(); | |
if (0 == nc.indexOf(S) || 0 == Ac.indexOf(S) || | |
0 == nc.indexOf(Na) || 0 == Ac.indexOf(Na)) { | |
I.selectedIndex = R; | |
break | |
} | |
} else if ("radio" == I.type || "checkbox" == I.type) | |
if (nc = "", nc = null != I.value ? ae(I.value).toUpperCase() : Oh(I).toUpperCase(), 0 == nc.indexOf(S) || 0 == nc.indexOf(Na)) I.checked = !0; | |
else { | |
if ((Bb = I.parentNode) && Bb.childNodes) { | |
for (R = 0; R < Bb.childNodes.length && Bb.childNodes[R] != I; R++); | |
if (R < Bb.childNodes.length - 1) { | |
var Yb = Bb.childNodes[R + 1], | |
vc = ""; | |
null != Yb.nodeValue && (vc = ae(Yb.nodeValue).toUpperCase()); | |
if (3 == Yb.nodeType && 0 == vc.indexOf(S) || 0 == vc.indexOf(Na)) I.checked = !0; | |
else if (3 == Yb.nodeType && R < Bb.childNodes.length - 2 || 1 == Yb.nodeType) | |
if (Eb = 1 == Yb.nodeType ? Bb.childNodes[R + 1] : Bb.childNodes[R + 2], 1 == Eb.nodeType && "LABEL" == Eb.tagName && Eb.htmlFor == I.id) { | |
var bc = Af(Eb, I), | |
Ec = ae(bc).toUpperCase(); | |
if (0 == Ec.indexOf(S) || 0 == Ec.indexOf(Na)) I.checked = !0 | |
} else if (1 == Eb.nodeType && "IMG" == Eb.tagName && "string" == typeof Eb.alt) { | |
var bc = Eb.alt, | |
Gc = ae(bc).toUpperCase(); | |
if (0 == Gc.indexOf(S) || 0 == Gc.indexOf(Na)) I.checked = !0 | |
} | |
} | |
} | |
} else pa(ta, I, S); | |
break; | |
case "age": | |
var xc = O(N.birthday, N, B); | |
if ("" != xc) { | |
var Lc = | |
parseInt(xc.substring(0, 4)), | |
Ic = parseInt(xc.substring(5, 7)), | |
ub = parseInt(xc.substring(8, 10)), | |
Fc = new Date, | |
Nc = Fc.getFullYear(), | |
Jc = Fc.getMonth() + 1, | |
Pc = Fc.getDate(), | |
Dc = Nc - Lc; | |
(Jc < Ic || Jc == Ic && Pc < ub) && Dc--; | |
if ("select-one" == I.type) | |
for (R = 0; R < I.options.length; R++) { | |
var Hc = I.options[R].text, | |
pc = -1, | |
qc = -1; | |
if (qb = Hc.match(/(\d+)\D+(\d+)/)) pc = parseInt(qb[1]), qc = parseInt(qb[2]); | |
else if (qb = Hc.match(/^\d+/)) { | |
var Cc = parseInt(qb[0]); | |
R < I.options.length / 2 ? (pc = 0, qc = Cc) : (pc = Cc, qc = 99999) | |
} else if (qb = Hc.match(/\d+$/)) Cc = parseInt(qb[0]), | |
R < I.options.length / 2 ? (pc = 0, qc = Cc - 1) : (pc = Cc + 1, qc = 99999); | |
if (-1 != pc && -1 != qc && Dc >= pc && Dc <= qc) { | |
I.selectedIndex = R; | |
break | |
} | |
} else pa(ta, I, Dc) | |
} | |
break; | |
case "housenumber": | |
S = O(N.address1, N, B), "undefined" != typeof N.housenumber && "" != N.housenumber && (S = O(N.housenumber, N, B)); | |
case "housenumbername": | |
if ("undefined" == typeof S && (S = "undefined" != typeof N.housenumbername && "" != N.housenumbername ? O(N.housenumbername, N, B) : O(N.address1, N, B)), qb = S.match(/^\d+/), qb || (S = O(N.address2, N, B), qb = S.match(/^\d+/)), qb || (S = O(N.address3, N, B), | |
qb = S.match(/^\d+/)), qb) { | |
pa(ta, I, qb[0]); | |
break | |
} else if ("housenumber" == ob) break; | |
case "housename": | |
S = O(N.address1, N, B), "undefined" != typeof N.housename && "" != N.housename && (S = O(N.housename, N, B)), S = S.replace(/^\d+\s*/, ""), pa(ta, I, S) | |
} | |
I.value != Kb && Qc(I) | |
} | |
} catch (Mc) { | |
ga("Failure with filling form field: " + Mc + " ln: " + Mc.lineNumber) | |
} | |
Ba.value != mb && ("undefined" == typeof qa[Da] && (qa[Da] = 0), qa[Da]++) | |
} | |
} | |
} | |
} | |
} | |
if (l && l.frames && (!f || null == Z)) | |
for (D = 0; D < l.frames.length; D++) try { | |
if (l.frames[D].document) { | |
var Kc = wd(c, l.frames[D].document, | |
f, d, g, h + 1, l.frames[D].window, n); | |
if (Kc && !f) return z && (z.m_checkfillformresult = Kc, z.m_checkfillformnumforms = C.length), Kc | |
} | |
} catch (Sc) {} | |
f && "undefined" != typeof ad && (ad && 1 == h) && Cn(g, !1, "", l) | |
} catch (Oc) { | |
ga("Failure with checking formfill: " + Oc + " ln: " + Oc.lineNumber, u) | |
} | |
if (!f) return z && (z.m_checkfillformresult = !1, z.m_checkfillformnumforms = C.length), !1 | |
} | |
function Ws(c, e, f, d, g, h, l, n, p, q, r, t, A, y, J, u, s, z, ia, B, F, C) { | |
for (var D = c.length, K = 0, ea = 0; ea < D; ea++) { | |
var v = !1, | |
Y = c[ea]; | |
if (("email" == Y.type || "text" == Y.type || "password" == | |
Y.type || "select-one" == Y.type || "textarea" == Y.type || "radio" == Y.type || "tel" == Y.type || "url" == Y.type || "checkbox" == Y.type) && !("select-one" == Y.type && !0 == Y.disabled)) { | |
if (100 < ++K) break; | |
var G = xa(Y), | |
E = !1; | |
if ("" != G) { | |
try { | |
if (l && null != n) | |
if (-1 != F.navigator.userAgent.indexOf("Opera")) { | |
q.setStart(Y, 0); | |
q.setEnd(Y, 0); | |
var H = p.compareBoundaryPoints(Range.START_TO_START, q), | |
O = p.compareBoundaryPoints(Range.END_TO_END, q); | |
if (0 < H || 0 > O) continue | |
} else if ("function" == typeof n.containsNode) { | |
if (!n.containsNode(Y, !0)) continue | |
} else if (null != | |
q && "undefined" != typeof q.moveToElementText) { | |
var Q = Y; | |
if ("select-one" == Q.type) { | |
for (var M = Q.previousSibling, L = !1; M;) { | |
if (1 == M.nodeType && "SELECT" != M.tagName) { | |
Q = M; | |
L = !0; | |
break | |
} | |
M = M.previousSibling | |
} | |
L || (Q = Q.parentNode) | |
} | |
q.moveToElementText(Q); | |
H = n.compareEndPoints("StartToStart", q); | |
O = n.compareEndPoints("EndToEnd", q); | |
if (0 < H || 0 > O) continue | |
} | |
} catch (ca) {} | |
var Z = 0, | |
w = 0; | |
"undefined" != typeof Y.size && (Z = parseInt(Y.size)); | |
"undefined" != typeof Y.maxLength && (w = parseInt(Y.maxLength)); | |
0 >= Z && 0 >= w && Y.style && (Q = Y.style.width, Q.match(/^\d+px$/) && | |
(Q = parseInt(Q.substring(0, Q.length - 2)), 0 == Q % 10 && (Z = Q / 10))); | |
var W = !0, | |
Q = [], | |
V = []; | |
try { | |
var da = Y.getAttribute("autocompletetype"); | |
if ("string" != typeof da || "" == da) da = Y.getAttribute("autocomplete"); | |
if ("string" == typeof da && "" != da) | |
for (var ga = da.split(" "), L = "", ba = 0; ba < ga.length; ba++) { | |
switch (ga[ba]) { | |
case "given-name": | |
L = "firstname"; | |
break; | |
case "middle-name": | |
L = "middlename"; | |
break; | |
case "additional-name": | |
L = "middlename"; | |
break; | |
case "middle-initial": | |
L = "middleinitial"; | |
break; | |
case "additional-name-initial": | |
L = "middleinitial"; | |
break; | |
case "surname": | |
L = "lastname"; | |
break; | |
case "family-name": | |
L = "lastname"; | |
break; | |
case "name-full": | |
L = "name"; | |
break; | |
case "name": | |
L = "name"; | |
break; | |
case "name-prefix": | |
L = "title"; | |
break; | |
case "honorific-prefix": | |
L = "title"; | |
break; | |
case "street-address": | |
L = "address"; | |
break; | |
case "address-line1": | |
L = "address1"; | |
break; | |
case "address-line2": | |
L = "address2"; | |
break; | |
case "address-line3": | |
L = "address3"; | |
break; | |
case "locality": | |
L = "city"; | |
break; | |
case "city": | |
L = "city"; | |
break; | |
case "administrative-area": | |
L = "state"; | |
break; | |
case "state": | |
L = "state"; | |
break; | |
case "province": | |
L = "state"; | |
break; | |
case "region": | |
L = "state"; | |
break; | |
case "postal-code": | |
L = "zip"; | |
break; | |
case "country": | |
L = "country"; | |
break; | |
case "country-name": | |
L = "country"; | |
break; | |
case "email": | |
L = "email"; | |
break; | |
case "phone-full": | |
L = "fullphone"; | |
break; | |
case "tel": | |
L = "fullphone"; | |
break; | |
case "phone-country-code": | |
L = "phonecc"; | |
break; | |
case "tel-country-code": | |
L = "phonecc"; | |
break; | |
case "phone-national": | |
L = "phone"; | |
break; | |
case "tel-national": | |
L = "phone"; | |
break; | |
case "phone-area-code": | |
L = "phone1"; | |
break; | |
case "tel-area-code": | |
L = "phone1"; | |
break; | |
case "phone-local": | |
L = "phone23"; | |
break; | |
case "tel-local": | |
L = "phone23"; | |
break; | |
case "phone-local-prefix": | |
L = "phone2"; | |
break; | |
case "tel-local-prefix": | |
L = "phone2"; | |
break; | |
case "phone-local-suffix": | |
L = "phone3"; | |
break; | |
case "tel-local-suffix": | |
L = "phone3"; | |
break; | |
case "phone-extension": | |
L = "phoneext"; | |
break; | |
case "tel-extension": | |
L = "phoneext"; | |
break; | |
case "fax-full": | |
L = "fullfax"; | |
break; | |
case "fax": | |
L = "fullfax"; | |
break; | |
case "fax-country-code": | |
L = "faxcc"; | |
break; | |
case "fax-national": | |
L = "fax"; | |
break; | |
case "fax-area-code": | |
L = "fax1"; | |
break; | |
case "fax-local": | |
L = | |
"fax23"; | |
break; | |
case "fax-local-prefix": | |
L = "fax2"; | |
break; | |
case "fax-local-suffix": | |
L = "fax3"; | |
break; | |
case "fax-extension": | |
L = "faxphoneext"; | |
break; | |
case "cc-full-name": | |
L = "ccname"; | |
break; | |
case "cc-name": | |
L = "ccname"; | |
break; | |
case "cc-given-name": | |
L = "ccfirstname"; | |
break; | |
case "cc-middle-name": | |
L = "ccmiddlename"; | |
break; | |
case "cc-additional-name": | |
L = "ccmiddlename"; | |
break; | |
case "cc-surname": | |
L = "cclastname"; | |
break; | |
case "cc-family-name": | |
L = "cclastname"; | |
break; | |
case "cc-number": | |
L = "ccnum"; | |
break; | |
case "cc-exp-month": | |
L = "ccexpmonth"; | |
break; | |
case "cc-exp-year": | |
L = | |
"ccexpyear"; | |
break; | |
case "cc-exp": | |
L = "ccexp"; | |
break; | |
case "cc-csc": | |
L = "cccsc"; | |
break; | |
case "language": | |
L = "language"; | |
break; | |
case "birthday": | |
L = "birthdate"; | |
break; | |
case "bday": | |
L = "birthdate"; | |
break; | |
case "birthday-month": | |
L = "birthmonth"; | |
break; | |
case "bday-month": | |
L = "birthmonth"; | |
break; | |
case "birthday-year": | |
L = "birthyear"; | |
break; | |
case "bday-year": | |
L = "birthyear"; | |
break; | |
case "birthday-day": | |
L = "birthday"; | |
break; | |
case "bday-day": | |
L = "birthday"; | |
break; | |
case "organization": | |
L = "company"; | |
break; | |
case "org": | |
L = "company"; | |
break; | |
case "gender": | |
L = "gender"; | |
break; | |
case "sex": | |
L = "gender" | |
} | |
if ("" != L) { | |
Q[0] = V[0] = L; | |
if (!l && (r.value++, f.value++, 3 <= ++J.value)) return !u && ("undefined" == typeof Pd || !Pd(e, "addconfirm")) && vc("FillableFormDetected", e, 0, "formfill"), e ? e.contentDocument.ffidindex = -1 : document.ffidindex = -1, !0; | |
break | |
} | |
} | |
} catch (ka) {} | |
if (0 == Q.length) { | |
var ja = L = !1, | |
ha = ""; | |
if (l || 5 >= ++r.value) l && (ha = Oh(Y)); | |
if (!l && 20 < r.value) return !1; | |
var U = 2, | |
T = 1; | |
l || (U = T = "" != ha ? 2 : 1); | |
if ("undefined" != typeof t && "undefined" != typeof t.length) | |
for (ba = 0; ba < t.length && W && !L; ba++) | |
if (null != t[ba]) { | |
var P = | |
A[ba]; | |
if (!("radio" == Y.type && "gender" != P && "cctype" != P && 0 != P.indexOf("customfield")) && !("checkbox" == Y.type && "gender" != P && 0 != P.indexOf("customfield")) && !("select-one" == Y.type && "state" != P && "country" != P && "cctype" != P && "timezone" != P && "city" != P && 0 != P.indexOf("birth") && "title" != P && 0 != P.indexOf("ccexp") && 0 != P.indexOf("ccstart") && "gender" != P && "age" != P && 0 != P.indexOf("customfield")) && !("password" == Y.type && 0 != P.indexOf("ccnum") && "cccsc" != P && "ccissuenum" != P && "cctype" != P && "bankacctnum" != P && 0 != P.indexOf("ssn") && 0 != | |
P.indexOf("customfield")) && (!("text" == Y.type || "textarea" == Y.type || "email" == Y.type || "tel" == Y.type || "url" == Y.type) || !("cctype" == P || "timezone" == P || "gender" == P)) && Co(Y, P, !0, Z, w) && !(0 == P.indexOf("address") && 0 < w && 15 > w)) { | |
for (var ma = !1, na = !1, la = U; la >= T && !(1 == la && !ma && 0 < V.length && "select-one" != Y.type); la--) { | |
var pa; | |
if (1 == la) pa = G; | |
else if (2 == la && (pa = ha, "" == pa)) continue; | |
var fa = 1 == la ? t[ba] : y[ba], | |
oa; | |
if (oa = "undefined" == typeof d[P] || 2 > d[P]) { | |
oa = fa; | |
var aa = pa, | |
fa = oa.toString() + "_" + aa; | |
80 < fa.length && ("function" == typeof Wr ? | |
fa = Wr(fa) : "function" == typeof SHA256 && (fa = SHA256(fa))); | |
if (null != Mj[fa]) oa = "1" == Mj[fa]; | |
else { | |
oa = oa.exec(aa); | |
if (2500 < Fo) { | |
aa = void 0; | |
for (aa in Mj) { | |
delete Mj[aa]; | |
break | |
} | |
Fo = 0 | |
} | |
Mj[fa] = oa ? "1" : "0"; | |
Fo++ | |
} | |
} | |
if (oa) { | |
if (2 == la && ("evephone" == P || "mobilephone" == P)) ja = !0; | |
if (2 == la && "phone" == P && ja) break; | |
if (!l && !E) { | |
if (!oc(Y)) { | |
W = !1; | |
v = h.value; | |
break | |
} | |
E = !0 | |
} | |
kb(P, jx) ? "undefined" != typeof LP_to_formfill && "undefined" != typeof LP_to_formfill.promocode && RegExp(Za("ff_promocode_regexp", C), "i").exec(pa) && (J.value++, f.value++, P = "promocode") : | |
(J.value++, f.value++); | |
if (l) 1 == la ? (Q[Q.length] = P, na = !0) : (V[V.length] = P, ma = !0); | |
else { | |
"undefined" == typeof d[P] && (d[P] = 0); | |
d[P]++; | |
if (3 <= J.value) return !u && ("undefined" == typeof Pd || !Pd(e, "addconfirm")) && vc("FillableFormDetected", e, 0, "formfill"), e ? e.contentDocument.ffidindex = -1 : document.ffidindex = -1, !0; | |
L = !0; | |
break | |
} | |
} | |
} | |
if (ma && na) break | |
} | |
} | |
} | |
if (l && W) { | |
Z = []; | |
for (w = 0; w < V.length; w++) kb(V[w], Q) ? Z[Z.length] = V[w] : "undefined" != typeof hb[V[w]] && kb(hb[V[w]], Q) && (Z[Z.length] = V[w]); | |
E = null; | |
if (0 < Z.length) E = Z[0]; | |
else if (0 < V.length) E = | |
V[0]; | |
else if (0 < Q.length) { | |
if (0 == Q[0].indexOf("ccnum") && "select-one" == Y.type) | |
for (E = 1; E < Q.length; E++) | |
if (0 == Q[E].indexOf("ccexp")) { | |
Q.shift(); | |
break | |
} | |
E = Q[0] | |
} | |
for (w = 0; w < Q.length; w++) | |
if (0 == Q[w].indexOf("customfield")) { | |
E = Q[w]; | |
break | |
} | |
if (null != E) { | |
"name" == E && kb("name", Z) && kb("company", V) && (E = "company"); | |
if ("ccexp" == E && "select-one" == Y.type && kb("ccexp", V) && kb("cctype", Q) && 12 != Y.options.length && 13 != Y.options.length) { | |
for (v = 0; v < Y.options.length && !Y.options[v].value.match(/^(?:\d{1,2}|\d{4}|\d{2}\/?(?:\d{2}|\d{4}))$/) && !Y.options[v].text.match(/^(?:\d{1,2}|\d{4}|\d{2}\/?(?:\d{2}|\d{4}))$/); v++); | |
v == Y.options.length && (E = "cctype") | |
} | |
"ccexp" == E && "text" == Y.type && (kb("ccexp", V) && kb("cccsc", Q) && "undefined" != typeof Y.maxLength && 3 <= Y.maxLength && 4 >= Y.maxLength) && (E = "cccsc"); | |
v = new ix; | |
v.elt = Y; | |
v.regexpname = E; | |
v.last_field_filled = h.value; | |
Z = E = ""; | |
0 < V.length && (Z = V[0]); | |
0 < Q.length && ("state" == Q[0] && "state" != Z && "select-one" == Y.type && (z.value = !0), "country" == Q[0] && "country" != Z && "select-one" == Y.type && (s.value = !0), "ccexpmonth" == Q[0] && "ccexpmonth" != | |
Z && ("ccexp" != Z && "select-one" == Y.type) && (ia.value = !0), "ccexpyear" == Q[0] && "ccexpyear" != Z && ("ccexp" != Z && "select-one" == Y.type) && (B.value = !0), E = Q[0]); | |
v.namematch = E; | |
v.textmatch = Z; | |
g[g.length] = v; | |
v = !0 | |
} | |
} | |
} | |
h.value = v | |
} | |
} | |
return 2 | |
} | |
function Zs(c, e, f, d) { | |
if ("undefined" == typeof f || null == f) f = 1; | |
if (10 < f || !c && !d || !e) return !1; | |
for (var g = ["input", "select"], h = 0; h < g.length; h++) | |
for (var l = e.getElementsByTagName(g[h]), n = 0; n < l.length; n++) { | |
var p = l[n]; | |
if (!p.readOnly && !p.disabled) | |
if ("email" == p.type || "text" == p.type || "password" == p.type || | |
"tel" == p.type || "url" == p.type) "" != p.value && (p.value = "", Qc(p)); | |
else if ("select-one" == p.type) 0 != p.selectedIndex && (p.selectedIndex = 0, Qc(p)); | |
else if (("radio" == p.type || "checkbox" == p.type) && p.checked) p.checked = !1, Qc(p) | |
} | |
if ("undefined" == typeof d || null == d) d = c.contentWindow; | |
if (d && d.frames) | |
for (h = 0; h < d.frames.length; h++) d.frames[h].document && Zs(c, d.frames[h].document, f + 1, d.frames[h].window) | |
} | |
function Bo(c) { | |
var e = !1; | |
if ("function" == typeof or) { | |
var f = or(c + ".properties"); | |
if (f && ("undefined" == typeof Go[c] || Go[c] < f)) | |
if (e = !0, Go[c] = f, ig[c] = {}, f = Jb(c + ".properties", null, 1)) | |
for (var f = f.replace("\r", ""), d = f.split("\n"), g = d.length, f = 0; f < g; ++f) { | |
var h = d[f]; | |
if (0 == h.indexOf("ff_")) { | |
var l = h.indexOf("="); | |
if (-1 != l) { | |
var n = h.substring(0, l), | |
h = h.substring(l + 1); | |
ig[c][n] = h | |
} | |
} | |
} | |
} | |
if (e || "undefined" == typeof zd[c]) zd[c] = [], Uf[c] = []; | |
if (!(0 < zd[c].length)) { | |
e = !1; | |
for (f = 0; f < ki.length; f++) d = "ff_" + ki[f] + "_regexp", g = Za(d, c, !0), g != d && (e = !0), "undefined" != typeof ig[c] && "undefined" != typeof ig[c][d] && (g = ig[c][d]), zd[c][f] = g.length ? RegExp(g, "i") : null, d = "ff_text_" + | |
ki[f] + "_regexp", g = Za(d, c, !0), "undefined" != typeof ig[c] && "undefined" != typeof ig[c][d] && (g = ig[c][d]), Uf[c][f] = g.length && g != d ? RegExp(g, "i") : zd[c][f]; | |
e || delete zd[c] | |
} | |
} | |
function Oh(c) { | |
var e = ""; | |
try { | |
if ("" != c.id && "undefined" != typeof c.ownerDocument && null != c.ownerDocument) | |
for (var f = c.ownerDocument.getElementsByTagName("label"), d = 0; d < f.length; d++) | |
if (f[d].htmlFor == c.id) { | |
var g = zf(Af(f[d], c, !1, !0)); | |
if (2 <= g.length) return g; | |
break | |
} | |
if ("string" == typeof c.placeholder && 2 < c.placeholder.length) return c.placeholder; | |
var h = | |
c.parentNode; | |
if (h && ("DIV" == h.tagName || "SPAN" == h.tagName)) h = h.parentNode; | |
if (h && "TD" == h.tagName) { | |
var l = zf(Af(h, c, !1, !0)); | |
if (2 <= l.length) return l; | |
var n = h.parentNode, | |
p = zf(Af(n, c, !1, !0)); | |
if (2 <= p.length) return p; | |
var l = f = -1, | |
q = h.offsetParent; | |
if (q) | |
for (p = 0; p < q.rows.length; p++) | |
if (n == q.rows[p]) { | |
f = p; | |
break | |
} | |
for (p = 0; p < n.cells.length; p++) | |
if ("undefined" != typeof n.cells[p] && h == n.cells[p]) { | |
l = p; | |
break | |
} | |
h = 0; | |
if (0 < f && -1 != l) { | |
for (d = p = n = 0; d <= l; d++) { | |
var r = q.rows[f].cells[d], | |
t = 1; | |
r && "number" == typeof r.colSpan && (t = r.colSpan); | |
d < l ? | |
n += t : p = n + t - 1 | |
} | |
for (var A = 0, d = 0; d <= p; d++) { | |
r = q.rows[f - 1].cells[d]; | |
t = 1; | |
r && "number" == typeof r.colSpan && (t = r.colSpan); | |
var y = 1; | |
r && "number" == typeof r.rowSpan && (y = r.rowSpan); | |
1 < y && (n += y - 1, p += y - 1); | |
var y = A, | |
J = A + t - 1; | |
if ((n >= y && n <= J || p >= y && p <= J) && r) | |
if (g = zf(Af(r, c, !1, !0)), 2 <= g.length) { | |
e = g; | |
h = 1; | |
break | |
} | |
A += t | |
} | |
} | |
if (!h && -1 != f && -1 != l && (r = q.rows[f].cells[0])) g = zf(Af(r, c, !1, !0)), 2 <= g.length && (e = g) | |
} | |
} catch (u) {} | |
if ("" == e) a: if ("" == xa(c)) e = ""; | |
else { | |
e = c; | |
d = ""; | |
for (g = 0; 10 > g && e.parentNode; g++) { | |
e = e.parentNode; | |
d = zf(Af(e, c)); | |
q = 200; | |
try { | |
"undefined" != | |
typeof Ao && "lifelock.com" == Ao && (q = 150) | |
} catch (s) {} | |
if (d.length > q) { | |
b: if (d = c, c = "", e = e.innerHTML, g = RegExp("<(input|select|textarea)[^>]+name=[\"']?" + Gl(yl(xa(d))) + "[\"']?[^>]*>", "i"), g = g.exec(e), !g && (g = RegExp("<(input|select|textarea)[^>]+id=[\"']?" + Gl(yl(xa(d))) + "[\"']?[^>]*>", "i"), g = g.exec(e), !g)) e = ""; | |
else { | |
q = e.indexOf(g[0]); | |
d = 0; | |
g = 1001 < q ? q - 1001 : 0; | |
for (q -= 1; q >= g; q--) | |
if (r = e.charAt(q), ">" == r) { | |
if (0 >= d) { | |
c = c.replace(/ /, " "); | |
c = zf(c); | |
if (2 < c.length) { | |
e = c; | |
break b | |
} | |
c = "" | |
} | |
d++ | |
} else "<" == r ? 0 < d && d-- : 0 >= d && (c = r + c); | |
c = c.replace(/ /, " "); | |
c = zf(c); | |
2 < c.length || (c = ""); | |
e = c | |
} | |
break a | |
} | |
if (2 <= d.length) break | |
} | |
e = d | |
} | |
return e | |
} | |
function Co(c, e, f, d, g) { | |
if ("ssn1" == e || "ssn2" == e || "ssn3" == e || "ccnum1" == e || "ccnum2" == e || "ccnum3" == e || "ccnum4" == e || "phone1" == e || "phone2" == e || "phone3" == e || "phone23" == e || "evephone1" == e || "evephone2" == e || "evephone3" == e || "evephone23" == e || "mobilephone1" == e || "mobilephone2" == e || "mobilephone3" == e || "mobilephone23" == e || "fax1" == e || "fax2" == e || "fax3" == e || "fax23" == e || "zip1" == e || "zip2" == e || "amexccnum2" == e || "amexccnum3" == | |
e) { | |
if ("undefined" == typeof d || "undefined" == typeof g) g = d = 0, "undefined" != typeof c.size && (d = parseInt(c.size)), "undefined" != typeof c.maxLength && (g = parseInt(c.maxLength)), 0 >= d && 0 >= g && c.style && (c = c.style.width, c.match(/^\d+px$/) && (c = parseInt(c.substring(0, c.length - 2)), 0 == c % 10 && (d = c / 10))); | |
"ssn2" == e ? e = c = 2 : "ssn1" == e || "phone1" == e || "phone2" == e || "fax1" == e || "fax2" == e || "evephone1" == e || "evephone2" == e || "mobilephone1" == e || "mobilephone2" == e ? e = c = 3 : "zip1" == e ? (e = 5, c = 2) : "phone23" == e || "fax23" == e || "evephone23" == e || "mobilephone23" == | |
e ? (e = 8, c = 7) : "ccnum4" == e || "zip2" == e ? (e = 4, c = 3) : "amexccnum2" == e ? e = c = 6 : "amexccnum3" == e ? e = c = 5 : "phone3" == e || "fax3" == e || "mobilephone3" == e || "evephone3" == e ? (e = 5, c = 4) : e = c = 4; | |
if ((0 >= d || d > e) && (0 >= g || g > e) || f && 0 < g && g < c) return !1 | |
} | |
return !0 | |
} | |
function nh(c, e) { | |
c = c.toUpperCase(); | |
e = e.toUpperCase(); | |
if ("AMEX" == c && -1 != e.indexOf("BANAMEX")) return !1; | |
if (-1 != e.indexOf(c)) return !0; | |
switch (c) { | |
case "AMEX": | |
return -1 != e.indexOf("AMERICAN") || -1 != e.indexOf("AMX") || "AX" == e; | |
case "DISC": | |
return -1 != e.indexOf("DIS") || "DI" == e; | |
case "MC": | |
return -1 != | |
e.indexOf("MASTER"); | |
case "VISA": | |
return -1 != e.indexOf("VSA") || "VI" == e; | |
default: | |
return !1 | |
} | |
} | |
function pa(c, e, f, d, g, h) { | |
if ("" != f || h) { | |
if ("undefined" != typeof e.maxLength && Xs && (h = parseInt(e.maxLength), 0 < h && f.length > h)) { | |
if (d) return; | |
f = g ? f.substring(f.length - h) : f.substring(0, h) | |
} | |
if (c) { | |
if ("undefined" == typeof c.formfillfields || null == c.formfillfields) c.formfillfields = []; | |
c.formfillfields[xa(e)] = f | |
} | |
e.value != f && (e.focus(), e.value = f, Qc(e), e.blur()) | |
} | |
} | |
function Af(c, e, f, d) { | |
f || (Ho = !1); | |
if (c == e) return Ho = !0, ""; | |
if (3 == c.nodeType) return 2 < | |
zf(c.nodeValue).length ? c.nodeValue : ""; | |
f = []; | |
var g = 0, | |
h = "string" == typeof c.tagName ? c.tagName : ""; | |
if (c.lp_too_many) return ""; | |
var l = c && c.style && !oc(c, !0); | |
d = !1; | |
"LABEL" == h && (d = !0); | |
g = 0; | |
if ("OPTION" != h && "SCRIPT" != h && "TEXTAREA" != h && !l) | |
for (; | |
"undefined" != typeof c.childNodes[g];) { | |
f[f.length] = Af(c.childNodes[g], e, !0, d); | |
if (Ho) break; | |
if (50 < g++) return c.lp_too_many = 1, "" | |
} | |
c = "|"; | |
"undefined" != typeof d && d && (c = ""); | |
return f.join(c) | |
} | |
function Ys(c) { | |
var e = []; | |
e.AND = 376; | |
e.ARE = 971; | |
e.AFG = 93; | |
e.ATG = 1; | |
e.AIA = 1; | |
e.ALB = 355; | |
e.ARM = 374; | |
e.ANT = | |
599; | |
e.AGO = 244; | |
e.ATA = 672; | |
e.ARG = 54; | |
e.ASM = 1; | |
e.AUT = 43; | |
e.AUS = 61; | |
e.ABW = 297; | |
e.ALA = 358; | |
e.AZE = 994; | |
e.BIH = 387; | |
e.BRB = 1; | |
e.BGD = 880; | |
e.BEL = 32; | |
e.BFA = 226; | |
e.BGR = 359; | |
e.BHR = 973; | |
e.BDI = 257; | |
e.BEN = 229; | |
e.BLM = 590; | |
e.BMU = 1; | |
e.BRN = 673; | |
e.BOL = 591; | |
e.BRA = 55; | |
e.BHS = 1; | |
e.BTN = 975; | |
e.BVT = 47; | |
e.BWA = 267; | |
e.BLR = 375; | |
e.BLZ = 501; | |
e.CAN = 1; | |
e.CCK = 61; | |
e.COD = 243; | |
e.CAF = 236; | |
e.COG = 242; | |
e.CHE = 41; | |
e.CIV = 225; | |
e.COK = 682; | |
e.CHL = 56; | |
e.CMR = 237; | |
e.CHN = 86; | |
e.COL = 57; | |
e.CRI = 506; | |
e.CUB = 53; | |
e.CPV = 238; | |
e.CXR = 61; | |
e.CYP = 357; | |
e.CZE = 420; | |
e.DEU = 49; | |
e.DJI = 253; | |
e.DNK = 45; | |
e.DMA = 1; | |
e.DOM = 1; | |
e.DZA = | |
213; | |
e.ECU = 593; | |
e.EST = 372; | |
e.EGY = 20; | |
e.ESH = 212; | |
e.ERI = 291; | |
e.ESP = 34; | |
e.ETH = 251; | |
e.FIN = 358; | |
e.FJI = 679; | |
e.FLK = 500; | |
e.FSM = 691; | |
e.FRO = 298; | |
e.FRA = 33; | |
e.GAB = 241; | |
e.GBR = 44; | |
e.GRD = 1; | |
e.GEO = 995; | |
e.GUF = 594; | |
e.GGY = 44; | |
e.GHA = 233; | |
e.GIB = 350; | |
e.GRL = 299; | |
e.GMB = 220; | |
e.GIN = 224; | |
e.GLP = 590; | |
e.GNQ = 240; | |
e.GRC = 30; | |
e.SGS = 995; | |
e.GTM = 502; | |
e.GUM = 1; | |
e.GNB = 245; | |
e.GUY = 592; | |
e.HKG = 852; | |
e.HMD = 672; | |
e.HND = 504; | |
e.HRV = 385; | |
e.HTI = 509; | |
e.HUN = 36; | |
e.ESC = 34; | |
e.IDN = 62; | |
e.IRL = 353; | |
e.ISR = 972; | |
e.IMM = 44; | |
e.IND = 91; | |
e.IOT = 246; | |
e.IRQ = 964; | |
e.IRN = 98; | |
e.ISL = 354; | |
e.ITA = 39; | |
e.JEY = 44; | |
e.JAM = 1; | |
e.JOR = 962; | |
e.JPN = 81; | |
e.KEN = 254; | |
e.KGZ = 996; | |
e.KHM = 855; | |
e.KIR = 686; | |
e.COM = 269; | |
e.KNA = 1; | |
e.PRK = 850; | |
e.KOR = 82; | |
e.KWT = 965; | |
e.CYM = 1; | |
e.KAZ = 7; | |
e.LAO = 856; | |
e.LBN = 961; | |
e.LCA = 1; | |
e.LIE = 423; | |
e.LKA = 94; | |
e.LBR = 231; | |
e.LSO = 266; | |
e.LTU = 370; | |
e.LUX = 352; | |
e.LVA = 371; | |
e.LBY = 218; | |
e.MAR = 212; | |
e.MCO = 377; | |
e.MDA = 373; | |
e.MNE = 382; | |
e.MAF = 590; | |
e.MDG = 261; | |
e.MHL = 692; | |
e.MKD = 389; | |
e.MLI = 223; | |
e.MMR = 95; | |
e.MNG = 976; | |
e.MAC = 853; | |
e.MNP = 1; | |
e.MTQ = 596; | |
e.MRT = 222; | |
e.MSR = 1; | |
e.MLT = 356; | |
e.MUS = 230; | |
e.MDV = 960; | |
e.MWI = 265; | |
e.MEX = 52; | |
e.MYS = 60; | |
e.MOZ = 258; | |
e.NAM = 264; | |
e.NCL = 687; | |
e.NER = 227; | |
e.NFK = 672; | |
e.NGA = 234; | |
e.NIC = 505; | |
e.NLD = 31; | |
e.NOR = 47; | |
e.NPL = 977; | |
e.NRU = 674; | |
e.NIU = 683; | |
e.NZL = 64; | |
e.OMN = 968; | |
e.PAN = 507; | |
e.PER = 51; | |
e.PYF = 689; | |
e.PNG = 675; | |
e.PHL = 63; | |
e.PAK = 92; | |
e.POL = 48; | |
e.SPM = 508; | |
e.PCN = 872; | |
e.PRI = 1; | |
e.PSE = 970; | |
e.PRT = 351; | |
e.PLW = 680; | |
e.PRY = 595; | |
e.QAT = 974; | |
e.REU = 262; | |
e.ROU = 40; | |
e.SRB = 381; | |
e.RUS = 7; | |
e.RWA = 250; | |
e.SAU = 966; | |
e.SLB = 677; | |
e.SYC = 248; | |
e.SDN = 249; | |
e.SWE = 46; | |
e.SGP = 65; | |
e.SHN = 290; | |
e.SVN = 386; | |
e.SJM = 47; | |
e.SVK = 421; | |
e.SLE = 232; | |
e.SMR = 378; | |
e.SEN = 221; | |
e.SOM = 252; | |
e.SUR = 597; | |
e.STP = 239; | |
e.SLV = 503; | |
e.SYR = 963; | |
e.SWZ = 268; | |
e.TCA = 1; | |
e.TCD = 235; | |
e.ATF = 596; | |
e.TGO = 228; | |
e.THA = 66; | |
e.TJK = 992; | |
e.TKL = 690; | |
e.TLS = 670; | |
e.TKM = 993; | |
e.TUN = 216; | |
e.TON = 676; | |
e.TUR = 90; | |
e.TTO = 1; | |
e.TUV = 688; | |
e.TWN = 886; | |
e.TZA = 255; | |
e.UKR = 380; | |
e.UGA = 256; | |
e.UMI = 1; | |
e.USA = 1; | |
e.URY = 598; | |
e.UZB = 998; | |
e.VAT = 379; | |
e.VCT = 1; | |
e.VEN = 58; | |
e.VGB = 1; | |
e.VIR = 1; | |
e.VNM = 84; | |
e.VUT = 678; | |
e.WLF = 681; | |
e.WSM = 685; | |
e.YEM = 967; | |
e.MYT = 262; | |
e.YUG = 381; | |
e.ZAF = 27; | |
e.ZMB = 260; | |
e.ZWE = 263; | |
return "undefined" != typeof e[c] ? "" + e[c] : null | |
} | |
function Nq(c) { | |
c = c.getElementById("Email"); | |
return null != c && ("hidden" == c.type || "hidden" == c.className) && "Email" == c.name ? c.value : "" | |
} | |
function Lg(c, e, f, d, g) { | |
"undefined" == | |
typeof g && (g = 1); | |
if (10 < g) return null; | |
var h = "undefined" != typeof LP && "function" == typeof LP.getBrowser().getBrowserForDocument ? LP.getBrowser().getBrowserForDocument(e) : null; | |
h && (c = h); | |
if ("undefined" != typeof LP && !c) return null; | |
var l = h = null; | |
try { | |
if (!f && "undefined" != typeof Pd && (Pd(c, "autologin") || Pd(c, "generate"))) return null; | |
h = e.location.href; | |
"undefined" != typeof Wa && "undefined" != typeof Wa.URLToASCII && (h = Wa.URLToASCII(h)); | |
var n = xb(h), | |
p = nb(h, n), | |
q = sc(n.host, h); | |
if (("undefined" == typeof P || P) && (f || ("undefined" == | |
typeof Io || Io) && ("undefined" == typeof dr || !dr(p, q)))) | |
for (var r = e.getElementsByTagName("form"), t = 0; t < r.length; t++) | |
if (!("undefined" != typeof t.offsetLeft && 0 > t.offsetLeft || "undefined" != typeof t.offsetTop && 0 > t.offsetTop)) { | |
var A = Mk(r[t]); | |
if (2 <= A.password && 4 >= A.password && 2 <= A.passwordvisible && 4 >= A.passwordvisible && !0 == A.passwordsContiguous) { | |
if (!f) { | |
var y = "undefined" != typeof LP ? LP.lpgetcurrenturl(c) : document.location.href; | |
"undefined" != typeof Wa && "undefined" != typeof Wa.URLToASCII && (y = Wa.URLToASCII(y)); | |
re[y] = | |
r[t]; | |
A = !1; | |
if ("undefined" == typeof disable_check_form_fill || !disable_check_form_fill) A = wd(c, e, !1, !0, null, 1, d); | |
var J = !1, | |
u = ah(r[t]), | |
s = []; | |
if (u) { | |
var B = Nq(e), | |
J = !0; | |
Xf[y] = u; | |
var ia = "string" == typeof n.path ? n.path.split("/") : [], | |
C = "undefined" != typeof la && "undefined" != typeof la[q] ? la[q] : [], | |
F; | |
for (F in C) | |
if (!("undefined" == typeof z[F] || z[F].genpw || z[F].isbookmark) && Lw(z[F], 1)) { | |
var D = new bj; | |
D.realmmatch = !1; | |
D.id = z[F].id; | |
var v = xb(z[F].url); | |
D.usernamematch = "" != z[F].unencryptedUsername && z[F].unencryptedUsername == B; | |
D.urlmatch = | |
nb(z[F].url, v) == p ? !0 : !1; | |
D.servermatch = v.host == n.host ? !0 : !1; | |
D.portmatch = kj(v, n); | |
D.serverportmatch = D.servermatch && D.portmatch; | |
var K = "string" == typeof v.path ? v.path.split("/") : [], | |
ea; | |
for (ea = 0; ea < ia.length && ea < K.length && K[ea] == ia[ea]; ea++); | |
D.pathlevelmatch = ea; | |
D.url = h; | |
D.fieldmatchcount = 0; | |
s[s.length] = D | |
} | |
"undefined" != typeof Ng && (s.sort(Ng), s = Og(xd, s, q, "string" == typeof n.path ? n.path : "", n.host, z, Ge(n))) | |
} | |
"undefined" != typeof LP && LP.lpshowHelpDlg("genpw"); | |
vc("GeneratePassword", c, s, "generate", r[t], null, A, J); | |
A && (c ? | |
c.contentDocument.ffidindex = -1 : document.ffidindex = -1) | |
} | |
return r[t] | |
} | |
f && 1 <= A.password && (l = r[t]) | |
} | |
} catch (G) { | |
ga("Failure with checking generate password: " + G + " ln: " + G.lineNumber, h) | |
} | |
if ("undefined" == typeof d || null == d) d = c.contentWindow; | |
if (d && d.frames) | |
for (F = 0; F < d.frames.length; F++) try { | |
if (d.frames[F].document) { | |
var Y = Lg(c, d.frames[F].document, f, d.frames[F].window, g + 1); | |
if (Y) return Y | |
} | |
} catch (E) {} | |
return l | |
} | |
function ah(c) { | |
for (var e = RegExp(Za("ff_currpass_regexp"), "i"), f = 0; f < c.elements.length; f++) { | |
var d = c.elements[f]; | |
if ("password" == d.type && oc(d)) { | |
if (e.exec(xa(d))) return d; | |
var g = Oh(d); | |
if ("" != g && e.exec(g)) return d | |
} | |
} | |
return null | |
} | |
function Mk(c, e) { | |
var f = []; | |
f.text = f.password = f["select-one"] = f.textarea = f.email = f.tel = f.url = f.passwordValues = f.passwordvisible = f.uniquepasswords = 0; | |
f.uname = f.pname = f.oname = ""; | |
for (var d = c.elements, g = !1, h = !1, l = [], n = "undefined" != typeof d ? d.length : 0, p = 0; p < n; p++) { | |
var q = d[p].type, | |
r = xa(d[p]), | |
t = d[p].value; | |
("password" == q || "text" == q || "select-one" == q || "textarea" == q || "email" == q || "tel" == q || "url" == q) && f[q]++; | |
"password" == q ? (e || oc(d[p]) && ++f.passwordvisible, "" != t && f.passwordValues++, g && (h = !0), g = !0, kb(t, l) || (l[l.length] = t)) : "hidden" == q || "INPUT" != d[p].tagName && "SELECT" != d[p].tagName && "TEXTAREA" != d[p].tagName || (g = !1); | |
if (("text" == q || "email" == q || "tel" == q || "url" == q) && "openid_url" != r && ("" == f.uname || "" == f.pname)) f.uname = r; | |
"password" == q && (f.pname = r); | |
if (("text" == q || "email" == q || "tel" == q || "url" == q) && "openid_url" == r) f.oname = r | |
} | |
f.passwordsContiguous = h; | |
f.uniquepasswords = l.length; | |
return f | |
} | |
function fn(c, e, f, d) { | |
"undefined" == | |
typeof d && (d = 1); | |
if (10 < d) return null; | |
var g = "undefined" != typeof LP ? !LP.isFennec ? LP.getBrowser().selectedTab.linkedBrowser.contentDocument : LP.getBrowser() ? LP.getBrowser().contentDocument : null : document; | |
if (!g) return null; | |
if (!(c == g && "undefined" != typeof g.LPlpm_setupFocusHandler && !0 == g.LPlpm_setupFocusHandler)) { | |
c == g && (g.LPlpm_setupFocusHandler = !0); | |
for (var g = ["input", "select"], h = 0; h < g.length; h++) | |
for (var l = c.getElementsByTagName(g[h]), n = 0, p = 0; p < l.length; p++) | |
if (!(e && "password" != l[p].type) && ("text" == l[p].type || | |
"email" == l[p].type || "tel" == l[p].type || "url" == l[p].type || "password" == l[p].type || "select-one" == l[p].type || "textarea" == l[p].type || "radio" == l[p].type)) { | |
if ("text" == l[p].type || "email" == l[p].type || "url" == l[p].type || "tel" == l[p].type) { | |
var q = RegExp(Za("ff_search_regexp"), "i"); | |
if ("" != l[p].name && q.exec(l[p].name)) continue | |
} | |
if (20 < n) break; | |
else n++; | |
l[p].addEventListener("focus", function(c) { | |
"undefined" != typeof LP ? LP.FieldFocus(c) : FieldFocus(c) | |
}, !1) | |
} | |
if ("undefined" == typeof f || null == f) f = "undefined" != typeof LP ? !LP.isFennec ? | |
LP.getBrowser().selectedTab.linkedBrowser.contentWindow : LP.getBrowser().contentWindow : window; | |
if (f && f.frames) | |
for (h = 0; h < f.frames.length; h++) try { | |
f.frames[h].document && fn(f.frames[h].document, e, f.frames[h].window, d + 1) | |
} catch (r) {} | |
} | |
} | |
function Ym(c, e, f, d) { | |
var g = (new Date).getTime(); | |
1E3 > g - $s || ($s = g, kn(), Wc = {}, le = {}, Hc = {}, $c = {}, Rd = {}, Eb = {}, jc = {}, Jo(!0, c), !P && !rc && LP.lp_handle_buttons_all("loggingin"), g = "version=" + LP.en(nc) + "&method=" + LP.get_method() + "&hp=" + (LP.IsHomePage() ? "1" : "0"), g += e ? "&sessionid=" + LP.en(e) : | |
"", g += f ? "&wxusername=" + LP.en(f) : "", g += d ? "&wxhash=" + LP.en(d) : "", g += "&uuid=" + LP.en(LP.getuuid()), Rd.logincheckpostdata = g, Oc ? (Kc = ha = Q = "", vd("", "lp_logincheckhelper"), LP.mostRecent().setTimeout(function() { | |
Gc("logincheck") | |
}, 2E3)) : (vj = Jl = Ab(), LP.lpMakeRequest(LP.lp_base + "login_check.php", g, li, function() { | |
we(c, "makerequest") | |
}, c))) | |
} | |
function we(c, e) { | |
var f = (new Date).getTime(); | |
1E3 > f - at || (at = f, !P && !rc && LP.lp_handle_buttons_all("off"), (f = bt()) ? (LP.lplogin(f.username, f.password, c), f = !0) : f = !1, !f && !rc && (Zk = !1, "httptest" == | |
c && Kl ? LP.lpOpenLogin() : "noexistingsession" == e || "nokeyfileA" == e || "nokeyfileB" == e || ("invalidresponse" == e || "exception" == e ? Ua("LoginError", !1, !0) : "makerequest" == e ? Ua("ErrorLoginMsg") : Ua("LoginError", !1, !0)))) | |
} | |
function Ek(c, e, f, d) { | |
kn(); | |
if (Dd || Oc) f == Eg ? Gc("login", { | |
data0: c, | |
data1: Kc, | |
data2: wf | |
}) : f == jg ? Gc("login", { | |
data0: c, | |
data1: Kc, | |
data2: wf | |
}) : f != oh && Gc("login", { | |
data0: c, | |
data1: e | |
}); | |
if (Oc) "namedpipes" == f || f == oh ? (ld = "", P = !0, mi = rc = !1, ad = 0, kc = vb = -1, Qg = 0, LP.lp_handle_buttons_all("in"), Ko(), Fg = null, Pc()) : (rc = P = !1, Kc = | |
ha = Q = "", lf(), vd("", "lp_loginhelper_wav_delayedasologincheck"), f == Eg ? (Fg = (new Date).getTime(), LP.mostRecent().setTimeout(function() { | |
Gc("logincheck", { | |
data0: "donotignoreself" | |
}) | |
}, 2E3)) : LP.mostRecent().setTimeout(function() { | |
Gc("logincheck") | |
}, 2E3)); | |
else { | |
"function" == typeof eb && (eb(c + "_lp.act.xml"), eb(c + "_lps.act.xml")); | |
Wc = {}; | |
le = {}; | |
Hc = {}; | |
$c = {}; | |
Rd = {}; | |
ni = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
Eb = {}; | |
d || (jc = {}); | |
f == Eg || f == | |
oh || f == jg || (Q = c.toLowerCase().replace(/\s*/g, ""), ha = Fa(Q), lf(), c = LP.make_lp_key(Q, e), Kc = LP.make_lp_hash(Q, c, e), ct(Q, e), vd(c, "lp_loginhelper")); | |
Sh(ha + "_lp.key", ha + "_lp.act.key"); | |
Sh(ha + "_lp.act.key", ha + "_lp.act.lps"); | |
Sh(ha + "_lp.act.lps", ha + "_lpall.lps"); | |
rc || Jo(!0, f); | |
!P && !rc && LP.lp_handle_buttons_all("loggingin"); | |
c = "xml=2&username=" + LP.en(Q) + "&method=" + LP.get_method() + "&hash=" + Kc + "&version=" + LP.en(nc); | |
c += "&hp=" + (LP.IsHomePage() ? "1" : "0"); | |
c += "&encrypted_username=" + LP.en(da(Q, null, !0)); | |
c += "&uuid=" + LP.en(LP.getuuid()); | |
"undefined" != typeof Ka && (c += "&lang=" + LP.en(Ka)); | |
var g = LP.get_key_iterations(Q); | |
c += "&iterations=" + LP.en(g); | |
Sf = g; | |
"" != g && 1 < parseInt(g) && (g = Ll(Q, e), c += g, "" != g && "undefined" != typeof g_oldpbkdf2 && 1 == g_oldpbkdf2 && (c += "&fallback=1")); | |
if (f == Eg || f == oh || f == jg) c += "&wrfrom=" + LP.en(f); | |
LP.lpdolostpwotp && (!LP.lpprefsHasUserValue("StoreLostPWOTP") || LP.lpprefsGetBoolPref("StoreLostPWOTP")) ? c += "&lostpwotphash=" + LP.en(LP.GetOTPHash()) : LP.DeleteOTP(); | |
Rd = {}; | |
Rd.postdata = c; | |
Rd.from = f; | |
Wc = {}; | |
Wc.postdata = c; | |
Wc.from = f; | |
ni = e; | |
le = {}; | |
le.postdata = c; | |
le.from = f; | |
Hc = {}; | |
Hc.postdata = c; | |
Hc.from = f; | |
$c = {}; | |
$c.postdata = c; | |
$c.from = f; | |
Eb = {}; | |
Eb.postdata = c; | |
Eb.from = f; | |
d || (jc = {}); | |
jc.postdata = c; | |
jc.from = f; | |
c += "&otp=&sesameotp=&gridresponse="; | |
c += "&multifactorresponse="; | |
c = LP.isFennecNative ? c + "&duosupported=1" : c + "&outofbandsupported=1"; | |
vj = Jl = Ab(); | |
LP.lpMakeRequest(LP.lp_base + "login.php", c, Bf, function() { | |
Ve(f) | |
}, f); | |
e = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} | |
} | |
function Ll(c, e) { | |
for (var f = 0; f < c.length; f++) | |
if (127 < c.charCodeAt(f)) return "&reqpbkdf2v2=1"; | |
for (f = 0; f < e.length; f++) | |
if (127 < e.charCodeAt(f)) return "&reqpbkdf2v2=1"; | |
return "" | |
} | |
function Ve(c) { | |
var e = (new Date).getTime(); | |
1E3 > e - dt || (dt = e, !P && !rc && LP.lp_handle_buttons_all("off"), Jo(!1, c)) | |
} | |
function Jo(c, e) { | |
if (!Oc) { | |
if ("" == ja || "" == Q || "" == ha) { | |
if ("frompipes" == e) return; | |
var f = bt(); | |
if (!f) { | |
Ga && ("httptest" != e ? Ua("LoginError", !1, !0) : Kl && LP.setTimeout(function() { | |
LP.lpOpenLogin() | |
}, 0)); | |
return | |
} | |
var d = f.password; | |
Q = f.username.toLowerCase().replace(/\s*/g, | |
""); | |
ha = Fa(Q); | |
var g = LP.make_lp_key(Q, d); | |
Kc = LP.make_lp_hash(Q, g, d); | |
lf(); | |
vd(g, "loginoffline"); | |
d = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
d = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
f.password = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
f.password = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} | |
if (c) { | |
if (!rc) { | |
if (null == ja || "" == ja) { | |
var h = Nj(Q); | |
if (!h) { | |
Ga && Ua("LoginError", !1, !0); | |
return | |
} | |
}(h = lc(ha, !0, !1)) ? (h = h.substring(0, 200), 0 <= h.indexOf("type=sesameoffline\ndata=") || 0 <= h.indexOf("type=trueapioffline\ndata=") || (0 <= h.indexOf("type=omnikeyoffline\ndata=") || 0 <= h.indexOf("type=yubikeyoffline\ndata=") || 0 <= h.indexOf("type=yubikeyofflinemulti\nkeys=")) || | |
et(e, !0)) : Ga && Ua("LoginError", !1, !0) | |
} | |
} else if (!rc) { | |
LP.lp_handle_buttons_all("off"); | |
if (null == ja || "" == ja) | |
if (h = Nj(Q), !h) { | |
Ua("LoginError", !1, !0); | |
return | |
} | |
if (h = lc(ha, !0, !1)) { | |
h = h.substring(0, 1200); | |
if (0 <= h.indexOf("type=sesameoffline\ndata=")) { | |
for (f = "";;) { | |
f = jo(null); | |
if ("" == f || 64 != f.length) { | |
if (64 < f.length) { | |
LP.alert(LP.lpgs("SesameWrongButton")); | |
continue | |
} | |
Sa(!1, "ff_sesameoffline"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
break | |
} | |
Rd.password_offline = f | |
} else if (0 <= h.indexOf("type=trueapioffline\ndata=") || 0 <= h.indexOf("type=omnikeyoffline\ndata=")) { | |
d = | |
0 <= h.indexOf("type=trueapioffline\ndata=") ? "trueapi" : "omnikey"; | |
f = ""; | |
cc("type") == d && (f = cc("password_offline")); | |
if (!f || 64 != f.length) f = Fa(Fa(ic(Q) + d)); | |
if (!f || 64 != f.length) | |
for (;;) { | |
"trueapi" == d ? ma() && LP.lpis_win && "function" == typeof Z.trueapi_get_hash && (f = Z.trueapi_get_hash(Q)) : "omnikey" == d && ma() && "function" == typeof Z.omnikey_get_public_key && (f = Z.omnikey_get_public_key(ej())); | |
if ("" == f || 64 != f.length) { | |
f = Ml(Q, d); | |
Sa(!1, "ff_trueapioffline"); | |
Ua("LoginError", !1, !0, !1, f); | |
return | |
} | |
break | |
} | |
jc.password_offline = f; | |
jc.type = | |
d | |
} else if (0 <= h.indexOf("type=yubikeyoffline\ndata=")) { | |
f = zl(null); | |
if ("" == f || 44 != f.length) { | |
Sa(!1, "ff_yubioffline"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
f = f.substring(0, 12); | |
f = Fa(Fa(Fa(ic("LastPassIsGreat") + f) + f)); | |
Wc.password_offline = f | |
} else if (0 <= h.indexOf("type=yubikeyofflinemulti\nkeys=")) { | |
f = zl(null); | |
if ("" == f || 44 != f.length) { | |
Sa(!1, "ff_no yubi"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
var f = f.substring(0, 12), | |
f = Fa(Fa(Fa(ic("LastPassIsGreat") + f) + f)), | |
d = h.indexOf("type=yubikeyofflinemulti\nkeys="), | |
h = h.substring(d), | |
d = !1, | |
l = | |
h.indexOf("\n", 30); | |
if (0 < l) | |
for (var g = Fa(f), n = h.substring(30, l), h = h.substring(l + 6), h = n.split("&"), p, l = 0; l < h.length; ++l) | |
if (p = h[l].split("#"), 2 == p.length) { | |
var q = p[1]; | |
g == p[0] && (p = Ya(q, Zb(f)), "" != p && (d = !0, Wc.password_offline = f, Wc.password_keysline = n, Wc.password_server = p)) | |
} | |
if (!d) { | |
Sa(!1, "ff_otpkeydecrypt"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
} | |
et(e, !1) | |
} else Ua("LoginError", !1, !0) | |
} | |
} | |
} | |
function et(c, e) { | |
Ga && "pluginlogin" == c && (!LP.lpprefsHasUserValue("showHomepageAfterLogin", !1) || LP.lpprefsGetBoolPref("showHomepageAfterLogin", !1)) && cl(); | |
Ko(); | |
ld = ""; | |
rc = P = !0; | |
mi = !1; | |
ad = Ga ? 1 : 0; | |
dg = bc = kc = vb = -1; | |
Qg = 0; | |
lf(); | |
LP.lp_handle_buttons_all("in"); | |
Fb(!0); | |
We && (LP.mostRecent().clearTimeout(We), We = null); | |
We = LP.mostRecent().setTimeout(function() { | |
LP.notifyoffline(c) | |
}, e ? 3E4 : 0); | |
c == Eg || c == oh || c == jg || (Xe && (LP.mostRecent().clearTimeout(Xe), Xe = null), Xe = LP.mostRecent().setTimeout(function() { | |
LP.retryonlinelogin(3E4) | |
}, 3E4)) | |
} | |
function Ko() { | |
LP.lpprefsSetBoolPref("ffhasloggedin", !0, !1); | |
LP.SetupUserPreferences(); | |
LP.lpSetupIdleTimer(); | |
LP.lpprefsHasUserValue("ffhasloggedinsuccessfully", !1) || (LP.lpprefsSetBoolPref("ffhasloggedinsuccessfully", !0, !1), LP.flush_prefs()) | |
} | |
function Nj(c, e, f, d) { | |
var g = "undefined" == typeof e || null == e ? ja : e, | |
h = "undefined" == typeof f || f ? !0 : !1, | |
l = Fa(c), | |
n = Jb(l + "_lpall.slps"); | |
if (n) n = Ih(n, !0); | |
else if (n = Jb(l + "_lpall.lps")) c = Tf(n, !0), Rb(l + "_lpall.slps", c), eb(l + "_lpall.lps"); | |
else { | |
n = Jb(c + "_lp.act.lps"); | |
if (!n) return Ga && hd && !d && Zb(Fa(c + "")) != ja ? (pf = ja, Hh(), g = { | |
accts_version: 0, | |
sites: [], | |
securenotes: [], | |
prompts: [] | |
}, hd && (g.prompts.login_site_prompt = !0, g.prompts.edit_site_prompt = !0, g.prompts.edit_sn_prompt = !0, g.prompts.view_pw_prompt = !0, g.prompts.view_ff_prompt = !0, g.prompts.switch_identity_prompt = !0, g.prompts.switch_f_prompt = !0, g.prompts.multifactor_reprompt = !0), g.formfills = [], g.identities = [], g.equivalentdomains = [], g.neverurls = [], g.premium_exp = 0, g.enterpriseuser = 0, g.encrypted_username = da(Q, null, !0), g.pendings = [], g.shareeautopushes = [], g.maxid = [], g.maxid.maxid = 0, g.urlrules = [], wc(g, null, "readkeyfile"), Nj(c, e, f, !0)) : null; | |
Sh(c + "_lp.act.lps", l + "_lpall.lps") | |
} | |
c = n.split("\n"); | |
return 2 != | |
c.length || h && ("" == g || "lastpass rocks" != Ya(c[1], g, !0)) ? null : n | |
} | |
function li(c, e, f) { | |
try { | |
if (c && 4 == c.readyState) | |
if (200 != c.status || null == c.responseXML || null == c.responseXML.documentElement) "function" == typeof e && e(); | |
else { | |
var d = c.responseXML.documentElement, | |
g = d.getElementsByTagName("ok"); | |
if (!g || 0 == g.length) { | |
var h = d.getElementsByTagName("error"); | |
h && 0 < h.length && h[0].hasAttribute("invalidsession") ? (Sa(!1, "ff_invalidsess2"), LP.lpClearCache(!0, !1, !1), dc(LP.lp_base + "invalidsession.php", !0), Ua("LoginError", !1, !0)) : | |
h && 0 < h.length && h[0].hasAttribute("silent") && 1 == parseInt(h[0].getAttribute("silent")) ? (!LP.lpprefsHasUserValue("ffhasloggedin", !1) && !LP.lpprefsHasUserValue("loginusers", !1) && (LP.lpprefsSetBoolPref("ffhasloggedin", !0, !1), LP.flush_prefs(), !gl && !LP.isFennec && LP.OpenCreateAccount()), we(f, "noexistingsession")) : (ga("login_check.php returned invalid response text=" + c.responseText), we(f, "invalidresponse")) | |
} else if (pf = Zb(Fa(g[0].getAttribute("pwdeckey"))), Q = g[0].getAttribute("lpusername"), ha = Fa(Q), ld = g[0].getAttribute("uid"), | |
"1" == g[0].getAttribute("pwresetreqd")) LP.lpbaseopenifnotopen("passwordreset.php?u=" + LP.en(Q)); | |
else { | |
if (!("websitelogin" == f || f == Eq || f == Eg || "websiterefresh" == f || "websiterefreshrsa" == f || "frompipes" == f || pr > qr) && "preferences" != f && LP.lpprefsHasUserValue("logOffWhenCloseBrowser") && LP.lpprefsGetBoolPref("logOffWhenCloseBrowser")) { | |
var l = LP.lpprefsHasUserValue("lastpollcheck") ? LP.lpprefsGetIntPref("lastpollcheck") : 0, | |
n = LP.lpprefsHasUserValue("logOffWhenCloseBrowserVal") ? LP.lpprefsGetIntPref("logOffWhenCloseBrowserVal") : | |
0; | |
if (Ab() - l >= 60 * n) { | |
Sa(!1, "ff_logOffWhenCloseBrowser"); | |
Kl && LP.setTimeout(function() { | |
LP.lpOpenLogin() | |
}, 0); | |
return | |
} | |
} | |
var p; | |
if ("" == ja) { | |
var q, r = Nj(Q, null, !1); | |
q = r ? r.split("\n")[0] : null; | |
if (!q) { | |
we(f, "nokeyfileA"); | |
return | |
} | |
p = Zb(Ya(q, pf, !0)); | |
if (!Nj(Q, p)) { | |
we(f, "nokeyfileB"); | |
return | |
} | |
} | |
if (g[0].hasAttribute("iterations")) { | |
var t = g[0].getAttribute("iterations"); | |
ft(t) && (Rb(Fa(Q) + "_key.itr", t), Sf = t) | |
} | |
if (!(null != g[0].getAttribute("trusted") && "1" == g[0].getAttribute("trusted")) && "httptest" == f) { | |
var A = null != g[0].getAttribute("sesamepassword") && | |
"" != g[0].getAttribute("sesamepassword") ? !0 : !1, | |
y = null != g[0].getAttribute("yubikeyenabled") && "1" == g[0].getAttribute("yubikeyenabled") ? !0 : !1, | |
J = null != g[0].getAttribute("googleauthenabled") && "1" == g[0].getAttribute("googleauthenabled") ? !0 : !1, | |
u = null != g[0].getAttribute("multifactorenabled") && "" != g[0].getAttribute("multifactorenabled") ? !0 : !1, | |
s = null != g[0].getAttribute("sesameotpok") && "" != g[0].getAttribute("sesameotpok") ? !0 : !1, | |
z = null != g[0].getAttribute("yubikeyotpok") && "" != g[0].getAttribute("yubikeyotpok") ? !0 : !1, | |
ia = null != g[0].getAttribute("googleauthotpok") && "" != g[0].getAttribute("googleauthotpok") ? !0 : !1, | |
B = null != g[0].getAttribute("multifactorresponseok") && "" != g[0].getAttribute("multifactorresponseok") ? !0 : !1; | |
if (A && !s) { | |
var F = jo(Q); | |
if ("" == F) { | |
Sa(!1, "ff_nosesame"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
var C = pc("logincheckpostdata") + "&sesameotp=" + encodeURIComponent(F); | |
pc("label") && (C += "&trustlabel=" + LP.en(pc("label"))); | |
LP.lpMakeRequest(LP.lp_base + "login_check.php", C, li, function() { | |
we(f, "makerequest") | |
}, f); | |
return | |
} | |
if (y && !z) { | |
F = zl(Q); | |
if ("" == F) { | |
Sa(!1, "ff_noyubi"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
C = pc("logincheckpostdata") + "&otp=" + encodeURIComponent(F); | |
Pb("label") && (C += "&trustlabel=" + LP.en(Pb("label"))); | |
LP.lpMakeRequest(LP.lp_base + "login_check.php", C, li, function() { | |
we(f, "makerequest") | |
}, f); | |
return | |
} | |
if (J && !ia) { | |
F = zs(Q); | |
if ("" == F) { | |
Sa(!1, "ff_nogoogle"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
C = pc("logincheckpostdata") + "&otp=" + encodeURIComponent(F); | |
kh("label") && (C += "&trustlabel=" + LP.en(kh("label"))); | |
LP.lpMakeRequest(LP.lp_base + "login_check.php", | |
C, li, function() { | |
we(f, "makerequest") | |
}, f); | |
return | |
} | |
if (!kx(g, f)) return; | |
if (u) | |
if (B) { | |
if ("omnikey" == cc("type")) { | |
var D = g[0].getAttribute("multifactorofflinepassword"); | |
jc.password_offline = D | |
} | |
} else { | |
var K = g[0].getAttribute("type"); | |
c = ""; | |
if ("trueapi" == K) { | |
var v = Fa(Fa(ic(Q) + K)); | |
64 != v.length && ma() && LP.lpis_win && "function" == typeof Z.trueapi_get_hash && (v = Z.trueapi_get_hash(Q)); | |
jc.password_offline = v; | |
jc.type = K; | |
c = "" != v ? Fa(v + g[0].getAttribute("challenge")) : "" | |
} else "omnikey" == K && (jc.type = K, ma() && "function" == typeof Z.omnikey_decrypt && | |
(c = Z.omnikey_decrypt(g[0].getAttribute("challenge"), ej()))); if ("" == c) { | |
var G = Ml(Q, K); | |
Sa(!1, "ff_nomulti"); | |
Ua("LoginError", !1, !0, !1, G); | |
return | |
} | |
C = pc("logincheckpostdata") + "&multifactorresponse=" + encodeURIComponent(c); | |
cc("label") && (C += "&trustlabel=" + LP.en(cc("label"))); | |
g[0].getAttribute("wxsessid") && (C += "&wxsessid=" + LP.en(g[0].getAttribute("wxsessid"))); | |
LP.lpMakeRequest(LP.lp_base + "login_check.php", C, li, function() { | |
we(f, "makerequest") | |
}, f); | |
return | |
} | |
}(null == ja || "" == ja) && vd(p, "lpLoginCheckResponse"); | |
gt(g, f, !0) | |
} | |
} | |
} catch (Y) { | |
ga("Failure in lpLoginCheckResponse: " + | |
Y + " ln: " + Y.lineNumber), we(f, "exception") | |
} | |
} | |
function kx(c, e) { | |
if ("httptest" != e) return !0; | |
var f = null != c[0].getAttribute("gridenabled") && "" != c[0].getAttribute("gridenabled") ? !0 : !1, | |
d = null != c[0].getAttribute("gridresponseok") && "" != c[0].getAttribute("gridresponseok") ? !0 : !1; | |
if (f && !d) { | |
f = As(Q, c[0].getAttribute("challenge")); | |
if ("" == f) { | |
Sa(!1, "ff_nogrid"); | |
Ua("LoginError", !1, !0); | |
return | |
} | |
f = pc("logincheckpostdata") + "&gridresponse=" + encodeURIComponent(f); | |
Yf("label") && (f += "&trustlabel=" + LP.en(Yf("label"))); | |
c[0].getAttribute("wxsessid") && | |
(f += "&wxsessid=" + LP.en(c[0].getAttribute("wxsessid"))); | |
LP.lpMakeRequest(LP.lp_base + "login_check.php", f, li, function() { | |
we(e, "makerequest") | |
}, e); | |
return !1 | |
} | |
return !0 | |
} | |
function Bf(c, e, f) { | |
try { | |
if (c && 4 == c.readyState) | |
if (200 != c.status || null == c.responseXML || null == c.responseXML.documentElement) ga("Problem with login response. status=" + c.status + " text=" + c.responseText, null), "function" == typeof e && e(); | |
else { | |
var d = c.responseXML.documentElement, | |
g = d.getElementsByTagName("ok"); | |
if (!g || 0 == g.length) { | |
var h = d.getElementsByTagName("error"); | |
if (h && 0 < h.length && h[0].hasAttribute("iterations")) { | |
var l = h[0].getAttribute("iterations"); | |
ft(l) && (Rb(Fa(Q) + "_key.itr", l), LP.lplogin(Q, ni, Pb("from"))) | |
} else if (h && 0 < h.length && h[0].getAttribute("pbkdf2fallback") && ("undefined" == typeof g_oldpbkdf2 || 1 != g_oldpbkdf2)) g_oldpbkdf2 = 1, LP.lplogin(Q, ni, Pb("from")); | |
else if ("undefined" != typeof g_oldpbkdf2 && (g_oldpbkdf2 = 0), h[0].getAttribute("server")) { | |
var n = h[0].getAttribute("server"); | |
if ("lastpass.com" == n || "lastpass.eu" == n) LP.lp_basehost = n, LP.lp_base = "https://" + n + | |
"/", base_url = "https://" + n + "/", LP.lpprefsSetCharPref("server", n, !1), LP.lplogin(Q, ni, Pb("from")) | |
} else { | |
h && 0 < h.length && h[0].hasAttribute("openurl") && LP.lpanyopen(h[0].getAttribute("openurl")); | |
var p = 0 == h.length ? "" : c.responseText; | |
if (h && 0 < h.length && h[0].hasAttribute("invalidsession")) Sa(!1, "ff_invalidsession"), LP.lpClearCache(!0, !1, !1), dc(LP.lp_base + "invalidsession.php", !0), Ua("LoginError", !1, !0); | |
else if (p && 0 < p.indexOf("blacklist")) Sa(!1, "ff_blacklisted"), LP.lpClearCache(!0, !1, !1), Ua("Blacklist", !1, !0, !1, | |
null, h[0].getAttribute("custombutton"), h[0].getAttribute("customaction")); | |
else if (p && 0 < p.indexOf("sesameotprequired")) { | |
LP.lpClearCache(!0, !1, !1); | |
var q = jo(Q); | |
if ("" == q) Sa(!1, "ff_nosesame"), Ua("LoginError", !1, !0); | |
else { | |
var r = pc("postdata") + "&sesameotp=" + encodeURIComponent(q), | |
t = pc("from"); | |
pc("label") && (r += "&trustlabel=" + LP.en(pc("label"))); | |
LP.lpMakeRequest(LP.lp_base + "login.php", r, Bf, function() { | |
Ve(t) | |
}, t) | |
} | |
} else if (p && 0 < p.indexOf("sesameotpfailed")) LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_sesamefailed"), Ua(h && | |
0 < h.length && h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
else if (p && 0 < p.indexOf("otprequired")) LP.lpClearCache(!0, !1, !1), q = zl(Q), "" == q ? (Sa(!1, "ff_noyubi"), Ua("LoginError", !1, !0)) : (r = Pb("postdata") + "&otp=" + encodeURIComponent(q), t = Pb("from"), Pb("label") && (r += "&trustlabel=" + LP.en(Pb("label"))), LP.lpMakeRequest(LP.lp_base + "login.php", r, Bf, function() { | |
Ve(t) | |
}, t)); | |
else if (p && 0 < p.indexOf("otpfailed")) LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_yubifailed"), Ua(h && 0 < h.length && h[0].getAttribute("message") ? | |
h[0].getAttribute("message") : "LoginError", !1, !0); | |
else { | |
if (p && 0 < p.indexOf("googleauthfailed")) { | |
var A = kh("fail_count"); | |
null == A && (A = 0); | |
A++; | |
le.fail_count = A; | |
if (5 > A) p = " googleauthrequired"; | |
else { | |
le.fail_count = 0; | |
LP.lpClearCache(!0, !1, !1); | |
Sa(!1, "ff_googauth"); | |
Ua(h && 0 < h.length && h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
return | |
} | |
} | |
if (p && 0 < p.indexOf("securityquestionfailed")) { | |
var y = $d("fail_count"); | |
null == y && (y = 0); | |
y++; | |
$c.fail_count = y; | |
if (5 > y) h && 0 < h.length && h[0].getAttribute("message") && | |
Cb(h[0].getAttribute("message")), p = " securityquestionrequired"; | |
else { | |
$c.fail_count = 0; | |
LP.lpClearCache(!0, !1, !1); | |
Sa(!1, "ff_securityquestion"); | |
Ua(h && 0 < h.length && h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
return | |
} | |
} | |
if (p && 0 < p.indexOf("googleauthrequired")) LP.lpClearCache(!0, !1, !1), q = zs(Q), "" == q ? (Sa(!1, "ff_googauth"), Ua("LoginError", !1, !0)) : (r = kh("postdata") + "&otp=" + encodeURIComponent(q), t = kh("from"), kh("label") && (r += "&trustlabel=" + LP.en(kh("label"))), LP.lpMakeRequest(LP.lp_base + | |
"login.php", r, Bf, function() { | |
Ve(t) | |
}, t)); | |
else if (p && 0 < p.indexOf("outofbandrequired")) { | |
LP.lpClearCache(!0, !1, !1); | |
var J = h[0].getAttribute("allowtrust"); | |
Hc.allowtrust = J; | |
var u = h[0].getAttribute("capabilities"); | |
Hc.capabilities = u; | |
var s = h[0].getAttribute("smshash"); | |
Hc.smshash = s; | |
var z = h[0].getAttribute("smstime"); | |
Hc.smstime = z; | |
var ia = h[0].getAttribute("smsuid"); | |
Hc.smsuid = ia; | |
var C = h[0].getAttribute("sms_nextcode"); | |
Hc.sms_nextcode = C; | |
var F = h[0].getAttribute("outofbandimage"); | |
Hc.outofbandimage = F; | |
var B = h[0].getAttribute("preferduowebsdk"); | |
Hc.preferduowebsdk = B; | |
r = Q; | |
Eb.active = "1"; | |
var D = { | |
otp: "", | |
username: r, | |
type: "outofband", | |
allowtrust: Se("allowtrust"), | |
capabilities: Se("capabilities"), | |
smshash: Se("smshash"), | |
smstime: Se("smstime"), | |
smsuid: Se("smsuid"), | |
outofbandimage: Se("outofbandimage"), | |
sms_nextcode: Se("sms_nextcode") | |
}; | |
P = !1; | |
LP.lp_handle_buttons_all("off"); | |
"1" == Se("preferduowebsdk") || LP.isFennecNative ? LP.lpbaseopen("duo.php?username=" + encodeURIComponent(Q)) : LP.lpGetCurrentWindow().openDialog(zb + "content/yubikey.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,alwaysRaised", | |
D); | |
"undefined" != typeof D.label && (Hc.label = D.label); | |
Eb.active = null | |
} else if (p && 0 < p.indexOf("securityquestionrequired")) | |
if (h[0].getAttribute("redirecturl")) dc(h[0].getAttribute("redirecturl")); | |
else { | |
LP.lpClearCache(!0, !1, !1); | |
var K = h[0].getAttribute("question"); | |
$c.question = K; | |
var v = h[0].getAttribute("autotrust"); | |
$c.autotrust = v; | |
var G = h[0].getAttribute("hidedisable"); | |
$c.hidedisable = G; | |
var Y = h[0].getAttribute("reseturl"); | |
$c.reseturl = Y; | |
h = Q; | |
Eb.active = "1"; | |
var E = { | |
otp: "", | |
username: h, | |
type: "securityquestion", | |
question: $d("question"), | |
autotrust: $d("autotrust"), | |
hidedisable: $d("hidedisable"), | |
reseturl: $d("reseturl") | |
}; | |
if (LP.isFennecNative) | |
if (h = { | |
value: "" | |
}, D = { | |
value: !1 | |
}, Components.classes["@mozilla.org/embedcomp/prompt-service;1"].getService(Components.interfaces.nsIPromptService).prompt(null, LP.lpgs("Security Question"), $d("question"), h, $d("autotrust") ? null : LP.lpgs("Trust this device?"), D)) { | |
if (E.otp = h.value, $d("autotrust") || D.value) E.label = LP.lpgs("Firefox Mobile") + " - " + LP.getuuid() | |
} else { | |
if ("0" == securityquesion_getdata("hidedisable") && | |
LP.confirm(LP.lpgs("Would you like to reset your security question?"))) { | |
var L = securityquesion_getdata("reseturl"); | |
L && "" != L ? dc(L) : LP.lpbaseopen("lostkey.php?cmd=sendemail&username=" + encodeURIComponent(Q) + "&type=securityquestion") | |
} | |
} else LP.lpGetCurrentWindow().openDialog(zb + "content/yubikey.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", E); | |
"undefined" != typeof E.label && ($c.label = E.label); | |
Eb.active = null; | |
q = E.otp; | |
"" == q ? (Sa(!1, "ff_securityquestion"), Ua("LoginError", !1, !0)) : (r = $d("postdata") + | |
"&otp=" + encodeURIComponent(q), t = $d("from"), $d("label") && (r += "&trustlabel=" + LP.en($d("label"))), LP.lpMakeRequest(LP.lp_base + "login.php", r, Bf, function() { | |
Ve(t) | |
}, t)) | |
} else if (p && 0 < p.indexOf("gridresponserequired")) { | |
LP.lpClearCache(!0, !1, !1); | |
var H = As(Q, h[0].getAttribute("challenge")); | |
"" == H ? (Sa(!1, "ff_nogridotp"), Ua("LoginError", !1, !0)) : (r = Yf("postdata") + "&gridresponse=" + encodeURIComponent(H), t = Yf("from"), Yf("label") && (r += "&trustlabel=" + LP.en(Yf("label"))), h[0].getAttribute("wxsessid") && (r += "&wxsessid=" + | |
LP.en(h[0].getAttribute("wxsessid"))), LP.lpMakeRequest(LP.lp_base + "login.php", r, Bf, function() { | |
Ve(t) | |
}, t)) | |
} else if (p && 0 < p.indexOf("gridresponsefailed")) LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_gridotp"), Ua(h && 0 < h.length && h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
else if (p && 0 < p.indexOf("multifactorresponserequired")) { | |
LP.lpClearCache(!0, !1, !1); | |
var O = h[0].getAttribute("type"), | |
H = ""; | |
if ("trueapi" == O) { | |
q = ""; | |
"trueapi" == cc("type") && (q = cc("password_offline")); | |
if (!q || 64 != q.length) q = | |
Fa(Fa(ic(Q) + O)); | |
if (!q || 64 != q.length) ma() && LP.lpis_win && "function" == typeof Z.trueapi_get_hash && (q = Z.trueapi_get_hash(Q)); | |
jc.password_offline = q; | |
jc.type = O; | |
H = "" != q ? Fa(q + h[0].getAttribute("challenge")) : "" | |
} else "omnikey" == O && (jc.type = O, ma() && "function" == typeof Z.omnikey_decrypt && (H = Z.omnikey_decrypt(h[0].getAttribute("challenge"), ej()))); if ("" == H) { | |
var da = Ml(Q, O); | |
Sa(!1, "ff_nomultifactor"); | |
Ua("LoginError", !1, !0, !1, da) | |
} else r = cc("postdata") + "&multifactorresponse=" + encodeURIComponent(H), t = cc("from"), cc("label") && | |
(r += "&trustlabel=" + LP.en(cc("label"))), h[0].getAttribute("wxsessid") && (r += "&wxsessid=" + LP.en(h[0].getAttribute("wxsessid"))), LP.lpMakeRequest(LP.lp_base + "login.php", r, Bf, function() { | |
Ve(t) | |
}, t) | |
} else if (p && 0 < p.indexOf("multifactorresponsefailed")) da = Ml(Q, h[0].getAttribute("type")), LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_multifactor"), Ua(h && 0 < h.length && h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0, !1, da); | |
else if (p && 0 < p.indexOf("unknownemail")) Sa(!1, "ff_unknownusername"), Ua(h[0].getAttribute("message") ? | |
h[0].getAttribute("message") : "LoginError", !1, !0, !0); | |
else if (p && 0 < p.indexOf("unknownpassword")) Sa(!1, "ff_unknownpw"), Ua(h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
else if (p && 0 < p.indexOf("iprestriction")) LP.lpClearCache(!0, !1, !1), Sa(!1, "ff_iprestriction"), Ua(h[0].getAttribute("message") ? h[0].getAttribute("message") : "LoginError", !1, !0); | |
else if (h && 0 < h.length && h[0].hasAttribute("cause")) { | |
var M = h[0].getAttribute("cause"); | |
Sa(!1, "ff_cause" + M); | |
Ua(0 < h.length && h[0].getAttribute("message") ? | |
h[0].getAttribute("message") : "LoginError", !1, !0, !1, null, h[0].getAttribute("custombutton"), h[0].getAttribute("customaction")) | |
} else ga("login.php returned invalid response text=" + c.responseText), Ve(f) | |
} | |
} | |
} else g[0].hasAttribute("iterations") && (l = g[0].getAttribute("iterations"), Rb(Fa(Q) + "_key.itr", l), Sf = l), pf = Zb(Fa(g[0].getAttribute("pwdeckey"))), Q = g[0].getAttribute("lpusername"), ha = Fa(Q), ld = g[0].getAttribute("uid"), ni = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", | |
"1" == g[0].getAttribute("pwresetreqd") ? LP.lpbaseopen("passwordreset.php?u=" + LP.en(Q)) : (Hh(), gt(g, f, !1)) | |
} | |
} catch (ca) { | |
ga("Failure in lpLoginResponse: " + ca + " ln: " + ca.lineNumber), Ve(f) | |
} | |
} | |
function gt(c, e, f) { | |
if (null == ja || "" == ja) ga("lpLoginCommon : WTF! We are in lpLoginCommon but our key has not been set -- INVESTIGATE! from=" + e + " logincheck=" + ("undefined" == typeof f ? "undefined" : f)), Sa(!1, "ff_nokeylogincommon"); | |
rc = !1; | |
if (null == f || "undefined" == typeof f) f = !0; | |
We && (LP.mostRecent().clearTimeout(We), We = null); | |
Xe && | |
(LP.mostRecent().clearTimeout(Xe), Xe = null); | |
Sh(ha + "_lp.key", ha + "_lp.act.key"); | |
Sh(ha + "_lp.act.key", ha + "_lp.act.lps"); | |
var d = c[0].getAttribute("sesamepassword"); | |
Rd.password_offline = d; | |
d = c[0].getAttribute("yubikeyhash"); | |
Wc.password_offline = d; | |
d = c[0].getAttribute("yubikeykeysline"); | |
Wc.password_keysline = d; | |
d = c[0].getAttribute("yubikeyserverpassword"); | |
Wc.password_server = d; | |
d = c[0].getAttribute("gridpassword"); | |
Eb.password_offline = d; | |
(rn = 1 == c[0].getAttribute("disableoffline") ? 1 : 0) && LP.lpClearCache(!0, !1, !1, !0); | |
lf(); | |
Dj = c[0].getAttribute("privatekeyenchash"); | |
LP.lphelpstats = new Cq; | |
LP.lphelpstats.currentlyopen = !1; | |
LP.lphelpstats.wino = null; | |
LP.lphelpstats.highlighthelp = "1" == c[0].getAttribute("hih") ? !0 : !1; | |
LP.lphelpstats.genpwhelp = "1" == c[0].getAttribute("genh") ? !0 : !1; | |
LP.lphelpstats.addsitehelp = "1" == c[0].getAttribute("addh") ? !0 : !1; | |
oi = c[0].getAttribute("country"); | |
gh = "1" == c[0].getAttribute("upgrade") ? !0 : !1; | |
ml = "1" == c[0].getAttribute("logoff_other_ses") ? !0 : !1; | |
if ((d = c[0].getAttribute("pollinterval")) && -1 != d && !isNaN(parseInt(d)) && | |
isFinite(d)) LP.lpprefsSetIntPref("pollServerVal", d), LP.lpprefsSetBoolPref("pollServer", !0), LP.g_flags.pollIntervalSetByPolicy = 1; | |
rr(c[0], "login"); | |
LP.lpLoadThreshold = c[0].getAttribute("pageloadthres"); | |
d = LP.getsinglefactortype(); | |
"1" == c[0].getAttribute("multifactor_singlefactor") ? "" == d && ("trueapi" == cc("type") ? ma() && LP.lpis_win && "function" == typeof Z.trueapi_default_login_exists && Z.trueapi_default_login_exists(Q) && LP.setsinglefactortype(cc("type")) : "vtapi" == c[0].getAttribute("singlefactortype") ? ma() && LP.lpis_mac && | |
"function" == typeof Z.lpvt_has_data && Z.lpvt_has_data() && LP.setsinglefactortype(c[0].getAttribute("singlefactortype")) : "validity" == c[0].getAttribute("singlefactortype") ? ma() && LP.lpis_win && "function" == typeof Z.validity_has_data && Z.validity_has_data() && LP.setsinglefactortype(c[0].getAttribute("singlefactortype")) : "winbio" == c[0].getAttribute("singlefactortype") && ma() && LP.lpis_win && "function" == typeof Z.winbio_has_data && Z.winbio_has_data() && LP.setsinglefactortype(c[0].getAttribute("singlefactortype"))) : | |
"" != d && LP.disable_single_factor(); | |
P = !0; | |
mi = 1 == parseInt(c[0].getAttribute("isadmin")); | |
ph = 1 == parseInt(c[0].getAttribute("companyadmin")); | |
Lo = 1 == parseInt(c[0].getAttribute("showcredmon")); | |
ad = parseInt(c[0].getAttribute("loglogins")); | |
c[0].getAttribute("email"); | |
kc = parseInt(c[0].getAttribute("accts_version")); | |
dg = parseInt(c[0].getAttribute("attachversion")); | |
Nl = c[0].getAttribute("token"); | |
Sc = c[0].getAttribute("sessionid"); | |
Ol = parseInt(c[0].getAttribute("multifactorscore")); | |
Pl = null != c[0].getAttribute("disablepwalerts") && | |
1 == c[0].getAttribute("disablepwalerts") ? !0 : !1; | |
lpsendchallengescore = null != c[0].getAttribute("sendchallengescore") && 1 == c[0].getAttribute("sendchallengescore") ? !0 : !1; | |
kc != vb && (vb = -1); | |
LP.lp_handle_buttons_all("in"); | |
d = c[0].getAttribute("pushserver"); | |
if (null != d && d.length) try { | |
var g = 0; | |
if (!LP.lpprefsHasUserValue("pollServer") || LP.lpprefsGetBoolPref("pollServer")) g = 6E4 * (LP.lpprefsHasUserValue("pollServerVal") ? LP.lpprefsGetIntPref("pollServerVal") : 15); | |
if (0 != g) { | |
var h = d.split(" "); | |
ht(h[0], h[1], Rr) | |
} | |
} catch (l) {} | |
if ((h = | |
c[0].getAttribute("note_title")) && h.length) d = c[0].getAttribute("note_text"), g = c[0].hasAttribute("note_url") ? c[0].getAttribute("note_url") : null, vc(h, null, 0, "viewalert", g, !0, d); | |
if (!0 == LP.getcontrol("offer_popupfill") && (Mb = LP.lpprefsHasUserValue("usepopupfill") ? LP.lpprefsGetBoolPref("usepopupfill") : !0) && !LP.lpprefsHasUserValue("changedpopupfill")) LP.lpprefsSetBoolPref("showFormFillNotifications", !1), LP.lpprefsSetBoolPref("showFormFillNotifications", !1, !1), LP.lpprefsSetBoolPref("showFillNotifications", !1), LP.lpprefsSetBoolPref("showFillNotifications", !1, !1), LP.lpprefsSetBoolPref("offerGeneratePasswd", !1), LP.lpprefsSetBoolPref("offerGeneratePasswd", !1, !1), LP.lpprefsSetBoolPref("notificationsAfterClick", !1), LP.lpprefsSetBoolPref("changedpopupfill", !0); | |
d = "websiterefreshrsa" == e ? !0 : !1; | |
if (ma()) | |
if (null == ja || "" == ja) ga("lprsa_login : lp_local_key is invalid"); | |
else if ("1" != c[0].getAttribute("donotregeneratekeys")) | |
if (h = 0, d && (Fk(), h = 2), "" == Dj) { | |
c[0].setAttribute("donotregeneratekeys", "1"); | |
var d = rb(ja), | |
d = d.toUpperCase(), | |
g = {}, n = {}; | |
!0 != Z.xGenerateKeys(d, g, n) || null == g.value || "" == g.value || null == n.value || "" == n.value ? ga("lprsa_login : failed to generating new rsa key pair", null) : ws(d, g.value, n.value, h) | |
} else("" == Gg("readfromfile") || "" == cg || Fa(cg) != Dj) && ws("", "", ""); | |
LP.lpdolostpwotp && c[0].hasAttribute("lostpwotpresult") && (($b(ha + "_lps.act.sxml") || $b(ha + "_lps.act.xml")) && !LP.lpprefsHasUserValue("StoreLostPWOTP") ? LP.lpprefsSetBoolPref("StoreLostPWOTP", !0) : LP.lpprefsHasUserValue("StoreLostPWOTP") || LP.lpprefsSetBoolPref("StoreLostPWOTP", !0)); | |
if (LP.lpdolostpwotp && (!LP.lpprefsHasUserValue("StoreLostPWOTP") || LP.lpprefsGetBoolPref("StoreLostPWOTP")) && c[0].hasAttribute("lostpwotpresult") && "ok" != c[0].getAttribute("lostpwotpresult")) LP.DeleteOTP(), LP.MakeOTP(); | |
LP.lpCloseNotifications(); | |
if ((!f || "websitelogin" == e) && !Oc && !Dd) "websitelogin" == e && Hh(), Gc("internal_logincheck_ack", { | |
data0: Sc, | |
data1: Q, | |
data2: LP.GetIdentity() | |
}); | |
try { | |
var p = "0" == c[0].getAttribute("ignoreminor") ? !1 : !0, | |
q = c[0].getAttribute("reqdversion"); | |
"" != nc && "" != q && 0 > Hl(nc, q, p) && (LP.alert(LP.lpgs("A required update is available for LastPass. Please press OK to begin download and installation.")), | |
LP.lpUpdate()) | |
} catch (r) {} | |
Ko(); | |
Ql = !0; | |
it(c[0].getAttribute("formfillver"), "ff.dat", jt, "ff", "ff.dat"); | |
it(c[0].getAttribute("sitesver"), "sites.dat", -1, "sites", "sites.dat"); | |
0 == LP.numsites() || kc != vb ? Fb() : LP.lpRecheckTabs(!0); | |
("pluginlogin" == e || "createaccount" == e || e == jg || e == oh) && Pc(); | |
f = Ab(); | |
LP.lpprefsSetIntPref("lastpollcheck", f); | |
LP.flush_prefs(); | |
vj = Jl = f; | |
LP.lpdopoll && LP.setupPollTimer(); | |
oo ? (oo = !1, Ns()) : ("pluginlogin" == e || "createaccount" == e || e == jg) && (!LP.lpprefsHasUserValue("showHomepageAfterLogin", !1) || !0 == LP.lpprefsGetBoolPref("showHomepageAfterLogin", !1)) && cl(); | |
LP.isFennecNative || (e = fr(), "" == e && (e = "0"), parseInt(e) < parseInt(c[0].getAttribute("iconsversion")) && LP.lpMakeRequest(LP.lp_base + "geticon.php", "versionff=" + LP.en(e), gr)); | |
LP.ShowPremiumMenuItem(); | |
LP.ShowMenuItem("entconsole", "Admin Console", ph); | |
LP.lpretryrequests(); | |
if (c[0].getAttribute("sauid0")) { | |
e = 0; | |
f = ""; | |
p = null; | |
"undefined" != typeof La && null != La ? p = La : "undefined" != typeof Xa && null != Xa && (p = Xa); | |
if (null != p) try { | |
for (; c[0].getAttribute("sauid" + e);) { | |
var t = | |
io(c[0].getAttribute("sakey" + e), p.bin2hex(ja)); | |
t && (f += "&sauid" + e + "=" + LP.en(c[0].getAttribute("sauid" + e)) + "&sakey" + e + "=" + LP.en(t)); | |
e++ | |
} | |
} catch (A) {} | |
f.length && LP.lpMakeRequest(LP.lp_base + "uploadsuperkeys.php", "cmd=uploadsuperadmin&" + f, null, null) | |
} | |
} | |
function it(c, e, f, d, g) { | |
if (!("" == c || "0" == c)) { | |
var h = f; | |
f = !1; | |
$b(e) ? (e = Jb(e), h = -1 == e.indexOf("\n") ? e.length : e.indexOf("\n"), h = e.substr(0, h)) : f = !0; - 1 != h && 0 < Hl(c, h) && (f = !0); | |
f && LP.lpMakeRequest(LP.lp_base + "getappdata.php", "type=" + LP.en(d), pw, null, g) | |
} | |
} | |
function bt() { | |
if (Ga && | |
hd) return null; | |
var c = lh(); | |
if (0 == c.length) return null; | |
var c = c[0], | |
e = Re(); | |
return "undefined" == typeof e[c] ? null : { | |
username: c, | |
password: e[c] | |
} | |
} | |
function Dk(c, e) { | |
for (var f = lh(), d = 0; d < f.length; d++) | |
if (f[d] == c) { | |
f.splice(d, 1); | |
break | |
} | |
null == e && (e = LP.lpprefsHasUserValue("rememberUsername") ? LP.lpprefsGetBoolPref("rememberUsername") : !1); | |
e && LP.check_email(c) && f.unshift(c); | |
Jj(f) | |
} | |
function lh(c) { | |
var e = ""; | |
LP.lpprefsHasUserValue("loginusers", !1) && (e = LP.lpprefsGetCharPref("loginusers", !1)); | |
var f = [], | |
d = encodeURIComponent(c); | |
"undefined" != | |
typeof c && "" != c && -1 == e.indexOf(d) && (e = d + "|" + e); | |
if ("" != e) { | |
f = e.split("|"); | |
for (c = 0; c < f.length; c++) try { | |
f[c] = decodeURIComponent(f[c]) | |
} catch (g) { | |
f[c] = "" | |
} | |
} | |
return f | |
} | |
function Xm(c, e) { | |
var f = Re(); | |
"undefined" != typeof f[c] && LP.make_lp_key(c, f[c]) != e && (f[c] = null, hh(f)) | |
} | |
function Re() { | |
var c = ""; | |
LP.lpprefsHasUserValue("loginpws", !1) && (c = Ih(LP.lpprefsGetCharPref("loginpws", !1))); | |
var e = [], | |
f = []; | |
if ("" != c) { | |
e = c.split("|"); | |
for (c = 0; c < e.length; c++) { | |
var d = e[c].split("="); | |
if ("undefined" != typeof d[1]) { | |
var g; | |
try { | |
g = decodeURIComponent(d[0]) | |
} catch (h) { | |
g = | |
"" | |
} | |
var l; | |
try { | |
l = decodeURIComponent(d[1]) | |
} catch (n) { | |
l = "" | |
} | |
d = Zb(Fa(g)); | |
l = Ya(l, d); | |
f[g] = l | |
} | |
} | |
} | |
return f | |
} | |
function uw(c, e) { | |
Cr(c, e) | |
} | |
function Cr(c) { | |
P || LP.lpGetCurrentWindow().setTimeout(function() { | |
P || LP.lpOpenLogin(c.extra) | |
}, 500) | |
} | |
function Ml(c, e) { | |
return "multifactordisable.php?cmd=sendemail&username=" + encodeURIComponent(c) + "&type=" + encodeURIComponent(e) | |
} | |
function ft(c) { | |
var e = Fa(Q), | |
e = Jb(e + "_key.itr"); | |
return null != e && "" != e && parseInt(e) > c && lx ? LP.confirm(LP.lpgs("IterationsReduction")) : !0 | |
} | |
function Rl(c, e, f) { | |
Mo = !1; | |
if (f) a: { | |
c = | |
pi(!0); | |
var d = e.rid, | |
g = e.ts; | |
f = null; | |
for (var h in c) { | |
if (c[h].rid == d) { | |
ga("SK:We tried to append a row with an idential rid value", null); | |
break a | |
} | |
if (null == f) { | |
var l = parseInt(c[h].ts); | |
g < l && (f = h) | |
} | |
} | |
if (null == f) c[c.length] = e; | |
else { | |
d = []; | |
for (h in c) h == f && (d[d.length] = e), d[d.length] = c[h]; | |
c = d | |
} | |
kt(c) || ga("SK:Could not write to retry file in lpretryinsert", null) | |
} else if ("invalidresponse" == c || "onerror" == c || "exception" == c || "objectcreation" == c) e = e.url, -1 == e.indexOf("loglogin.php") && -1 == e.indexOf("logformfill.php") && (-1 == | |
e.indexOf("error.php") && -1 == e.indexOf("prof.php") && -1 == e.indexOf("getappdata.php") && -1 == e.indexOf("poll_server.php") && -1 == e.indexOf("httptest.php") && -1 == e.indexOf("geticon.php") && -1 == e.indexOf("logout.php") && -1 == e.indexOf("uploadsuperkeys.php")) && Ua("ErrorSendingMsg") | |
} | |
function lt(c) { | |
var e = []; | |
if ("string" == typeof c && "" != c) { | |
c = c.split("&"); | |
for (var f = 0; f < c.length; f++) { | |
var d = c[f].split("="); | |
e[d[0]] = 2 <= d.length ? decodeURIComponent(d[1]) : "" | |
} | |
} | |
return e | |
} | |
function mx() { | |
var c = Q; | |
if (("" == c || null == c) && "undefined" != | |
typeof Ec) c = Ec; | |
var e = "undefined" == typeof pd ? "ff" : "cr"; | |
if ("" == c || null == c) return e + "unknown1"; | |
c = c.toLowerCase().replace(/\s*/g, ""); | |
if ("" == c) return e + "unknown2"; | |
c = da(c, null, !0); | |
return "" == c ? e + "unknown3" : c | |
} | |
function ns(c) { | |
return c.responseXML && c.responseXML.documentElement ? "undefined" != typeof c.responseXML.documentElement.nodeName && "parsererror" == c.responseXML.documentElement.nodeName && void 0 != typeof c.responseXML.documentElement.namespaceURI && "http://www.mozilla.org/newlayout/xml/parsererror.xml" == c.responseXML.documentElement.namespaceURI ? !1 : !0 : !1 | |
} | |
function No(c) { | |
return 0 < c.indexOf("?rid=") || 0 < c.indexOf("&rid=") | |
} | |
function Oo(c, e) { | |
e ? mt(c) ? (Db.status = "done", Db.donems = (new Date).getTime(), Po(!1)) : (ga("SK:lpremovefromretryfile failed for rid=" + c, null), nt("SK:lpremovefromretryfile failed for rid=" + c + ". Contents of retry file:"), Db.exit = !0) : (Db.status = "failed", Db.donems = (new Date).getTime(), Po(!0, !0, c)) | |
} | |
function Po(c, e, f) { | |
if (c) { | |
c = e ? 864E5 : 6E5; | |
var d = Db.retryintervalms, | |
g = 2 * d; | |
0 == g ? g = 2E3 : g > c && (g = c); | |
Db.retryintervalms = g; | |
d != g && (Math.round(d / 1E3), | |
Math.round(g / 1E3)); | |
e && ("undefined" == typeof Oj[f] && (Oj[f] = 0), Oj[f]++, 16 == Oj[f] && (Oj[f] = 0, mt(f))) | |
} else Db.retryintervalms != Db.initretryintervalms && (Math.round(Db.retryintervalms / 1E3), Math.round(Db.initretryintervalms / 1E3)), Db.retryintervalms = Db.initretryintervalms | |
} | |
function mt(c) { | |
var e = pi(!0); | |
if (0 == e.length) return !0; | |
var f, d = !1, | |
g = []; | |
for (f = 0; f < e.length; ++f) e[f].rid == c ? d = !0 : g[g.length] = e[f]; | |
if (!d) return nt("SK:lpremovefromretryfile : ERROR could not find rid=" + c + ". Contents of retry file:"), !1; | |
if (!kt(g)) return !1; | |
0 == g.length && LP.lpGetAccounts(); | |
return !0 | |
} | |
function nt() { | |
var c = pi(!0), | |
e; | |
for (e in c) | |
for (var f in c[e]); | |
} | |
function pi(c) { | |
if (null == Pj || c) { | |
c = []; | |
var e; | |
e = Jk(); | |
e = "" == e ? [] : Jb(e); | |
if (null == e) return c; | |
if ("" == e) return Pj = c; | |
e = Ya(e); | |
if ("" == e || null == e) return ga("Failed to decrypt retry data", null), cn(), c; | |
e = Ie(e); | |
if (null == e) return ga("Failed to lpatob decrypted retry data (so perhaps decryption failed)", null), cn(), c; | |
var f = e.indexOf(">LastPassRetry"); | |
if (28 > e.length || 0 != e.indexOf("LastPassRetry<") || f != e.length - 14) return ga("Retry data format after decryption invalid: end=" + | |
f + " data=" + e, null), cn(), c; | |
e = e.substring(14, f); | |
if ("" != e) { | |
e = e.split("\n"); | |
for (f = 0; f < e.length; ++f) { | |
var d = c, | |
g = c.length, | |
h; | |
h = []; | |
var l = /<([^ ]+) ?(.*)\/>/; | |
if ((l = l.exec(e[f])) && 3 == l.length) | |
for (var n = l[2], l = /([^=]+)="([^"]*)"/, p = null; null != (p = l.exec(n)) && 3 == p.length;) { | |
var q = p[1].toString(), | |
p = p[2].toString(), | |
n = n.replace(q + '="' + p + '"', ""), | |
q = ae(q), | |
p = qc(p); | |
"null" == q ? p = null : "false" == q && (p = !1); | |
h[q] = p | |
} | |
d[g] = h | |
} | |
} | |
Pj = c | |
} | |
return Pj | |
} | |
function kt(c) { | |
var e = "", | |
f; | |
for (f = 0; f < c.length; ++f) { | |
var d = 0 == f ? "" : "\n", | |
g = c[f], | |
h = "<row", | |
l = void 0; | |
for (l in g) null == g[l] && (g[l] = "null"), "object" == typeof g[l] && (g[l] = "null"), h += " " + l + '="' + yl(g[l].toString()) + '"'; | |
h += "/>"; | |
e += d + h | |
} | |
c = Hk("LastPassRetry<" + e + ">LastPassRetry"); | |
if (null == c) return !1; | |
c = da(c); | |
if ("" == c || null == c) return !1; | |
Pj = null; | |
f = Jk(); | |
"" == f ? c = !1 : (Rb(f, c), c = !0); | |
pi(!0); | |
return c | |
} | |
function on(c, e, f) { | |
for (var d = c.getElementsByTagName("input"), g = 0, h = null, l = 0; l < d.length; l++) | |
if (d[l].form == e) | |
if ("password" == d[l].type && "" != d[l].value) g = 1; | |
else if (f == d[l].type) { | |
if (g && "button" != f) return d[l].click(), 1; | |
g && "button" == | |
f && !h && (h = d[l]) | |
} | |
if ("button" == f) { | |
for (var n = null, d = c.getElementsByTagName("button"), l = 0; l < d.length; l++) | |
if (d[l].form == e && ("button" == d[l].type || "submit" == d[l].type || "image" == d[l].type) && g) n ? "submit" == d[l].type && (n = d[l]) : n = d[l]; | |
if (n) return n.click(), 1; | |
if ("button" == f && h) return h.click(), 1 | |
} | |
return 0 | |
} | |
function Za(c, e, f, d) { | |
var g = c, | |
h = "string" == typeof c ? c.replace(/:/g, "_") : c, | |
l = "undefined" == typeof e || null == e ? "" : e; | |
if ("undefined" != typeof Rg[l + c]) return Rg[l + c]; | |
if ("undefined" == typeof tn[l] && "string" == typeof c && 0 == | |
c.indexOf("ff_")) { | |
a: { | |
var n = l, | |
p = n, | |
n = "" == n ? "en-US" : n; | |
if ($b("ff.dat")) { | |
for (var q = Jb("ff.dat", null, 1).split("\n"), r = !1, t = 0; t < q.length; t++) { | |
if (r && 0 == q[t].indexOf("lang=")) break a; | |
if (!r && q[t] == "lang=" + n) r = !0; | |
else if (r) { | |
var A = q[t].indexOf("="); | |
if (-1 != A) { | |
var y = q[t].substr(0, A), | |
A = q[t].substr(A + 1); | |
ot(y, p + y, A) | |
} | |
} | |
} | |
tn[p] = 1 | |
} | |
} | |
if ("undefined" != typeof Rg[l + c]) return Rg[l + c] | |
} | |
"undefined" == typeof qi["en-US"] && (qi["en-US"] = T["@mozilla.org/intl/stringbundle;1"].getService(ca.nsIStringBundleService).createBundle("chrome://lastpass-locales/content/en-US/lang.properties")); | |
if (("undefined" == typeof e || null == e) && !d && "undefined" != typeof Ka) e = Ka; | |
if ("undefined" == typeof e || null == e) try { | |
g = nx.GetStringFromName(h), "" == g && (g = qi["en-US"].GetStringFromName(h)) | |
} catch (J) {} else { | |
try { | |
"undefined" == typeof qi[e] && (qi[e] = T["@mozilla.org/intl/stringbundle;1"].getService(ca.nsIStringBundleService).createBundle("chrome://lastpass-locales/content/" + e + "/lang.properties")), g = qi[e].GetStringFromName(h) | |
} catch (u) { | |
return Za(c, null, f, !0) | |
} | |
if ("" == g) return Za(c, null, f, !0) | |
} | |
return ot(c, l + c, g) | |
} | |
function ot(c, | |
e, f) { | |
if ("string" != typeof c || 0 != c.indexOf("ff_") || null == f || "undefined" == typeof f || 0 != f.indexOf("__")) return "string" == typeof c && 0 == c.indexOf("ff_") && (Rg[e] = f), f; | |
f = f.substr(2); | |
c = ""; | |
for (var d = 0; 8 > d; d++) c += "arti"; | |
f = Ya(f, c); | |
return Rg[e] = f | |
} | |
function jj(c, e, f, d, g, h, l, n, p, q, r) { | |
c || (c = {}, c.contentWindow = l); | |
"undefined" == typeof n && (n = 1); | |
if (10 < n) return null; | |
1 == n && ("undefined" == typeof c.lpformtosubmit1 && (c.lpformtosubmit1 = null), "undefined" == typeof c.lpformtosubmit2 && (c.lpformtosubmit2 = null)); | |
if ("undefined" == typeof h || | |
null == h) h = c.contentDocument; | |
if ("undefined" == typeof l || null == l) l = c.contentWindow; | |
var t = "undefined" != typeof LP ? LP.lpgetcurrenturl(c) : Wa.URLToASCII(content.document.location.href); | |
if (!h || "undefined" == typeof h.location || null == h.location) return !1; | |
var A = Wa.URLToASCII(h.location.href), | |
y = Ta(A), | |
J = []; | |
Pk(J, l, h); | |
if (Mb) var u = []; | |
var s = Ab(); | |
p || (p = []); | |
q || (q = []); | |
for (var C = !1, ia = !1, B = !1, F = 0; 2 > F; F++) | |
if (!ia) | |
for (var D in Va) { | |
var v = D, | |
K = Va[D], | |
G = z[K.aid]; | |
G && "undefined" != typeof G.frompartner && (r = !0); | |
var E = G && null != G.sharedfromaid && | |
"" != G.sharedfromaid && "0" != G.sharedfromaid, | |
Y = !1; | |
if (0 == F) | |
if ("undefined" != typeof c.loginAid && c.loginAid == K.aid) Y = !0, e = !1; | |
else continue; | |
else K.save_all && (f = !0); | |
if (ri(Ta(K.url), y)) | |
if (g && (g.aid = K.aid), !0 != d && 45 <= s - K.create_time) p[p.length] = v, q[q.length] = K.url; | |
else { | |
var L = nb(A), | |
H = nb(K.url), | |
O = t == A ? L : nb(t), | |
Q = xb(K.url), | |
Z = sc(Q.host, K.url), | |
M = !1; | |
if (!Y && L != H) { | |
var da = xb(A), | |
ca = sc(da.host, A); | |
if (ri(ca, Z)) { | |
var W = je(J, Z, K.p, K.o, K.multi, K.pname, K.uname, -1); | |
W && hj(W, K, null, !1) && (M = !0) | |
} | |
} | |
if (Y || M || L == H || O == H) { | |
K.save_all && (B = !0); | |
K.onlyfill && (e = !0); | |
if (d) return C = !e && !K.overlay_shown ? !0 : !1, K.overlay_shown = !0, C; | |
var w = !0; | |
if ("" != K.custom_js) { | |
var P = Qk(K.custom_js, fb(G, 0), fb(G, 1), "2", !1, h); | |
"" != P && -1 != P.indexOf("lpdonotsendkeys") && (w = !1); | |
try { | |
if (h.body) { | |
var V = h.createElement("script"), | |
ba = h.createTextNode(P); | |
V.appendChild(ba); | |
"" != h.body.textContent.replace(/^\s\s*/, "").replace(/\s\s*$/, "") && h.body.appendChild(V) | |
} | |
} catch (ka) { | |
ga("Error running custom JS 2: " + ka + " ln: " + ka.lineNumber, A) | |
} | |
} | |
if (!K.save_all && 0 == F || 1 == F) { | |
if (f || Y) W = je(J, | |
Z, K.p, K.o, K.multi, null, null, -1), !W && r && !K.multi && (W = je(J, Z, K.p, K.o, !0, null, K.uname, -1)); | |
else if (W = je(J, Z, K.p, K.o, K.multi, K.pname, K.uname, -1), !W && "undefined" != typeof K.uname && "" != K.uname && ("undefined" == typeof K.pname || null == K.pname || "" == K.pname)) W = je(J, Z, K.p, K.o, !0, null, K.uname, -1); | |
if (!W && "undefined" != typeof G.frompartner && 0 == l.frames.length) | |
for (var ha = 0; ha < J.length; ha++) { | |
var ja = J[ha]; | |
if (0 == ja.textnames.length && 0 == ja.pwnames.length) { | |
W = ja.form; | |
e = !0; | |
break | |
} | |
} | |
if (!W && "undefined" != typeof G.frompartner && "" == | |
K.p) | |
for (ha = 0; ha < J.length; ha++) | |
if (ja = J[ha], 1 == ja.textnames.length && 0 == ja.pwnames.length) { | |
W = ja.form; | |
break | |
} | |
} | |
var U = function(c, d, e, f, g) { | |
var l; | |
l = "google.com" == g && "Email" == c.id && "Email" == c.name && "email" == c.type && "hidden" == c.className ? !0 : !1; | |
if (!l && (f = "undefined" != typeof f && f && "undefined" != typeof Qj && "undefined" != typeof Qj[f] && 25E3 >= (new Date).getTime() - Qj[f], c.value != d || f)) { | |
if (!e) | |
if ("undefined" == typeof h.recent_no_dupes && (h.recent_no_dupes = []), "undefined" == typeof h.recent_no_dupes[xa(c)]) h.recent_no_dupes[xa(c)] = | |
1; | |
else if ("" != c.value) return; | |
if (!(Sk && "off" == c.getAttribute("autocomplete"))) { | |
E && "password" == c.type && ("undefined" == typeof h.LPlpsharedpasswordfills && (h.LPlpsharedpasswordfills = []), "object" == typeof h.LPlpsharedpasswordfills && (h.LPlpsharedpasswordfills[h.LPlpsharedpasswordfills.length] = c)); | |
e = !0; | |
"select-one" == c.type && c.value == d && (e = !1); | |
if ("imo.im" == g && f) { | |
c.value = ""; | |
c.focus(); | |
for (g = 0; g < d.length; g++) gs(c, d.charCodeAt(g), 0, !1) | |
} else if (e) { | |
f && c.focus(); | |
a: { | |
f = h; | |
if ("undefined" != typeof c.form && "undefined" != typeof g && | |
"" != g && (l = "undefined" == typeof c.form || null == c.form || "undefined" == typeof c.form.action || 0 == c.form.action.indexOf("javascript:") ? "" : Ta(c.form.action), "" != l && 0 < l.indexOf(".") && -1 == l.indexOf("(") && -1 == l.indexOf(")") && "0.0.0.0" != l && !ri(g, l))) | |
if (oc(c)) { | |
"undefined" == typeof f.allow_crossorigin && (f.allow_crossorigin = []); | |
"undefined" == typeof f.allow_crossorigin[g] && (f.allow_crossorigin[g] = []); | |
if ("undefined" == typeof f.allow_crossorigin[g][l]) | |
if (ol("LASTPASS SECURITY WARNING\n\nDo you allow your credentials for " + | |
g + " to be sent to " + l + "?\n\nClicking 'Yes' will automatically fill your credentials on this page.\nClicking 'No' will prevent your credentials from being automatically filled.")) { | |
f.allow_crossorigin[g][l] = !0; | |
var n = f.location.href; | |
"https://" == n.substring(0, 8) ? n = n.substring(8) : "http://" == n.substring(0, 7) && (n = n.substring(7)); | |
LP.lpDeleteNever(n, 3, !1) | |
} else f.allow_crossorigin[g][l] = !1, br(f.location.href); | |
if (!f.allow_crossorigin[g][l]) { | |
g = !1; | |
break a | |
} | |
} else { | |
g = !1; | |
break a | |
} | |
g = !0 | |
} | |
if (!g) return !1; | |
c.value = d; | |
Mb && u.push(c) | |
} | |
"undefined" != | |
typeof LP && LP.lpprefsHasUserValue("clearfilledfieldsonlogoff") && LP.lpprefsGetBoolPref("clearfilledfieldsonlogoff") && ("object" != typeof h.lp_filled_fields && (h.lp_filled_fields = []), h.lp_filled_fields[h.lp_filled_fields.length] = c); | |
e && Qc(c, w); | |
g = {}; | |
g.f = c; | |
g.v = d; | |
h.lastpass_recheck_fields[h.lastpass_recheck_fields.length] = g | |
} | |
} | |
}; | |
if (!W && r && h.getElementsByTagName("input").length) { | |
for (var T = h.getElementsByTagName("input"), la = -1, ma = -1, na = 0; na < T.length; na++) { | |
var pa = T[na].type; | |
if (("text" == pa || "email" == pa || "tel" == | |
pa || "url" == pa) && -1 == ma) la = na; | |
"password" == pa && -1 == ma && (ma = na) | |
} | |
var oa = null; - 1 != ma && (h.lastpass_recheck_fields = [], -1 != la && U(T[la], K.u, !1, K.aid, y), U(T[ma], K.p, !1, K.aid, y), oa = T[ma].form); | |
"undefined" != typeof G.frompartner && oa && nn(h, oa, K.submit_id) | |
} | |
if ("undefined" != typeof G.frompartner && !W && "" != K.custom_js) { | |
var qa = -1 != K.custom_js.indexOf("lpframe1.") ? c.contentWindow.frames[0].document : h, | |
P = Qk(K.custom_js, fb(z[K.aid], 0), fb(z[K.aid], 1), "3", e, qa); | |
try { | |
qa.body && (V = qa.createElement("script"), ba = qa.createTextNode(P), | |
V.appendChild(ba), "" != qa.body.textContent.replace(/^\s\s*/, "").replace(/\s\s*$/, "") && qa.body.appendChild(V)) | |
} catch (wa) { | |
ga("Error running custom JS 3: " + wa + " ln: " + wa.lineNumber, A) | |
} | |
} | |
if (!W && !K.save_all && Mb) { | |
var fa = h.g_popupfill_parent; | |
fa || (fa = h.g_popupfill_parent_last); | |
fa && ("password" == fa.type ? U(fa, fb(z[K.aid], 1), !0, K.aid, y) : U(fa, fb(z[K.aid], 0), !0, K.aid, y)) | |
} | |
if (!W && !K.save_all) break; | |
var ua = W && W.ownerDocument ? W.ownerDocument : h, | |
aa = W ? W.elements : [], | |
sa = null; | |
if (W) { | |
if (f || Y) { | |
K.uname = K.pname = K.oname = ""; | |
for (var X = | |
0; X < aa.length; X++) | |
if ("undefined" != typeof aa[X].type) | |
if (("text" == aa[X].type || "email" == aa[X].type || "tel" == aa[X].type || "url" == aa[X].type) && "openid_url" != xa(aa[X]) && ("" == K.uname || "" == K.pname)) K.uname = xa(aa[X]); | |
else if ("password" == aa[X].type) K.pname = xa(aa[X]); | |
else if (("text" == aa[X].type || "email" == aa[X].type || "tel" == aa[X].type || "url" == aa[X].type) && "openid_url" == xa(aa[X])) K.oname = xa(aa[X]) | |
}(fa = h.g_popupfill_parent) || (fa = h.g_popupfill_parent_last); | |
if (Mb && (f || Y) && ua && fa) | |
if (xa(fa), fa.form == W) { | |
var za = fa, | |
va = | |
xa(za); | |
if (za && va) | |
if ("text" == za.type || "email" == za.type || "tel" == za.type || "url" == za.type) { | |
if (!K.uname || K.uname != xa(za)) K.uname = xa(za) | |
} else if ("password" == za.type && (!K.pname || K.pname != xa(za))) K.pname = xa(za) | |
} | |
} | |
h.lastpass_recheck_fields = []; | |
"undefined" != typeof h._LP_STATE && "pageshowdone" == h._LP_STATE && (23 <= LP.lp_getFFVersionFloat() && delete h.recent_no_dupes, h.recent_no_dupes = [], h.allow_crossorigin = []); | |
for (var Aa = 0, X = 0; X < aa.length; X++) | |
if ("undefined" != typeof aa[X].type) { | |
if ("reset" != aa[X].type && "button" != aa[X].type && | |
"image" != aa[X].type && "submit" != aa[X].type && "file" != aa[X].type && "textarea" != aa[X].type) { | |
var Ba = null, | |
Da = null; | |
if ("password" == aa[X].type) { | |
Aa++; | |
var Fa = aa[X].form; | |
if (Fa) { | |
for (var Ia = null, ha = 0; ha < J.length; ha++) | |
if (ja = J[ha], ja.form == Fa) { | |
Ia = ja; | |
break | |
} | |
if (Ia && 3 == ja.numPass) { | |
var Ka = ah(Fa); | |
Kh(Ka); | |
(1 == Aa && aa[X] && aa[X] == Ka || 3 == Aa && aa[X] && aa[X] == Ka) && U(aa[X], K.p, !1, K.aid, y); | |
continue | |
} | |
} else if (1 == Aa) Ba = aa[X]; | |
else if (2 == Aa && null != Ba) Da = Ba, Ba = aa[X]; | |
else if (3 == Aa && null != Ba && null != Da) { | |
U(Da, K.p, !1, K.aid, y); | |
continue | |
} | |
} else Ba = | |
null; if ("" != K.uname && xa(aa[X]) == K.uname) | |
for (var Ca = h.getElementsByName(K.uname), Ea = 0; Ea < Ca.length; Ea++) U(Ca[Ea], K.u, !1, K.aid, y); | |
if ("" != K.pname && xa(aa[X]) == K.pname) { | |
Ca = h.getElementsByName(K.pname); | |
for (Ea = 0; Ea < Ca.length; Ea++) U(Ca[Ea], K.p, !1, K.aid, y) | |
} | |
"" != K.oname && xa(aa[X]) == K.oname && U(aa[X], K.o, !1, K.aid, y) | |
} | |
if ("" != K.captcha_id && xa(aa[X]) == K.captcha_id) sa = aa[X]; | |
else if ("undefined" != typeof K.fields && "undefined" != typeof K.fields[xa(aa[X])]) | |
if ("checkbox" == aa[X].type) { | |
var Ga = K.fields[xa(aa[X])] ? !0 : !1; | |
aa[X].checked != | |
Ga && (aa[X].checked = Ga, Qc(aa[X].checked)) | |
} else if ("radio" == aa[X].type) aa[X].value == K.fields[xa(aa[X])] && !aa[X].checked && (aa[X].checked = !0, Qc(aa[X].checked)); | |
else if ("select-one" == aa[X].type) | |
for (var ya = 0; ya < aa[X].options.length; ya++) { | |
if (aa[X].options[ya].value == K.fields[xa(aa[X])]) { | |
U(aa[X], K.fields[xa(aa[X])], !1, K.aid, y); | |
break | |
} | |
} else if ("select-multiple" == aa[X].type) { | |
var La = K.fields[xa(aa[X])], | |
Ja; | |
Ja = "" != La ? La.split("|") : []; | |
for (ya = 0; ya < Ja.length; ya++) Ja[ya] = decodeURIComponent(Ja[ya]); | |
for (var Ha = !1, ya = | |
0; ya < aa[X].options.length; ya++) kb(aa[X].options[ya].value, Ja) ? aa[X].options[ya].selected || (Ha = aa[X].options[ya].selected = !0) : aa[X].options[ya].selected && (aa[X].options[ya].selected = !1, Ha = !0); | |
Ha && Qc(aa[X]) | |
} else "hidden" != aa[X].type && "reset" != aa[X].type && ("button" != aa[X].type && "image" != aa[X].type && "submit" != aa[X].type && "file" != aa[X].type && "textarea" != aa[X].type) && U(aa[X], K.fields[xa(aa[X])], !1, K.aid, y) | |
} | |
if (h && Mb) try { | |
if ("undefined" != typeof K.fields) | |
for (x in K.fields) { | |
var Sa = x.match(/^(input|select|textarea)(\d+)$/); | |
if (Sa) { | |
var Ua = parseInt(Sa[2]); | |
if ("NaN" != Ua) | |
for (var Pa = ["input", "select", "textarea"], Oa = [], Xa = [], Ra = 0; Ra < Pa.length; Ra++) { | |
var cb = h.getElementsByTagName(Pa[Ra])[Ua]; | |
if (null != cb) { | |
U(cb, K.fields[x], !1, K.aid, y); | |
break | |
} | |
} | |
} | |
} | |
} catch (jb) {} | |
var gb = !1, | |
db = !1, | |
hb = !1, | |
qb = !1, | |
eb; | |
for (eb in K.otherfields) { | |
var lb = []; | |
if ("" != eb && "undefined" != typeof ua.getElementsByName) { | |
for (var rb = ua.getElementsByName(eb), X = 0; X < rb.length; X++) "FORM" == rb[X].tagName && (lb[lb.length] = rb[X]); | |
if (0 == lb.length && K.save_all) { | |
var yb = ua.getElementById(eb); | |
yb && "FORM" == yb.tagName && (lb = Array(yb)) | |
} | |
} | |
if (0 == lb.length) { | |
for (var sb = ua.getElementsByTagName("form"), X = 0; X < sb.length; X++) xa(sb[X]) == eb && (lb[lb.length] = sb[X]); | |
Pa = ["input", "select", "textarea"]; | |
Oa = []; | |
Xa = []; | |
for (Ra = 0; Ra < Pa.length; Ra++) | |
for (var rb = h.getElementsByTagName(Pa[Ra]), vb = 0; vb < rb.length; vb++) | |
if (null == rb[vb].form || "" == xa(rb[vb]) || "undefined" != typeof K.otherfields[eb][Pa[Ra] + vb]) Oa[Oa.length] = rb[vb], Xa[Xa.length] = Pa[Ra] + vb; | |
if (0 < Oa.length) { | |
var zb = {}; | |
zb.elements = Oa; | |
zb.elementnames = Xa; | |
lb[lb.length] = zb | |
} | |
} | |
for (X = | |
0; X < lb.length; X++) { | |
var wb = lb[X]; | |
if ("undefined" != typeof wb.elements && wb.elements && "undefined" != typeof wb.elements.length) | |
for (ya = 0; ya < wb.elements.length; ya++) { | |
var mb = wb.elements[ya], | |
ta = xa(mb); | |
if ("undefined" == typeof K.otherfields[eb][ta]) { | |
var I = xa(mb, !0); | |
"undefined" != typeof K.otherfields[eb][I] && (ta = I) | |
} | |
if (("" == ta || "undefined" == typeof K.otherfields[eb][ta]) && "undefined" != typeof wb.elementnames && wb.elementnames.length > ya) ta = wb.elementnames[ya]; | |
if ("email" == mb.type || "tel" == mb.type || "url" == mb.type || "text" == | |
mb.type || "password" == mb.type) gb = !0, "password" == mb.type && (hb = !0); | |
if ("undefined" != typeof K.otherfields[eb][ta]) | |
if ("" != K.captcha_id && xa(mb) == K.captcha_id) sa = mb; | |
else if ("checkbox" == mb.type) Ga = K.otherfields[eb][ta] ? !0 : !1, mb.checked != Ga && (mb.checked = Ga, Qc(mb)), B && !c.lpformtosubmit2 && (c.lpformtosubmit2 = mb.form); | |
else if ("radio" == mb.type) mb.value == K.otherfields[eb][ta] && !mb.checked && (mb.checked = !0, Qc(mb)), B && !c.lpformtosubmit2 && (c.lpformtosubmit2 = mb.form); | |
else if ("select-one" == mb.type) { | |
for (var ob = 0; ob < mb.options.length; ob++) | |
if (mb.options[ob].value == | |
K.otherfields[eb][ta]) { | |
U(mb, K.otherfields[eb][ta], !0, K.aid, y); | |
break | |
} | |
B && !c.lpformtosubmit2 && (c.lpformtosubmit2 = mb.form) | |
} else if ("select-multiple" == mb.type) { | |
La = K.otherfields[eb][ta]; | |
Ja = "" != La ? La.split("|") : []; | |
for (ob = 0; ob < Ja.length; ob++) Ja[ob] = decodeURIComponent(Ja[ob]); | |
Ha = !1; | |
for (ob = 0; ob < mb.options.length; ob++) kb(mb.options[ob].value, Ja) ? mb.options[ob].selected || (Ha = mb.options[ob].selected = !0) : mb.options[ob].selected && (mb.options[ob].selected = !1, Ha = !0); | |
Ha && Qc(mb); | |
B && !c.lpformtosubmit2 && (c.lpformtosubmit2 = | |
mb.form) | |
} else if ("email" == mb.type || "tel" == mb.type || "url" == mb.type || "text" == mb.type || "password" == mb.type || "textarea" == mb.type) { | |
U(mb, K.otherfields[eb][ta], !0, K.aid, y); | |
if ("" != K.otherfields[eb][ta] && ("email" == mb.type || "tel" == mb.type || "url" == mb.type || "text" == mb.type || "password" == mb.type)) db = !0, "password" == mb.type && (qb = !0); | |
B && ("password" == mb.type ? c.lpformtosubmit1 || (c.lpformtosubmit1 = mb.form) : c.lpformtosubmit2 || (c.lpformtosubmit2 = mb.form)) | |
} | |
} | |
} | |
} | |
if (B && gb && !db && (G = z[K.aid]) && G.logins && 0 < G.logins.length) { | |
var pb = | |
G.logins[0].otherfields; | |
if (pb) { | |
for (var ub = 0, T = h.getElementsByTagName("input"), $a = 0; $a < T.length; $a++) | |
if ("text" == T[$a].type || "password" == T[$a].type || "email" == T[$a].type || "tel" == T[$a].type || "url" == T[$a].type) { | |
for (; ub < pb.length && "text" != pb[ub].type && "password" != pb[ub].type && "email" != pb[ub].type && "tel" != pb[ub].type && "url" != pb[ub].type;) ub++; | |
if (ub < pb.length) { | |
var Bb = pb[ub]; | |
"" != Bb.value && Bb.type == T[$a].type && (16 <= Bb.name.length && Bb.name.length == xa(T[$a]).length) && (U(T[$a], Ya(Bb.value), !0, K.aid, y), db = !0, "password" == | |
T[$a].type ? (qb = !0, c.lpformtosubmit1 || (c.lpformtosubmit1 = T[$a].form)) : c.lpformtosubmit2 || (c.lpformtosubmit2 = T[$a].form)); | |
ub++ | |
} | |
} | |
if (!db) { | |
T = h.getElementsByTagName("input"); | |
for ($a = 0; $a < T.length; $a++) | |
if ("text" == T[$a].type || "password" == T[$a].type || "email" == T[$a].type || "tel" == T[$a].type || "url" == T[$a].type) { | |
var Fb = xa(T[$a]), | |
Cb = Fb.match(/^(\D+)\d+$/); | |
if (Cb) | |
for (var Fb = Cb[1], N = 0; N < pb.length; N++) | |
if ("" != pb[N].value && (Cb = pb[N].name.match(/^(\D+)\d+$/)) && Cb[1] == Fb) { | |
U(T[$a], Ya(pb[N].value), !0, K.aid, y); | |
db = !0; | |
"password" == | |
T[$a].type ? (qb = !0, c.lpformtosubmit1 || (c.lpformtosubmit1 = T[$a].form)) : c.lpformtosubmit2 || (c.lpformtosubmit2 = T[$a].form); | |
break | |
} | |
} | |
} | |
} | |
} | |
if (B && hb && !qb) { | |
for (var R = null, Hb = 0, Gb = null, Jb = null, sb = h.getElementsByTagName("form"), Eb = 0; Eb < sb.length; Eb++) | |
if (Oa = sb[Eb].elements, !(null == Oa || "undefined" == typeof Oa)) { | |
for (var Kb = 0, Aa = 0, Pb = null, S = null, Na = 0; Na < Oa.length; Na++) { | |
var Db = Oa[Na]; | |
if ("text" == Db.type || "email" == Db.type || "tel" == Db.type || "url" == Db.type) 0 == Kb && (Pb = Db), Kb++; | |
"password" == Db.type && (0 == Aa && (S = Db), Aa++) | |
} | |
if (1 == | |
Aa && (!R || 1 == Kb && 1 != Hb)) Hb = Kb, R = sb[Eb], Gb = Pb, Jb = S | |
} | |
R && (Gb && U(Gb, fb(z[K.aid], 0), !0, K.aid, y), U(Jb, fb(z[K.aid], 1), !0, K.aid, y), qb = !0, c.lpformtosubmit1 = R) | |
} | |
if (h && Mb) { | |
var Lb = 0, | |
Qb = !0; | |
(fa = h.g_popupfill_parent) || (fa = h.g_popupfill_parent_last); | |
if (!fa && B && !qb) { | |
var Sb = Sl(), | |
Nb, Ob; | |
for (Nb = 0; Nb < Sb.length; Nb++) | |
if (Ob = Sb[Nb], "sites" == Ob.fillhint) { | |
(fa = Ob.IHTMLElement) || (fa = hc(h, Ob.idorname)); | |
break | |
} | |
} | |
if (fa) { | |
for (Lb = 0; Lb < u.length; Lb++) | |
if (u[Lb] == fa) { | |
Qb = !1; | |
break | |
} | |
if (Qb) { | |
var Xb = fa.form ? kg(h, fa.form) : !1, | |
Yb = fa.form ? Cf(h, fa.form) : !1; | |
if (fa.form && Yb && !Xb) { | |
var Zb = fa.form.getElementsByTagName("INPUT"); | |
if (Zb) { | |
var Wb, Tb = Zb; | |
if (!Tb || 0 >= Tb.length) Wb = null; | |
else { | |
for (var Ub = void 0, ac = Tb.length, $b = null, tb = null, Ub = 0; Ub < ac; Ub++) { | |
var Rb = Tb[Ub]; | |
if (Rb) { | |
if (("text" == Rb.type || "tel" == Rb.type || "email" == Rb.type) && !tb) $b = Rb; | |
"password" == Rb.type && !tb && (tb = Rb) | |
} | |
} | |
var bc = {}; | |
$b && (bc.text = $b); | |
tb && (bc.password = tb); | |
Wb = si(bc) ? null : bc | |
} | |
Wb && Wb.text && U(Wb.text, fb(z[K.aid], 0), !1, K.aid, y); | |
Wb && Wb.password && U(Wb.password, fb(z[K.aid], 1), !1, K.aid, y); | |
if (!Wb || fa != Wb.text && | |
fa != Wb.password) "password" == fa.type ? U(fa, fb(z[K.aid], 1), !1, K.aid, y) : U(fa, fb(z[K.aid], 0), !1, K.aid, y) | |
}!c.lpformtosubmit1 && B && (c.lpformtosubmit1 = fa.form) | |
} else "password" == fa.type ? U(fa, fb(z[K.aid], 1), !0, K.aid, y) : U(fa, fb(z[K.aid], 0), !0, K.aid, y) | |
} | |
} | |
} | |
h.lastpass_domcontent_redo = function() { | |
if (h && h.lastpass_recheck_fields) { | |
for (var c = 0; c < h.lastpass_recheck_fields.length; c++) h.lastpass_recheck_fields[c].f && "" == h.lastpass_recheck_fields[c].f.value && h.lastpass_recheck_fields[c].f.value != h.lastpass_recheck_fields[c].v && | |
(xa(h.lastpass_recheck_fields[c].f), h.lastpass_recheck_fields[c].f.value = h.lastpass_recheck_fields[c].v, Qc(h.lastpass_recheck_fields[c].f)); | |
h.lastpass_recheck_fields = null | |
} | |
}; | |
e && An(K.aid) && (e = !1); | |
if ("" != K.custom_js) { | |
qa = -1 != K.custom_js.indexOf("lpframe1.") ? c.contentWindow.frames[0].document : h; | |
P = Qk(K.custom_js, fb(z[K.aid], 0), fb(z[K.aid], 1), "3", e, qa); | |
try { | |
qa.body && (V = qa.createElement("script"), ba = qa.createTextNode(P), V.appendChild(ba), "" != qa.body.textContent.replace(/^\s\s*/, "").replace(/\s\s*$/, "") && qa.body.appendChild(V)) | |
} catch (dc) { | |
ga("Error running custom JS 3: " + | |
dc + " ln: " + dc.lineNumber, A) | |
} | |
} | |
var gc = -1 == K.custom_js.indexOf("lpdontsubmit") && !B; | |
e || (h.LPlpskipaddconfirm = !0); | |
null != sa && oc(sa); | |
null != sa && oc(sa) ? (hn(h), vc("EnterCaptcha", c, 0, "captcha"), Mg(sa), sa.focus(), c.lpformtosubmit1 = c.lpformtosubmit2 = null) : gc && ("undefined" != typeof c.loginAid && (c.loginAid = ""), e || (K.overlay_shown = !0, Mn(h, K.aid)), e || nn(ua, W, K.submit_id)); | |
Nn(h, Za("Submitted the form, waiting for the remote website...")); | |
p[p.length] = v; | |
q[q.length] = K.url; | |
C = !0; | |
!K.multi && !e && (ij[c] = A); | |
ia = !0; | |
break | |
} | |
} | |
} | |
if ((B || -1 != n) && l && l.frames) { | |
var ec = l.frames.length; | |
10 < ec && (ec = 10); | |
for (D = 0; D < ec; D++) l.frames[D].document && jj(c, e, f, d, g, l.frames[D].document, l.frames[D].window, n + 1, p, q, r) && (C = !0) | |
} | |
if (1 >= n && B) { | |
if (!e) { | |
var cc = null; | |
c.lpformtosubmit1 ? cc = c.lpformtosubmit1 : c.lpformtosubmit2 && (cc = c.lpformtosubmit2); | |
cc && (K.overlay_shown = !0, Mn(h, K.aid), ua = cc.ownerDocument, nn(ua, cc, K.submit_id), Nn(h, Za("Submitted the form, waiting for the remote website..."))) | |
} | |
c.lpformtosubmit1 = null; | |
c.lpformtosubmit2 = null | |
} | |
for (D = p.length - 1; 2 > n && 0 <= D; D--) Va.length > | |
p[D] && Va[p[D]].url == q[D] && Va.splice(p[D], 1); | |
return C | |
} | |
function Pk(c, e, f, d) { | |
"undefined" == typeof d && (d = 1); | |
if (10 < d) return null; | |
if (!("undefined" == typeof f || "undefined" == typeof f.location)) { | |
var g = Wa.URLToASCII(f.location.href), | |
h = xb(g), | |
g = sc(h.host, g), | |
h = f.getElementsByTagName("form"), | |
l = h.length; | |
100 < l && (l = 100); | |
for (var n = 0, p = 0; p < l; p++) { | |
var q = []; | |
q.tld = g; | |
q.pwnames = []; | |
q.textnames = []; | |
if (h && !("undefined" == typeof h[p] || "undefined" == typeof h[p].elements)) { | |
var r = h[p].elements; | |
if ("undefined" != typeof r) { | |
var t = 0, | |
A = 0, | |
y = r.length; | |
200 < y && (y = 200); | |
for (var J = 0; J < y; J++) | |
if ("undefined" != typeof r[J].type) { | |
if ("password" == r[J].type) { | |
if ("facebook.com" == g && "string" == typeof r[J].id && r[J].id.match(/^[a-z0-9]{6}_\d{1,2}_ci_password$/)) continue; | |
if (!oc(r[J])) { | |
f.LPlpinvisiblepw = !0; | |
var u = null; | |
if ("undefined" != typeof cb) { | |
var s = cb(f); | |
s && (u = s.contentWindow) | |
} else u = content.window; if (u) { | |
for (; null != u.top && u.top != u;) u = u.top; | |
u = u.document; | |
"undefined" == typeof u.LPlpinstalledclick && "undefined" != typeof u.LPlpnoinstalledclick && fj(b, f) | |
} | |
if (pn) continue; | |
else h[p].bHasInvisible = !0 | |
} | |
} | |
"text" == r[J].type || "email" == r[J].type || "tel" == r[J].type || "url" == r[J].type ? t++ : "password" == r[J].type && A++; | |
if (("text" == r[J].type || "email" == r[J].type || "tel" == r[J].type || "url" == r[J].type) && "yahoo.com" != g && "directcpv.com" != g && "zestservers.com" != g) q.textnames[q.textnames.length] = xa(r[J]); | |
"password" == r[J].type && (q.pwnames[q.pwnames.length] = xa(r[J])) | |
} | |
q.form = h[p]; | |
q.numText = t; | |
q.numPass = A; | |
c[c.length] = q; | |
if ((0 < t || 0 < A) && 10 <= ++n) break | |
} | |
} | |
} | |
if (-1 == d) return null; | |
if ("undefined" == typeof e || | |
null == e) | |
if (s = cb(f)) e = s.contentWindow; | |
if (e && e.frames) { | |
f = e.frames.length; | |
10 < f && (f = 10); | |
for (g = 0; g < f; g++) e.frames[g].document && Pk(c, e.frames[g].window, e.frames[g].document, d + 1) | |
} | |
} | |
} | |
function je(c, e, f, d, g, h, l) { | |
f = "undefined" == typeof f || "" != f; | |
d = null; | |
for (var n = 0, p = 0, q = 0; q < c.length; q++) { | |
var r = c[q], | |
t = null, | |
A = e && "undefined" != typeof e && !ri(e, r.tld) ? !1 : !0; | |
if (A) { | |
for (A = 0; A < r.pwnames.length; A++) { | |
var y = r.pwnames[A]; | |
if (f && ("undefined" == typeof h || null == h || y == h)) t = r.form | |
} | |
if (null != t && (null == d || r.numText + r.numPass < n + p || r.numText + | |
r.numPass == n + p && (r.numPass < r.bestNumPass || d.bHasInvisible && !t.bHasInvisible))) d = t, n = r.numText, p = r.numPass | |
} | |
} | |
if (null != d) return d; | |
if (g) | |
for (q = 0; q < c.length; q++) | |
if (r = c[q], e && "undefined" != typeof e && !ri(e, r.tld) ? !1 : !0) | |
for (A = 0; A < r.textnames.length; A++) | |
if ("undefined" == typeof l || null == l || r.textnames[A] == l) return r.form; | |
return null | |
} | |
function ri(c, e) { | |
if ("string" != typeof c || "string" != typeof e) return !1; | |
c = c.toLowerCase(); | |
e = e.toLowerCase(); | |
return c == e ? !0 : "undefined" != typeof gb[c] && "undefined" != typeof gb[e] && gb[c] == | |
gb[e] ? !0 : !1 | |
} | |
function Wn(c, e, f, d, g, h, l, n, p, q, r, t, A, y, J, u, s, z, ia, C, F, B, D, K, v, E, Y, L, H, O) { | |
msfids = []; | |
t && ("undefined" == typeof t.neveraccounts && (t.neveraccounts = []), "undefined" == typeof t.nevergenerates && (t.nevergenerates = []), "undefined" == typeof t.neverformfills && (t.neverformfills = []), "undefined" == typeof t.neverautologins && (t.neverautologins = []), "undefined" == typeof t.nevershowicons && (t.nevershowicons = []), "undefined" == typeof t.onlyaccounts && (t.onlyaccounts = []), "undefined" == typeof t.onlygenerates && (t.onlygenerates = []), "undefined" == typeof t.onlyformfills && (t.onlyformfills = []), "undefined" == typeof t.onlyautologins && (t.onlyautologins = []), "undefined" == typeof t.onlyshowicons && (t.onlyshowicons = [])); | |
0 == d && (uj = !1, Oe = yj = se = 0, qd = "", Ye = 0); | |
if (null == K || "undefined" == typeof K) { | |
K = Sb; | |
if ("undefined" == typeof Ub || null == Ub || 0 == Ub.length) Ub = La.bin2hex(Sb); | |
v = Ub | |
} | |
var Q = 0, | |
W = h && 0 < h.length ? h.length - 1 : -1, | |
M = p && 0 < p.length ? p.length - 1 : 0, | |
ca = !1; | |
"LPAV" != c.substring(0, 4) && (d = e); | |
z || (z = []); | |
z.maxid = 0; | |
for (H || (H = []); d < e;) { | |
var P = c.substring(d, d + 4), | |
ba = | |
mh(c.substring(d + 4, d + 8)); | |
if ("ACCT" == P && "error" != E) { | |
var w = d + 8, | |
T = [], | |
w = w + G(c, w, T, "aid"), | |
V = parseInt(T.aid); | |
V > z.maxid && (z.maxid = V); | |
w += G(c, w, T, "encname"); | |
T.name = "undefined" == typeof parsedonotdecryptnames ? Ac(T.encname, 1, K, v) : T.encname; | |
w += G(c, w, T, "encgroup"); | |
T.group = Ac(T.encgroup, 1, K, v); | |
K != Sb && (T.group = "" == T.group ? E.decsharename : E.decsharename + "\\" + T.group); | |
w += G(c, w, T, "url"); | |
w += G(c, w, T, "extra"); | |
w += G(c, w, T, "fav"); | |
w += G(c, w, T, "sharedfromaid"); | |
w += G(c, w, T, "username"); | |
w += G(c, w, T, "password"); | |
w += G(c, w, T, "pwprotect"); | |
T.pwprotect = "1" == T.pwprotect; | |
w += G(c, w, T, "genpw"); | |
T.genpw = "1" == T.genpw; | |
w += G(c, w, T, "sn"); | |
T.sn = "1" == T.sn; | |
w += G(c, w, T, "last_touch"); | |
w += G(c, w, T, "autologin"); | |
T.autologin = "1" == T.autologin; | |
w += G(c, w, T, "never_autofill"); | |
T.never_autofill = "1" == T.never_autofill; | |
w += G(c, w, T, "realm_data"); | |
w += G(c, w, T, "fiid"); | |
w += G(c, w, T, "custom_js"); | |
w < d + ba + 8 && (w += G(c, w, T, "submit_id")); | |
w < d + ba + 8 && (w += G(c, w, T, "captcha_id")); | |
w < d + ba + 8 && (w += G(c, w, T, "urid"), P = parseInt(T.urid), P > z.maxid && (z.maxid = P)); | |
w < d + ba + 8 && (w += G(c, w, T, "basic_auth")); | |
w < | |
d + ba + 8 && (w += G(c, w, T, "method")); | |
w < d + ba + 8 && (w += G(c, w, T, "action")); | |
w < d + ba + 8 && (w += G(c, w, T, "groupid")); | |
w < d + ba + 8 && (w += G(c, w, T, "deleted")); | |
w < d + ba + 8 && (w += G(c, w, T, "attachkey"), w += G(c, w, T, "attachpresent")); | |
w < d + ba + 8 ? (w += G(c, w, T, "individualshare"), T.individualshare = "1" == T.individualshare) : T.individualshare = !1; | |
w < d + ba + 8 ? w += G(c, w, T, "notetype") : T.notetype = ""; | |
w < d + ba + 8 ? w += G(c, w, T, "noalert") : T.noalert = ""; | |
T.fields = []; | |
"undefined" != typeof E && null != E && K != Sb && (T.sharefolderid = E.id, 0 == E.give && (T.sharedfromaid = 1)); | |
T.sn ? l && | |
l.push(T) : h && (W = h.length, h.push(T)); | |
Q++ | |
} else if ("SPMT" == P) n && (w = d + 8, w += G(c, w, n, "login_site_prompt"), n.login_site_prompt = "1" == n.login_site_prompt, w += G(c, w, n, "edit_site_prompt"), n.edit_site_prompt = "1" == n.edit_site_prompt, w += G(c, w, n, "edit_sn_prompt"), n.edit_sn_prompt = "1" == n.edit_sn_prompt, w += G(c, w, n, "view_pw_prompt"), n.view_pw_prompt = "1" == n.view_pw_prompt, w += G(c, w, n, "view_ff_prompt"), n.view_ff_prompt = "1" == n.view_ff_prompt, w += G(c, w, n, "improve"), n.improve = "1" == n.improve, w += G(c, w, n, "switch_identity_prompt"), | |
n.switch_identity_prompt = "1" == n.switch_identity_prompt, w += G(c, w, n, "switch_f_prompt"), n.switch_f_prompt = "1" == n.switch_f_prompt, w < d + ba + 8 ? (w += G(c, w, n, "multifactor_reprompt"), n.multifactor_reprompt = "1" == n.multifactor_reprompt) : n.multifactor_reprompt = !1, w < d + ba + 8 ? (w += G(c, w, n, "company_login_site_prompt"), n.company_login_site_prompt = "1" == n.company_login_site_prompt) : n.company_login_site_prompt = !1, w < d + ba + 8 ? (w += G(c, w, n, "company_copyview_site_prompt"), n.company_copyview_site_prompt = "1" == n.company_copyview_site_prompt) : | |
n.company_copyview_site_prompt = !1); | |
else if ("PREF" == P) F && (w = d + 8, w += G(c, w, F, "allowmasterpasswordsave"), w += G(c, w, F, "logoffclosebrowser"), w += G(c, w, F, "logoffidle"), w < d + ba + 8 && (w += G(c, w, F, "noexport")), w < d + ba + 8 && (w += G(c, w, F, "logofflock")), w < d + ba + 8 && (w += G(c, w, F, "logoffscreen")), w < d + ba + 8 && (w += G(c, w, F, "logoffshutdown")), w < d + ba + 8 && (w += G(c, w, F, "sitepwlen")), w < d + ba + 8 && (w += G(c, w, F, "hideidentities")), w < d + ba + 8 && (w += G(c, w, F, "savesitestopersonal"))); | |
else if ("LPFF" == P && "error" != E) { | |
if (p) { | |
var w = d + 8, | |
U = [], | |
w = w + G(c, w, U, "ffid"), | |
M = parseInt(U.ffid); | |
M > z.maxid && (z.maxid = M); | |
w += G(c, w, U, "profiletype"); | |
w += G(c, w, U, "profilename"); | |
w += G(c, w, U, "profilelanguage"); | |
w += G(c, w, U, "firstname"); | |
w += G(c, w, U, "middlename"); | |
w += G(c, w, U, "lastname"); | |
w += G(c, w, U, "email"); | |
w += G(c, w, U, "company"); | |
w += G(c, w, U, "ssn"); | |
w += G(c, w, U, "birthday"); | |
w += G(c, w, U, "address1"); | |
w += G(c, w, U, "address2"); | |
w += G(c, w, U, "city"); | |
w += G(c, w, U, "state"); | |
w += G(c, w, U, "state_name"); | |
w += G(c, w, U, "zip"); | |
w += G(c, w, U, "country"); | |
w += G(c, w, U, "country_cc3l"); | |
w += G(c, w, U, "country_name"); | |
w += G(c, w, U, "mobilephone"); | |
w += G(c, w, U, "mobilephone3lcc"); | |
w += G(c, w, U, "mobileext"); | |
w += G(c, w, U, "evephone"); | |
w += G(c, w, U, "evephone3lcc"); | |
w += G(c, w, U, "eveext"); | |
w += G(c, w, U, "phone"); | |
w += G(c, w, U, "phone3lcc"); | |
w += G(c, w, U, "phoneext"); | |
w += G(c, w, U, "fax"); | |
w += G(c, w, U, "fax3lcc"); | |
w += G(c, w, U, "faxext"); | |
w += G(c, w, U, "ccnum"); | |
w += G(c, w, U, "ccexp"); | |
w += G(c, w, U, "cccsc"); | |
w += G(c, w, U, "username"); | |
w += G(c, w, U, "address3"); | |
w += G(c, w, U, "title"); | |
w += G(c, w, U, "gender"); | |
w += G(c, w, U, "driverlicensenum"); | |
w += G(c, w, U, "taxid"); | |
w += G(c, w, U, "pwprotect"); | |
U.pwprotect = "1" == U.pwprotect; | |
w += G(c, w, U, "bankname"); | |
w += G(c, w, U, "bankacctnum"); | |
w += G(c, w, U, "bankroutingnum"); | |
w += G(c, w, U, "timezone"); | |
w += G(c, w, U, "county"); | |
w += G(c, w, U, "ccstart"); | |
w += G(c, w, U, "ccname"); | |
w += G(c, w, U, "ccissuenum"); | |
w += G(c, w, U, "notes"); | |
w < d + ba + 8 && (w += G(c, w, U, "lastname2")); | |
w < d + ba + 8 && (w += G(c, w, U, "mobileemail"), w += G(c, w, U, "firstname2"), w += G(c, w, U, "firstname3"), w += G(c, w, U, "lastname3")); | |
U.creditmon = 0; | |
w < d + ba + 8 && (w += G(c, w, U, "creditmon"), U.creditmon = "1" == U.creditmon ? 1 : 0); | |
U.custom_fields = []; | |
"undefined" != typeof E && null != E && K != Sb ? (U.sharefolderid = | |
E.id, 0 == E.give && (U.sharedfromaid = 1), U.group = E.decsharename) : U.group = ""; | |
M = p.length; | |
p.push(U) | |
} | |
} else if ("IDNT" == P) q && (w = d + 8, V = [], w += G(c, w, V, "iid"), w += G(c, w, V, "iname"), w += G(c, w, V, "aids"), w += G(c, w, V, "ffids"), w += G(c, w, V, "pw_prompt"), V.pw_prompt = "1" == V.pw_prompt, w < d + ba + 8 ? w += G(c, w, V, "appaids") : V.appaids = "", q.push(V)); | |
else if ("PNDG" == P) { | |
if (u) { | |
w = d + 8; | |
P = []; | |
w += G(c, w, P, "id"); | |
w += G(c, w, P, "fiid"); | |
w += G(c, w, P, "sharerusername"); | |
w += G(c, w, P, "sharedfromaid"); | |
w += G(c, w, P, "sharemessage"); | |
w += G(c, w, P, "sharekeyenchex"); | |
w += G(c, | |
w, P, "sharekeyenchexsig"); | |
w += G(c, w, P, "sharename"); | |
w += G(c, w, P, "sharegroup"); | |
w += G(c, w, P, "username"); | |
w += G(c, w, P, "password"); | |
w += G(c, w, P, "extra"); | |
w += G(c, w, P, "shareautoaccept"); | |
P.shareafids = {}; | |
for (var ga = [], w = w + G(c, w, ga, "numafids"), ha = 0; ha < ga.numafids; ha++) V = [], w += G(c, w, V, "afid"), w += G(c, w, V, "value"), P.shareafids[V.afid] = V.value; | |
u.push(P) | |
} | |
} else if ("SHAP" == P) { | |
if (s) { | |
w = d + 8; | |
P = []; | |
for (w += G(c, w, P, "aid"); w < d + ba + 8;) V = [], w += G(c, w, V, "name"), w += G(c, w, V, "value"), P[V.name] = V.value; | |
s.push(P) | |
} | |
} else if ("FFCF" == P && "error" != | |
E) p && (w = d + 8, V = [], w += G(c, w, V, "cfid"), P = parseInt(U.cfid), P > z.maxid && (z.maxid = P), w += G(c, w, V, "text"), w += G(c, w, V, "value"), w += G(c, w, V, "alttext"), p[M].custom_fields.push(V)); | |
else if ("EQDN" == P) r && (w = d + 8, V = [], w += G(c, w, V, "edid"), w += G(c, w, V, "domain"), V.domain = La.hex2url(V.domain), "undefined" == typeof r[V.edid] && (r[V.edid] = []), r[V.edid][r[V.edid].length] = V.domain, r[V.domain] = V.edid); | |
else if ("URUL" == P) ia && (w = d + 8, V = [], w += G(c, w, V, "url"), w += G(c, w, V, "exacthost"), w < d + ba + 8 ? w += G(c, w, V, "exactport") : V.exactport = "0", V.url = | |
La.hex2url(V.url), ia.push(V)); | |
else if ("GRPI" != P) | |
if ("NEVR" == P) t && (w = d + 8, V = [], w += G(c, w, V, "type"), w += G(c, w, V, "url"), V.url = La.hex2url(V.url), "0" == V.type ? t.neveraccounts.push(V.url) : "1" == V.type ? t.nevergenerates.push(V.url) : "2" == V.type ? t.neverformfills.push(V.url) : "3" == V.type ? t.neverautologins.push(V.url) : "6" == V.type ? t.nevershowicons.push(V.url) : "10000" == V.type ? t.onlyaccounts.push(V.url) : "10001" == V.type ? t.onlygenerates.push(V.url) : "10002" == V.type ? t.onlyformfills.push(V.url) : "10003" == V.type ? t.onlyautologins.push(V.url) : | |
"10006" == V.type && t.onlyshowicons.push(V.url)); | |
else if (("ACFL" == P || "ACOF" == P) && "error" != E) { | |
if (A && (w = d + 8, V = [], V.otherfield = "ACOF" == P, w += G(c, w, V, "name"), V.name = La._utf8_decode(V.name), w += G(c, w, V, "type"), w += G(c, w, V, "value"), "select-one" == V.type && (V.value = La._utf8_decode(V.value)), w += G(c, w, V, "checked"), V.checked = "1" == V.checked, w += G(c, w, V, "formname"), V.formname = La._utf8_decode(V.formname), w < d + ba + 8 && (w += G(c, w, V, "urid"), P = parseInt(V.urid), P > z.maxid && (z.maxid = P)), w < d + ba + 8 && (w += G(c, w, V, "otherlogin")), w < d + ba + | |
8 && (w += G(c, w, V, "url")), 0 <= W && W < h.length)) { | |
if ("undefined" != typeof xj && xj && ("undefined" == typeof h[W].captcha_id || "" == h[W].captcha_id) && "text" == V.type && xj.exec(V.name)) h[W].captcha_id = V.name; | |
h[W].save_all = V.otherfield && 0 == h[W].username.length && 0 == h[W].password.length; | |
h[W].fields.push(V) | |
} | |
} else if ("PREM" == P) ai = xe(c, d + 8, d + 8 + ba); | |
else if ("TATE" == P) se = xe(c, d + 8, d + 8 + ba); | |
else if ("WOTE" == P) yj = xe(c, d + 8, d + 8 + ba); | |
else if ("FETE" == P) Oe = xe(c, d + 8, d + 8 + ba); | |
else if ("ENCU" == P) J = xe(c, d + 8, d + 8 + ba); | |
else if ("CBCU" == P) uj = "1" == | |
xe(c, d + 8, d + 8 + ba); | |
else if ("MXID" == P) w = parseInt(xe(c, d + 8, d + 8 + ba)), w > z.maxid && (z.maxid = w); | |
else if ("ATVR" == P) w = parseInt(xe(c, d + 8, d + 8 + ba)), H || (H = []), H.attachversion = w; | |
else if ("SHAR" == P) { | |
w = d + 8; | |
P = "undefined" != typeof B && null != B && "" != B; | |
if (null != D) | |
if (V = [], w += G(c, w, V, "id"), w += G(c, w, V, "sharekey"), w += G(c, w, V, "sharename"), w += G(c, w, V, "readonly"), w += G(c, w, V, "give"), w < d + ba + 8 ? w += G(c, w, V, "sharekeyaes") : V.sharekeyaes = "", w < d + ba + 8 ? w += G(c, w, V, "associative") : V.associative = "0", P || "" != V.sharekeyaes) { | |
w = null; | |
try { | |
null == w && "" != | |
V.sharekeyaes && (w = Ac(V.sharekeyaes, !0)); | |
if (null == w || "" == w) { | |
var ja = "undefined" != typeof localStorage && "function" == typeof SHA256 && ("undefined" != typeof Cj || "undefined" != typeof pd); | |
if (ja) try { | |
var ka = localStorage.getItem(SHA256(J + V.sharekey)); | |
null != ka && (w = Ya(ka), "" == w && (w = null), null != w && "" != w && "function" == typeof Ha && (V.sharekeyaes = ti(w, !0), qd += "&shareid" + Ye + "=" + encodeURIComponent(V.id), qd += "&sharekey" + Ye + "=" + encodeURIComponent(V.sharekey), qd += "&sharekeyaes" + Ye + "=" + encodeURIComponent(Ha(V.sharekeyaes)), Ye++)) | |
} catch (la) { | |
w = | |
null | |
} | |
} | |
if ((null == w || "" == w) && P) { | |
"function" == typeof Xh && ma() && "function" == typeof Z.xCryptoRSADecrypt && (w = La.hex2bin(Z.xCryptoRSADecrypt(B, V.sharekey))); | |
null == w && "function" == typeof have_nplastpass && (have_nplastpass() && "function" == typeof g_nplastpass.xCryptoRSADecrypt) && (w = La.hex2bin(g_nplastpass.xCryptoRSADecrypt(B, V.sharekey))); | |
if (null == w || "" == w) { | |
var na = new ve, | |
pa; | |
a: { | |
for (var P = na, ga = B, oa = fi.decode(ga), oa = wb.decode(oa).toPrettyString(), oa = -1 != oa.indexOf("<br>") ? oa.split(/<br>/) : oa.split(/\n/), ha = !1, qa = | |
0, ua = [null, "n", "e", "d", "p", "q", "dp", "dq", "c"], sa = {}, wa = 0; wa < oa.length; wa++) { | |
var fa = oa[wa]; | |
if (-1 != fa.indexOf("STRING")) ha = !0; | |
else if (ha && -1 != fa.indexOf("INTEGER")) { | |
if (0 < qa) { | |
var xa = fa.indexOf("@"); | |
if (-1 == xa) { | |
pa = !1; | |
break a | |
} | |
fa = fa.substring(xa + 1); | |
fa = fa.split(/\+/); | |
if (3 != fa.length) { | |
pa = !1; | |
break a | |
} | |
var xa = 2 * fa[0], | |
aa = 2 * fa[1], | |
fa = ga.substring(xa + aa, xa + aa + 2 * fa[2]); | |
sa[ua[qa]] = fa | |
} | |
qa++ | |
} | |
} | |
pa = ha && qa == ua.length ? (P.setPrivateEx(sa.n, sa.e, sa.d, sa.p, sa.q, sa.dp, sa.dq, sa.c), !0) : !1 | |
} | |
pa && (w = na.decrypt(V.sharekey)) | |
} | |
null != w && | |
"" != w && "function" == typeof Ha && (V.sharekeyaes = ti(w, !0), qd += "&shareid" + Ye + "=" + encodeURIComponent(V.id), qd += "&sharekey" + Ye + "=" + encodeURIComponent(V.sharekey), qd += "&sharekeyaes" + Ye + "=" + encodeURIComponent(Ha(V.sharekeyaes)), Ye++) | |
} | |
ja && null != w && "" != w && localStorage.setItem(SHA256(J + V.sharekey), da(w)); | |
if (null != w && "" != w) { | |
var ya = La.hex2bin(w), | |
X = Ac(V.sharename, 0, ya, w); | |
V.key = ya; | |
V.decsharename = X; | |
T = []; | |
T.aid = V.id; | |
T.name = ""; | |
T.group = X; | |
T.url = La.url2hex("http://group"); | |
T.sharefolderid = V.id; | |
T.fields = []; | |
T.otherfields = []; | |
h.push(T); | |
K = ya; | |
v = w; | |
E = V; | |
D.push(V) | |
} else E = "error" | |
} catch (za) { | |
"undefined" != typeof console && "function" == typeof console.error && console.error(za), E = "error" | |
} | |
} else E = "error"; | |
else E = "error"; | |
"error" == E && (W = -1); | |
if (("undefined" == typeof B || null == B || "" == B) && null != D && 0 == D.length) V = [], V.id = 0, D.push(V) | |
} else if ("MSFI" == P) { | |
w = d + 8; | |
if ("undefined" == typeof va) var va = 0; | |
thismsfid = []; | |
w += G(c, w, thismsfid, "shareid"); | |
w += G(c, w, thismsfid, "uid"); | |
w += G(c, w, thismsfid, "key"); | |
foundmsfi = !0; | |
msfids[va] = thismsfid; | |
va++ | |
} else if ("ENDM" == P) ca = !0; | |
else if ("ATTA" == P) L && (w = d + 8, V = [], w += G(c, w, V, "id"), w += G(c, w, V, "parent"), w += G(c, w, V, "mimetype"), V.mimetype = V.mimetype.toLowerCase(), L.push(V)); | |
else if ("AACT" == P && "error" != E) Y && (w = d + 8, V = [], w += G(c, w, V, "appaid"), w += G(c, w, V, "appname"), w += G(c, w, V, "extra"), w += G(c, w, V, "encname"), V.name = Ac(V.encname, 1, K, v), w += G(c, w, V, "encgroup"), V.group = Ac(V.encgroup, 1, K, v), K != Sb && (V.group = "" == V.group ? E.decsharename : E.decsharename + "\\" + V.group), w += G(c, w, V, "last_touch"), w += G(c, w, V, "fiid"), w += G(c, w, V, "pwprotect"), V.pwprotect = | |
"1" == V.pwprotect, w += G(c, w, V, "fav"), w += G(c, w, V, "script"), w += G(c, w, V, "wintitle"), w += G(c, w, V, "wininfo"), w += G(c, w, V, "exeversion"), w += G(c, w, V, "autologin"), w += G(c, w, V, "warnversion"), V.warnversion = "1" == V.warnversion, w += G(c, w, V, "exehash"), V.fields = [], V.logins = [], "undefined" != typeof E && null != E && K != Sb && (V.sharefolderid = E.id, 0 == E.give && (V.sharedfromaid = 1)), Y.push(V)); | |
else if ("AACF" == P && "error" != E) Y && 0 < Y.length && (w = d + 8, V = [], w += G(c, w, V, "id"), w += G(c, w, V, "value"), w += G(c, w, V, "type"), Y[Y.length - 1].fields.push(V)); | |
else if ("ENTU" == P) dh = xe(c, d + 8, d + 8 + ba); | |
else if ("PSHD" == P || "PSHE" == P) O && (w = d + 8, V = [], w += G(c, w, V, "ppsid"), w += G(c, w, V, "data"), O.push(V)); | |
else if (ox && !P.match(/^[A-Z]{4}$/)) return; | |
d += ba + 8; | |
if (-1 != f && Q >= f) { | |
Qb(function() { | |
Wn(c, e, f, d, g, h, l, n, p, q, r, t, A, y, J, u, s, z, ia, C, F, B, D, K, v, E, Y, L, H, O) | |
}, 0); | |
return | |
} | |
} | |
0 < Ye && "undefined" != typeof LP && "function" == typeof LP.lpMakeRequest && "string" == typeof LP.lp_base && LP.lpMakeRequest(LP.lp_base + "shared_folder_keys_upload.php", qd); | |
if (g) return g(h, l, n, p, q, r, t, ca, c, y, J, u, s, z, ia, C, F, D, | |
Y, L, H, O) | |
} | |
function xe(c, e, f) { | |
return (" " + c.substring(e, f)).substring(1) | |
} | |
function G(c, e, f, d, g, h, l) { | |
var n = mh(c.substring(e, e + 4)); | |
f[d] = xe(c, e + 4, e + 4 + n); | |
g && (f[d] = Ac(f[d], 1, h, l)); | |
return 4 + n | |
} | |
function Ac(c, e, f, d) { | |
if ("undefined" == typeof c || null == c || 0 == c.length) return ""; | |
if ("undefined" != typeof f && f != Sb) return "undefined" == typeof d && (d = La.bin2hex(f)), pt(c, e, f, d); | |
"undefined" != typeof Sb && qt != Sb && (Tl = [], qt = Sb); | |
"undefined" == typeof Tl[c] && (Tl[c] = pt(c, e)); | |
return Tl[c] | |
} | |
function pt(c, e, f, d) { | |
if ("undefined" == typeof c || null == | |
c || 0 == c.length) return ""; | |
if ("string" != typeof Sb || 0 == Sb.length) { | |
if ("undefined" == typeof ischrome || P) Cb("No encryption key found, forcing logout!"), window.location.href = "../logout.php?nk_dec=1&mobile=1"; | |
return "" | |
} | |
var g = Sb; | |
if ("undefined" == typeof Ub || null == Ub || 0 == Ub.length) Ub = La.bin2hex(Sb); | |
var h = Ub; | |
"undefined" != typeof f && null != f && ("undefined" != typeof d && null != d) && (g = f, h = d); | |
try { | |
var l, n; | |
if (e ? "!" == c.charAt(0) && 1 == c.length % 16 && 32 < c.length : "!" == c.charAt(0)) { | |
if ("function" == typeof Xh && ma() && "function" == typeof Z.decryptcbc) return e && | |
(c = "!" + btoa(c.substring(1, 17)) + "|" + btoa(c.substring(17))), Z.decryptcbc(h, c); | |
if ("function" == typeof have_nplastpass && have_nplastpass() && "function" == typeof g_nplastpass.decryptcbc) return e && (c = "!" + btoa(c.substring(1, 17)) + "|" + btoa(c.substring(17))), g_nplastpass.decryptcbc(h, c); | |
if ("undefined" != typeof document && document.getElementById("lpplugin") && "function" == typeof document.getElementById("lpplugin").decrypt) return e && (c = "!" + btoa(c.substring(1, 17)) + "|" + btoa(c.substring(17))), document.getElementById("lpplugin").decrypt(h, | |
c); | |
var p = La.StringToKeyIv(g, 256); | |
f = []; | |
for (q = 0; q < p.key.length; ++q) f[q] = p.key[q]; | |
p = []; | |
if (e) { | |
for (var q = 1; 17 > q; ++q) p[q - 1] = c.charCodeAt(q); | |
l = []; | |
for (q = 17; q < c.length; q++) l[q - 17] = c.charCodeAt(q) | |
} else { | |
var r = c.indexOf("|"); | |
if (-1 != r) { | |
for (var t = atob(c.substring(1, r)), q = 0; 16 > q; ++q) p[q] = t.charCodeAt(q); | |
l = c.substring(r + 1) | |
} | |
} | |
return La.Decrypt({ | |
key: f, | |
iv: p, | |
data: l, | |
b64: !e, | |
bits: 256, | |
mode: "cbc" | |
}) | |
} | |
if ("function" == typeof Xh && ma()) return Z.decrypt(h, e ? btoa(c) : c); | |
if ("function" == typeof have_nplastpass && have_nplastpass() && "function" == | |
typeof g_nplastpass.decrypt) return g_nplastpass.decrypt(h, e ? btoa(c) : c); | |
if ("undefined" != typeof document && document.getElementById("lpplugin") && "function" == typeof document.getElementById("lpplugin").decrypt) return document.getElementById("lpplugin").decrypt(h, e ? btoa(c) : c); | |
if (e) { | |
l = []; | |
for (q = 0; q < c.length; q++) l[q] = c.charCodeAt(q); | |
n = !1 | |
} else l = c, n = !0; | |
return La.Decrypt({ | |
pass: g, | |
data: l, | |
b64: n, | |
mode: "ecb", | |
bits: 256 | |
}) | |
} catch (A) { | |
return "ERROR: AES mobile bug 2" | |
} | |
} | |
function mh(c) { | |
for (var e = 0, f = 0, d = 3; 0 <= d; d--) var g = c.charCodeAt(d), | |
e = e + (g << f), f = f + 8; | |
return e | |
} | |
function dl(c, e) { | |
e || (e = "LPAV"); | |
var f = -1; | |
c && 0 == c.indexOf(e) && (f = mh(c.substring(4, 8)), f = xe(c, 8, 8 + f)); | |
return f | |
} | |
function ti(c, e, f) { | |
return "undefined" == typeof c || null == c || 0 == c.length ? "" : px(c, e, f ? f : Sb) | |
} | |
function px(c, e, f) { | |
f = f ? f : Sb; | |
if ("undefined" == typeof c || null == c || 0 == c.length || "string" != typeof f || 0 == f.length) return ""; | |
try { | |
if (uj) { | |
if ("function" == typeof Xh && ma() && "function" == typeof Z.encryptcbc) { | |
c = Z.encryptcbc(rb(f), c); | |
if (e) { | |
var d = c.indexOf("|"); - 1 != d && (c = "!" + atob(c.substring(1, d)) + | |
atob(c.substring(d + 1))) | |
} | |
return c | |
} | |
if ("function" == typeof have_nplastpass && have_nplastpass() && "function" == typeof g_nplastpass.encryptcbc) return c = g_nplastpass.encryptcbc(La.bin2hex(f), c), e && (d = c.indexOf("|"), -1 != d && (c = "!" + atob(c.substring(1, d)) + atob(c.substring(d + 1)))), c; | |
for (var g = La.StringToKeyIv(f, 256), h = [], l = 0; l < g.key.length; ++l) h[l] = g.key[l]; | |
var n = La.CreateIV(16); | |
c = La.Encrypt({ | |
key: h, | |
iv: n.arr, | |
data: c, | |
b64: !e, | |
bits: 256, | |
mode: "cbc" | |
}); | |
h = "!"; | |
if (e) { | |
h += n.str; | |
for (l = 0; l < c.length; l++) { | |
var p = c[l]; | |
0 > p && (p += 256); | |
h += String.fromCharCode(p) | |
} | |
} else h += btoa(n.str) + "|" + c; | |
return h | |
} | |
g = c; | |
if ("function" == typeof Xh && ma()) return h = Z.encrypt(rb(f), c), e ? atob(h) : h; | |
if ("function" == typeof have_nplastpass && have_nplastpass() && "function" == typeof g_nplastpass.encrypt) return h = g_nplastpass.encrypt(La.bin2hex(f), c), e ? atob(h) : h; | |
c = !e; | |
h = La.Encrypt({ | |
pass: f, | |
data: g, | |
b64: c, | |
mode: "ecb", | |
bits: 256 | |
}); | |
if (c) return h; | |
c = ""; | |
for (l = 0; l < h.length; l++) p = h[l], 0 > p && (p += 256), c += String.fromCharCode(p); | |
return c | |
} catch (q) { | |
return "ERROR: AES mobile bug" | |
} | |
} | |
function D(c) { | |
null == | |
c && (c = ""); | |
"number" == typeof c && (c = "" + c); | |
for (var e = c.length, f = "", d = 1; 4 >= d; d++) f = String.fromCharCode(e % 256) + f, e >>= 8; | |
return f + c | |
} | |
function Xn(c, e) { | |
var f; | |
f = "" + D(c.aid); | |
var d = "undefined" != typeof c.encname && Ac(c.encname, !0, e) == c.name ? c.encname : ti(c.name, !0, e); | |
f += D(d); | |
d = "undefined" != typeof c.encgroup && Ac(c.encgroup, !0, e) == c.group ? c.encgroup : ti(c.group, !0, e); | |
f += D(d); | |
f += D("undefined" != typeof lp_no_url_bin2hex && lp_no_url_bin2hex ? c.url : La.url2hex(c.url)); | |
f += D(c.extra); | |
f += D(c.fav); | |
f += D(c.sharedfromaid); | |
f += D(c.username); | |
f += D(c.password); | |
f += D(c.pwprotect ? "1" : "0"); | |
f += D(c.genpw ? "1" : "0"); | |
f += D(c.sn ? "1" : "0"); | |
f += D(c.last_touch); | |
f += D(c.autologin ? "1" : "0"); | |
f += D(c.never_autofill ? "1" : "0"); | |
f += D(c.realm_data); | |
f += D(c.fiid); | |
f += D(c.custom_js); | |
"undefined" == typeof c.submit_id && (c.submit_id = ""); | |
f += D(c.submit_id); | |
"undefined" == typeof c.captcha_id && (c.captcha_id = ""); | |
f += D(c.captcha_id); | |
"undefined" == typeof c.urid && (c.urid = "0"); | |
d = parseInt(c.urid); | |
d > Lc && (Lc = d); | |
f += D(c.urid); | |
"undefined" == typeof c.basic_auth && (c.basic_auth = "0"); | |
f += D(c.basic_auth); | |
"undefined" == typeof c.method && (c.method = ""); | |
f += D(c.method); | |
"undefined" == typeof c.action && (c.action = ""); | |
f += D(c.action); | |
"undefined" == typeof c.groupid && (c.groupid = ""); | |
f += D(c.groupid); | |
"undefined" == typeof c.deleted && (c.deleted = ""); | |
f += D(c.deleted); | |
"undefined" == typeof c.attachkey && (c.attachkey = ""); | |
f += D(c.attachkey); | |
"undefined" == typeof c.attachpresent && (c.attachpresent = ""); | |
f += D(c.attachpresent); | |
"undefined" == typeof c.individualshare && (c.individualshare = !1); | |
f += D(c.individualshare ? "1" : "0"); | |
"undefined" == typeof c.notetype && | |
(c.notetype = ""); | |
f += D(c.notetype); | |
"undefined" == typeof c.noalert && (c.noalert = ""); | |
f += D(c.noalert); | |
f = "ACCT" + D(f); | |
if ("undefined" != typeof c.fields) | |
for (var g = 0; g < c.fields.length; g++) { | |
var h = c.fields[g], | |
l = D(La._utf8_encode(h.name)), | |
l = l + D(h.type), | |
d = h.value; | |
"select-one" == h.type && (d = La._utf8_encode(d)); | |
l += D(d); | |
l += D(h.checked ? "1" : "0"); | |
l += D(La._utf8_encode(h.formname)); | |
"undefined" == typeof h.urid && (h.urid = "0"); | |
d = parseInt(h.urid); | |
d > Lc && (Lc = d); | |
l += D(h.urid); | |
"undefined" == typeof h.otherlogin && (h.otherlogin = "0"); | |
l += D(h.otherlogin); | |
"undefined" == typeof h.url && (h.url = ""); | |
l += D(h.url); | |
f += (h.otherfield ? "ACOF" : "ACFL") + D(l) | |
} | |
return f | |
} | |
function as(c, e) { | |
var f = "", | |
d; | |
d = "" + D(c.appaid); | |
d += D(La.url2hex(c.appname)); | |
d += D(c.extra); | |
var g = "undefined" != typeof c.encname && Ac(c.encname, !0, e) == c.name ? c.encname : ti(c.name, !0, e); | |
d += D(g); | |
g = "undefined" != typeof c.encgroup && Ac(c.encgroup, !0, e) == c.group ? c.encgroup : ti(c.group, !0, e); | |
d += D(g); | |
d += D(c.last_touch); | |
d += D(c.fiid); | |
d += D(c.pwprotect ? "1" : "0"); | |
d += D(c.fav); | |
d += D(c.script); | |
d += D(c.wintitle); | |
d += D(c.wininfo); | |
d += | |
D(c.exeversion); | |
d += D(c.autologin); | |
d += D(c.warnversion ? "1" : "0"); | |
d += D(c.exehash); | |
f += "AACT" + D(d); | |
for (g = 0; g < c.fields.length; g++) d = "", d += D(c.fields[g].id), d += D(c.fields[g].value), d += D(c.fields[g].type), f += "AACF" + D(d); | |
return f | |
} | |
function $r(c) { | |
var e = "", | |
f; | |
f = "" + D(c.ffid); | |
f += D(c.profiletype); | |
f += D(c.profilename); | |
f += D(c.profilelanguage); | |
f += D(c.firstname); | |
f += D(c.middlename); | |
f += D(c.lastname); | |
f += D(c.email); | |
f += D(c.company); | |
f += D(c.ssn); | |
f += D(c.birthday); | |
f += D(c.address1); | |
f += D(c.address2); | |
f += D(c.city); | |
f += D(c.state); | |
f += | |
D(c.state_name); | |
f += D(c.zip); | |
f += D(c.country); | |
f += D(c.country_cc3l); | |
f += D(c.country_name); | |
f += D(c.mobilephone); | |
f += D(c.mobilephone3lcc); | |
f += D(c.mobileext); | |
f += D(c.evephone); | |
f += D(c.evephone3lcc); | |
f += D(c.eveext); | |
f += D(c.phone); | |
f += D(c.phone3lcc); | |
f += D(c.phoneext); | |
f += D(c.fax); | |
f += D(c.fax3lcc); | |
f += D(c.faxext); | |
f += D(c.ccnum); | |
f += D(c.ccexp); | |
f += D(c.cccsc); | |
f += D(c.username); | |
f += D(c.address3); | |
f += D(c.title); | |
f += D(c.gender); | |
f += D(c.driverlicensenum); | |
f += D(c.taxid); | |
f += D(c.pwprotect ? "1" : "0"); | |
f += D(c.bankname); | |
f += D(c.bankacctnum); | |
f += | |
D(c.bankroutingnum); | |
f += D(c.timezone); | |
f += D(c.county); | |
f += D(c.ccstart); | |
f += D(c.ccname); | |
f += D(c.ccissuenum); | |
f += D(c.notes); | |
f += D(c.lastname2); | |
f += D(c.mobileemail); | |
f += D(c.firstname2); | |
f += D(c.firstname3); | |
f += D(c.lastname3); | |
f += D(c.creditmon ? "1" : "0"); | |
for (var e = e + ("LPFF" + D(f)), d = c.custom_fields.length, g = 0; g < d; g++) { | |
var h = c.custom_fields[g]; | |
f = ""; | |
var l = parseInt(c.cfid); | |
l > Lc && (Lc = l); | |
f += D(h.cfid); | |
f += D(h.text); | |
f += D(h.value); | |
f += D(h.alttext); | |
e += "FFCF" + D(f) | |
} | |
return e | |
} | |
function rt(c, e, f) { | |
var d = 0, | |
g, h = c; | |
if ("password" == e) return 0; | |
var l = e.toLowerCase(), | |
n = c.toLowerCase(); | |
if (e == c) return 0; | |
if (l == n) return 5 < e.length ? 5 : e.length; | |
if ("" != n && "" != l) { | |
if (-1 != c.indexOf(e)) return 5 < e.length ? 5 : e.length; | |
if (-1 != n.indexOf(l)) return 10 < e.length ? 10 : e.length; | |
if (-1 != l.indexOf(n)) { | |
c = c.replace("*", "\\*", "g"); | |
c = c.replace("+", "\\+", "g"); | |
l = 0; | |
try { | |
"undefined" != typeof g_challengeregexcache[c] ? g = g_challengeregexcache[c] : (g = RegExp(c, "gi"), g_challengeregexcache[c] = g) | |
} catch (p) { | |
l = 1 | |
} | |
if (l) try { | |
c = c.replace("?", "\\?", "g"), c = c.replace(")", "\\)", "g"), c = c.replace("(", | |
"\\(", "g"), g = RegExp(c, "gi") | |
} catch (q) { | |
f && Cb("An error occurred.\nPlease send a screenshot of this error to support@lastpass.com\n\nError=3 uorig=" + h + " u=" + c), g = RegExp("", "gi") | |
} | |
l = e.replace(g, ""); | |
l != e && (e = l) | |
} | |
} | |
h = c = null; | |
e.match(/[0135\$\@]/) && (c = e.replace(/5/g, "s"), c = c.replace(/\$/g, "s"), c = c.replace(/3/g, "e"), c = c.replace(/0/g, "o"), c = c.replace(/\@/g, "a"), 0 < c.indexOf("1") && (h = c.replace(/1/g, "i")), c = c.replace(/1/g, "l")); | |
if ("undefined" != typeof g_aDictionary) { | |
var r, n = e.length, | |
t; | |
for (r in g_aDictionary) | |
if (g_aDictionary.hasOwnProperty(r) && | |
(t = r.length, 3 <= t && n >= t)) { | |
try { | |
"undefined" != typeof g_challengeregexcache[r] ? g = g_challengeregexcache[r] : (g = RegExp(r, "gi"), g_challengeregexcache[r] = g) | |
} catch (A) { | |
f && Cb("An error occurred.\nPlease send a screenshot of this error to support@lastpass.com\n\nError=2 i=" + r), g = RegExp("", "gi") | |
} | |
l = e.replace(g, r.charAt(0)); | |
if (l != e) { | |
++Bj; | |
e = l; | |
break | |
} | |
if (4 <= t) { | |
if (c && (l = c.replace(g, r.charAt(0)), l != c)) { | |
++Bj; | |
e = l; | |
break | |
} | |
if (h && (l = h.replace(g, r.charAt(0)), l != h)) { | |
++Bj; | |
e = l; | |
break | |
} | |
} | |
} | |
} | |
f = e.length; | |
n = l = h = c = g = 0; | |
t = []; | |
var y; | |
for (r = 0; r < | |
f; ++r) y = e.charAt(r), "undefined" == typeof t[y] && (t[y] = 1, ++g), "undefined" != typeof qx[y] && ++c, "undefined" != typeof rx[y] && ++h, "undefined" != typeof sx[y] && ++l, "undefined" != typeof tx[y] && ++n; | |
0 < c && 0 < h && 0 < l && 0 < n ? d = 6 <= g && 8 <= f ? 95 + g : 4 < g && 6 <= f ? 70 + g : 2 < g && 4 <= f ? 50 + g : g : 0 < c && 0 < h && 0 < l ? d = 6 <= g && 8 <= f ? 85 + g : 4 < g && 6 <= f ? 60 + g : 2 < g && 4 <= f ? 40 + g : g : 0 < c && 0 < h && 0 < n || 0 < c && 0 < l && 0 < n || 0 < h && 0 < l && 0 < n ? d = 6 <= g && 8 <= f ? 90 + g : 4 < g && 6 <= f ? 65 + g : 2 < g && 4 <= f ? 45 + g : g : 0 < c && 0 < h ? d = 6 <= g && 8 <= f ? 85 + g : 4 < g && 6 <= f ? 60 + g : 2 < g && 4 <= f ? 40 + g : g : 0 < c && 0 < l || 0 < h && 0 < l ? d = 6 <= g && 8 <= f ? | |
75 + g : 4 < g && 6 <= f ? 50 + g : 2 < g && 4 <= f ? 30 + g : g : 0 < c && 0 < n || 0 < h && 0 < n || 0 < l && 0 < n ? d = 6 <= g && 8 <= f ? 75 + g : 4 < g && 6 <= f ? 50 + g : 2 < g && 4 <= f ? 30 + g : g : 0 < c || 0 < h || 0 < l ? d = 6 <= g && 8 <= f ? 65 + g : 4 < g && 6 <= f ? 40 + g : 2 < g && 4 <= f ? 20 + g : g : 0 < n && (d = 6 <= g && 8 <= f ? 85 + g : 4 < g && 6 <= f ? 70 + g : 2 < g && 4 <= f ? 50 + g : g); | |
d -= 0; | |
0 > d ? d = 0 : 100 < d && (d = 100); | |
"" != e && 10 > d && (d = 5 < f ? 5 : f); | |
return d | |
} | |
function jh(c) { | |
var e = "undefined" == typeof c ? 0 : c, | |
f = 0; | |
"undefined" != typeof g_aSites[e] && "undefined" != typeof g_aSites[e].sfname && (d = g_aSites[e].sfname); | |
"undefined" == typeof d && (d = "nonshared"); | |
"undefined" == typeof ih && | |
(ih = []); | |
"undefined" == typeof ue && (ue = []); | |
"undefined" == typeof Ed && (Ed = []); | |
"undefined" == typeof sharedweak && (sharedweak = []); | |
"undefined" == typeof sharedavgpasswordlength && (sharedavgpasswordlength = []); | |
"undefined" == typeof SharedPasswords && (SharedPasswords = []); | |
"undefined" == typeof shareddictionary && (shareddictionary = []); | |
"undefined" == typeof sharedcountscore && (sharedcountscore = []); | |
"undefined" == typeof NonSharedAccounts && (NonSharedAccounts = []); | |
"undefined" == typeof g_SFNames && (g_SFNames = []); | |
"undefined" == typeof AllSFNames && | |
(AllSFNames = []); | |
"undefined" == typeof ih[d] && (ih[d] = 0); | |
ih[d]++; | |
for ("undefined" == typeof c && (g_challengeregexcache = []); e < g_numsites; ++e) { | |
"function" == typeof reportprogress && reportprogress(e, g_numsites); | |
var d = "nonshared"; | |
"undefined" != typeof g_aSites[e].sfname && (d = g_aSites[e].sfname); | |
c = g_aSites[e].usernamedec; | |
var g = g_aSites[e].passworddec, | |
h = g_aSites[e].passworddecfix, | |
l = g_aSites[e].domain2lvl, | |
n = "undefined" != typeof g_aSites[e].realdomain2lvl ? g_aSites[e].realdomain2lvl : l; | |
"undefined" == typeof g_numblanksites && | |
(g_numblanksites = 0); | |
"undefined" == typeof Ed[d] && (Ed[d] = 0); | |
"undefined" == typeof ue[d] && (ue[d] = 0); | |
n = "function" == typeof yo ? yo(n) : 1; | |
g_aSites[e].challenge_score = 0 < g.length && g.length < n ? 0 : rt(c, g, !1); | |
if ("" == h) "nonshared" == d && g_numblanksites++, Ed[d]++; | |
else { | |
"nonshared" == d && (g_avgpasswordlength += g.length); | |
"undefined" == typeof sharedavgpasswordlength[d] && (sharedavgpasswordlength[d] = 0); | |
sharedavgpasswordlength[d] += g.length; | |
"undefined" != typeof g_aDictionary && "undefined" != typeof g_aDictionary[h] && ("nonshared" == d && g_numdictionary++, | |
"undefined" == typeof shareddictionary[d] && (shareddictionary[d] = 0), shareddictionary[d]++); | |
"undefined" == typeof SharedPasswords[d] && (SharedPasswords[d] = []); | |
if ("nonshared" == d) { | |
"undefined" == typeof g_aPasswords[h] && (g_aPasswords[h] = []); | |
if ("undefined" == typeof g_aPasswords[h][l] || "function" == typeof g_aPasswords[h][l] && "undefined" == typeof g_aPasswords[h][l].push) g_aPasswords[h][l] = []; | |
try { | |
g_aPasswords[h][l].push(e) | |
} catch (p) { | |
h = g = c = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
return | |
} | |
} | |
"undefined" == typeof g_allPasswords && (g_allPasswords = []); | |
"undefined" == typeof g_allPasswords[h] && (g_allPasswords[h] = []); | |
if ("undefined" == typeof g_allPasswords[h][l] || "function" == typeof g_allPasswords[h][l] && "undefined" == typeof g_allPasswords[h][l].push) g_allPasswords[h][l] = []; | |
try { | |
g_allPasswords[h][l].push(e) | |
} catch (q) { | |
h = g = c = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
return | |
} | |
if ("nonshared" != d) { | |
"undefined" == typeof SharedPasswords[d][h] && (SharedPasswords[d][h] = []); | |
if ("undefined" == typeof SharedPasswords[d][h][l] || "function" == typeof SharedPasswords[d][h][l] && "undefined" == typeof SharedPasswords[d][h][l].push) SharedPasswords[d][h][l] = []; | |
try { | |
SharedPasswords[d][h][l].push(e) | |
} catch (r) { | |
h = g = c = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
return | |
} | |
} | |
if (++f > ux) { | |
d = null; | |
try { | |
"function" == typeof Qb ? d = Qb : "undefined" != typeof LP && "undefined" != typeof LP.mostRecent && "undefined" != typeof LP.mostRecent().setTimeout && (d = LP.mostRecent().setTimeout) | |
} catch (t) {} | |
null != d ? d(function() { | |
jh(e + 1) | |
}, 0) : jh(e + 1); | |
h = g = c = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
return | |
} | |
} | |
h = g = c = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | |
} | |
g_challengeregexcache = []; | |
g_avgpasswordlength = g_numsites == g_numblanksites ? 0 : Math.round(10 * g_avgpasswordlength / (g_numsites - g_numblanksites)) / 10; | |
var A, y; | |
for (y in g_aPasswords) | |
if (g_aPasswords.hasOwnProperty(y)) { | |
var f = | |
g_aPasswords[y], | |
h = 0, | |
J; | |
for (J in f) f.hasOwnProperty(J) && ++h; | |
if (1 == h || "" == y) delete g_aPasswords[y]; | |
else { | |
++g_numduppasswords; | |
g = 0; | |
for (J in f) f.hasOwnProperty(J) && (g += g_aPasswords[y][J].length); | |
g_numdupsites += g; | |
for (J in f) | |
if (f.hasOwnProperty(J)) | |
for (A in c = g_aPasswords[y][J], c) e = g_aPasswords[y][J][A], g_aSites[e].challenge_numduplicates = g, g_aSites[e].challenge_duplicatescore = g_aSites[e].challenge_score / h | |
} | |
} | |
y = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
"undefined" == typeof g_allPasswords && (g_allPasswords = {}, eg = g_numsites); | |
for (y in g_allPasswords) | |
if (g_allPasswords.hasOwnProperty(y)) { | |
f = g_allPasswords[y]; | |
h = 0; | |
for (J in f) f.hasOwnProperty(J) && ++h; | |
if (1 == h || "" == y) delete g_allPasswords[y]; | |
else { | |
"undefined" == typeof ei && (ei = 0); | |
++ei; | |
g = 0; | |
"undefined" == typeof eg && (eg = 0); | |
for (J in f) f.hasOwnProperty(J) && (g += g_allPasswords[y][J].length); | |
eg += g; | |
for (J in f) | |
if (f.hasOwnProperty(J)) | |
for (A in c = g_allPasswords[y][J], c) e = g_allPasswords[y][J][A] | |
} | |
} | |
y = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
for (e = 0; e < g_aSites.length; ++e) "undefined" != typeof g_aSites[e].sfname && (d = g_aSites[e].sfname), "undefined" == typeof g_aSites[e].sfname && (d = "nonshared"), "undefined" == typeof sharedweak[d] && (sharedweak[d] = 0), g_aSites[e].challenge_scorefinal = g_aSites[e].challenge_score, "undefined" != typeof g_aSites[e].challenge_dictionary && "undefined" != typeof g_aSites[e].challenge_duplicatescore ? (g_aSites[e].challenge_scorefinal = 0.5 * g_aSites[e].challenge_duplicatescore, "nonshared" == d && ++g_numweak, "nonshared" != d && ++sharedweak[d]) : | |
"undefined" != typeof g_aSites[e].challenge_dictionary ? (g_aSites[e].challenge_scorefinal *= 0.5, "nonshared" == d && ++g_numweak, "nonshared" != d && ++sharedweak[d]) : "undefined" != typeof g_aSites[e].challenge_duplicatescore ? (g_aSites[e].challenge_scorefinal = g_aSites[e].challenge_duplicatescore, "undefined" == typeof g_aSites[e].sfname && (g_strengthscore += g_aSites[e].challenge_duplicatescore), "undefined" != typeof g_aSites[e].sfname && (ue[d] += g_aSites[e].challenge_duplicatescore)) : (g_aSites[e].challenge_score < Qo && "" != | |
g_aSites[e].passworddecfix && ("nonshared" == d && ++g_numweak, "nonshared" != d && ++sharedweak[d]), "nonshared" == d && (g_strengthscore += g_aSites[e].challenge_score, g_avgstrength = g_numsites == g_numblanksites ? 0 : Math.round(10 * g_strengthscore / (g_numsites - g_numblanksites)) / 10, 0 != NonSharedAccounts.length && (g_avgstrength = NonSharedAccounts.length == g_numblanksites ? 0 : Math.round(10 * g_strengthscore / (NonSharedAccounts.length - g_numblanksites)) / 10)), "nonshared" != d && (ue[d] += g_aSites[e].challenge_score, sharedavgstrength[d] = ih[d] == | |
Ed[d] ? 0 : Math.round(10 * ue[d] / (SharedAccounts[d].length - Ed[d])) / 10), "undefined" == typeof sharedcountscore[d] && (sharedcountscore[d] = 0), 70 <= g_aSites[e].challenge_score && "undefined" == typeof g_aSites[e].sfname && (g_countscore += 2), 70 <= g_aSites[e].challenge_score && "undefined" != typeof g_aSites[e].sfname && (sharedcountscore[d] += 2)); | |
100 < g_countscore && (g_countscore = 100); | |
100 < sharedcountscore[d] && (sharedcountscore[d] = 100); | |
"undefined" != typeof NonSharedAccounts && 0 != NonSharedAccounts.length && (g_numsites = NonSharedAccounts.length); | |
0 < g_numsites - g_numblanksites && (g_totalscore = Math.round(10 * (0.8 * (g_strengthscore / (g_numsites - g_numblanksites)) + g_countscore / 10)) / 10); | |
for (e = 0; e < AllSFNames.length; e++) d = AllSFNames[e], "undefined" == typeof SharedAccounts[d] && (SharedAccounts[d] = []), "undefined" == typeof Ed[d] && (Ed[d] = 0), 0 < SharedAccounts[d].length - Ed[d] && (sharedtotalscore[d] = Math.round(10 * (0.8 * (ue[d] / (SharedAccounts[d].length - Ed[d])) + sharedcountscore[d] / 10)) / 10); | |
100 < g_totalscore && (g_totalscore = 100); | |
g_runtimems = (new Date).getTime() - g_runtimems; | |
d = Math.round(g_runtimems / 1E3); | |
"function" == typeof st && st(d) | |
} | |
function qs(c, e, f) { | |
var d = function(c) { | |
if (c && (c = c.split("\n"), e == c[0])) { | |
c = "NaN" != c[1] ? c[1] : null; | |
if (f) { | |
f(c); | |
return | |
} | |
return c | |
} | |
if (f) f(null); | |
else return null | |
}; | |
if (f) Je(c + ".sch", null, d); | |
else return d(Je(c + ".sch")) | |
} | |
function rs(c, e, f) { | |
var d = function(d) { | |
if (null == d || "" == d || !1 == d) { | |
"undefined" == typeof LP || "undefined" == typeof LP.lpMakeRequest || (d = (new Date).getTime(), 2E3 > d - tt || (tt = d, LP.lpMakeRequest(LP.lp_base + "misc_challenge.php?getdic=1&lang=" + LP.en(c), | |
"", function(c) { | |
4 == c.readyState && 200 == c.status && (Rb("words.dic", c.responseText), e && e()) | |
}))); | |
if (f) { | |
f(null); | |
return | |
} | |
return null | |
} | |
d = d.split("\n"); | |
for (var h = {}, l = 0; l < d.length - 1; l++) h[d[l]] = 1; | |
if (f) f(h); | |
else return h | |
}; | |
if (f) Je("words.dic", null, d); | |
else return d(Je("words.dic")) | |
} | |
function ct(c, e) { | |
rs(Ka, function() { | |
ct(c, e) | |
}, function(f) { | |
f && (Wk = rt(c, e)) | |
}) | |
} | |
function ss(c) { | |
var e = []; | |
for (oa = 0; oa < g_numsites; ++oa) "undefined" == typeof c[g_aSites[oa].id] && (e[e.length] = g_aSites[oa]); | |
g_aSites = e; | |
g_numsites = g_aSites.length; | |
jh() | |
} | |
function st() { | |
var c = "string" == typeof Ec ? Ec : typeof Q ? Q : null, | |
e = "string" == typeof g_username_hash ? g_username_hash : typeof ha ? ha : null, | |
f = "undefined" != typeof g_local_accts_version ? g_local_accts_version : typeof vb ? vb : -1; | |
g_totalscore += Ol; | |
var d = { | |
totalscore: g_totalscore, | |
version: f, | |
numblanksites: g_numblanksites, | |
numduppasswords: g_numduppasswords, | |
numallduppasswords: ei, | |
numdupsites: g_numdupsites, | |
numalldupsites: eg, | |
numweak: g_numweak, | |
avgstrength: g_avgstrength, | |
multifactorscore: Ol, | |
countscore: g_countscore | |
}, g = 0, | |
h = "", | |
l; | |
for (l in g_aPasswords) | |
if (g_aPasswords.hasOwnProperty(l)) { | |
var n = | |
"", | |
p; | |
for (p in g_aPasswords[l]) | |
if (g_aPasswords[l].hasOwnProperty(p)) { | |
var q = g_aPasswords[l][p], | |
r; | |
for (r in q) q.hasOwnProperty(r) && (n += g_aSites[q[r]].id + ",", h += g_aSites[q[r]].id + ",") | |
} | |
d["dupsites" + g] = n; | |
g++ | |
} | |
l = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
g = 0; | |
h = ""; | |
for (l in g_allPasswords) | |
if (g_allPasswords.hasOwnProperty(l)) { | |
n = ""; | |
for (p in g_allPasswords[l]) | |
if (g_allPasswords[l].hasOwnProperty(p)) | |
for (r in q = g_allPasswords[l][p], q) | |
if (q.hasOwnProperty(r)) { | |
var t = SFNameToID[go[g_aSites[q[r]].id]]; | |
"undefined" == t && (t = ""); | |
n += t + ":" + g_aSites[q[r]].id + ","; | |
h += g_aSites[q[r]].id + "," | |
} | |
d["dupsites_global_" + g] = n; | |
g++ | |
} | |
g = ""; | |
l = []; | |
for (n = 0; n < g_aSites.length; n++) { | |
if ("undefined" != typeof g_aSites[n].challenge_scorefinal && ("undefined" == typeof g_aSites[n].sfname || "nonshared" == typeof g_aSites[n].sfname) && | |
parseInt(g_aSites[n].challenge_scorefinal) < Qo) g += g_aSites[n].id + ":" + g_aSites[n].challenge_scorefinal.toFixed(2) + ","; | |
"undefined" != typeof g_aSites[n].challenge_scorefinal && "undefined" != typeof g_aSites[n].sfname && parseInt(g_aSites[n].challenge_scorefinal) < Qo && (r = g_aSites[n].sfname, "undefined" == typeof l[r] && (l[r] = ""), l[g_aSites[n].sfname] += g_aSites[n].id + ":" + g_aSites[n].challenge_scorefinal.toFixed(2) + ",") | |
} | |
d.weak = g; | |
q = []; | |
for (n = 0; n < AllSFNames.length; n++) r = AllSFNames[n], t = SFNameToID[r], q[n] = t, d[t + "_sfname"] = | |
r, d[t + "_totalscore"] = sharedtotalscore[r], d[t + "_numaccts"] = SharedAccounts[r].length, d[t + "_numblanksites"] = Ed[r], d[t + "_numweak"] = sharedweak[r], d[t + "_avgstrength"] = sharedavgstrength[r], d[t + "_countscore"] = sharedcountscore[r], d[t + "_weak"] = l[r]; | |
d.SFIDs = q; | |
d.AllSFIDs = AllSFIDs; | |
d.SFScores = []; | |
d.SharedFolderList = AllSFNames; | |
d.weak_shared = l; | |
c = da(c); | |
h = da("," + h + "\n," + g); | |
"undefined" == typeof c && (c = ""); | |
"undefined" == typeof h && (h = ""); | |
Rb(e + ".sch", f + "\n" + g_totalscore + "\n" + c + "\n" + h); | |
if ("undefined" != typeof lpsendchallengescore && | |
lpsendchallengescore) { | |
var A = mc.stringify(d), | |
y = "string" == typeof base_url ? base_url : LP.lp_base; | |
LP.lpMakeRequest(y + "poll_server.php", "challengescore=" + LP.en(A), null, null) | |
} | |
"undefined" != typeof pwndlistscan && pwndlistscan && LP.lpMakeRequest(y + "misc_challenge.php", "cmd=pwnedlist&auto=1" + LP.en(A), null, null); | |
for (n = 0; n < g_aSites.length; ++n) g_aSites[n].usernamedec = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", | |
g_aSites[n].passworddec = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", g_aSites[n].passworddecfix = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; | |
g_aSites = {}; | |
e = 0; | |
for (p in g_aPasswords)++e, delete g_aPasswords[p]; | |
g_aPasswords = {}; | |
e = 0; | |
for (p in g_allPasswords)++e, delete g_allPasswords[p]; | |
g_allPasswords = {}; | |
g_avgpasswordlength = g_numdictionary = g_numblanksites = g_numduppasswords = ei = g_numdupsites = eg = g_numweak = g_strengthscore = g_avgstrength = g_countscore = g_totalscore = g_runtimems = Bj = 0; | |
g_aDictionary = []; | |
fo = !1 | |
} | |
function Hd(c) { | |
if (null == c) return ""; | |
c = c.toString(); | |
var e = c.length, | |
f = "", | |
d = 0, | |
g; | |
for (g = 0; g < e; ++g) d = c.charCodeAt(g), 48 > d || 57 < d && 65 > d || 90 < d && 97 > d || 122 < d && 256 > | |
d ? (d = d.toString(16), 2 != d.length && (d = "0" + d), f += "&#x" + d + ";") : f += c.charAt(g); | |
return f | |
} | |
function be(c) { | |
c = c.replace(/<([^\/])/g, "<html:$1"); | |
c = c.replace(/<\//g, "</html:"); | |
return c.replace(/ src='(.*).png$'/g, " src='chrome://lastpass/skin/$1.png'") | |
} | |
function Id(c, e) { | |
var f = e.createElementNS("http://www.w3.org/1999/xhtml", "html:div"), | |
d = e.createTextNode(c); | |
f.appendChild(d); | |
return f.innerHTML | |
} | |
function qh(c, e, f) { | |
c = c.getElementsByTagName("iframe"); | |
for (oa = 0; oa < c.length; oa++) { | |
var d = c[oa]; | |
d && "undefined" != typeof d.id && | |
(null != d.id && 0 == d.id.indexOf(ui)) && (0 < e && (e += 2 * Math.abs(Ul), e < ut && (e = ut), d.style.width = e + "px"), 0 < f && (d.style.height = f + "px")) | |
} | |
} | |
function Rj(c, e) { | |
return e.metaKey || e.altKey || e.ctrlKey ? !0 : !1 | |
} | |
function Vl(c, e, f) { | |
var d = "undefined" != typeof LP.lpGetCurrentWindow().getBrowser ? LP.lpGetCurrentWindow().getBrowser().contentDocument : LP.getBrowser().contentDocument, | |
g = d.defaultView; | |
if (Mb) { | |
var h = 0, | |
l = 0; | |
if (null != e) { | |
c = Xb(c, e); | |
null != c && (h = parseInt(c.left) - Ul + "px", l = parseInt(c.top) + parseInt(c.height) + "px"); | |
if (null == f || | |
0 == f) e = Ba(d, e), e = d.getElementById(ui + e), null != e && (f = Xb(d, e).width); | |
d = Ro(g); | |
if (!d) return { | |
posx: 0, | |
posy: 0 | |
}; | |
parseInt(f) + parseInt(h) > d && (h = d - parseInt(f) + "px") | |
} | |
h = parseInt(h) + "px"; | |
l = parseInt(l) + "px"; | |
return { | |
posx: h, | |
posy: l | |
} | |
} | |
} | |
function So(c, e, f, d, g, h, l, n, p) { | |
if (e = vi) | |
if (vx++, null == c && (c = ""), "savesite" == Ra && !l) n && ("text" == n || "email" == n || "tel" == n) ? e.getElementById("u") && (e.getElementById("u").value = c) : n && "password" == n && e.getElementById("p") && (e.getElementById("p").value = c); | |
else { | |
var q = e.getElementsByTagName("td"); | |
0 == q.length && (q = e.getElementsByTagName("html:td")); | |
var r = [], | |
t = []; | |
Sj && (Xc = -1, c = ""); | |
if (0 > Xc && 0 != f) | |
if (wi ? 0 != f && (c = "", vt = !0) : Wl != c ? lg = "" : wt ? (lg = c, c = "") : 0 != f && (lg = c, c = ""), "none" == e.getElementById("lptabpopupformfills").style.display) f = Xc = 0; | |
else { | |
if ("none" == e.getElementById("lptabpopup").style.display) { | |
f = Xc = 0; | |
c = ""; | |
for (n = 0; n < q.length; n++) 0 == q[n].id.indexOf("tdpopuprow") && Xc++; | |
xi = Xc | |
} | |
} else 0 > Xc && 0 == f ? Wl != c ? lg = "" : (lg = c, wt = !0, c = "") : vt ? c = "" : "" !== lg && (c !== lg ? lg = "" : c = ""); | |
for (var A = n = 0; A < q.length; A++) | |
if (q[A].id && | |
(0 == q[A].id.indexOf("tdpopuprow") || 0 == q[A].id.indexOf("tdpopupffrow"))) { | |
var y = "tr" + q[A].id.substr(2), | |
y = e.getElementById(y), | |
J = y.getAttribute("sitename"), | |
u = y.getAttribute("username"); | |
y.getAttribute("profilename"); | |
null == J && (J = ""); | |
null == u && (u = ""); | |
if (0 >= c.length) "none" == e.getElementById("lptabpopupformfills").style.display && 0 == q[A].id.indexOf("tdpopuprow") || "none" == e.getElementById("lptabpopup").style.display && 0 == q[A].id.indexOf("tdpopupffrow") ? (t.push(y), xt(y, e), n++) : r.push(y); | |
else if (!h && 0 == q[A].innerText.trim().toLowerCase().indexOf(c.toLowerCase()) || | |
h && 0 <= J.trim().toLowerCase().indexOf(c.toLowerCase()) && "none" == e.getElementById("lptabpopupformfills").style.display || h && 0 <= u.trim().toLowerCase().indexOf(c.toLowerCase()) && "none" == e.getElementById("lptabpopupformfills").style.display || h && 0 <= q[A].innerText.trim().toLowerCase().indexOf(c.toLowerCase()) && "none" == e.getElementById("lptabpopup").style.display) | |
if ("none" == e.getElementById("lptabpopupformfills").style.display && 0 == q[A].id.indexOf("tdpopuprow") || "none" == e.getElementById("lptabpopup").style.display && | |
0 == q[A].id.indexOf("tdpopupffrow")) { | |
var s = y, | |
u = c, | |
z = e; | |
if (!(null == s || null == u || 0 >= u.length)) | |
if (z = C ? vi : document) { | |
J = u = Hd(u); | |
s.getAttribute("sitename"); | |
s.getAttribute("username"); | |
s.getAttribute("profilename"); | |
var s = "td" + s.id.substr(2), | |
z = z.getElementById(s), | |
s = null, | |
ia = void 0, | |
B = null, | |
F = null; | |
for (ia in z.childNodes) | |
if ("SPAN" == z.childNodes[ia].tagName) { | |
B = z.childNodes[ia]; | |
s = B.innerText; | |
break | |
} | |
u = RegExp("(" + u + ")", "gi"); | |
if (null != s && 0 < s.length) try { | |
s = Hd(s), s = s.replace(u, '<SPAN CLASS="popcell highlight">' + J + "</SPAN>"), | |
"undefined" != typeof C && C && (s = be(s)), B.innerHTML = s | |
} catch (D) {} | |
s = ""; | |
for (ia in z.childNodes) | |
if ("P" == z.childNodes[ia].tagName) { | |
F = z.childNodes[ia]; | |
s = F.innerText; | |
break | |
} | |
null != s && 0 < s.length && (s = Hd(s), s = s.replace(u, '<SPAN CLASS="highlight">' + J + "</SPAN>"), F.innerHTML = s) | |
} | |
t.push(y); | |
n++ | |
} else r.push(y); | |
else r.push(y) | |
} | |
for (var v in r) r[v].style.display = "none", Xl ? (c = r[v].children[0], c.className = c.className.replace(/ ?\bshowfocus\b/, "")) : r[v].className = r[v].className.replace(/ ?\bshowfocus\b/, ""), xt(r[v], e), Ze && (0 == | |
r[v].id.indexOf("trpopuprow") ? (c = "expand", c = r[v].id.replace("trpopuprow", c), c = e.getElementById(c), null != c && (c.style.display = "none")) : 0 == r[v].id.indexOf("trpopupffrow") && (c = "expandff", c = r[v].id.replace("trpopupffrow", c), c = e.getElementById(c), null != c && (c.style.display = "none"))); | |
for (v in t) t[v].style.display = "", Xl ? (c = t[v].children[0], c.className = c.className.replace(/ ?\bshowfocus\b/, "")) : t[v].className = t[v].className.replace(/ ?\bshowfocus\b/, ""); | |
if (0 <= Xc) { | |
Xc += f; | |
Xc >= xi + n ? Xc = xi + n - 1 : Xc < xi && (Xc = xi); | |
f = xi; | |
for (A = 0; A < t.length; A++) | |
if (t[A].id && "none" != t[A].style.display) { | |
if (Xc == f) { | |
if (d) { | |
v = t[A]; | |
if (0 == v.id.indexOf("trpopuprow") && null != v.getAttribute("aid")) { | |
C ? LP.lpAutoLogin(v.getAttribute("aid")) : autologin(v.getAttribute("aid")); | |
return | |
} | |
v.click() | |
} else { | |
if (g) { | |
v = t[A]; | |
Ra = "more"; | |
Jd(e, $e.more.str); | |
yi(e, v); | |
return | |
} | |
p || (Xl ? (c = t[A].children[0], c.className += " showfocus") : t[A].className += " showfocus", t[A].scrollIntoView(!1), Ze && (0 == t[A].id.indexOf("trpopuprow") ? (c = "expand", c = t[A].id.replace("trpopuprow", c), c = e.getElementById(c), | |
null != c && (c.style.display = "")) : 0 == t[A].id.indexOf("trpopupffrow") && (c = "expandff", c = t[A].id.replace("trpopupffrow", c), c = e.getElementById(c), null != c && (c.style.display = "")))) | |
} if ("undefined" == typeof Ze || !Ze) break | |
} else Ze && (0 == t[A].id.indexOf("trpopuprow") ? (c = "expand", c = t[A].id.replace("trpopuprow", c), c = e.getElementById(c), null != c && (c.style.display = "none")) : 0 == t[A].id.indexOf("trpopupffrow") && (c = "expandff", c = t[A].id.replace("trpopupffrow", c), c = e.getElementById(c), null != c && (c.style.display = "none"))); | |
f++ | |
} | |
} | |
"undefined" != | |
typeof g_icon_number_hint && g_icon_number_hint && ("sites" == Ra ? (d = e.getElementById("lptabpopupformfills"), (g = e.getElementById("lptabpopup")) && d && ("none" == d.style.display && "none" == g.style.display) && (n = 0), H ? ie_do_popupfilliconnumber(n, -1) : C || sendRequest({ | |
cmd: "popupfilliconnumber", | |
sitenumber: n, | |
formfillsnumber: -1 | |
})) : "formfill" == Ra ? H ? ie_do_popupfilliconnumber(-1, n) : C || sendRequest({ | |
cmd: "popupfilliconnumber", | |
formfillsnumber: n, | |
sitenumber: -1 | |
}) : H ? ie_do_popupfilliconnumber(-1, -1) : C || sendRequest({ | |
cmd: "popupfilliconnumber", | |
sitenumber: -1, | |
formfillsnumbers: -1 | |
})); | |
"undefined" != typeof g_nomatches_triggers_save && g_nomatches_triggers_save && "sites" == Ra && "sites" == To && 0 == n && 0 < cd(e).sites && !l && !Uo && mg(e, null, null) | |
} | |
} | |
function Yl() { | |
yt++; | |
var c, e, f; | |
c = ng; | |
ng = 0; | |
e = wx; | |
f = Zl; | |
Zl = 0; | |
null == Wl && (Wl = e); | |
(Sj || e != zt || $l != c || 0 != At || 0 != Bt || "" != Ct || f != Vo) && So(e, "", c, f, 0, Dt, !1, "", 0); | |
zt = e; | |
Ct = ""; | |
$l = c; | |
Vo = f; | |
Bt = At = 0; | |
Sj = !1 | |
} | |
function Wo(c) { | |
ng += c; | |
Xo && (Yl(), $l = ng = 0) | |
} | |
function Yo(c) { | |
ng -= c; | |
Xo && (Yl(), $l = ng = 0) | |
} | |
function Tj(c, e) { | |
if (LP && LP.securityPrompt()) { | |
if (og = !0, c) return c() | |
} else if (og = !1, e) return e(); | |
return null | |
} | |
function Zo(c) { | |
c && Yc(c.defaultView.parent.document) | |
} | |
function Et(c, e) { | |
LP.lpGetCurrentWindow().openDialog(zb + "content/changepw.xul", "_blank", "chrome,titlebar,toolbar,centerscreen,modal", qn(c), e, "0", c) | |
} | |
function $o(c, e, f) { | |
var d = 0; | |
if ((c = kd(e.ownerDocument, Ba(c, e))) && !("undefined" == typeof c.fillhintnumber || "sites" != c.fillhint)) d = c.fillhintnumber, isNaN(parseFloat(d)) || !isFinite(d) ? d = 0 : 10 <= d && (d = 9); | |
c = [ap, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiEFu6xIcAAAAXhJREFUOMvNk8FLVFEUxn/ffRdmIAla1CbBFDGCpoiQWYlBLty7UHAvEq2HYLhveDMws2/TIly6E9SdIEj+AVYgRaTgXhe2C968x2nhTOjow8pNZ/ede/ide893Lvx3UavVhkMIk30dQqiGECpF9e68CCG8LpfL3yStAAIk6Z2kT3Ect68C+AGdSroFVEII82aWSXoGYGYHVwE0qOM43pU0BXw3s1zSI2AnSZKXhYB6vT7inLvd7XZ/eu8fOOe2JEW9zjkwZ2bHkoayLDtpt9ufLzzBe/8GWC6VSpc7nIE2pLPLeu/fA0uDQ3T/6pp6039uZnfN7Ieke1EUrQOu3/VawPloNBrbwIyZ7TvnLvg/+mKOJ3xk88NR4R4sADM92fp9MDRMdXaRxenHVMbuFy8SMAFkZval2Wyu9ZN3Hk4zWx0nAtKsWwxotVrNNE2f5nn+CrB+/nRvlSR5y2EK0TWbSKfT+fo3Lribfr4bA/yfl56y2kkuZX8BjXVyqMs8oFcAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiMeA//jHgAAAdRJREFUOMvNkz9oU1EUxn/nvkeSokgV2oIoNbVUi5Qgj+ogomAWB3GQEtFZUdE1COG+/IMEHLp2kI7FRdCCgxCQdhJFsSKCtIUMDoU42EEMvORxHPIiNSb+mzzbxz33+873nXvhv6tsNnvAWjvbxdbak9bamUH9Ziew1t5OJBIfRGQREEBEZEFE3vi+X+lH4PbgQER2ATPW2oyqtkXkOICqbvQjkF7s+/6qiJwG1lU1FJFp4FmxWDw3kCCXy40bY/a0Wq2m67qHjDFPRcSJlEPgkqo2RGR3u93+VKlU1n6w4LruXeBGPB7/WaFD9FikM6zruveB670hmn/dmkTpe6o6oqrbIjLqOM4jwHRVf0uws/L5fA1Iq+o7Y0y0/xip9AVOTO7j69YGteUVGlG/0/MOLotINoJ3RGQOIJm+RubUBHGFkfEpZqeHeP5qk7CP9ymgrarvS6XSw676kWNj0FyjOj/Pk3oAY/sZ7hdeuVwuBUGQCsPwFqDR2+LFgwWq95YZ9S5yPhkjqK9/t/DLlAqFgnanOHv1Jmcmh9neXGVxaYUvf7M+L9O53Pz4mtrLBodTSWID/kKf2svRiY7joYMec1c8COtsva3T+DOCzyxViwNPvwEMIZXdCan/PwAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiIBl+zfqgAAAdJJREFUOMvNkj9oU2EUxX/3e4+X2AYtgoIotAUVlZSiVQKCOFgwQ50cKhUcg4qbEITwvfyTjEKnCqUgbqJooQgFRXAROoiiKFWHOsdiSw0UXvK4DkloGl+wOHm2c7ice++5F/47ZLPZQ9baM21urU1Za0d61ZtOYq29FY/Hl0VkDhBARGRGRN75vl+JMnC7eCAi/cCItXZSVRsichJAVb9FGUg3933/tYicA76qaigix4FXxWLxQk+DXC43aIzZXa/XN13XHTLGLIqI0+ocApdVtSoiiUaj8aNSqbzftoLruneA67FY7M8OTaN5keawruvOApnuEM2/Xk1a6Y+p6j5VXReR/Y7jPANMu+tfDTqRz+dfAOOq+tEY07q/x1j6EqeG9rLx/QPPF5eo9fiDK8B4i5bb+pGJDBOpJH3EOJZKk5kcjX4k4CjQUNVPpVLpSVNKMHjAY315nun7D1gJoS8WjzYol8ulIAhGwzC8CWhTrfFy9h7Tj1yy+dsMO7BarfbOoBOFQkHB40TqLLt+fubL6h4uXp0iObDCzN2HVCNeOQL9nE6fZzg4yMbcG3Caan3n91/j6eMlfnmHmbpxjeTAJm8XFljb+Qpb8BIeQS3YVvMbj7WWjTVB6I8AAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiIqO1Am6gAAAb1JREFUOMvNkk1rU0EUhp8zd0gCrdKFNgiCFatiIYgUKdW6aikuhIJF6kJcdFFEXAclzM0XJH9A6EL8BSoqZlEQCl0GEQU/qApdiYouKmgUbu7luGgC+boUuvLdvcPMc86c88J/p2w2e9g5d7btnXNTzrlM3H3TaZxzt1Kp1KaI3AcEEBFZFZFXvu9XBgFsjw9EZAjIOOeWVDUUkTMAqvppEEB6ve/7GyJyAfioqpGInALWi8XibCwgl8sdMcbsbzabf621Y8aYNRHxWpUjYFFVv4vIcBiGPyqVyuuuL1hrbwM3kslkf4Ud0BORnWattfeAld4hmr1uTVrTn1TVg6r6U0RGPc97DJh21V0Bncrn88+BOVV9Y4zp2v/w0RkWzo2w8aDG52BwDq4Ccy1b7iInJrh2fZbx8QxjQzFBAk4Aoaq+K5VKDztec3H5MmkAIppxSSyXy6UgCE5HUXQT0Pb58UvLTB34Qm1tE4CwEZ9EqtXq++6TUaYn0xD9YuZ8Gkgwv7LA1t2nbA8C9OsPH16+peGFpA6dZGQfbH/9RiOug379pl57RB1ITCxy58oxXjyrE8StsVOFQkF3w/8DCTuL1wm1OYIAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiQbPNSBVgAAAdVJREFUOMvNks9r0nEYx1/Pxy9qzAIJXTWp7BCOMSJkC6KdtqMdIkZR4DEqOktDPooKCv0DBdEturSo2IIoKIQ6dBi5RmOsTrHTIjbIGqlfng4qbO4rRaee2/v9+fB6fsJ/F5lMJmatHetqa+0pa+1ov/9mu7DW3ggGgysicg8QQETktoi8z+VyZS+A06MbIjIAjFprL6hqS0ROAqjqJy+A9OpcLlcVkQlgVVVdERkGXhUKhcm+gGw2e8QYs6/ZbG45jnPUGPNcRHydzC5wXlXXRSTUarW+lsvl2o4WHMe5CVwNBAK7M7RBT0TaxTqOcxe40jtE869bk870k6oaUdVNEYn6fL7HgOlm/SNge+Tz+ZfAlKouGWPa+/fHSZ0bZ6DdAz8+V5l/t+Z5BxeBqY4sdf3Q8DjJRIKhSITI4BCx2KD3IQHHgZaqfiwWi7NdM3IwDHzjQ61GrfqQO48WvAGlUqnYaDROuK57HdCuHz0UBvYzdnqCyVSamfSZvpdIpVJZ7vVWXz/le/MLy2t1kukZUoePEeUN616A3RHm7OVp4j9XeHB/iZEDfnB/0fz7/W8wN7fA1t4El65NE9+zydvZZ2z0a8ETsTjPrcUXhEJ+6vX6jrffHVGXQ3t5OMYAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiUQsh1pnwAAAdhJREFUOMvNks1rU1EQxX9z37OJGAUF4yfYQBTUlCpBixhRaBcuAoIiiovsFBXXQQk3IYkkf4IF8S/QUjdCURELdlWjglSKunHhIukiQktLX/IYF0mkTRP8WDm7M/dyZuacA/9dpdPp/dbaEx1srR2x1g71+2/WAmvtnWAwOC8ijwABREQeiMj7bDZb6kXgdmFPRLYAQ9baK6raFJHjAKr6pReBdONsNjstImeAz6rqi8hh4FU+nx/tS5DJZA4YY7Y1Go0V13UHjTFTIuK0J/vAJVWtiUio2WwulEqlD+tOcF33LnAzEAhsnNAieirSWtZ13YfAjW4Rzb+6Jm3146q6U1V/iEjYcZxJwHSm/pZgbeVyuRfAmKp+NMb88v9g4gLnYntYXZhnauI1tT45uAqMtWGx0w8nUlwbPYazvMy+2FluXU/0DhJwCGiq6lyhUHjSaoU4dTICi1+ZfTvHbKXC9LvvDPQiKBaLBc/zhn3fvw1oq7uJkAtsjZK8mOR0PM7w4A68PkmkXC5/2qCUA1RnyI+/ZCR1j/Oxo4QnKtT+zL4636oe7IoQjxwhunsAVlZp/I3/byafU/X3kkxdJrp5kZnHz6j3O6H3EhXG71cIbQ+xVF9a9/QTGr2YJMqy6kMAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiYB84AargAAAa9JREFUOMvNk0FrU0EUhb87bzABiyhiC7XQKCq6CCJF3FhQ7E7BhYL+AhFxHYQwL7xEknUX0kUR3LhRQQsuxAahgkvRIpaiXYmrCiaCILzMcF0khTZ9z0JXnt2ZGb4799wZ+O9UqVQmnHNnN7xz7pxzrpx33mw2zrm7xWJxVUQeAgKIiMyJyIc4jptZADvkUxHZC5SdczdU1YvIGQBV/ZoFkGEfx/GSiEwDX1Q1iMgp4E2SJJdyAdVqddIYs6/X6/2x1paMMa9EJBpUDsA1VV0XkRHv/Y9ms/lxSwvW2nvA7UKhsL1CH/RCpH9Za+08cGs4RLPbqckg/SlVPaSqXREZjaLoOWA2qu4I2KxarbYIzKjqJ2NMGUY4f/Uyh4se7/td+1+rLLSXt4/ROXcTmBnYBvAE4GDpOCf3RwQgAgiWt+1lOhm9nwC8qn6u1+vP+ku/WZi9T5IkPHi5BqS8e/SUTlZ4jUajnqbp6RDCHUC3so9w/cox0rXXtL+nuS+RVqu1khXWxIWLjBNYWnyf/xf+pdLRMQjfWFlnN4ADTI7tge5Pujt8phx1eNxKMnf+AqjSjZJP5cFjAAAAAElFTkSuQmCC", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiYvL1YXYQAAActJREFUOMvNk71rU2EUxn/nvdckkCgWsYv1Y1EQWlMJUkWqQzsUdOtQ/4Jgi3NQwntvPiDZXQSDi7P4sRUqhYKTIhaMIjoIhSKNFDsExZt7OQ5NMI03VJx8tufh8Jz3nOe88N+hUCiMWWsv9Li1dspaOzGs3vQTa+2tVCr1QUQeAAKIiNwTkTee59XiDNwBHohIGpiw1i6oaigi5wFU9VOcgQxyz/PWRGQa+KiqkYicBVbL5fLMUINisXjSGHOo0+n8cF33lDFmWUScbucImFfVlohkwjD8WqvV1veM4LrubeBmMpn8s8Ou0VOR3ce6rtsA8oNLNP+amnS3n1PVo6q6IyKjjuM8AUyv674G/fB9fwWYVdW3xphu/hmmrl/j3NgIP780efzsBe0hd3ADmO3Sak/PzueZy52G7xHHJmdYWsjGHxJwBghV9V2lUnnUE1PpJOys03jY4NU2JNIH4w2q1WolCIJsFEVLgPb0zY0tOJzD930uH4Gtjc2hl0i9Xn+/Vxnh6qXjsP2au/dfciW/yOTFaUaff6b11/E5gJPkAB2iff5CDL6xttLkxNw4i3fGgYDm8iqtYTH2o1Qq6W+WIJNJELTbBH01vwC+YJMlVG88LQAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDigO/bwqsQAAAfNJREFUOMvNkz1ok2EQx3/39umHmpZWMUVaUEEUpWlQ0QyiCDooFhwcFN2lgqhTEMKTDwsZCw4SQQNOLh20KBgQRZ0kIK2LlBaqtNKhfkRqbHnfvOEc0kCbD0Enb/vD8bu7/93BfxfRaLTfWnuoqq21EWttqFm+s1ZYa692dHRMiUgWEEBEJCMiE/F4PN0IYGq0JyKbgJC19ryq+iKyH0BVZxoBpFbH4/HXInIUmFbVsojsBV6mUqkTTQGxWGy74zhdpVJpxRizw3GcnIi0rFYuA+dUdVFEAr7vf0mn05PrRjDG3ASG29vb6ytUQI9FKs0aY+4Bl2tNdP51a7Lq/kFV3aqqP0QkaIwZ/yvA2kgkEs9F5CQEiAydYbC/i6VPeR7l3uM1ALTU3MEFEYmKCJFLNzg1sA186NsVZl/nAvnp738+JGA34EOQPTs3UP6YY/T2KC8WymwJHaYHgABDw9c5G+6pB4yMjNzyPC8My/zyoKVvkEj4OAO9lUZbAdjI5t5ugp2tzY1JJpOavv9M55ZcVd9VV1XVndE3s8u6Plxtsr42jp0+QvfPCTJ3xvkKeHNT5J88IJsdY74M3yafksncrfuF6kvw9tUHDlyMcOVaBFbmeTj2jqIHxUIJF3A/z7K4WKhfY3WEaieBnjaKhWLTcX8DATq/EhizV6kAAAAASUVORK5CYII=" | |
]; | |
e = [pg, "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiA7Y9ZkmgAAAOlJREFUOMvNkr8OAUEQxn+4UkFN4k8kGv865SmVEqXGI3iEvUrvBWg8gDfwAsQDSO48wfVHQmEkg3NWrjHJZHe/nZ2Z79uBf7QqMFDnnriVzYAQ8BV2AK6AiXvgxGAF8amcu7IGtl1spaIvfhUs1jKKd0X2pxcKSDeBun/rxkglG3/SIpv2yzSFqtovAYwxXxM4SuFAifjgWtHBtcGYDns2W/8jhRHgKl3uli/TH06YuC3a9RJJGvRU9dUDLDZdhv0GOSC6nBMTGKCmhgiAcLfG8xYcI8hZTGLwy9Sl/sbUCRz70JD13HtDbwm1Old+g8VwAAAAAElFTkSuQmCC", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiMmK/1bgAAAAUhJREFUOMvNkr9Lw1AQxz9KCCgIUcSCICYaUFBIIODikA4ddBC7iKCLONlJ/4Q4devqJLoUZ8GtIC24KAh1VSERh0KWdrIQkDr4Wp81oREXD453d4/78f3ewX8UHchKvi00lRwBTcCXYnWgA3hxCUpMTBO6J3xLvEHaKaqioy+0I2KxMiThnhX2Sx8ExDSB9P9jGk90SqPfuBj+68pkCLpknwF4njewgCIxHEgkdrEKXlSs3AYr5gRvjScql1XCBAh5wJV4AcDI7ZNfXWZydAzTdikcrKEmFLCl7ufd7gtLGWjXKZZKXPkRZKbREg7JE4n6Vyji9uKE6zBkytlk3VCJ/McehLhLDPr33AxbZHcPcU2N1nON0/LN79bobBdwTY326z2Vu5B5y+hxoAxOH2dx7hPxyIzD1o4D7z6NB58wXYEm5eJx4u8Hfzxclyg/Z/wAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiII7jBnDgAAAVBJREFUOMvNkjFLw1AUhT+1pFo7FAdFHBrBgkihxRQ6STtmqOAmOIhTwU0QXH2/QNBBBBE7uQgilIJDByehgyDi4JaIkwWJ1IJQkTr0iS8xqQEXD1xy70le7j3nXfiP0IGiUmdlhMIG4ACWwt0AXUD4HYj4cAkZa7LOyKcddopL2dGS0ZWcLwYU3UmZP3gkIKexlfc/phGyU5hweTH41ytTJehKfgwghPj1BxHFYVsx8Uur9EXDMBeZ18do2bfULhq0AyQsAQXFFwBSpTKlfJoYUWbzJuXlTKAHWaV7pZfGSU5qvNyfs3tQwfqAWHQ4cJGEPKh/U23qhzvUMdja3mQEeGo2+96C7V4cjbl8ESP1yP7eCXfPMJFbYLzPKnswSs4sMN2ZonV0BUM99j38HjicnTZ41WZYWV8lnXjjulrF8eyBL4QQXbXW4hqddsf1zSd981rsA+U7cAAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiIxsTXvBgAAASpJREFUOMvNkrFLw1AQxn+2EhQVIohFKJhqRSiIBQcRCxYEcSgoilNFSgdnV7f3n+g/4GQHx65BBAcHnRoXdetiHGolLgdeYpoGXPzg4727x7u77+7gP8IBqsouC1PhDOgCHeW7BwLAxH0YjfHZwobYq3J6aatoS8aOMBBfLEaU7nm5P0ckINV46v1XNUYypWGoF5m/jkxLcNT9AsAYMzRARnW4LWworSFMFirU6zXy1mAJ+8CW6ssPrBLHJ9sUiys4E4MDlFX2S/Wb3eYBOQC++ExoogEKSgYAS7Um6zMvtG4eAej7yVPwwoszy8ZaDrCpbC4A4+yc7jGdsMoRfPB094Cf7TM2t4w9Bd3XN/z0Ad5xW1e4gFU65Pxokdtrl15kD2JhjAmGhf8GfYtLPXngvXwAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiQSRQg58gAAAVdJREFUOMvNkz1LA0EQhh/lOAhG8IpL1ARNrE5SGAimEIL+gAhapFEQWztbu+sE/4QiYmUjiY0gKsTCIpAoiIiQU2IjSARPowSJhRvYXO70wMaBYXdnmI/3nVn4jxIDZqR3UqgvWQXqQFWylYEWYLoFKC62AaHL4j0hTstvFyeiYlVoS9hcpUfCPSrudw4IiG4syd/VjSkq+dEOLnr/OjIZQky6bwKYpvlrAkVi2JJIbGP95kWNk51P0wegKLzenlI4r7lCmAOmJV4ACI6nSRkGEV1HD0eIRsOee5CUqm+1oehDGvDERbnMe+OBYqnqmcAUgTHZGBrWAJXJqQxqQCWTOGJ9u+i5iZZzzjfH+7w077mq2aSW1siOjBGiyKNHAodozC7miL9ds7tzSWJQhc8Pmv73oE4+X6LRb7CwkiMeeOZs74D6D5+pO0WlwEblkGBQxbbtDt8XLQlh5BtbXRIAAAAASUVORK5CYII=", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiUJ1nbBXwAAAVBJREFUOMvNkz1LA0EQhh9NDASuSJr4VZjA2WjAgCAIBwnYBhTBxiLYWNj5EzaQH2GnvYiVEKxSmEoPUlikEO5SSDiFnJAQyanEwg1uzEVPbBwYdnaG2Zn3nVn4j5IEcso9IzWQHAIuYCm+GtAHhF9C2McXk7on7yvytIN2UZEVLal96fOVCQX3grQbXyAgu7GV+Eg3QlYKokNcTP51ZCqEpGIfAwghfnwgrDBsKyQOsA54YdHYJJeepfdYp3xW4WEMhC0gq/ACQMIosLuRIdTtMp/OcrBvjN2DjFL95AOKxvpaCtp3XN/UibdavDbviQCezwNCJiY/XVNoYSCqk9/WIQRPt00qpjV2CvbI4oQAp0qxVKRsecTSyySCj9Gl4XgwnWI1tYQ+E4HnHi+/2YOr80uctznyhR30aJvq6QXuN5/JpwmTo5KJFtfouJ2h0Du9o2L2gjumAgAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiYHGuO/mwAAASZJREFUOMvNk79KA0EQxn+aQywsEiwCMXgXUbAzYCsYawNa2KXJEwQfYQXB2idIGiura/UKFSwF04iFkItYWeQiWIU7YpERxrjqkTR+MOzuDPPvm1n4j/CAinqXRVLhEIiAjtLdA0PA2Bwciy4rUpf3hpxh2iquJGNHZCg6K2ZU367cu2MtINWEyv6tGiOZ0sgXLmanHZluwVP3JoAx5s8AjmI4VCR+9urCAlt7uyzNx8TxyCV+e8QP2tYx7gPbipcmwKK3xno2QwJkABKHm6BNZAlQVtlbowDv+KfH+EBus0ajusxt65zoBxINUFJLpFDioLrK4OmC4GXw6yaGtjkXKzsUSLi+vGOiMXoreUieeXhlkgA53Pwc9Hv0U3wmCyLOTo6slg+fZlNd2Y2MegAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDiY3PDqPNwAAAURJREFUOMvNk79Lw0AUxz/amgqNYBcHf8bBrdhABnWQCi4FHQQHVydBJ1en3ubu4tBB8Q8Q3ARBLLiJkCGDW6NQRSHUIQhGShy84jUmGnHxC4+7971c3nvf9w7+IwxgQfFNaamwDbSAhsLZQAiIuAvZGG5Q2rr0S3J102ZxISM2pIWSi0WPUveE3N9GSkBm4yrnX7IRMlIa69Ki968tU0swlP0BgBDixx9kFYVdRcROrVIXnZnlJaZHC7w+OByfXOInlLAClBVdPvq4ukHFmoKXNiPmIltrpUQNTCX6YYfsz+fg2aZ2VOPKAy0/kDhIQl40VLJ59wiTFtWqBcD9TfPbLrjdg1OgPDcG3jV7u/vYHgzPzjP0qzZmgEyOPt5op3gLEbSonzmMV4ps7hSBAOf0nKfIHMRCCBF+ehq6rhH4PoHyzTsT9lgsYELcCQAAAABJRU5ErkJggg==", | |
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QsPDigXmdeCcQAAAXtJREFUOMvNk88rRFEUxz8MIzKaoWYWFBZiwYwob6GYJZlizcZKWOBPuCvLKQuNhYmVzSwkio2SlaaEjZQyz48sRFPjGb3HdG3u6M3Mm5qycep0zzm3e873e8658B+lAwjb/H6lFckKkAZSttglIAHh9KDGIeZVOqv8kDr1SlGcqIoppVLFHKXKxrtd2fdFFFBodNt9CRqhKlWiBb2o/uvI7BQ68rYQYqvSBDW2Duu2JgKNaJEJgm1NZPQku0dXWA4JiilMAaMA2swiY4M9eOo89GhTzEW6HBEUJ1Ab56e7s55c6ojoWpTj5xwtfUP4FLLI/DKTIZ9jAgF0QpYPC1ytQbRQmN6AC4BaABpoDnjxe2rLN0YIIVc3D+VDxpTy25SmlFKat/L0LisLxZRlxuhmZHwY7/sFsfU9XgHr4Ybk/jbxeILHHLxdHhCLbTj+BcDi7OSagWmNhSUNPh/ZSZxjWGCkvzAB8+mOl5f07x6UUMgjafS5MdJGWbo/W6+PV71qU8EAAAAASUVORK5CYII=" | |
]; | |
return f ? e[d] : c[d] | |
} | |
function Ft(c, e, f) { | |
var d = []; | |
if (Mb && !(null == e || "undefined" == typeof e.type || "hidden" == e.type) && ("text" == e.type || "password" == e.type || "email" == e.type || !f && "tel" == e.type || !f && "url" == e.type || !f && "textarea" == e.type)) { | |
var g = Ba(c, e); | |
if (kb(g, d) || am(c, e, !f)) return !1; | |
var g = /(?:date)|(?:calendar)/i, | |
h = /(?:validate)/i, | |
d = e.name, | |
l = e.id; | |
return (d = g.exec(d) || g.exec(l) ? h.exec(d) || h.exec(l) ? !1 : !0 : !1) || Gt(c, e) || mn(c, e) || Vq(e) ? !1 : f && !Cf(c, e.form) && !rh(c) ? (Ht && Qd(c, e.form), !1) : !0 | |
} | |
return !1 | |
} | |
function qg(c) { | |
if ("string" == | |
typeof c && -1 != c.indexOf("e")) { | |
c = "" + parseFloat(c); | |
for (var e = "", f = c.length - 1; 0 <= f && "0" == c.charAt(f); f--) e += "9"; | |
c = c.substring(0, f + 1) + e | |
} | |
return parseInt(c) | |
} | |
function Uj(c, e, f, d) { | |
xx++; | |
if (null == c || e == c.body || null == e || 50 < f) return null; | |
var g = 0, | |
g = "undefined" != typeof window && window ? window : c.defaultView, | |
h; | |
h = "undefined" != typeof g.getComputedStyle ? g.getComputedStyle(e) : e.currentStyle; | |
if ("absolute" == h.position || "relative" == h.position || "fixed" == h.position) { | |
if ("auto" == h.zIndex || "" === h.zIndex) return g = Uj(c, e.parentNode, | |
f + 1, d + 1), null == g ? 0 : qg(g); | |
g = Uj(c, e.parentNode, f + 1, qg(h.zIndex)); | |
return null == g ? qg(h.zIndex) + 1 : qg(g) + 1 | |
} | |
if ("auto" == h.zIndex || "" == h.zIndex) return g = Uj(c, e.parentNode, f + 1, d + 1), null == g ? d + 1 : qg(g) + 1; | |
g = Uj(c, e.parentNode, f + 1, qg(h.zIndex)); | |
return null == g ? qg(h.zIndex) : qg(g) + 1 | |
} | |
function bp(c, e) { | |
if (null == c || null == e) return null; | |
var f = !1, | |
d = e.form, | |
g = !0, | |
h = !0, | |
l = It(c, Vj, c.location.href); | |
null != l && (g = l.show_for_generate, h = l.show_for_clickable_icon); | |
g && kg(c, d) && (ye(c, e) && h) && (f = Jt(c, d) && e == ah(d) ? !1 : !0, "undefined" != typeof g_docnum && | |
(Qd(c, d), Ba(c, e))); | |
return f | |
} | |
function It(c, e, f) { | |
if (c) { | |
e = { | |
show_for_formfill: !0, | |
show_for_save: !0, | |
show_for_autofill: !0, | |
show_for_generate: !0, | |
show_for_clickable_icon: !0 | |
}; | |
if (null == Vj) return null; | |
if (null == f || 0 >= f.length) f = c.location.href; | |
c = nb(f); | |
f = nb(Ta(f)); | |
for (var d = 0; d < cp(Vj); d++) { | |
var g = Vj[d]; | |
0 == g.domain && nb(g.url) != c || 1 == g.domain && f != nb(Ta(g.url)) || ("neverformfills" == g.type ? e.show_for_formfill = !1 : "neveraccounts" == g.type ? e.show_for_save = !1 : "neverautofills" != g.type && "neverautologins" != g.type && ("nevergenerates" == | |
g.type ? e.show_for_generate = !1 : "nevershowicons" == g.type && (e.show_for_clickable_icon = !1))) | |
} | |
return e | |
} | |
} | |
function cp(c) { | |
var e, f = 0; | |
if (null == c || "undefined" == typeof c) return 0; | |
if ("function" != typeof c.hasOwnProperty && "undefined" != typeof c.length) return c.length; | |
for (e in c) c.hasOwnProperty(e) && f++; | |
return f | |
} | |
function kg(c, e, f) { | |
if (null == c || null == e || e.elements.length > dp) return !1; | |
var d, g = Qd(c, e); | |
if (!f && (d = ep(c, g, "ask_generate"), null != d)) return fp++, d; | |
gp++; | |
try { | |
var h = Df(c.location.href) | |
} catch (l) { | |
return !1 | |
} | |
var n = d = 0, | |
p = 3; | |
f && (p = 2); | |
ce && dd() && (p = 7); | |
if ("tumblr.com" == h && (tumblr_action_btn = c.getElementById("signup_forms_submit"), null != tumblr_action_btn)) { | |
f = tumblr_action_btn.getElementsByTagName("SPAN"); | |
var q; | |
for (q = 0; q < f.length; q++) | |
if (0 <= f[q].className.indexOf("login_btn") && Nb(c, f[q], 0, h)) return !1 | |
} | |
if (!Nb(c, e, 0, h)) return !1; | |
f = Kh(e, zi); | |
if (null != f && (0 <= f.toLowerCase().indexOf("signup") || 0 <= f.toLowerCase().indexOf("register")) && -1 == f.toLowerCase().indexOf("login")) return Kd(c, g, "ask_generate", !0), !0; | |
var r = !1; | |
if ("undefined" != | |
typeof Math) { | |
f = Math.floor(1E4 * Math.random()); | |
var t = q = 0, | |
r = 0, | |
A = null, | |
y = e.elements.length; | |
y > Ai && (y = Ai); | |
for (var J = 0; J < y; J++) { | |
var u = e.elements[J]; | |
"INPUT" == u.tagName && ("password" == u.type ? q++ : ("text" == u.type || "email" == u.type) && t++); | |
if ("INPUT" == u.tagName && "submit" == u.type || "BUTTON" == u.tagName) | |
if (r++, A = u, 10 < r && e.elements.length > Ai) return !1 | |
} | |
if (1 == r && 2 >= t && 0 < q && Kt(A)) return !1; | |
t = e.elements; | |
for (J = 0; J < Ai && J < t.length; J++) | |
if (u = t[J], r = !1, "FIELDSET" != u.tagName && Wj(c, u) && !bm(u) && ("expedia.com" == h || Nb(c, u, 0, h, f))) { | |
if ("BUTTON" == | |
u.tagName && "submit" == u.type && null != u.innerText && 0 <= u.innerText.indexOf("Create") || "BUTTON" == u.tagName && "submit" == u.type && null != u.innerText && 0 <= u.innerText.indexOf("Register") || "INPUT" == u.tagName && "submit" == u.type && null != u.value && 0 <= u.value.indexOf("Create") || "INPUT" == u.tagName && "submit" == u.type && null != u.value && 0 <= u.value.indexOf("Register") || "INPUT" == u.tagName && "submit" == u.type && null != u.value && 0 <= u.value.indexOf("Sign me up") || "INPUT" == u.tagName && "image" == u.type && null != u.value && "create" == u.value) p = | |
2; | |
if (1 < q && Lt(c, u)) n++; | |
else if (A = hp(c, u), !e || !("form1" == e.id && e.action && e.action.indexOf(".aspx") && "text" == u.type && (A === cm || A === Mt))) | |
if (!Ld || !("text" == u.type && (A === Xj || A === Yj))) { | |
if ("password" == u.type || r || "text" == u.type && A === Xj || "text" == u.type && A === Yj) { | |
r = u.getAttribute("placeholder"); | |
null != r && 0 <= r.indexOf("Create your") && (p = 2); | |
if ("facebook.com" == h && "string" == typeof u.id && u.id.match(/^[a-z0-9]{6}_\d{1,2}_ci_password$/)) continue; | |
else if ("tdbank.com" == h && "string" == typeof u.name && "user" == u.name) { | |
n++; | |
continue | |
} | |
if (0 == | |
d && 1 < q && Nt(u)) { | |
n++; | |
continue | |
} | |
d++ | |
} else if ("email" == u.type || "text" == u.type || "textarea" == u.type || "tel" == u.type || "url" == u.type) | |
if (Ot(u)) d++; | |
else { | |
u ? (r = u.name, A = /(?:Forg[oe]t)/i, r = A.exec(u.id) || A.exec(r) ? !0 : !1) : r = !1; | |
if (r) continue; | |
oc(u, !0) && (Ba(c, u), Gt(c, u) || n++) | |
} | |
if (4 <= d || 100 <= n) return Kd(c, g, "ask_generate", !1), !1; | |
if (2 <= d || 1 <= d && n >= p) return Kd(c, g, "ask_generate", !0), !0 | |
} | |
} | |
Kd(c, g, "ask_generate", !1); | |
return !1 | |
} | |
} | |
function Nt(c) { | |
var e = /(?:Account)|(?:Member)|(?:IUO_NAME)/i, | |
f = c.name; | |
return e.exec(c.id) || e.exec(f) ? !0 : !1 | |
} | |
function Kt(c) { | |
if (!c) return !1; | |
var e = "INPUT" == c.tagName ? c.value : c.innerHTML, | |
f = /(?:Login)|(?:Log.In)|(?:Logon)|(?:Log.on)/i; | |
return f.exec(c.id) || f.exec(e) ? !0 : !1 | |
} | |
function Vq(c) { | |
if (!c) return !1; | |
var e = c.id; | |
c = c.name; | |
var f = RegExp(Za("ff_captcha_regexp"), "i"); | |
return f.exec(e) || f.exec(c) ? !0 : !1 | |
} | |
function Zj(c, e) { | |
if (null == c || null == e) return !1; | |
if (e.elements.length > dp) return !0; | |
try { | |
var f = Df(c.location.href) | |
} catch (d) { | |
return !1 | |
} | |
var g = Qd(c, e), | |
h = ep(c, g, "is_nonlogin"); | |
if (null != h) return fp++, h; | |
gp++; | |
null == c || null == | |
e || "FORM" != e.tagName ? h = !1 : (Qd(c, e), h = null != e.id && 0 < e.id.length && "undefined" != typeof e.id.toLowerCase && (0 <= e.id.toLowerCase().indexOf("search") || 0 <= e.id.toLowerCase().indexOf("srch")) || null != e.name && 0 < e.name.length && "undefined" != typeof e.name.toLowerCase && (0 <= e.name.toLowerCase().indexOf("search") || 0 <= e.name.toLowerCase().indexOf("srch")) ? !0 : !1); | |
if (h) return Kd(c, g, "is_nonlogin", !1), !1; | |
if (!Nb(c, e, 0, f)) return !1; | |
var h = f = 0, | |
l = e.elements, | |
n = l.length; | |
n > $j && (n = $j); | |
for (var p = 0; p < n; p++) { | |
var q = l[p]; | |
if ("FIELDSET" != | |
q.tagName && ("email" == q.type || "text" == q.type || "password" == q.type) && !bm(q)) { | |
if (100 < ++h) return Kd(c, g, "is_nonlogin", !1), !1; | |
if (!0 != q.disabled && Wj(c, q) && oc(q)) { | |
if (am(c, q, !0) && 8 > l.length) return Kd(c, g, "is_nonlogin", !1), !1; | |
f++; | |
if (3 <= f) return Kd(c, g, "is_nonlogin", !0), !0 | |
} | |
} | |
} | |
Kd(c, g, "is_nonlogin", !1); | |
return !1 | |
} | |
function Kd(c, e, f, d) { | |
if (null == c || null == e || null == f || 0 === e.length || 0 === f.length || null == d || "FF" == e || "none" == e) return null; | |
"undefined" == typeof c.g_form_attr_cache && (c.g_form_attr_cache = []); | |
null == c.g_form_attr_cache[e] && | |
(c.g_form_attr_cache[e] = {}); | |
c.g_form_attr_cache[e][f] = d; | |
return !0 | |
} | |
function ep(c, e, f) { | |
return null == c || null == e || null == f || 0 === e.length || 0 === f.length || "FF" == e || "none" == e || "undefined" == typeof c.g_form_attr_cache ? null : null != c.g_form_attr_cache[e] && null != c.g_form_attr_cache[e][f] ? c.g_form_attr_cache[e][f] : null | |
} | |
function yx(c) { | |
c = "undefined" != typeof document ? document : c.target.document; | |
var e = c.getElementsByTagName("body")[0]; | |
c.g_posbodyrect_cache = e.getBoundingClientRect(); | |
var f = "undefined" != typeof window && window ? | |
window : c.defaultView; | |
c.g_posbodystyle_cache = "undefined" != typeof f.getComputedStyle ? f.getComputedStyle(e, null) : e.currentStyle; | |
Bi(c); | |
return !1 | |
} | |
function Nb(c, e, f, d, g, h) { | |
if (Ld && !h || e == c.body || null == e || 50 < f) return !0; | |
if (null == d) try { | |
d = Df(c.location.href) | |
} catch (l) { | |
return !1 | |
} | |
f = "undefined" != typeof window && window ? window : c.defaultView; | |
for (g = e; g && g != c.body;) try { | |
var n; | |
n = "undefined" != typeof f.getComputedStyle ? f.getComputedStyle(g) : g.currentStyle; | |
if (null != n && "none" != n.display && "hidden" != n.visibility && (null == g.offsetHeight || | |
"" === g.offsetHeight || 1 < g.offsetHeight || "hidden" != n.overflow) && !("expedia.com" == d && "-1px" == n.marginTop && 1 == g.offsetHeight) && !("dropbox.com" == d && "register-partial-container" == e.id && 50 > g.offsetHeight)) g = g.parentNode; | |
else return !1 | |
} catch (p) { | |
break | |
} | |
return !0 | |
} | |
function dm(c, e, f) { | |
var d = 0, | |
g = 0, | |
h = c.getElementsByTagName("INPUT"); | |
if ("undefined" != typeof Math) { | |
for (var l = Math.floor(1E4 * Math.random()), n = 0; n < h.length; n++) { | |
if (100 < n) { | |
e || (d += h.length - n); | |
break | |
} | |
var p = "password" == h[n].type; | |
if (!e || p) | |
if (!("checkbox" == h[n].type || | |
"hidden" == h[n].type) && Nb(c, h[n], 0, null, l)) p && g++, d++ | |
} | |
f && (c.g_password_cnt = g); | |
return d | |
} | |
} | |
function Xb(c, e) { | |
zx++; | |
if (null != e) { | |
if ("undefined" == typeof e.getBoundingClientRect) return null; | |
var f = e.getBoundingClientRect(), | |
d, g; | |
d = "undefined" == typeof f.width ? f.right - f.left : f.width; | |
g = "undefined" == typeof f.height ? f.bottom - f.top : f.height; | |
var h = null; | |
"undefined" != typeof c.body ? h = c.body : c.getElementById("main") && (h = c.getElementById("main")); | |
var l; | |
"undefined" == typeof c.g_posbodyrect_cache ? (l = h.getBoundingClientRect(), | |
c.g_posbodyrect_cache = l) : l = c.g_posbodyrect_cache; | |
var n = 0; | |
if ("undefined" == typeof c.g_posbodystyle_cache) { | |
var p = "undefined" != typeof window && window ? window : c.defaultView, | |
h = "undefined" != typeof p.getComputedStyle ? p.getComputedStyle(h, null) : h.currentStyle; | |
c.g_posbodystyle_cache = h | |
} else h = c.g_posbodystyle_cache; | |
"relative" == h.position && !Ld && (n = l.left); | |
h = "undefined" != typeof window && window ? window : c.defaultView; | |
"pageXOffset" in h ? (l = h.pageXOffset, h = h.pageYOffset) : (h = 1, "undefined" != typeof H && H && "undefined" != typeof c.querySelector && | |
"undefined" == typeof c.addEventListener ? h = 1 : l && (h = Math.round(100 * ((l.right - l.left) / c.body.offsetWidth)) / 100), l = Math.round(c.documentElement.scrollLeft / h), h = Math.round(c.documentElement.scrollTop / h)); | |
return { | |
left: f.left + l - n, | |
top: f.top + h - 0, | |
width: d, | |
height: g | |
} | |
} | |
return null | |
} | |
function ip(c, e, f, d, g) { | |
Ax++; | |
var h; | |
h = null == c || null == e || null == d || 0 === e.length || 0 === d.length ? null : "undefined" == typeof c.g_LP_measureText_cache ? null : null != c.g_LP_measureText_cache[d] && null != c.g_LP_measureText_cache[d][e] ? c.g_LP_measureText_cache[d][e] : | |
null; | |
if (null != h) return Bx++, h; | |
Cx++; | |
h = c.createElement("span"); | |
var l = null; | |
if (null == d && null == f) return l; | |
null == g && (g = c.body); | |
null == g && (g = c.getElementById("hiddenel")); | |
g && (g.appendChild(h), null != d && (h.style.cssText = d), null != f && (h.style.fontSize = "" + f + "px"), h.style.position = "absolute", h.style.left = "-1000px", h.style.top = "-1000px", h.innerHTML = e, l = { | |
width: h.clientWidth, | |
height: h.clientHeight | |
}, f = l, null == c || null == e || (null == d || 0 === e.length || 0 === d.length || null == f) || ("undefined" == typeof c.g_LP_measureText_cache && | |
(c.g_LP_measureText_cache = []), null == c.g_LP_measureText_cache[d] && (c.g_LP_measureText_cache[d] = {}), c.g_LP_measureText_cache[d][e] = f), g.removeChild(h)); | |
return l | |
} | |
function rd(c) { | |
if (null == c) return !1; | |
if (null == c.location) return c = "undefined" != typeof LP.lpGetCurrentWindow().getBrowser ? LP.lpGetCurrentWindow().getBrowser().contentDocument : LP.getBrowser().contentDocument, Yc(c), !1; | |
if (0 < c.location.href.indexOf("popupfilltab.xul")) return !0; | |
c = c.getElementsByTagName("iframe"); | |
for (var e = 0; e < c.length; e++) | |
if (("function" != | |
typeof c.hasOwnProperty || c.hasOwnProperty(e)) && 0 == c[e].id.indexOf(ui)) return !0; | |
return !1 | |
} | |
function jp(c, e) { | |
c || (c = C && LP ? LP.getBrowser().contentDocument : document); | |
if (c) { | |
if (Mb) { | |
if ("undefined" != typeof H && H) | |
if (init_LPfn() && LPfn) LPfn.ie_reset_popupfillhint(), LPfn.ie_setup_event_handlers(c); | |
else return; | |
if ("undefined" != typeof C && C) c.g_input_cnt = dm(c, !1, !0), c.g_form_cnt = kp(c), c.g_did_setupInputObserver = !1; | |
else { | |
dm(c); | |
kp(c); | |
var f = c; | |
if (f || !(f = document, !f)) f.g_need_to_recompute_input_index = !1 | |
} | |
var f = "undefined" != | |
typeof g_isloggedin ? g_isloggedin : P, | |
d = !1; | |
if (ak || !ak && f) d = !0; | |
try { | |
var g; | |
g = "undefined" != typeof Wa ? Wa.URLToASCII(c.location.href) : c.location.href; | |
var h; | |
f = g; | |
if (null == f) h = !1; | |
else { | |
var l = "https://lastpass.com/"; | |
"undefined" != typeof base_url && (l = base_url); | |
h = 0 == f.indexOf(l) || 0 == f.indexOf("https://lastpass.com/") || 0 == f.indexOf("https://lastpass.eu/") ? !0 : "undefined" != typeof g_loosebasematching ? (f = Ta(f), RegExp(f + "/$").test(base_url)) : !1 | |
} if (h || 0 == c.location.href.indexOf("chrome://") || 0 == c.location.href.indexOf("chrome-extension://") || | |
0 == c.location.href.indexOf("safari-extension://") || 0 == c.location.href.indexOf("about://") || 0 == c.location.href.indexOf("javascript://") || 0 == c.location.href.indexOf("resource://")) return !1 | |
} catch (n) { | |
return !1 | |
} | |
if (f = d) | |
if (!(f = e)) | |
if (!(f = Dx(c))) | |
if (!(f = rh(c))) | |
if (!(f = Ex(c))) a: { | |
if (f = c) { | |
d = bk; | |
ck(f) || (d = Ci); | |
h = f.getElementsByTagName("form"); | |
for (var l = !1, p = 0; p < h.length && p < d; p++) | |
if (l = kg(f, h[p])) { | |
f = l; | |
break a | |
} | |
} | |
f = !1 | |
} | |
f && (f = Df(c.location.href), C || "undefined" != typeof H && H || sendBG({ | |
cmd: "getpopupfillsites", | |
tld: f, | |
url: g | |
}), Fc && | |
(rg = { | |
sites: -1, | |
formfills: -1 | |
}), ("undefined" != typeof window && window ? window : c.defaultView).setTimeout(function() { | |
a: { | |
var d = c, | |
f = Pt; | |
if (Mb && (d || !(d = C && LP ? LP.getBrowser().contentDocument : document, !d))) { | |
if (C) { | |
LP.lpGetCurrentWindow(); | |
var g = "undefined" != typeof LP.lpGetCurrentWindow().getBrowser ? LP.lpGetCurrentWindow().getBrowser().contentDocument : LP.getBrowser().contentDocument | |
} | |
var h = d.body; | |
h || (h = d.getElementsByTagName("body")[0]); | |
if (h) { | |
h = !1; | |
if (C) { | |
if (ln(nb(d.location.href), Ta(d.location.href)) || ln(nb(g.location.href), | |
Ta(g.location.href))) break a; | |
h = !0 | |
} else { | |
var g = It(d, Vj, d.location.href), | |
l = !0, | |
n = !0, | |
p = !0, | |
s = !0; | |
null != g && (l = g.show_for_formfill, n = g.show_for_save, p = g.show_for_autofill, s = g.show_for_clickable_icon); | |
if ((0 < Di && p || 0 == Di && n || l) && s) h = !0 | |
} if (h) { | |
var g = d.getElementsByTagName("input"), | |
z, h = {}, ia = rh(d); | |
if (ce && !dd()) { | |
var B; | |
for (B = 0; B < g.length && 5 > B && !dd(); B++) Qt(d, g[B]) | |
} | |
B = null; | |
if ("undefined" != typeof Math) { | |
var F = Math.floor(1E4 * Math.random()), | |
D = g.length; | |
if (ce && dd()) { | |
var v = d; | |
if (Mb && (v || !(v = C && LP ? LP.getBrowser().contentDocument : | |
document, !v))) { | |
f = []; | |
Fc && (C ? (l = LP.getMatchingSites(v.location.href, Tk).length, f[z] = 1 != l ? l : 0) : f = Ef); | |
var l = v.getElementsByTagName("FORM"), | |
s = Pt, | |
K = bk; | |
ck(v) || (K = Ci); | |
for (var E = 0, p = 0; p < l.length && p < K; p++) { | |
var G = l[p].elements; | |
Cf(v, l[p]); | |
Zj(v, l[p]); | |
kg(v, l[p]); | |
var Y = lp(v, l[p]), | |
L = Uk(v, l[p]), | |
O = dk; | |
Rt(v) || (O = $j); | |
for (n = 0; n < G.length && n < O; n++) { | |
var Q = !1, | |
P = G[n]; | |
z = "sites"; | |
if ("INPUT" == P.tagName && (g = !1, Ft(v, P, s))) { | |
h = mp(P); | |
ia = !0; | |
if (e) { | |
if (sg(P) || ye(v, P)) z = "sites", Q = !0 | |
} else Y == P ? (z = "sites", Q = !0) : ye(v, P) ? P == ah(l[p]) ? (z = "sites", | |
g = Q = !0) : L == P ? (z = "sites", g = Q = !0) : St(v, P.form, P) ? (z = "generate", Q = !0) : (z = "sites", g = Q = !0) : em(v, P) && (z = "formfills", Q = !0, ia = !1); if (Q && ek(P, h, ia) && (E++, lj(v, P, z, f, g), np && (!("password" == P.type && op(P)) || Ei) && (!v || !P ? 0 : 1 == (tg(v, P) & 1)) && z && "sites" == z)) Tt(v, P), P.addEventListener("click", function() { | |
var c = event.target, | |
d = af + pp(v, c, zi); | |
null != document.getElementById(d) && (Ei ? rd(v) || fm(v, c, Fi) : (qp(v, P.form), Ld ? bf(v, null, pp(v, P, zi), ug, vg) : popupfilltoggle(v, d, c, ug, vg))); | |
return !1 | |
}, !1) | |
} | |
} | |
} | |
} | |
} else { | |
var T = dk; | |
Rt(d) || (T = $j); | |
for (z = | |
0; z < D && z < T; z++) | |
if (e || Ft(d, g[z], f)) try { | |
var M = g[z], | |
K = Qd(d, M.form), | |
E = ia || Cf(d, M.form), | |
G = Zj(d, M.form); | |
if (e) | |
if (sg(g[z])) E = !0, G = !1, Ba(d, M); | |
else if (ye(d, M)) E = !0, G = !1, Ba(d, M); | |
else { | |
Ba(d, M); | |
continue | |
} | |
var Y = kg(d, M.form), | |
U = !1; | |
null != B && null != K && K != B && (U = !0, Y = kg(d, M.form, U)); | |
L = mp(M); | |
if (!(null != h[K] && 1 <= h[K] && !ye(d, M) && (!E || Y) && !Fx && (!dd() || !em(d, M)))) | |
if (C || (E && (0 < Di && p || 0 == Di && n) || (G && !E || Y) && l) && s) | |
if ((E || Y) && !ek(M, L, !0)) Ba(d, M); | |
else if (G && !ek(M, L, !1)) Ba(d, M); | |
else if (!E && !Y && !G && !ek(M, L, !1)) Ba(d, M); | |
else if (G && am(d, | |
M, !0)) Ba(d, M); | |
else if (G && (!M ? 0 : "undefined" != typeof M.readOnly && M.readOnly || "true" === M.getAttribute("aria-readonly"))) Ba(d, M); | |
else if (E && !Y ? (B = K, H ? init_LPfn() && LPfn && LPfn.ie_setpopupfillhint({ | |
formid: K, | |
rowtype: "sites" | |
}) : C || sendBG({ | |
cmd: "setpopupfillhint", | |
formid: K, | |
rowtype: "sites" | |
}), Fc && (O = "sites")) : E && Y ? ce && dd() ? (H ? init_LPfn() && LPfn && LPfn.ie_setpopupfillhint({ | |
formid: K, | |
rowtype: "sites" | |
}) : C || sendBG({ | |
cmd: "setpopupfillhint", | |
formid: K, | |
rowtype: "sites" | |
}), Fc && (O = "sites")) : (H ? init_LPfn() && LPfn && LPfn.ie_setpopupfillhint({ | |
formid: K, | |
rowtype: "formfills" | |
}) : C || sendBG({ | |
cmd: "setpopupfillhint", | |
formid: K, | |
rowtype: "formfills" | |
}), Fc && (O = ye(d, M) ? M.form && ah(M.form) ? "sites" : "generate" : "formfills")) : !E && Y && Jt(d, M.form) ? (H ? init_LPfn() && LPfn && LPfn.ie_setpopupfillhint({ | |
formid: K, | |
rowtype: "sites" | |
}) : C || sendBG({ | |
cmd: "setpopupfillhint", | |
formid: K, | |
rowtype: "sites" | |
}), Fc && (O = "sites")) : (H ? init_LPfn() && LPfn && LPfn.ie_setpopupfillhint({ | |
formid: K, | |
rowtype: "formfills" | |
}) : C || sendBG({ | |
cmd: "setpopupfillhint", | |
formid: K, | |
rowtype: "formfills" | |
}), Fc && (O = "formfills")), Nb(d, M, 0, | |
null, F)) { | |
Ba(d, M); | |
Fc ? (U = [], C ? (Q = LP.getMatchingSites(d.location.href, Tk).length, U[O] = 1 != Q ? Q : 0) : U = Ef, dd() && em(d, M) ? lj(d, M, "formfills", U) : lj(d, M, O, U)) : lj(d, M); | |
C || Ut && O && (null != typeof Ef && null != typeof Ef.sites && 1 > Ef.sites) && na(M, "click", function(c) { | |
sh(c); | |
Qb(function() {}, 0); | |
Cc(c); | |
return !1 | |
}, !1); | |
if (np && (!("password" == M.type && op(M)) || Ei) && !(!d || !M ? 0 : 1 == (tg(d, M) & 1)) && "sites" == O) Tt(d, M), na(M, "click", function(c) { | |
var e = sh(c), | |
f = af + Ba(d, e); | |
if (null != d.getElementById(f)) Ei ? rd(d) || fm(d, e, Fi) : (qp(d, M.form), bf(d, null, | |
Ba(d, e), ug, vg)); | |
else if (Gx) try { | |
Vt(c) | |
} catch (g) {} | |
return !1 | |
}, !1); | |
null == h[K] ? h[K] = 1 : h[K]++ | |
} else Ba(d, M) | |
} catch (W) { | |
Ht && Cb("error: " + W.message + " stack: " + W.stack) | |
} | |
} | |
C || (!1 == fk && Qb(function() {}, 500), fk = !0) | |
} | |
} | |
} | |
} | |
} | |
}, 50)) | |
} | |
"function" == typeof Wt && Wt(c) | |
} | |
} | |
function Dx(c) { | |
if (!c) return !1; | |
try { | |
Df(c.location.href) | |
} catch (e) { | |
return !1 | |
} | |
var f = bk; | |
ck(c) || (f = Ci); | |
for (var d = c.getElementsByTagName("form"), g = !1, h = 0; h < d.length && h < f; h++) { | |
g = Cf(c, d[h], !0); | |
if (null == g) break; | |
if (g) return g | |
} | |
return !1 | |
} | |
function Ex(c) { | |
if (!c) return !1; | |
try { | |
Df(c.location.href) | |
} catch (e) { | |
return !1 | |
} | |
var f = | |
bk; | |
ck(c) || (f = Ci); | |
for (var d = c.getElementsByTagName("form"), g = !1, h = 0; h < d.length && h < f; h++) | |
if (g = Zj(c, d[h])) return g; | |
return !1 | |
} | |
function Cf(c, e, f) { | |
if (null == c || null == e || e.elements.length > dp) return !1; | |
var d = Qd(c, e), | |
g = ep(c, d, "is_login"); | |
if (null != g) return fp++, g; | |
gp++; | |
try { | |
var h = Df(c.location.href) | |
} catch (l) { | |
return !1 | |
} | |
for (var n = !1, p = g = 0, q = 0, r = null, t = 0; t < Ai && t < e.elements.length; t++) { | |
var A = e.elements[t]; | |
"INPUT" == A.tagName && ("password" == A.type ? g++ : ("text" == A.type || "email" == A.type) && p++); | |
if ("INPUT" == A.tagName && "submit" == | |
A.type || "BUTTON" == A.tagName) q++, r = A | |
} | |
if (1 == q && 2 >= p && 0 < g && Kt(r)) return !0; | |
var q = p = 0, | |
r = !oc(e), | |
y = !1; | |
e = e.elements; | |
for (t = 0; t < Ai && t < e.length; t++) | |
if (A = e[t], n = !1, "FIELDSET" != A.tagName && (Qt(c, A), Wj(c, A) && !bm(A))) | |
if (Ot(A) && (n = !0), 1 < g && Lt(c, A)) q++; | |
else { | |
var J = hp(c, A); | |
if (!("text" == A.type && (J === cm || J === Mt))) | |
if ("password" == A.type || n || "text" == A.type && J === Xj || "text" == A.type && J === Yj) { | |
if (!("facebook.com" == h && "string" == typeof A.id && A.id.match(/^[a-z0-9]{6}_\d{1,2}_ci_password$/))) | |
if ("tdbank.com" == h && "string" == typeof A.name && | |
"user" == A.name) q++; | |
else { | |
if (rp && f) return !0; | |
if ((!ce || !dd() || !Ld) && !oc(A)) | |
if (y = !0, r) Qd(c, A); | |
else continue; | |
if (0 == p && 1 < g && Nt(A)) q++; | |
else if (A = 2, ce && dd() && Ld && (A = 4), ++p >= A) return Kd(c, d, "is_login", !1), null | |
} | |
} else if ("email" == A.type || "text" == A.type || "textarea" == A.type || "tel" == A.type || "url" == A.type) { | |
if (!oc(A)) | |
if (r) Qd(c, A); | |
else continue; | |
q++; | |
if (ce && 5 < q || !ce && 2 < q) return Kd(c, d, "is_login", !1), null | |
} | |
} | |
if (1 == p || ce && dd() && Ld && 1 < p) return Kd(c, d, "is_login", !0), !0; | |
y || Kd(c, d, "is_login", !1); | |
return !1 | |
} | |
function hc(c, e) { | |
"document" == | |
c && (c = document); | |
if (null == c || null == e || 0 == e.length || "undefined" == typeof c.getElementsByTagName) return null; | |
var f, d = c; | |
if (null == d || null == e || 0 == e.length || "undefined" == typeof d.getElementsByTagName) f = null; | |
else { | |
f = f = !0; | |
for (var g = d.getElementsByName(e), h = [], l = 0; l < g.length; l++) h[h.length] = g[l]; | |
if (f) { | |
d = d.getElementsByTagName("input"); | |
g = d.length; | |
g > dk && (g = dk); | |
for (f = 0; f < g; f++) d[f].id == e && h.push(d[f]) | |
} else(d = hc(d, e)) && h.push(d); | |
f = h | |
} | |
h = []; | |
for (d = 0; d < f.length; d++) h[h.length] = f[d]; | |
d = f.length; | |
g = c.getElementById(e); | |
if (null != | |
g) { | |
if (0 == d || 1 == d && (f[0] == g || null == f[0])) return g; | |
h[h.length] = g | |
} | |
if ((f = e && 0 == e.indexOf(gk) && e.length > gk.length ? !0 : !1) && (f = 0 == e.indexOf(gk) ? e.substr(gk.length) : null, null !== f && (g = null, g = c.getElementsByTagName("INPUT")[f], null != g))) return g; | |
if (1 == d) return h[0]; | |
if (0 == d) return null; | |
d = []; | |
f = 0; | |
g = -1; | |
if ("undefined" != typeof Math) { | |
for (var l = Math.floor(1E4 * Math.random()), n = 0; n < h.length; n++) { | |
d[n] = 0; | |
if ("INPUT" == h[n].tagName || "input" == h[n].tagName) d[n] += 20, "hidden" != h[n].type && (d[n] += 10); | |
null != h[n].style && "none" != | |
h[n].style.display && Nb(c, h[n], 0, null, l, !0) && (d[n] += 5); | |
Ld && sp(h[n]) && (d[n] += 7); | |
null != h[n].style && "hidden" != h[n].style.visibility && (d[n] += 3); | |
h[n] == Xd && null != Xd ? d[n] += 5 : h[n] == c.g_popupfill_parent && null != c.g_popupfill_parent && (d[n] += 5); | |
d[n] > f && (f = d[n], g = n) | |
} | |
return 0 <= g ? h[g] : null | |
} | |
} | |
function ye(c, e) { | |
if (null == c || null == e || "INPUT" != e.tagName) return !1; | |
try { | |
var f = Df(c.location.href) | |
} catch (d) { | |
return !1 | |
} | |
if (!Wj(c, e)) return !1; | |
var g = !1; | |
if ("text" == e.type && (0 == e.name.indexOf("pass") || 0 == e.name.toLowerCase().indexOf(Za("Password").toLowerCase()))) return !0; | |
ce && dd() && Ld && "text" == e.type && 0 <= e.value.toLowerCase().indexOf(Za("Password").toLowerCase()) && (g = !0); | |
return "password" == e.type || g ? "facebook.com" == f && "string" == typeof e.id && e.id.match(/^[a-z0-9]{6}_\d{1,2}_ci_password$/) || "tdbank.com" == f && "string" == typeof e.name && "user" == e.name ? !1 : !0 : !1 | |
} | |
function si(c) { | |
if ("undefined" == typeof Object.keys) { | |
var e = Object, | |
f = Object.prototype.hasOwnProperty, | |
d = !{ | |
toString: null | |
}.propertyIsEnumerable("toString"), | |
g = "toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "), | |
h = g.length; | |
e.keys = function(c) { | |
if ("object" !== typeof c && ("function" !== typeof c || null === c)) throw new TypeError("Object.keys called on non-object"); | |
var e = [], | |
p; | |
for (p in c) f.call(c, p) && e.push(p); | |
if (d) | |
for (p = 0; p < h; p++) f.call(c, g[p]) && e.push(g[p]); | |
return e | |
} | |
} | |
return 0 === Object.keys(c).length | |
} | |
function Kh(c, e) { | |
if ("undefined" != typeof c && null != c) { | |
if (e && "string" == typeof c.id && "" != c.id) return c.id; | |
if ("string" == typeof c.name && "" != c.name) return c.name; | |
if ("string" == typeof c.id) return c.id | |
} | |
return "" | |
} | |
function Ro(c) { | |
Hx++; | |
if (!c) return 0; | |
var e = c.innerWidth, | |
f = c.document; | |
if (!f) return 0; | |
c = null; | |
"undefined" != typeof f.body ? c = f.body : f.getElementById("main") && (c = f.getElementById("main")); | |
var d = f.getElementById("_lpinvis"); | |
null == d && (d = f.createElement("div"), d.id.left = "_lpinvis", d.style.left = "0px", d.style.right = "0px", d.style.top = "0px", d.style.height = "0px", d.style.visibility = "hidden", c.appendChild(d)); | |
var f = "undefined" != typeof window && window ? window : f.defaultView, | |
g; | |
g = "undefined" != typeof f.getComputedStyle ? f.getComputedStyle(c) : | |
c.currentStyle; | |
if (!g) return 0; | |
f = parseInt(g.marginLeft); | |
g = parseInt(g.marginRight); | |
0 < d.offsetWidth && (e = 0 < f || 0 < g ? d.offsetWidth + g + f : d.offsetWidth); | |
c.removeChild(d); | |
return e | |
} | |
function rh(c) { | |
if (!c) return !1; | |
var e = [], | |
f = [], | |
d = [], | |
g = 0, | |
h, l = 0; | |
if ("undefined" != typeof Math) { | |
for (var n = Math.floor(1E4 * Math.random()), p = ["input"], q = 0; q < p.length; q++) | |
for (var r = c.getElementsByTagName(p[q]), t = 0; t < r.length && !(100 < t); t++) | |
if (Nb(c, r[t], 0, null, n)) { | |
h = r[t]; | |
if (null != h.id && "" != h.id) { | |
var A = d[h.id]; | |
if (null == A) d[h.id] = !0; | |
else continue | |
} | |
if (null != | |
h.name && "" != h.name) | |
if (A = f[h.name], null == A) f[h.name] = !0; | |
else continue; | |
if (!kb(Ba(c, h), e)) { | |
A = hp(c, h); | |
if (null == h.form && ("password" == h.type || "text" == h.type && A === Xj || "text" == h.type && A === Yj)) | |
if (g++, (h = Ba(c, h)) && h.toLowerCase().indexOf(Za("Password")) && 0 < t) h = Ba(c, r[t - 1]), RegExp(Za("ff_username_regexp"), "i").exec(h) && l++; | |
if (2 <= g && 2 <= l) break | |
} | |
} | |
return 1 == g || 1 == l ? !0 : !1 | |
} | |
} | |
function Xt(c, e, f) { | |
if (null == c || null == e) return !1; | |
var d = c.getElementById(e + "_icon"); | |
if (th && rd(c)) return null != d && (d.style.opacity = "1", d.style.filter = | |
"alpha(opacity=100)"), !1; | |
if (null != d) { | |
var g = !0; | |
if (null != c.getElementById(e)) { | |
var h = !1; | |
f = Ba(c, f); | |
if (f = kd(c, f)) h = f.fillhint; | |
"formfills" == h ? (d.src = wg, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + uh + "';"), g = !1) : "offersave" == h ? g = !1 : "generate" == h && th && (d.src = xg, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + de + "';"), g = !1) | |
} | |
g && (d.src = vh, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + pg + "';")); | |
d.style.opacity = "1"; | |
d.style.filter = | |
"alpha(opacity=100)" | |
} | |
Fc && (c = c.getElementById(e + "_numspan"), null != c && Yt && (c.style.backgroundColor = "#CCFF99")) | |
} | |
function Zt(c, e, f) { | |
if (null == c || null == e) return !1; | |
var d = c.getElementById(e + "_icon"); | |
if (th && rd(c)) return null != d && (d.style.opacity = "0.6"), !1; | |
if (null != d) { | |
if (null == c.getElementById(e)) return !1; | |
var g = !1; | |
f = Ba(c, f); | |
if (f = kd(c, f)) g = f.fillhint; | |
if (null == g || "" === g || "sites" !== g && "formfills" !== g && "generate" !== g && "offersave" !== g) g = "default"; | |
"default" == g || "sites" == g ? (d.src = vh, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + | |
pg + "';"), d.style.opacity = "0.6", d.style.filter = "alpha(opacity=60)") : "formfills" == g ? (d.src = wg, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + uh + "';"), d.style.opacity = "0.6", d.style.filter = "alpha(opacity=60)") : "generate" == g && (d.src = xg, d.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + de + "';"), d.style.opacity = "0.6", d.style.filter = "alpha(opacity=60)") | |
} | |
Fc && (c = c.getElementById(e + "_numspan"), null != c && (Yt ? c.style.backgroundColor = "#FFFFFF" : c.style.display = "")) | |
} | |
function Yc(c) { | |
if (Mb && (c || (c = document), null != c)) { | |
"undefined" != typeof vi && (vi = null); | |
var e, f = c.getElementsByTagName("iframe"), | |
d = []; | |
for (e = 0; e < f.length; e++) d[e] = f[e]; | |
for (e = 0; e < f.length; e++) { | |
var g = d[e]; | |
if ("undefined" != typeof g.id && null != g.id) { | |
var h = ui; | |
if (0 == g.id.indexOf(h)) { | |
if (th) { | |
var l = g.id.substr(h.length); | |
if (null != hc(c, l) && (h = c, null != h && th)) { | |
var n = l, | |
l = hc(h, n), | |
p = kd(h, n), | |
q = !1, | |
n = "sites"; | |
p && "undefined" != typeof p.dofloater && (q = p.dofloater); | |
p && "undefined" != typeof p.fillhint && (n = p.fillhint); | |
l && (q ? (p = l, l = n, | |
h || (h = C && LP ? LP.getBrowser().contentDocument : document), h && (n = Ba(h, p), p = kd(h, n), !l && p && (l = p.fillhint), p = hc(h, af + n), h = hc(h, af + n + "_icon"), p && h && ("formfills" == l ? (h.src = wg, h.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + uh + "';")) : "generate" == l ? (h.src = xg, h.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + de + "';")) : (h.src = vh, h.setAttribute("onerror", "this.removeAttribute('onerror'); this.src = '" + pg + "';")), h.style.opacity = "0.6", h.style.filter = "alpha(opacity=60)"))) : | |
Gi(h, l, n)) | |
} | |
} | |
g.parentNode && g.parentNode.removeChild(g) | |
} | |
} | |
} | |
if ("undefined" != typeof rg && (rg.sites = -1, rg.formfills = -1, Ld && (c || (c = document, !c && LP && (c = LP.getBrowser().contentDocument)), c))) a: if (null == c && (c = document), null != c) { | |
try { | |
if (0 < c.location.href.indexOf(".xul")) break a | |
} catch (r) { | |
break a | |
} | |
e = Sl(); | |
for (f = 0; f < e.length; f++) h = e[f].idorname, d = e[f].fillhint, l = e[f].dofloater, (g = e[f].IHTMLElement) || (g = hc(c, h)), g && !l && (h = c, null == h && (h = document), null != h && g && Gi(h, g, d, !1)) | |
} | |
if (Hi || gm) | |
if (gm = Hi = !1, C) { | |
for (c = LP.getBrowser().contentWindow; null != | |
c.top && c.top != c;) c = c.top; | |
c = cb(c.document); | |
LP.checkShouldRecheck(c) | |
} else checkShouldRecheck(); | |
Kn = Xd; | |
Xd = null; | |
hm = Ff = hk = ik = 0; | |
"undefined" != typeof H && H && "undefined" != typeof init_LPfn && init_LPfn() && LPfn && LPfn.ie_set_kbdnav(!1) | |
} | |
} | |
function Bi(c) { | |
if (Mb) | |
if (c || (c = document ? document : LP.getBrowser().contentDocument), null == c && "undefined" != typeof C && C) jk(); | |
else if (!(0 < c.location.href.indexOf(".xul"))) { | |
var e = c; | |
e || (e = C && LP ? LP.getBrowser().contentDocument : document); | |
if (e && "function" == typeof e.getElementsByName) { | |
var f = | |
$t(e); | |
if (!si(f)) { | |
try { | |
var d, g = 0; | |
for (d in f) | |
if (f.hasOwnProperty(d)) { | |
var h = f[d].substr(af.length); | |
if (null != h && 0 < h.length) { | |
var l = h, | |
n = hc(e, l); | |
if (null == n && !Hi && !gm) au(e, f[d]) && g++, Fc && tp(e, f[d]) && g++, delete f[d]; | |
else if (Fc) { | |
if (null != e.getElementById(f[d])) { | |
var p = "", | |
q = kd(e, l); | |
q && (p = q.fillhint); | |
null != p && "sites" != p && (p = null); | |
l = {}; | |
C ? l[p] = q. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment